Skip to content

Commit c196e30

Browse files
Merge pull request #302034 from tfitzmac/0630edit1
copy edit
2 parents a1567d3 + 525c56f commit c196e30

File tree

10 files changed

+92
-95
lines changed

10 files changed

+92
-95
lines changed

articles/cyclecloud/cluster-references/special-parsing.md

Lines changed: 24 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@
22
title: Special Parsing for Parameters
33
description: Read about special parsing for parameters. Azure CycleCloud is able to resolve parameter values and perform logical evaluation of functions.
44
author: mvrequa
5-
ms.date: 07/15/2024
5+
ms.date: 06/30/2025
66
ms.author: mirequa
77
---
88

99
# CycleCloud Cluster Template File Parsing
1010

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.
1212

1313
## Parameter Types
1414

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:
1616

1717
```ini
1818
Attribute = foo # string
@@ -22,36 +22,36 @@ Attribute = false # boolean
2222
Attribute = foo, bar # string[]
2323
```
2424

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.
2626

2727
## Parameter Value Evaluation
2828

29-
CycleCloud directly interprets parameter values which use the `$` or `${}` notation.
29+
CycleCloud directly interprets parameter values that use the `$` or `${}` notation.
3030

3131
```ini
3232
MyAttribute = $MyParameter
3333
MyAttribute2 = ${MyParameter2}
3434
MyAttributeList = $Param1, $Param2
3535
```
3636

37-
## Functions using Parameters
37+
## Functions that use parameters
3838

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.
4040

4141
```ini
4242
MaxCoreCount = ${HyperthreadedCoreCount/2}
4343
SubnetId = ${ifThenElse($Autoscale, $BurstSubnet, $FixedSubnet)}
4444
JetpackPlatform = ${imageselect == "windows" ? "windows" : "centos-7"}
4545
```
4646

47-
## Available functions:
47+
## Available functions
4848

49-
> [!NOTE]
50-
> 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 commonly used functions.
5151
5252
### ifThenElse
5353

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.
5555

5656
Syntax:
5757

@@ -61,13 +61,13 @@ Arguments:
6161

6262
| Name | Required | Description |
6363
| --------------- | -------- | ----------- |
64-
| predicate | yes | An expression which evaluates to true or false.
64+
| predicate | yes | An expression that evaluates to true or false.
6565
| trueValue | yes | The value to use when `predicate` evaluates to true.
6666
| falseValue | yes | The value to use when `predicate` evaluates to false.
6767

6868
### ifUndefined
6969

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.
7171

7272
Syntax:
7373

@@ -82,7 +82,7 @@ Arguments:
8282

8383
### regexp
8484

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.
8686

8787
Syntax:
8888

@@ -94,7 +94,7 @@ Arguments:
9494
| --------------- | -------- | ----------- |
9595
| pattern | yes | A Java-style regular expression.
9696
| 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`.
9898

9999
### regexps
100100

@@ -108,10 +108,10 @@ Arguments:
108108

109109
| Name | Required | Description |
110110
| --------------- | -------- | ----------- |
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.
112112
| 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`.
115115

116116
### size
117117

@@ -129,7 +129,7 @@ Arguments:
129129

130130
### strjoin
131131

132-
Concatenates multiple strings together using a separator.
132+
Concatenates multiple strings together with a separator.
133133

134134
Syntax:
135135

@@ -139,12 +139,12 @@ Arguments:
139139

140140
| Name | Required | Description |
141141
| --------------- | -------- | ----------- |
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...)`
144144

145145
### substr
146146

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).
148148

149149
Syntax:
150150

@@ -183,7 +183,7 @@ Arguments:
183183

184184
## Special ClusterName Variable
185185

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.
187187

188188
```ini
189189
EmailAddress = ${strcat("myuser", "@", ClusterName)}
@@ -192,8 +192,7 @@ ResourceId = ${ClusterName}-00-resource
192192

193193
## Relative Time
194194

195-
CycleCloud interprets back-ticks around time duration as relative time;
196-
supporting second, minute and day.
195+
CycleCloud interprets back-ticks around time duration as relative time. It supports seconds, minutes, and days.
197196

198197
```ini
199198
ThrottleCapacityTime=`10m`

articles/cyclecloud/cluster-references/volume-reference.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@
22
title: Cluster Template Reference - Volumes
33
description: Read reference material for including volumes in cluster templates to be used with Azure CycleCloud. A volume represents an Azure Disk.
44
author: adriankjohnson
5-
ms.date: 01/07/2025
5+
ms.date: 06/30/2025
66
ms.author: adjohnso
77
ms.topic: conceptual
88
ms.service: azure-cyclecloud
99
---
1010

1111
# Volumes
1212

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.
1414

1515
## Example
1616

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.
1818

1919
::: moniker range=">=cyclecloud-8"
2020
``` ini
@@ -37,36 +37,36 @@ Adding a `[[[volume]]]` section to a node will create an Azure Disk and attach i
3737
```
3838
::: moniker-end
3939

40-
Attribute values that begin with `$` are referencing parameters.
40+
Attribute values that start with `$` reference parameters.
4141

4242
::: moniker range=">=cyclecloud-8"
4343
Attribute | Type | Definition
4444
------ | ----- | ----------
4545
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.
48-
DiskIOPSReadWrite | Integer | Provisioned IOPS see [Ultra Disks](/azure/virtual-machines/linux/disks-types#ultra-disk)
49-
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.
48+
DiskIOPSReadWrite | Integer | Provisioned IOPS. See [Ultra Disks](/azure/virtual-machines/linux/disks-types#ultra-disk).
49+
DiskMBPSReadWrite | Integer | Disk throughput MB/s. See [Ultra Disks](/azure/virtual-machines/linux/disks-types#ultra-disk).
5050
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.
5252
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+)
6060
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.
6262
Azure.Encryption.DiskEncryptionSetId | String | Deprecated. Use `DiskEncryptionSetId` instead, as of CycleCloud 8.5.
6363

6464
::: moniker-end
6565

6666
### Boot Volume
6767

6868
::: 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.
7070

7171
``` ini
7272
[[node scheduler]]
@@ -78,6 +78,6 @@ For each node, the volume named `boot` exposes some advanced configuration of th
7878
DiskMBPSReadWrite = 2000
7979
```
8080
> [!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.
8282
8383
::: moniker-end

articles/cyclecloud/common-issues/azure-credentials.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,25 @@
22
title: Common Issues - Credentials Resource
33
description: Azure CycleCloud common issue - Credential Resources
44
author: adriankjohnson
5-
ms.date: 05/28/2024
5+
ms.date: 06/30/2025
66
ms.author: adjohnso
77
ms.service: azure-cyclecloud
88
ms.custom: compute-evergreen
99
---
10-
# Common Issues: Azure Credentials Resources
10+
# Common issues: Azure Credentials Resources
1111

12-
## Possible Error Messages
12+
## Possible error messages
1313
- `Staging resources (Azure account credentials are not valid)`
1414
- `Staging resources (No JSON object could be decoded)`
1515

1616
## 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.
1818

1919
To reset the service principal's secret:
2020
```azurecli-interactive
2121
az ad sp credential reset --name "0000000000-0000-0000-0000-00000000" --years 2 --password {Application Secret} --credential-description "My New Credential"
2222
```
2323

24-
## More Information
24+
## More information
2525

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).

articles/cyclecloud/common-issues/chef-exception.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Common Issues - Chef Exceptions
33
description: Azure CycleCloud common issue - Chef Exceptions
44
author: adriankjohnson
5-
ms.date: 06/20/2023
5+
ms.date: 06/30/2025
66
ms.author: adjohnso
77
ms.topic: conceptual
88
ms.service: azure-cyclecloud
@@ -17,12 +17,10 @@ ms.custom: compute-evergreen
1717

1818
## Resolution
1919

20-
Chef exceptions types are numerous. This message will return the Chef resource name,
21-
recipe, recipe line number, and stack trace for the occurrence of the exception.
22-
These exceptions occur during the configuration of the system so they can span
23-
all of the functionality that Chef provides as well as arbitrary commands runnable
24-
as a chef resource.
20+
Chef has many exception types. When an exception occurs, Chef returns the resource name,
21+
recipe, recipe line number, and stack trace. These exceptions happen during the configuration of the system, so they can affect
22+
all of the functionality that Chef provides and arbitrary commands runnable
23+
as a Chef resource.
2524

26-
Basic deduction of system administration will be needed to diagnose unhandled
27-
Chef exceptions.
25+
To diagnose unhandled Chef exceptions, you need to use your system administration skills.
2826

articles/cyclecloud/common-issues/cluster-credentials.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@
22
title: Common Issues - Cluster Credentials
33
description: Azure CycleCloud common issue - Cluster Credentials
44
author: adriankjohnson
5-
ms.date: 11/15/2019
5+
ms.date: 06/30/2025
66
ms.author: adjohnso
77
---
8-
# Common Issues: Cluster Credentials
8+
# Common issues: Cluster credentials
99

10-
## Possible Error Messages
10+
## Possible error messages
1111

1212
- `Validating nodes (Credentials not found)`
1313

1414
## Resolution
1515

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.
1717

18-
## More Information
18+
## More information
1919

2020
For more information, see [Configuring Azure Credentials](/azure/cyclecloud/configuration).

articles/cyclecloud/common-issues/cluster-init.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,18 @@ ms.custom: compute-evergreen
1010
---
1111

1212

13-
# Common Issues: Cluster Init
13+
# Common issues: Cluster init
1414

15-
## Possible Error Messages
15+
## Possible error messages
1616

1717
- `{ERROR} while executing {SCRIPT} in project`
1818
- `Failed to execute cluster-init script {SCRIPT} in project`
1919

2020
## Resolution
2121

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.
2323

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.
2525

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

Comments
 (0)