Skip to content

Commit b1baa15

Browse files
authored
Update howto-configure-cluster.md
updates for merge conflict on multiple storage array config.
1 parent d03e3ec commit b1baa15

File tree

1 file changed

+55
-6
lines changed

1 file changed

+55
-6
lines changed

articles/operator-nexus/howto-configure-cluster.md

Lines changed: 55 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,53 @@ You should create the Network Fabric before this on-premises deployment.
3939
Each Operator Nexus on-premises instance has a one-to-one association
4040
with a Network Fabric.
4141

42-
### Create the Cluster using Azure CLI:
42+
> [!IMPORTANT]
43+
> There's a known issue where updating a cluster immediately after creating it can cause cluster deployment failures. The problem happens when the resource is updated before the bmcConnectionString fields are populated in the `cluster.spec.computeRackDefinitions.bareMetalMachineConfigurationData` section. The bmcConnectionStrings are normally set within a few minutes of creating the Cluster.
44+
>
45+
> To avoid this issue, ensure that the bmcConnectionStrings contain nonempty values before updating the Cluster resource via Azure portal or the az networkcloud update command.
46+
>
47+
> To confirm the status, open the JSON properties for the Cluster (Operator Nexus) resource in Azure portal, or run an `az networkcloud cluster show` CLI command as shown in the following example. If the bmmConnectionString values show nonempty `redfish+https..` values, then it's safe to update the cluster. This issue will be fixed in a future release.
48+
>
49+
> Sample bmcConnectionString output for `az networkcloud cluster show -n cluster01 -g cluster01resourceGroup--query 'computeRackDefinitions[].bareMetalMachineConfigurationData[].bmcConnectionString' -o json` is as follows:
50+
>
51+
> ```
52+
> ["redfish+https://10.9.3.20/redfish/v1/Systems/System.Embedded.1",
53+
> "redfish+https://10.9.3.19/redfish/v1/Systems/System.Embedded.1",
54+
> "redfish+https://10.9.3.18/redfish/v1/Systems/System.Embedded.1",
55+
> "redfish+https://10.9.3.17/redfish/v1/Systems/System.Embedded.1"]
56+
> ```
57+
58+
### Create the Cluster using Azure CLI - single storage appliance:
59+
60+
>[!IMPORTANT]
61+
>This command creates the cluster for a Nexus instance that contains a single storage appliance. If you run it against an instance with two storage appliances the second appliance will not be configured. Follow [the instructions for multiple storage appliances](#create-the-cluster-using-azure-cli---multiple-storage-appliances) if your Nexus instance includes two storage appliances.
62+
63+
```azurecli
64+
az networkcloud cluster create --name "<CLUSTER_NAME>" --location "<LOCATION>" \
65+
--extended-location name="<CL_NAME>" type="CustomLocation" \
66+
--resource-group "<CLUSTER_RG>" \
67+
--analytics-workspace-id "<LAW_ID>" \
68+
--cluster-location "<CLUSTER_LOCATION>" \
69+
--network-rack-id "<AGGR_RACK_RESOURCE_ID>" \
70+
--rack-sku-id "<AGGR_RACK_SKU>"\
71+
--rack-serial-number "<AGGR_RACK_SN>" \
72+
--rack-location "<AGGR_RACK_LOCATION>" \
73+
--bare-metal-machine-configuration-data "["<AGGR_RACK_BMM>"]" \
74+
--storage-appliance-configuration-data '[{"adminCredentials":{"password":"<SA1_PASS>","username":"<SA_USER>"},"rackSlot":1,"serialNumber":"<SA1_SN>","storageApplianceName":"<SA1_NAME>"}]' \
75+
--compute-rack-definitions '[{"networkRackId": "<COMPX_RACK_RESOURCE_ID>", "rackSkuId": "<COMPX_RACK_SKU>", "rackSerialNumber": "<COMPX_RACK_SN>", "rackLocation": "<COMPX_RACK_LOCATION>", "storageApplianceConfigurationData": [], "bareMetalMachineConfigurationData":[{"bmcCredentials": {"password":"<COMPX_SVRY_BMC_PASS>", "username":"<COMPX_SVRY_BMC_USER>"}, "bmcMacAddress":"<COMPX_SVRY_BMC_MAC>", "bootMacAddress":"<COMPX_SVRY_BOOT_MAC>", "machineDetails":"<COMPX_SVRY_SERVER_DETAILS>", "machineName":"<COMPX_SVRY_SERVER_NAME>"}]}]'\
76+
--managed-resource-group-configuration name="<MRG_NAME>" location="<MRG_LOCATION>" \
77+
--network fabric-id "<NF_ID>" \
78+
--cluster-service-principal application-id="<SP_APP_ID>" \
79+
password="$SP_PASS" principal-id="$SP_ID" tenant-id="<TENANT_ID>" \
80+
--subscription "<SUBSCRIPTION_ID>" \
81+
--secret-archive "{key-vault-id:<KVRESOURCE_ID>, use-key-vault:true}" \
82+
--cluster-type "<CLUSTER_TYPE>" --cluster-version "<CLUSTER_VERSION>" \
83+
--tags <TAG_KEY1>="<TAG_VALUE1>" <TAG_KEY2>="<TAG_VALUE2>"
84+
```
85+
86+
### Create the Cluster using Azure CLI - multiple storage appliances:
87+
88+
"<AGGR_RACK_SKU>" must be set to a value which supports two storage appliances. See [Operator Nexus Network Cloud SKUs](./reference-operator-nexus-skus.md) to pick an appropriate SKU. The cluster creation command also sets the default storage appliance for volume creation. The default appliance is the appliance with `"rackSlot":1` in its configuration data.
4389

4490
```azurecli
4591
az networkcloud cluster create --name "<CLUSTER_NAME>" --location "<LOCATION>" \
@@ -52,12 +98,12 @@ az networkcloud cluster create --name "<CLUSTER_NAME>" --location "<LOCATION>" \
5298
--rack-serial-number "<AGGR_RACK_SN>" \
5399
--rack-location "<AGGR_RACK_LOCATION>" \
54100
--bare-metal-machine-configuration-data "["<AGGR_RACK_BMM>"]" \
55-
--storage-appliance-configuration-data '[{"adminCredentials":{"password":"<SA_PASS>","username":"<SA_USER>"},"rackSlot":1,"serialNumber":"<SA_SN>","storageApplianceName":"<SA_NAME>"}]' \
101+
--storage-appliance-configuration-data '[{"adminCredentials":{"password":"<SA1_PASS>","username":"<SA_USER>"},"rackSlot":1,"serialNumber":"<SA1_SN>","storageApplianceName":"<SA1_NAME>"},{"adminCredentials":{"password":"<SA2_PASS>","username":"<SA_USER>"},"rackSlot":2,"serialNumber":"<SA2_SN>","storageApplianceName":"<SA2_NAME>"}]' \
56102
--compute-rack-definitions '[{"networkRackId": "<COMPX_RACK_RESOURCE_ID>", "rackSkuId": "<COMPX_RACK_SKU>", "rackSerialNumber": "<COMPX_RACK_SN>", "rackLocation": "<COMPX_RACK_LOCATION>", "storageApplianceConfigurationData": [], "bareMetalMachineConfigurationData":[{"bmcCredentials": {"password":"<COMPX_SVRY_BMC_PASS>", "username":"<COMPX_SVRY_BMC_USER>"}, "bmcMacAddress":"<COMPX_SVRY_BMC_MAC>", "bootMacAddress":"<COMPX_SVRY_BOOT_MAC>", "machineDetails":"<COMPX_SVRY_SERVER_DETAILS>", "machineName":"<COMPX_SVRY_SERVER_NAME>"}]}]'\
57103
--managed-resource-group-configuration name="<MRG_NAME>" location="<MRG_LOCATION>" \
58104
--network fabric-id "<NF_ID>" \
59105
--cluster-service-principal application-id="<SP_APP_ID>" \
60-
password="<SP_PASS>" principal-id="<SP_ID>" tenant-id="<TENANT_ID>" \
106+
password="$SP_PASS" principal-id="$SP_ID" tenant-id="<TENANT_ID>" \
61107
--subscription "<SUBSCRIPTION_ID>" \
62108
--secret-archive "{key-vault-id:<KVRESOURCE_ID>, use-key-vault:true}" \
63109
--cluster-type "<CLUSTER_TYPE>" --cluster-version "<CLUSTER_VERSION>" \
@@ -79,10 +125,13 @@ az networkcloud cluster create --name "<CLUSTER_NAME>" --location "<LOCATION>" \
79125
| AGGR_RACK_SN | Rack Serial Number for Aggregator Rack |
80126
| AGGR_RACK_LOCATION | Rack physical location for Aggregator Rack |
81127
| AGGR_RACK_BMM | Used for single rack deployment only, empty for multi-rack |
82-
| SA_NAME | Storage Appliance Device name |
83-
| SA_PASS | Storage Appliance admin password |
128+
| SA1_NAME | First Storage Appliance Device name |
129+
| SA2_NAME | Second Storage Appliance Device name |
130+
| SA1_PASS | First Storage Appliance admin password |
131+
| SA2_PASS | Second Storage Appliance admin password |
84132
| SA_USER | Storage Appliance admin user |
85-
| SA_SN | Storage Appliance Serial Number |
133+
| SA1_SN | First Storage Appliance Serial Number |
134+
| SA2_SN | Second Storage Appliance Serial Number |
86135
| COMPX_RACK_RESOURCE_ID | RackID for CompX Rack; repeat for each rack in compute-rack-definitions |
87136
| COMPX_RACK_SKU | The Rack Stock Keeping Unit (SKU) for CompX Rack; repeat for each rack in compute-rack-definitions \*See [Operator Nexus Network Cloud Stock Keeping Unit (SKUs)](./reference-operator-nexus-skus.md) |
88137
| COMPX_RACK_SN | Rack Serial Number for CompX Rack; repeat for each rack in compute-rack-definitions |

0 commit comments

Comments
 (0)