Skip to content

Commit 0cd6c31

Browse files
committed
update
1 parent 1e372e1 commit 0cd6c31

File tree

4 files changed

+261
-7
lines changed

4 files changed

+261
-7
lines changed

articles/operator-nexus/.openpublishing.redirection.operator-nexus.json

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,6 @@
7474
"source_path": "howto-restrict-serial-port-access-and-set-timeout-on-terminal-server.md",
7575
"redirect_url": "How to restrict serial port access and set timeout on terminal-server",
7676
"redirect_document_id": false
77-
},
78-
{
79-
"source_path": "howto-upgrade-os-of-terminal-server.md",
80-
"redirect_url": "How to upgrade os of terminal server",
81-
"redirect_document_id": false
8277
}
8378
]
8479
}

articles/operator-nexus/TOC.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,8 +220,12 @@
220220
href: howto-restrict-serial-port-access-and-set-timeout-on-terminal-server.md
221221
- name: How to append a custom suffix to interface descriptions
222222
href: howto-append-a-custom-suffix-to-interface-descriptions.md
223+
- name: How to reboot a Network Device in Azure Operator Nexus Network Fabric
224+
href: howto-reboot-a-network-device.md
223225
- name: How to Configure NNF with Bring Your Own (BYO) Storage
224226
href: howto-configure-bring-your-own-storage-network-fabric.md
227+
- name: How to upgrade os of terminal server
228+
href: howto-upgrade-os-of-terminal-server.md
225229
- name: Cluster
226230
expanded: false
227231
items:
@@ -273,8 +277,7 @@
273277
href: howto-kubernetes-cluster-install-microsoft-defender.md
274278
- name: Kubernetes cluster features
275279
href: howto-kubernetes-cluster-features.md
276-
- name: How to reboot a Network Device in Azure Operator Nexus Network Fabric
277-
href: howto-reboot-a-network-device.md
280+
278281

279282
- name: Nexus Virtual Machine
280283
expanded: false

articles/operator-nexus/howto-restrict-serial-port-access-and-set-timeout-on-terminal-server.md

Whitespace-only changes.
Lines changed: 256 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,256 @@
1+
---
2+
title: "Azure Operator Nexus: How to upgrade the operating system of a Terminal Server"
3+
description: Learn the process for upgrading the operating system of a Terminal Server
4+
author: sushantjrao
5+
ms.author: sushrao
6+
ms.date: 02/26/2025
7+
ms.topic: how-to
8+
ms.service: azure-operator-nexus
9+
ms.custom: template-how-to, devx-track-azurecli
10+
---
11+
12+
# Upgrading the operating system of a Terminal Server
13+
14+
This document provides a step-by-step guide to upgrade the operating system (OS) of a Terminal Server. The outlined procedure is manual and includes essential checks, a backup process, and actions for post-upgrade validation.
15+
16+
## **Prerequisites**
17+
18+
- User must have **root account access** or **sudo root access** for the Terminal Server.
19+
20+
- An **on-premises machine** with access to the Terminal Server for file transfers.
21+
22+
- Download **24.11.2 firmware**: [Opengear Firmware](https://ftp.opengear.com/download/opengear_appliances/OM/).
23+
24+
- After downloading the firmware, verify the **SHA1 checksum** to ensure integrity before proceeding with the installation.
25+
26+
>[!Note]
27+
> This guide has been validated with Opengear firmware version 24.11.2, which was upgraded from version 22.06.0, and is supported with Nexus Network Fabric runtime version 5.0.0.
28+
29+
>[Important]
30+
> If the update fails, restoring from the backup may not be possible if the firmware version has changed.
31+
> In such cases, you may need to rebuild the configuration as if performing a Day 1 deployment of the device.
32+
33+
## Pre-upgrade Checks (Terminal Server)
34+
35+
### Checking Available Disk Space
36+
37+
To check the available disk space on the terminal server, use the following command:
38+
39+
```bash
40+
sudo df -h
41+
```
42+
43+
### Sample output:
44+
45+
The output will display the available space on various partitions, including `/tmp`:
46+
47+
```bash
48+
root@b37e7ts:~# df -h
49+
Filesystem Size Used Avail Use% Mounted on
50+
tmpfs 3.9G 299M 3.6G 8% /tmp
51+
/dev/mapper/nvram-crypt 44G 7.0G 35G 17% /mnt/nvram
52+
/dev/mapper/config-active-crypt 1.5G 244M 1.2G 18% /mnt/config_overlay_active_upper
53+
/dev/sda1 222M 49M 158M 24% /boot
54+
```
55+
56+
Ensure at least **5 GB** of free space is available on the Terminal Server before beginning the upgrade process.
57+
58+
## Verifying OS download integrity using SHA1 checksum
59+
60+
After downloading the OS image, verify its integrity using SHA1 checksum validation.
61+
62+
### Step 1: Download the SHA checksum file
63+
64+
Use `wget` or any other utility to download the checksum file corresponding to the OS version:
65+
66+
```bash
67+
wget https://ftp.opengear.com/download/opengear_appliances/OM/current/SHASUMS
68+
```
69+
70+
### Step 2: Compute and compare the SHA1 checksum
71+
72+
Run the following command to verify the checksum:
73+
74+
```bash
75+
cat SHASUMS | sha1sum -c
76+
```
77+
78+
### Example Output:
79+
80+
```bash
81+
$ cat SHASUMS | sha1sum -c
82+
operations_manager-24.11.2-production-signed.raucb: OK
83+
```
84+
85+
Ensure that the output returns **"OK"** to confirm the file integrity before proceeding with installation.
86+
87+
Would you like additional details on troubleshooting checksum mismatches?
88+
89+
### Step 3: Check current version of Terminal Server
90+
91+
Run the following command on the Terminal Server.
92+
93+
```bash
94+
sudo cat /etc/version
95+
```
96+
97+
```Example output
98+
22.06.0
99+
```
100+
> [!Note]
101+
> Ensure the current OS version is lower than the version you are upgrading to.
102+
103+
### LLDP Service check and enable
104+
105+
Run the following command on the Terminal Server.
106+
107+
```bash
108+
sudo ogcli update services/lldp enabled=true
109+
sudo ogcli get services/lldp
110+
```
111+
112+
```Expected output
113+
description=""
114+
enabled=true
115+
physifs=[]
116+
platform=""
117+
```
118+
119+
### LLDP neighbor check
120+
121+
Run the following command on the Terminal Server.
122+
123+
```bash
124+
sudo lldpctl
125+
```
126+
127+
```Expected neighbors:
128+
Mgmt Switch, PE2, PE1
129+
```
130+
131+
### Ping connectivity check
132+
133+
Run the following command on the Terminal Server.
134+
135+
```bash
136+
default_routes=$(ip route show default | awk '{print $3}')
137+
for ip in $default_routes; do
138+
echo "Pinging $ip..."
139+
ping -c 4 $ip
140+
done
141+
```
142+
143+
```Expected output
144+
Pinging 10.103.0.2...
145+
PING 10.103.0.2 (10.103.0.2) 56(84) bytes of data.
146+
64 bytes from 10.103.0.2: icmp_seq=1 ttl=64 time=0.319 ms
147+
64 bytes from 10.103.0.2: icmp_seq=2 ttl=64 time=0.352 ms
148+
64 bytes from 10.103.0.2: icmp_seq=3 ttl=64 time=0.334 ms
149+
64 bytes from 10.103.0.2: icmp_seq=4 ttl=64 time=0.358 ms
150+
151+
--- 10.103.0.2 ping statistics ---
152+
4 packets transmitted, 4 received, 0% packet loss, time 3071ms
153+
rtt min/avg/max/mdev = 0.319/0.340/0.358/0.015 ms
154+
Pinging 10.103.0.6...
155+
PING 10.103.0.6 (10.103.0.6) 56(84) bytes of data.
156+
64 bytes from 10.103.0.6: icmp_seq=1 ttl=64 time=0.324 ms
157+
64 bytes from 10.103.0.6: icmp_seq=2 ttl=64 time=0.344 ms
158+
64 bytes from 10.103.0.6: icmp_seq=3 ttl=64 time=0.305 ms
159+
64 bytes from 10.103.0.6: icmp_seq=4 ttl=64 time=0.340 ms
160+
161+
--- 10.103.0.6 ping statistics ---
162+
4 packets transmitted, 4 received, 0% packet loss, time 3065ms
163+
rtt min/avg/max/mdev = 0.305/0.328/0.344/0.015 ms
164+
```
165+
166+
### Create a backup of current configuration
167+
168+
Run the following command on Terminal Server.
169+
170+
```bash
171+
sudo ogcli export ogcli_export_<date>
172+
```
173+
174+
## **Stage 2: Backup files (on-premises machine)**
175+
176+
### Transfer Backup files to on-premises machine
177+
178+
Run following command on the on-premises machine to copy the Terminal Server configuration and related files to the on-premises machine.
179+
180+
```bash
181+
mkdir ~/ts_backup
182+
cd ~/ts_backup
183+
scp -o [email protected] root@<ts_ip>:/etc/dhcp/dhcpd.conf ./
184+
scp -r -o [email protected] root@<ts_ip>:/mnt/nvram/files/conf ./
185+
scp -o [email protected] root@<ts_ip>:~/ogcli_export_<date> ./
186+
scp -r -o [email protected] root@<ts_ip>:/mnt/nvram/nexus ./
187+
scp -r -o [email protected] root@<ts_ip>:/mnt/nvram/opengear_provisioning_rev5 ./
188+
```
189+
190+
>[!Note]
191+
> Replace <ts_ip> with the Terminal Server IP.
192+
193+
## **Stage 3: Install firmware (Terminal Server)**
194+
195+
### Upload firmware
196+
197+
Upload the latest downloaded firmware from on premise machine to the Terminal Server.
198+
199+
```bash
200+
scp -r -o [email protected] ./operations_manager-24.11.2-production-signed.raucb root@<ts_ip>:/tmp/
201+
```
202+
203+
>[!Note]
204+
> Replace <ts_ip> with the Terminal Server IP.<br>
205+
> Ensure the file name corresponds to the specific firmware version being used. For example, <operations_manager-24.11.2-production-signed.raucb> is the file name for Opengear OS version 24.11.2. Adjust the file name accordingly for your firmware version.
206+
207+
### Initiate installation of firmware
208+
209+
Run the following command on the Terminal Server.
210+
211+
```bash
212+
puginstall --reboot-after /tmp/operations_manager-24.11.2-production-signed.raucb
213+
```
214+
> [!Note]
215+
The upgrade process takes 5–10 minutes, during which the Terminal Server will reboot automatically.
216+
217+
218+
## **Stage 4: Cleanup (On-premises machine)**
219+
220+
### Remove backup and firmware
221+
222+
After confirming the successful upgrade, delete temporary files from the on-premises machine.
223+
224+
```bash
225+
rm -rf ~/ts_backup
226+
rm -rf ./operations_manager-24.11.2-production-signed.raucb
227+
```
228+
229+
>[!Note]
230+
> Perform this action only once the Terminal Server has been upgraded successfully.
231+
232+
233+
### Firmware upgrade failure
234+
If the firmware upgrade fails we advise you to factory reset the Terminal Server and install the latest firmware and then reconfigure your device or restore from the backup. The result of a factory reset will require someone to connect to the Terminal Server using a serial port and following the documentation here to reconfigure or attempt to restore the configuration from a backup: [Azure Operator Nexus Platform Prerequisites](howto-platform-prerequisites.md).
235+
236+
1. Perform a **factory reset**:
237+
238+
Run the following command on the Terminal Server.
239+
240+
```bash
241+
factory_reset
242+
```
243+
244+
Or, push the Erase button on the port-side panel twice with a bent paper clip while the unit is powered on.
245+
246+
2. Reinstall the latest firmware.
247+
248+
Repeat the firmware installation process.
249+
250+
3. Reconfigure or restore the device from backup:
251+
252+
Run the following command on the Terminal Server.
253+
254+
```bash
255+
ogcli restore <file_path>
256+
```

0 commit comments

Comments
 (0)