Skip to content

Commit 7e5fb33

Browse files
authored
Merge pull request #277816 from sushantjrao/nexus-fabric-upgrade
how to guide for upgrading network fabric
2 parents 9a06e20 + 3c255ff commit 7e5fb33

File tree

2 files changed

+133
-0
lines changed

2 files changed

+133
-0
lines changed

articles/operator-nexus/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,8 @@
183183
href: howto-delete-layer-3-isolation-domains.md
184184
- name: How to put a device into maintenance mode
185185
href: howto-put-device-in-maintenance-mode.md
186+
- name: How to upgrade Network Fabric
187+
href: howto-upgrade-nexus-fabric.md
186188
- name: Nexus Kubernetes cluster
187189
expanded: false
188190
items:
Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
---
2+
title: How to upgrade Network Fabric for Azure Operator Nexus
3+
description: Learn the process for upgrading Network Fabric for Azure Operator Nexus.
4+
author: sushantjrao
5+
ms.author: sushrao
6+
ms.date: 06/11/2023
7+
ms.topic: how-to
8+
ms.service: azure-operator-nexus
9+
ms.custom: template-how-to
10+
---
11+
12+
# Network Fabric upgrade guide
13+
14+
This how to guide provides a streamlined upgrade process for your network fabric. It is designed to assist users in enhancing their network infrastructure through Azure APIs, which facilitate the lifecycle management of various network devices. Regular updates are crucial for maintaining system integrity and accessing the latest product improvements.
15+
16+
## **Overview**
17+
18+
**Runtime bundle components**: These components require operator consent for upgrades that may affect traffic behavior or necessitate device reboots. The network fabric's design allows for updates to be applied while maintaining continuous data traffic flow.
19+
20+
Runtime changes are categorized as follows:
21+
22+
- **Operating system updates**: Necessary to support new features or resolve issues.
23+
24+
- **Base configuration updates**: Initial settings applied during device bootstrapping.
25+
26+
- **Configuration structure updates**: Generated based on user input for configurations like isolation domains and ACLs. These updates accommodate new features without altering user input.
27+
28+
### **Prerequisites**
29+
30+
Confirm that the Network Fabric Controller is in a 'Provisioned' state.
31+
32+
### **Upgrade workflow**
33+
34+
#### **Step 1: Initiate upgrade**
35+
36+
Start the upgrade with the following command:
37+
38+
```Azure CLI
39+
az networkfabric fabric upgrade -g [resource-group] --resource-name [fabric-name] --action start --version "2.0.0"
40+
```
41+
42+
##### Example Command
43+
44+
```sh
45+
az networkfabric fabric upgrade -g myResourceGroup --resource-name myFabricName --action start --version "2.0.0"
46+
```
47+
48+
| Parameter | Description | Example |
49+
|--------------------------|---------------------------------------------|------------------------|
50+
| `-g` or `--resource-group` | The name of the resource group | `myResourceGroup` |
51+
| `--resource-name` | The name of the fabric to upgrade | `myFabricName` |
52+
| `--action` | Specifies the upgrade action to perform | `start` |
53+
| `--version` | Specifies the version to upgrade to | `"2.0.0"` |
54+
55+
Replace `myResourceGroup` and `myFabricName` with the actual names of your resource group and fabric, respectively.
56+
57+
> [!NOTE]
58+
> This command places the NetworkFabric in 'Under Maintenance'.
59+
60+
#### **Step 2: Device-specific upgrades**
61+
62+
Follow the recommended sequence for device upgrades, addressing any failures manually if necessary.
63+
64+
**Device upgrade sequence**:
65+
66+
1. Upgrade Top-of-Rack (TOR) switches concurrently.
67+
68+
2. Update management switches in parallel.
69+
70+
3. Upgrade Network Packet Broker (NPB) devices sequentially.
71+
72+
4. Update Compute Elements (CEs) individually.
73+
74+
5. Lastly, upgrade aggregate rack switches.
75+
76+
**Pre-validation checks**:
77+
78+
- Ensure the network fabric is in a 'Succeeded' state.
79+
80+
- Verify all devices are configured and synchronized.
81+
82+
Upgrade individual devices with the following command:
83+
84+
```Azure CLI
85+
az networkfabric device upgrade --version 2.0.0 -g [resource-group] --resource-name [device-name] --debug
86+
```
87+
88+
##### Example Command
89+
90+
```Azure CLI
91+
az networkfabric device upgrade --version 2.0.0 -g myResourceGroup --resource-name myDeviceName --debug
92+
```
93+
94+
| Parameter | Description | Example |
95+
|----------------------|-------------------------------------|------------------------|
96+
| `--version` | Specifies the version to upgrade to | `2.0.0` |
97+
| `-g` or `--resource-group` | The name of the resource group | `myResourceGroup` |
98+
| `--resource-name` | The name of the device to upgrade | `myDeviceName` |
99+
| `--debug` | Enables debug mode for detailed output | `--debug` |
100+
101+
Replace `myResourceGroup` and `myDeviceName` with the actual names of your resource group and device, respectively.
102+
103+
#### **Step 3: Finalize upgrade**
104+
105+
After updating all devices, run the completion command to exit maintenance mode:
106+
107+
```Azure CLI
108+
az networkfabric fabric upgrade --action Complete -g [resource-group] --resource-name [fabric-name]
109+
```
110+
111+
##### Example Command
112+
113+
```sh
114+
az networkfabric fabric upgrade --action Complete -g myResourceGroup --resource-name myFabricName
115+
```
116+
117+
| Parameter | Description | Example |
118+
|----------------------|-----------------------------------------------|------------------------|
119+
| `--action` | Specifies the upgrade action to perform | `Complete` |
120+
| `-g` or `--resource-group` | The name of the resource group | `myResourceGroup` |
121+
| `--resource-name` | The name of the fabric to upgrade | `myFabricName` |
122+
123+
Replace `myResourceGroup` and `myFabricName` with the actual names of your resource group and fabric, respectively.
124+
125+
### **Post-validation**
126+
127+
Check the version status of all devices and the fabric with AZCLI commands.
128+
129+
### **Known issues**
130+
131+
Create the EOS image directory manually at `/mnt/nvram/nexus/eosimages` if it's missing. This is especially important for environments built from older NF versions. A fix is forthcoming in a future release.

0 commit comments

Comments
 (0)