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