You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/cyclecloud/cluster-references/chef-reference.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,13 +7,13 @@ ms.date: 09/23/2025
7
7
ms.custom: compute-evergreen
8
8
---
9
9
10
-
# Chef Orchestration
10
+
# Chef orchestration
11
11
12
-
[Chef](https://www.chef.io) is a configuration management tool that automates the deployment and management of applications and infrastructure. It uses a domain-specific language (DSL) for writing system configuration "recipes". These recipes are stored in "cookbooks" that can be shared and reused across different systems.
12
+
[Chef](https://www.chef.io) is a configuration management tool that automates the deployment and management of applications and infrastructure. It uses a domain-specific language (DSL) for writing system configuration "recipes." These recipes are stored in "cookbooks" that can be shared and reused across different systems.
13
13
14
14
Each cluster-init spec can reference one or more [Chef roles](https://docs.chef.io/roles.html) and/or [cookbook recipes](https://docs.chef.io/recipes.html) that need to be executed on the booting VM.
15
15
16
-
[!NOTE]
16
+
> [!NOTE]
17
17
> CycleCloud uses Chef in a stand-alone mode that doesn't rely on a centralized Chef server. The set of Chef cookbooks needed to prepare each VM are downloaded from the Azure Storage Account along with the rest of the files in the project.
18
18
19
19
## Project Structure
@@ -66,7 +66,7 @@ The node downloads the zipped Chef files during the bootstrapping phase of node
66
66
> To run custom cookbooks, you must add them to the run_list for the node.
67
67
68
68
69
-
## jetpack download
69
+
## Jetpack download resource provider
70
70
71
71
The following example shows how to create a `jetpack_download` lightweight resource provider for Chef users:
Copy file name to clipboardExpand all lines: articles/cyclecloud/cluster-references/cluster-init-reference.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,13 +18,13 @@ The section uses a shorthand notation to reference the fully qualified spec:
18
18
[[[cluster-init PROJECT:SPEC:VERSION]]]
19
19
```
20
20
21
-
By default, projects are assumed to stored in the [locker](../how-to/projects.md#lockers) already. However, if you are using a project defined in GitHub, you can indicate that with the `cyclecloud/` prefix:
21
+
By default, projects are assumed to be stored in the [locker](../how-to/projects.md#lockers) already. However, if you're using a project defined in GitHub, you can indicate that with the `cyclecloud/` prefix:
This tells CycleCloud to download the project files from GitHub and upload them to your locker in a special cache area. Without `cyclecloud/` in the cluster-init reference, CycleCloud will expect the project to be uploaded by you.
27
+
This section tells CycleCloud to download the project files from GitHub and upload them to your locker in a special cache area. Without `cyclecloud/` in the cluster-init reference, CycleCloud expects you to upload the project manually.
28
28
29
29
As an example, this cluster template defines one node that uses three specs:
30
30
@@ -49,17 +49,17 @@ Attribute values that start with `$` reference parameters.
49
49
50
50
The CycleCloud project specs run in the order you list them in the Cluster Template File. In this example, `my-proj:default` runs first because it comes from the node defaults. Next, `myproject:my-spec` runs, which comes from the locker named `test-locker`. Finally, `my-proj:my-spec` runs.
51
51
52
-
The `[[[cluster-init PROJECT:SPEC:VERSION]]]` form is a shorthand for the following:
52
+
The `[[[cluster-init PROJECT:SPEC:VERSION]]]` form is a shorthand for the following section:
53
53
```ini
54
54
[[[cluster-init]]]
55
55
Project = PROJECT
56
56
Version = VERSION
57
57
Spec = SPEC
58
58
```
59
59
60
-
You can also use `[[[cluster-init SOURCE_LOCKER/PROJECT:SPEC:VERSION]]]` to specify a `SourceLocker` for the cluster-init spec. The source locker is optional. Without it, CycleCloud assumes the locker already has the files staged. If set to the special name `cyclecloud`, it uses a built-in project defined in CycleCloud whose contents are stored in GitHub. Otherwise, if set to a different locker, it stages the files from that locker to the target locker before starting the node. This is useful for custom cluster-init projects and multi-region deployments, because you only have to manually stage the files to a single locker, which you can use as a source locker for nodes in a different region.
60
+
You can also use `[[[cluster-init SOURCE_LOCKER/PROJECT:SPEC:VERSION]]]` to specify a `SourceLocker` for the cluster-init spec. The source locker is optional. Without it, CycleCloud assumes the locker already has the files staged. If set to the special name `cyclecloud`, it uses a built-in project defined in CycleCloud whose contents are stored in GitHub. Otherwise, if set to a different locker, it stages the files from that locker to the target locker before starting the node. This feature is useful for custom cluster-init projects and multi-region deployments. You manually stage the files to a single locker, and CycleCloud uses that locker as a source locker for nodes in other regions.
61
61
62
-
[!NOTE]
62
+
> [!NOTE]
63
63
> Projects that are staged automatically are put in a special cache directory of the target locker so that they don't conflict with projects you stage manually.
You can control how nodes are customized on boot by creating a custom *cluster-init project*. A project contains the scripts and other files needed to customize a node, separated into *specs* for the different kinds of roles in a cluster. For example, a project for a batch scheduler such as Slurm comprises a minimum of three specs: one for the scheduler head nodes, one for the the compute nodes, and another for the login nodes. [Read more about the CycleCloud projects](~/articles/cyclecloud/how-to/projects.md).
41
+
You can control how nodes are customized on boot by creating a custom *cluster-init project*. A project contains the scripts and other files needed to customize a node, separated into *specs* for the different kinds of roles in a cluster. For example, a project for a batch scheduler such as Slurm comprises a minimum of three specs: one for the scheduler head nodes, one for the compute nodes, and another for the login nodes. [Read more about the CycleCloud projects](~/articles/cyclecloud/how-to/projects.md).
42
42
43
43
In the node definition, you reference the specs that should run on that node. Jetpack uses these specs on boot to prepare a node for its role in the cluster. The spec files come from the user's Blob Storage Account, and are staged from the CycleCloud application server into the storage account before nodes are started.
44
44
45
45
> [!NOTE]
46
-
> The specs for built-in templates (such as the Slurm cluster type) are stored in GitHub, and are automatically downoaded to the user's storage account when the node starts.
46
+
> The specs for built-in templates (such as the Slurm cluster type) are stored in GitHub. CycleCloud automatically downloads them to the user's storage account when the node starts.
47
47
48
48
When a node boots, Jetpack downloads the specs defined on the node with the `[[[cluster-init]]]` section and processes them in order to *converge* the node to a working state (for instance, to be a compute node).
Copy file name to clipboardExpand all lines: articles/cyclecloud/how-to/projects.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -92,7 +92,7 @@ Project contents are stored within a **locker**. You can upload the contents of
92
92
If you add more than one locker, you can set your default locker with `cyclecloud project default_target (locker)`, and then run `cyclecloud project upload`. You can also set a global default locker for projects to share by running the command `cyclecloud project default locker (locker) -global`.
93
93
94
94
> [!NOTE]
95
-
> Default lockers are stored in the CycleCloud config file, usually located in _~/.cycle/config.ini_ and not the _project.ini_ file. This setup allows version control for _project.ini_.
95
+
> Default lockers are stored in the CycleCloud config file, located in _~/.cycle/config.ini_ and not the _project.ini_ file. This setup allows version control for _project.ini_.
96
96
97
97
When you upload your project contents, CycleCloud syncs the cluster-init contents to your target locker, at `projects/(project)/(version)/(spec_name)/cluster-init`.
98
98
@@ -160,7 +160,7 @@ Specs are defined in your cluster template, using the `[[[cluster-init]]]` [sect
160
160
```
161
161
162
162
This example takes advantage of the `defaults` node definition that all nodes inherit from.
163
-
The scheduler node will get both the `common` and `scheduler` specs, and nodes in the execute node array will get both the `common` and `execute` specs.
163
+
The scheduler node gets both the `common` and `scheduler` specs, and nodes in the execute node array get both the `common` and `execute` specs.
164
164
165
165
## File locations
166
166
@@ -236,4 +236,4 @@ The command sends its output to STDOUT and to _jetpack.log_. Each script's outpu
236
236
237
237
## jetpack download
238
238
239
-
To download a blob within a cluster-init script, use the command `jetpack download (filename)` to pull it from the `blobs` directory. Running this command from a cluster-init script lets it determine the project and base URL for you. To use it in a non-cluster-init context, you need to specify the project (see --help for more information).
239
+
To download a blob within a cluster-init script, use the command `jetpack download (filename)` to pull it from the `blobs` directory. Running this command from a cluster-init script lets it determine the project and base URL for you. To use it in a non-cluster-init context, you need to specify the project. For more information, use the `--help` option.
Copy file name to clipboardExpand all lines: articles/cyclecloud/how-to/storage-blobs.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -47,4 +47,4 @@ CycleCloud stores project contents in a **locker**, which is an Azure Storage co
47
47
You can also set a default project locker from the command line. To set the default locker, run `cyclecloud project default_locker [locker]` from your project's directory. Once set, you can run `cyclecloud project upload` without specifying a locker. To set a global default locker for all your projects, run `cyclecloud project default_locker --global [locker]`.
48
48
49
49
> [!NOTE]
50
-
> You configure default lockers in the CycleCloud CLI configuration file (usually located in _~/.cycle/config.ini_), not in the _project.ini_. Keeping this configuration out of the _project.ini_ allows you to version control the _project.ini_.
50
+
> You configure default lockers in the CycleCloud CLI configuration file (located in _~/.cycle/config.ini_), not in the _project.ini_. Keeping this configuration out of the _project.ini_ allows you to version control the _project.ini_.
Copy file name to clipboardExpand all lines: articles/cyclecloud/jetpack.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,7 +40,7 @@ The Jetpack installer:
40
40
| --------- | ------------ |
41
41
|`bin`| Useful binaries and scripts. |
42
42
|`config`| User-defined and cluster-defined configuration files and scripts. |
43
-
|`logs`| Logs generated by joining a cluster and converging the node. Of particular interest is *jetpack.log*, which contains the results of the converge. |
43
+
|`logs`| Logs generated by joining a cluster and converging the node. Of particular interest is *jetpack.log*, which contains the results of the converge process. |
44
44
|`run`| Runtime files generated by the system. We don't recommend directly accessing these files. |
45
45
|`system`| Internal files. We don't recommend directly using any files in this directory as they can significantly change from release to release. |
46
46
@@ -56,7 +56,7 @@ The **Jetpack** command-line tool provides a useful set of subcommands for manip
0 commit comments