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
1 - Include information on Uknown/Not-connected should be validated
2 - Include BOM link
3 - Add Troubleshooting failures (Storage SAS URL missing or Token expired, Ports speed/cable model issues, Unknown types but should be compliant
4 - HTML conversion
Copy file name to clipboardExpand all lines: articles/operator-nexus/how-to-validate-cables.md
+54-16Lines changed: 54 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,14 +13,32 @@ ms.date: 04/15/2024
13
13
14
14
This article explains the Fabric cable validation, where the primary function of the diagnostic API is to check all fabric devices for potential cabling issues. The Diagnostic API assesses whether the interconnected devices adhere to the Bill of Materials (BOM), classifying them as compliant or noncompliant. The results are presented in a JSON format, encompassing details such as validation status, errors, identifier type, and neighbor device ID. These results are stored in a customer-provided Storage account. It's vital to the overall deployment that errors identified in this report are resolved before moving onto the Cluster deployment step.
15
15
16
+
For BOM details, refer to [Azure Operator Nexus SKUs](./reference-operator-nexus-skus.md)
17
+
16
18
## Prerequisites
17
19
18
20
- Ensure the Nexus Network Fabric is successfully provisioned.
19
21
- Provide the Network Fabric ID and storage URL with WRITE access via a support ticket.
22
+
- The storage account has these prerequisites:
23
+
- The storage account must be in a different Azure region than the Network Fabric Azure region.
24
+
-`Storage Blob Data Contributor` role must be assigned to the `Nexus Network Fabric RP` with access assigned to the storage account.
25
+
- Microsoft Support must patch the Nexus Network Fabric with an active storage SAS URL before running cabling validation.
20
26
21
27
> [!NOTE]
22
28
> The Storage URL (SAS) is short-lived. By default, it is set to expire in eight hours. If the SAS URL expires, then the fabric must be re-patched.
23
29
30
+
## Generate the storage URL
31
+
32
+
Refer to [Create a container](../storage/blobs/blob-containers-portal.md#create-a-container) to create a container.
33
+
34
+
> [!NOTE]
35
+
> Enter the name of the container using only lowercase letters.
36
+
37
+
Refer to [Generate a shared access signature](../storage/blobs/blob-containers-portal.md#generate-a-shared-access-signature) to create the SAS URL of the container. Provide Write permission for SAS.
38
+
39
+
> [!NOTE]
40
+
> SAS URLs are short lived. By default, it is set to expire in eight hours. If the SAS URL expires, then you must open a Microsoft support ticket to add a new URL.
41
+
24
42
## Validate cabling
25
43
26
44
1. Execute the following Azure CLI command:
@@ -29,25 +47,40 @@ This article explains the Fabric cable validation, where the primary function o
The following (truncated) output appears. Copy the URL through **private preview**. This portion of the URL is used in the following step to check the status of the operation.
50
+
The following (truncated) output appears. Copy the URL from the `Azure-AsyncOperation` section of the debug output. This portion of the URL is used in the following step to check the status of the operation.
|Compliant | When the status is compliant with the BOM specification |
164
-
|Non-Compliant| When the status isn't compliant with the BOM specification |
165
-
|Unknown | When the status is unknown|
197
+
|NonCompliant| When the status isn't compliant with the BOM specification |
198
+
|Unknown | When the tool is unable to retrieve interface connection details or lldp data. This can occur when destintation device is powered off, missing or disconnected cables or if validation is not supported for this interface type.|
## Known issues and limitations in cable validation
179
212
180
-
- Post Validation Connections between TORs and Compute Servers isn't supported.
181
-
- Cable Validation for NPB isn't supported because there's no support for "show lldp neighbors" from Arista.
213
+
- Cable Validation of connections between TORs and Compute Servers that are powered off or unprovisioned in the Nexus cluster are not supported. These interfaces will show `Unknown` status in the report.
214
+
- Cable Validation of connections between MGMT interfaces and Compute Servers that are powered off or unprovisioned in the Nexus cluster or the Compute Server Controllers are not supported. These interfaces will show `Unknown` status in the report.
215
+
- Cable Validation for NPB isn't supported for `loopback` and `nni-direct` interfaces because there is no vendor support currently for `show lldp neighbors`. These interfaces will show `Unknown` status in the report.
182
216
- The Storage URL must be in a different region from the Network Fabric. For instance, if the Fabric is hosted in East US, the storage URL should be outside of East US.
183
-
- Cable validation supports both four rack and eight rack BOMs.
184
-
185
-
## Generate the storage URL
217
+
- Cable validation supports both four rack wih 16 Computes per rack and eight rack wih 16 Computes per rack BOMs.
218
+
- When destintation device is powered off, cables are missing or disconnected, or if validation is not supported for the interface type, then the inteface will show `Unknown` status. **It is important to evaluate all `Unknown` interfaces that are `Not-Connected` against the BOM to determine if repair action is required.**
186
219
187
-
Refer to [Create a container](../storage/blobs/blob-containers-portal.md#create-a-container) to create a container.
220
+
## Typical cable validation `NonCompliant` and `Unknown` Issues
188
221
189
-
> [!NOTE]
190
-
> Enter the name of the container using only lowercase letters.
222
+
|validationType |Status |Error |Resolution |
223
+
|---------------|-------|-------|------------|
224
+
| CableValidation |`NonCompliant`|`Device cable connection is incorrect.`| Verify connections on the source and destination interfaces match the BOM. The `deviceConfiguration` can help identify the destination port date returned on the interface. |
225
+
| CableValidation |`Unknown`|`Unable to fetch data from the device.`| Verify connections on the source and destination interfaces are connected and match the BOM |
226
+
| CableValidation |`NonCompliant`|`Device cabling in <INTERFACE> incorrect.`| The interface is not connected. Verify connections on the source and destination interfaces are connected match the BOM. |
227
+
| CableValidation |`Unknown`|`Port <INTERFACE> has no connections as per device response.`| Verify connections on the source and destination interfaces are connected and match the BOM |
228
+
| CableSpecificationValidation |`Unknown`|`Unable to fetch Interface Status for <INTERFACE>.`| Verify connections on the source and destination interfaces are connected and match the BOM |
229
+
| CableSpecificationValidation |`NonCompliant`|`Device cable connection is incorrect`| Verify interface card and cables match BOM specification in this <INTERFACE>.|
191
230
192
-
Refer to [Generate a shared access signature](../storage/blobs/blob-containers-portal.md#generate-a-shared-access-signature)to create the SAS URL of the container. Provide Write permission for SAS.
231
+
## Converting cabling validation report to html format
193
232
194
-
> [!NOTE]
195
-
> ESAS URLs are short lived. By default, it is set to expire in eight hours. If the SAS URL expires, then you must open a Microsoft support ticket to add a new URL.
233
+
Sample python script to convert cabling validation report JSON output to html: [cable-html.py](media/cable-html.py)
0 commit comments