NE-ONE: Applying a Patch Kit
Applying an NE-ONE Patch Kit
NOTE Patches (and Hotfixes) are applied via the console (command line), not the GUI, and so the <username> and <password> referenced below are not the same as you use for logging into the GUI.
Calnex Support will provide the <username> and (default) <password>, however if you have changed the console <password> you’ll need to use the value you set it to.
Download the patch file into your downloads folder from the email you received or other mechanism e.g. AWS download.
Start a command shell or terminal and cd to your downloads folder on your computer.
Use scp, sftp (or filezilla or similar) to transfer the patch kit file to the NE-ONE.
The example below shows this using scp, from the command prompt and assumes that the patch kit you received is called ne-one-patch-202204082031.
NOTE Substitute your actual patch kit file name for ne-one-patch-202204082031 in this an all other examples below.
scp -p ne-one-patch-202204082031 <username>@<your ne-one ip address>:
[You’ll be prompted for the <password>]
The file is now in the home folder of the <username> user /home/itrinegylog in to the console of your NE-ONE :
a) $ ssh <username>@<your ne-one ip address>
[You’ll be prompted for your <password>]
You get the menu:
b) leave the menu with E <enter>
check whether you already have a patches folder under the /ippe folder, and whether that folder has any contents (a previous patch):
<username>@NE-ONE:~$ ls -lR /ippe/patches/ippe/patches:
total 0
In the above it finds the patches folder with no contents, just what we need.but you may be told the patches folder does not exist e.g.
ls: cannot access '/ippe/patches': No such file or directory
In which case create it like this
<username>@NE-ONE:~$ sudo mkdir -p /ippe/patches
b. Or, you may find there are files in patches (when total not 0 above)
In which case delete the existing patch like this:
<username>@NE-ONE:~$ sudo rm -r /ippe/patches/*
copy the ne-one-patch-202204082031 file to the patches folder
<username>@NE-ONE:~$ sudo cp -p ne-one-patch-202204082031 /ippe/patches
go the the patches folder:
<username>@NE-ONE:~$ cd /ippe/patches/
expand the ne-one-patch-202204082031 tarball into this folder:
<username>@NE-ONE:/ippe/patches$ sudo tar -xvzf ne-one-patch-202204082031
Some files will be shown - this is just an example:
./bin/ipperte
./ext/Default
./ext/Expression
./ext/Generate
./ext/Labs
./ext/Service
./ext/Soft_Port
check that all the files are present in the patches folder, for example:
<username>@NE-ONE:/ippe/patches$ ls -lR
total 21368
drwxr-xr-x 2 root root 4096 Apr 10 20:02 bin
drwxr-xr-x 2 root root 4096 Apr 10 20:02 ext
-rw-rw-r-- 1 <username> <username> 21872461 Apr 10 18:49 ne-one-patch-202204082031
./bin:
total 57844
-r-sr-sr-t 1 root root 59229632 Apr 8 21:31 ipperte
./ext:
total 4632
-rwxrwxr-x 1 <username> <username> 1050496 Apr 8 17:00 Default
-rwxrwxr-x 1 <username> <username> 581704 Apr 8 17:00 Expression
-rwxrwxr-x 1 <username> <username> 342136 Apr 8 17:00 Generate
-rwxrwxr-x 1 <username> <username> 1461408 Apr 8 17:00 Labs
-rwxrwxr-x 1 <username> <username> 307448 Apr 8 17:00 Service
-rwxrwxr-x 1 <username> <username> 985192 Apr 8 17:00 Soft_Port
…
NOTES:
I) The dates and times may vary a little due to timezone and clock differences, the sizes should be the same as above
II) The files won’t be exactly the list above, it depends what’s in the patch
if the file ipperte has been supplied make sure it has the correct protections:
<username>@NE-ONE:/ippe/patches$ sudo chmod 555 /ippe/patches/bin/ipperte
NOTE - don’t worry if you’re told the file does not exist - it’s not part of all patches
The patch files are in the correct place. We can now restart NE-ONE’s engine
<username>@NE-ONE:/ippe/patches$ sudo /etc/rc.local
ippe
ippe
1 2 3 4 5 6 7 8 9 10 11 1000
Note: Do not be concerned about the exact count above, it caries from system to system, however it should just to 1000 at some point - if it does not, contact Calnex support.
12. check that the patching has taken place properly by looking at the ippe.log file for patching messages, corresponding to your approximate current time (Note: log file times are in UTC)
<username>@NE-ONE:/ippe/patches$ grep -Eia 'ippe version|patching' /ippe/logs/ippe.log
…
2024-05-17 17:02:25.379402: PATCHING /ippe/ext/Labs
2024-05-17 17:02:25.384021: PATCHING /ippe/ext/Soft_Port
2024-05-17 17:02:25.386660: PATCHING /ippe/ext/Expression
2024-05-17 17:02:25.388602: PATCHING /ippe/ext/Generate
2024-05-17 17:02:25.390209: PATCHING /ippe/ext/Service
2024-05-17 17:02:25.391422: PATCHING /ippe/ext/Default
2024-05-17 17:02:25.394197: PATCHING restarting to patch ipperte (2024.05.000000 202405171503)
2024-05-17 17:02:25.394206: PATCHING Restarting with command: [/ippe/patches/bin/ipperte -z -d]
2024-05-17 17:02:25.450164: PATCHING /ippe/bin/ipperte from /ippe/patches/bin/ipperte
2024-05-17 17:02:25.769547: PATCHING Restarting with command: [/ippe/bin/ipperte -x -d]
2024-05-17 17:02:25.782195: PATCHING All patches have been applied
2024-05-17 17:02:25.782745: IPPE Version: 2024.05.000000
In the above output we’re looking for the PATCHING statements immediately above the last IPPE Version: - these should correspond to the files supplied.
That’s it patch (hotfix) applied,
Now refresh your GUI (<crtl-shift-R>) as it is cached in your bowser.