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/special-parsing.md
+24-25Lines changed: 24 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,17 +2,17 @@
2
2
title: Special Parsing for Parameters
3
3
description: Read about special parsing for parameters. Azure CycleCloud is able to resolve parameter values and perform logical evaluation of functions.
4
4
author: mvrequa
5
-
ms.date: 07/15/2024
5
+
ms.date: 06/30/2025
6
6
ms.author: mirequa
7
7
---
8
8
9
9
# CycleCloud Cluster Template File Parsing
10
10
11
-
CycleCloud is able to resolve parameter values and perform logical evaluation of functions.
11
+
CycleCloud resolves parameter values and performs logical evaluation of functions.
12
12
13
13
## Parameter Types
14
14
15
-
CycleCloud handles several basic types of parameters. In most cases, it will handle them as expected:
15
+
CycleCloud handles several basic types of parameters. In most cases, it handles them as expected:
16
16
17
17
```ini
18
18
Attribute = foo # string
@@ -22,36 +22,36 @@ Attribute = false # boolean
22
22
Attribute = foo, bar # string[]
23
23
```
24
24
25
-
To be more explicit, string values can be surrounded by double quotes (for example, `Attribute = "foo"`). This may be useful in the case where a value looks like a number but should be interpreted as a string (version numbers, for example). Boolean values can be set to the bare tokens `true` or `false` (case-insensitive). Comma-separated values are interpreted as lists, and elements are in turn interpreted using the same rules as above.
25
+
To be more explicit, string values can be surrounded by double quotes (for example, `Attribute = "foo"`). This syntax is useful when a value looks like a number but should be interpreted as a string, such as version numbers. Set Boolean values to the bare tokens `true` or `false` (case-insensitive). CycleCloud interprets comma-separated values as lists, and it interprets elements using the same rules as previously described.
26
26
27
27
## Parameter Value Evaluation
28
28
29
-
CycleCloud directly interprets parameter values which use the `$` or `${}` notation.
29
+
CycleCloud directly interprets parameter values that use the `$` or `${}` notation.
30
30
31
31
```ini
32
32
MyAttribute = $MyParameter
33
33
MyAttribute2 = ${MyParameter2}
34
34
MyAttributeList = $Param1, $Param2
35
35
```
36
36
37
-
## Functions using Parameters
37
+
## Functions that use parameters
38
38
39
-
The CycleCloud template parser is able to perform math and do ternary logic analysis as seen below.
39
+
The CycleCloud template parser can do math and ternary logic analysis, as shown in the following example.
> This list is not comprehensive, but covers some of the most commonly-used functions.
49
+
> [!NOTE]
50
+
> This list isn't comprehensive, but it covers some of the most commonlyused functions.
51
51
52
52
### ifThenElse
53
53
54
-
Acts as a ternary operator. Returns one of two values given an expression which evaluates to true or false.
54
+
Acts as a ternary operator. Returns one of two values given an expression that evaluates to true or false.
55
55
56
56
Syntax:
57
57
@@ -61,13 +61,13 @@ Arguments:
61
61
62
62
| Name | Required | Description |
63
63
| --------------- | -------- | ----------- |
64
-
| predicate | yes | An expression which evaluates to true or false.
64
+
| predicate | yes | An expression that evaluates to true or false.
65
65
| trueValue | yes | The value to use when `predicate` evaluates to true.
66
66
| falseValue | yes | The value to use when `predicate` evaluates to false.
67
67
68
68
### ifUndefined
69
69
70
-
If the result of evaluating a given expression is undefined, returns a different value instead. Otherwise simply returns the result.
70
+
If the result of evaluating a given expression is undefined, returns a different value. Otherwise, it simply returns the result.
71
71
72
72
Syntax:
73
73
@@ -82,7 +82,7 @@ Arguments:
82
82
83
83
### regexp
84
84
85
-
Performs a regular expression match on the given string and returns true if there was a match, false otherwise.
85
+
Performs a regular expression match on the given string. Returns true if there's a match, and false otherwise.
86
86
87
87
Syntax:
88
88
@@ -94,7 +94,7 @@ Arguments:
94
94
| --------------- | -------- | ----------- |
95
95
| pattern | yes | A Java-style regular expression.
96
96
| target | yes | The input string.
97
-
| options | no | Options to use when evaluating the regular expression. See Java's regular expression flags on `java.util.regex.Pattern` for more details.
97
+
| options | no | Options to use when evaluating the regular expression. For more details, see Java's regular expression flags on `java.util.regex.Pattern`.
98
98
99
99
### regexps
100
100
@@ -108,10 +108,10 @@ Arguments:
108
108
109
109
| Name | Required | Description |
110
110
| --------------- | -------- | ----------- |
111
-
| pattern | yes | A Java-style regular expression which matches the string to substitute.
111
+
| pattern | yes | A Java-style regular expression that matches the string to substitute.
112
112
| target | yes | The input string.
113
-
| substitution | yes | The new string to substitute in place of the part of `target`which matches the regular expression.
114
-
| options | no | Options to use when evaluating the regular expression. See Java's regular expression flags on `java.util.regex.Pattern` for more details.
113
+
| substitution | yes | The new string to substitute in place of the part of `target`that matches the regular expression.
114
+
| options | no | Options to use when evaluating the regular expression. For more details, see Java's regular expression flags on `java.util.regex.Pattern`.
115
115
116
116
### size
117
117
@@ -129,7 +129,7 @@ Arguments:
129
129
130
130
### strjoin
131
131
132
-
Concatenates multiple strings together using a separator.
132
+
Concatenates multiple strings together with a separator.
133
133
134
134
Syntax:
135
135
@@ -139,12 +139,12 @@ Arguments:
139
139
140
140
| Name | Required | Description |
141
141
| --------------- | -------- | ----------- |
142
-
| separator | yes | A string separator to append between strings.
143
-
| strings | yes | A list of strings to concatenate. May also be specified as a variable number of function arguments: `strjoin(separator, string1, string2, string3...)`
142
+
| separator | yes | A string separator to put between strings.
143
+
| strings | yes | A list of strings to concatenate. You can also provide the strings as separate arguments: `strjoin(separator, string1, string2, string3...)`
144
144
145
145
### substr
146
146
147
-
Returns part of a string from the start index to the end index (or the end of the string if no end index is given).
147
+
Returns part of a string from the start index to the end index (or the end of the string if you don't provide an end index).
148
148
149
149
Syntax:
150
150
@@ -183,7 +183,7 @@ Arguments:
183
183
184
184
## Special ClusterName Variable
185
185
186
-
One variable always provided is `${ClusterName}`. This is evaluated to the name of the CycleCloud cluster.
186
+
The `${ClusterName}` variable always exists. CycleCloud evaluates this variable to the name of the CycleCloud cluster.
Copy file name to clipboardExpand all lines: articles/cyclecloud/cluster-references/volume-reference.md
+19-19Lines changed: 19 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,19 +2,19 @@
2
2
title: Cluster Template Reference - Volumes
3
3
description: Read reference material for including volumes in cluster templates to be used with Azure CycleCloud. A volume represents an Azure Disk.
4
4
author: adriankjohnson
5
-
ms.date: 01/07/2025
5
+
ms.date: 06/30/2025
6
6
ms.author: adjohnso
7
7
ms.topic: conceptual
8
8
ms.service: azure-cyclecloud
9
9
---
10
10
11
11
# Volumes
12
12
13
-
[Volume](~/articles/cyclecloud/how-to/mount-disk.md) objects are rank 3 and subordinate to `node` and `nodearray`. A Volume represents an Azure Disk.
13
+
[Volume](~/articles/cyclecloud/how-to/mount-disk.md) objects are rank 3 and subordinate to `node` and `nodearray` objects. A volume represents an Azure Disk.
14
14
15
15
## Example
16
16
17
-
Adding a `[[[volume]]]` section to a node will create an Azure Disk and attach it to the VM.
17
+
Adding a `[[[volume]]]` section to a node creates an Azure Disk and attaches it to the VM.
18
18
19
19
::: moniker range=">=cyclecloud-8"
20
20
```ini
@@ -37,36 +37,36 @@ Adding a `[[[volume]]]` section to a node will create an Azure Disk and attach i
37
37
```
38
38
::: moniker-end
39
39
40
-
Attribute values that begin with `$`are referencing parameters.
40
+
Attribute values that start with `$`reference parameters.
41
41
42
42
::: moniker range=">=cyclecloud-8"
43
43
Attribute | Type | Definition
44
44
------ | ----- | ----------
45
45
Size | String | (Required) Size of disk in GB
46
-
VolumeId | String | Resource id for existing Azure Disk.
47
-
StorageAccountType | String | UltraSSD_LRS, Premium_LRS, StandardSSD_LRS, Standard_LRS, PremiumV2_LRS ([Azure Disk Types](/azure/virtual-machines/linux/disks-types)) If not set, defaults to Standard_LRS or Premium_LRS depending on VM size capabilities.
DiskMBPSReadWrite | Integer | Disk throughput MB/s see[Ultra Disks](/azure/virtual-machines/linux/disks-types#ultra-disk)
46
+
VolumeId | String | Resource ID for existing Azure Disk.
47
+
StorageAccountType | String | UltraSSD_LRS, Premium_LRS, StandardSSD_LRS, Standard_LRS, PremiumV2_LRS ([Azure Disk Types](/azure/virtual-machines/linux/disks-types)) If you don't set this value, the default is Standard_LRS or Premium_LRS depending on the VM size capabilities.
DiskMBPSReadWrite | Integer | Disk throughput MB/s. See[Ultra Disks](/azure/virtual-machines/linux/disks-types#ultra-disk).
50
50
Azure.Lun | Integer | Override the auto-assigned LUN ID.
51
-
Mount | String | Name of mount construct, described in `configuration` object
51
+
Mount | String | Name of mount construct, described in the `configuration` object.
52
52
Azure.Caching | String | None, readonly, readwrite. Default is none.
53
-
Persistent | Boolean | If false, disk will be deleted with vm is deleted. Default is false.
54
-
Disabled | Boolean | If true, this volume will be ignored. Default is false.
55
-
SourceUri | String | URI of blob to import into managed disk.
56
-
StorageAccountId | String | Azure resource ID of storage account containing SourceUri blob. Required if blob is in a different subscription.
57
-
SourceResourceId | String | Azure resource ID of source snapshot or managed disk.
58
-
DiskEncryptionSetId (8.5+) | String | Azure resource ID of the Disk Encryption Set to enable Server-Side Encryption with CMK.
59
-
ConfidentialDiskEncryptionSetId (8.5+) | String | Azure resource ID of the Confidential Disk Encryption Set to enable Confidential encryption with CMK. Note: requires`SecurityEncryptionType=DiskWithVMGuestState`. (CycleCloud 8.5+)
53
+
Persistent | Boolean | If false, the disk is deleted when the VM is deleted. Default is false.
54
+
Disabled | Boolean | If true, the volume is ignored. Default is false.
55
+
SourceUri | String | URI of the blob to import into managed disk.
56
+
StorageAccountId | String | Azure resource ID of the storage account containing the SourceUri blob. Required if the blob is in a different subscription.
57
+
SourceResourceId | String | Azure resource ID of the source snapshot or managed disk.
58
+
DiskEncryptionSetId (8.5+) | String | Azure resource ID of the Disk Encryption Set to enable server-side encryption with CMK.
59
+
ConfidentialDiskEncryptionSetId (8.5+) | String | Azure resource ID of the Confidential Disk Encryption Set to enable confidential encryption with CMK. Note: Requires`SecurityEncryptionType=DiskWithVMGuestState`. (CycleCloud 8.5+)
60
60
SecurityEncryptionType (8.5+) | String | One of `VMGuestStateOnly` (the default) or `DiskWithVMGuestState`.
61
-
Azure.Encryption.Type | String | Deprecated, has no effect. Using a Disk Encryption Set provides CMK; otherwise, PMK is in effect.
61
+
Azure.Encryption.Type | String | Deprecated. Has no effect. If you use a Disk Encryption Set, you get CMK; otherwise, you get PMK.
62
62
Azure.Encryption.DiskEncryptionSetId | String | Deprecated. Use `DiskEncryptionSetId` instead, as of CycleCloud 8.5.
63
63
64
64
::: moniker-end
65
65
66
66
### Boot Volume
67
67
68
68
::: moniker range=">=cyclecloud-8"
69
-
For each node, the volume named `boot` exposes some advanced configuration of the OS boot volume. Storage type settings for the boot disk are ignored if`EphemeralOSDisk=true` is specified for the node.
69
+
For each node, the volume named `boot` exposes some advanced configuration of the OS boot volume. The cluster ignores storage type settings for the boot disk if you specify`EphemeralOSDisk=true` for the node.
70
70
71
71
```ini
72
72
[[node scheduler]]
@@ -78,6 +78,6 @@ For each node, the volume named `boot` exposes some advanced configuration of th
78
78
DiskMBPSReadWrite = 2000
79
79
```
80
80
> [!NOTE]
81
-
> UltraSSD disks can only be used with availability zones (availability sets and single VM deployments outside of zones will not have the ability to attach an ultra disk).
81
+
> You can only use UltraSSD disks with availability zones. You can't use UltraSSD disks with availability sets or single VM deployments outside of zones.
Copy file name to clipboardExpand all lines: articles/cyclecloud/common-issues/azure-credentials.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,25 +2,25 @@
2
2
title: Common Issues - Credentials Resource
3
3
description: Azure CycleCloud common issue - Credential Resources
4
4
author: adriankjohnson
5
-
ms.date: 05/28/2024
5
+
ms.date: 06/30/2025
6
6
ms.author: adjohnso
7
7
ms.service: azure-cyclecloud
8
8
ms.custom: compute-evergreen
9
9
---
10
-
# Common Issues: Azure Credentials Resources
10
+
# Common issues: Azure Credentials Resources
11
11
12
-
## Possible Error Messages
12
+
## Possible error messages
13
13
-`Staging resources (Azure account credentials are not valid)`
14
14
-`Staging resources (No JSON object could be decoded)`
15
15
16
16
## Resolution
17
-
Verify that the service principal configured for Azure CycleCloud is valid. This error can occur if the secret for the service principal has expired. To resolve this issue, update the expired secret for the service principal in the Azure portal and then update the secret for the credential in CycleCloud by selecting the "gear" icon at the bottom of the Clusters page and editing the appropriate credential.
17
+
Verify that the service principal you configured for Azure CycleCloud is valid. This error occurs if the secret for the service principal expires. To resolve this issue, update the expired secret for the service principal in the Azure portal. Then, update the secret for the credential in CycleCloud by selecting the **gear** icon at the bottom of the Clusters page and editing the appropriate credential.
18
18
19
19
To reset the service principal's secret:
20
20
```azurecli-interactive
21
21
az ad sp credential reset --name "0000000000-0000-0000-0000-00000000" --years 2 --password {Application Secret} --credential-description "My New Credential"
22
22
```
23
23
24
-
## More Information
24
+
## More information
25
25
26
-
For more information on Azure CLI operations with service principals, see [Service Principals](/cli/azure/ad/sp?view=azure-cli-latest&preserve-view=true)
26
+
For more information on Azure CLI operations with service principals, see [Service Principals](/cli/azure/ad/sp?view=azure-cli-latest&preserve-view=true).
Copy file name to clipboardExpand all lines: articles/cyclecloud/common-issues/cluster-credentials.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
@@ -2,19 +2,19 @@
2
2
title: Common Issues - Cluster Credentials
3
3
description: Azure CycleCloud common issue - Cluster Credentials
4
4
author: adriankjohnson
5
-
ms.date: 11/15/2019
5
+
ms.date: 06/30/2025
6
6
ms.author: adjohnso
7
7
---
8
-
# Common Issues: Cluster Credentials
8
+
# Common issues: Cluster credentials
9
9
10
-
## Possible Error Messages
10
+
## Possible error messages
11
11
12
12
-`Validating nodes (Credentials not found)`
13
13
14
14
## Resolution
15
15
16
-
Check that the Credentials specified for the cluster, node, or nodearray exist in your CycleCloud instance. To determine if a credential exists in CycleCloud, click the gear icon at the bottom of the clusters page and verify that the named credential exists in the account list.
16
+
Check that the credentials you specify for the cluster, node, or node array exist in your CycleCloud instance. To see if a credential exists in CycleCloud, select the gear icon at the bottom of the clusters page. Check the account list for the named credential.
17
17
18
-
## More Information
18
+
## More information
19
19
20
20
For more information, see [Configuring Azure Credentials](/azure/cyclecloud/configuration).
Copy file name to clipboardExpand all lines: articles/cyclecloud/common-issues/cluster-init.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,18 +10,18 @@ ms.custom: compute-evergreen
10
10
---
11
11
12
12
13
-
# Common Issues: Cluster Init
13
+
# Common issues: Cluster init
14
14
15
-
## Possible Error Messages
15
+
## Possible error messages
16
16
17
17
-`{ERROR} while executing {SCRIPT} in project`
18
18
-`Failed to execute cluster-init script {SCRIPT} in project`
19
19
20
20
## Resolution
21
21
22
-
Azure CycleCloud provides users the ability to configure VMs that become nodes of the cluster by running custom scripts during the VM preparation phase. This functionality is provided through the [CycleCloud Projects](~/articles/cyclecloud/how-to/projects.md) system, and is also known as Cluster-Init.
22
+
Azure CycleCloud lets you configure VMs that become nodes of the cluster by running custom scripts during the VM preparation phase. You get this functionality through the [CycleCloud Projects](~/articles/cyclecloud/how-to/projects.md) system. It's also known as Cluster-Init.
23
23
24
-
If there are failures or errors when these scripts are executed, Cyclecloud versions 7.9 and later surface these errors in the node details page. The STDERR and STDOUT output of the scripts are included in these error messages.
24
+
If these scripts fail or return errors, CycleCloud versions 7.9 and later show these errors in the node details page. The error messages include the STDERR and STDOUT output of the scripts.
25
25
26
-
- If you are able to identify the problem from the STDERR or STDOUT output of the scripts, fix the error in the scripts and re-upload the project using the CycleCloud CLI.
27
-
- Otherwise, SSH into the VM either as the `cyclecloud` user or your own user account and attempt to run the commands in the script manually to troubleshoot. Once you have identified the problem, edit the cluster-init script and re-upload the project.
26
+
- If you can identify the problem from the STDERR or STDOUT output of the scripts, fix the error in the scripts and re-upload the project using the CycleCloud CLI.
27
+
- Otherwise, SSH into the VM as either the `cyclecloud` user or your own user account. Try running the commands in the script manually to troubleshoot. Once you identify the problem, edit the cluster-init script and re-upload the project.
0 commit comments