Access 8.x Upgrade may fail during the preflight check if PRIVATE_NET_SUBNET value is empty in nasinstall.conf
Problem
During an upgrade to Access 8.x, the upgrade may fail during the preflight checks without a notable error if the private network subnet mask was entered incorrectly during the initial cluster configuration.
Error Message
Checking the status of the upgrade shows a non-descript error:
[access-8.0] access-n1 > system software upgrade-status
The target version is: 8.0.100
Current upgrade status: FAILED. The upgrade is 9% completed.
Latest operations:
-[2022-08-04 13:49:32] [INFO] Extracting the upgrade package...
-[2022-08-04 13:49:46] [INFO] Starting the upgrade...
-[2022-08-04 13:50:35] [ERROR] V-409-777-1516: Failed to upgrade the system. Contact Veritas Technical Support to resolve this issue.
Reviewing the upgrade_8.0.log shows a further failure, but still does not detail the issue:
2022-08-02 17:30:38,524 root ERROR upgrade_nas_opr.py --command check_nas_preupgrade failed
2022-08-02 17:30:38,542 root ERROR Traceback (most recent call last):
File "/inst/patch/appliance/installed/8.0.100/scripts/run_upgrade.py", line 504, in main
common.check_nas_preupgrade()
File "/inst/patch/appliance/installed/8.0.100/scripts/lib/upgrade/common.py", line 3640, in check_nas_preupgrade
"upgrade_nas_opr.py --command check_nas_preupgrade failed")
AccessHookException: upgrade_nas_opr.py --command check_nas_preupgrade failed
The failure was detailed in the log that captures the preflight check status:
/opt/VRTSnas/log/upgrade_nas_opr.log
2022-08-04 10:58:13,714 - root - INFO - Calling check_priv_network
2022-08-04 10:58:13,714 - root - DEBUG - Found private subenet as :
2022-08-04 10:58:13,714 - root - DEBUG - Found Private netmask as : 255.255.255.0
2022-08-04 10:58:13,717 - vx_pylogger - INFO - exit status of command ['/bin/ipcalc', '-p', '1.1.1.1', '255.255.255.0']:0
2022-08-04 10:58:13,717 - vx_pylogger - DEBUG - STDOUT:PREFIX=24
2022-08-04 10:58:13,717 - vx_pylogger - DEBUG - STDERR:
2022-08-04 10:58:13,717 - root - INFO - Found prefix 24 for private subnet
2022-08-04 10:58:13,718 - root - ERROR - upgrade not supported if private subnet is not 172.16.0.0 and private netmask > 255.252.0.0
2022-08-04 10:58:13,718 - root - INFO - nas_pre_upgrade_check_appliance FAILED with return code : 1
The upgrade_nas_opr.log may show slightly different error syntax based on versions upgraded to/from, such as:
2023-03-23 10:25:14,580 - root - INFO - Calling check_priv_network
2023-03-23 10:25:14,581 - root - DEBUG - Found private subenet as :
2023-03-23 10:25:14,581 - root - DEBUG - Found Private netmask as : 255.255.255.0
2023-03-23 10:25:14,585 - vx_pylogger - INFO - exit status of command ['/bin/ipcalc', '-p', '1.1.1.1', '255.255.255.0']:0
2023-03-23 10:25:14,585 - vx_pylogger - DEBUG - STDOUT:PREFIX=24
2023-03-23 10:25:14,585 - vx_pylogger - DEBUG - STDERR:
2023-03-23 10:25:14,585 - root - INFO - Found prefix 24 for private subnet
2023-03-23 10:25:14,585 - root - ERROR - Found empty private network parameter, cluster might not be configured properly, returning 1
"check_priv_network" fails even though the eth2 (private network link for Access) has the correct private subnet:
# ifconfig eth2
eth2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9000
inet 172.16.0.4 netmask 255.255.255.0 broadcast 172.16.0.255
inet6 fe80::a6bf:1ff:fe72:38a5 prefixlen 64 scopeid 0x20<link>
ether a4:bf:01:72:38:a5 txqueuelen 1000 (Ethernet)
RX packets 2617513 bytes 3862477389 (3.5 GiB)
RX errors 0 dropped 1 overruns 0 frame 0
TX packets 1651095 bytes 1550989310 (1.4 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
The value that's being referred to is in the nasinstall.conf file that is generated during initial cluster configuration.
Checking nasinstall.conf, we can see that the value is empty:
/opt/VRTSnas/nodeconf/nasinstall.conf
# grep PRIVATE_NET nasinstall.conf
PRIVATE_NET_SUBNET=""
PRIVATE_NET_NETMASK="255.255.255.0"
Cause
During initial cluster configuration, if the user provides " " [SPACE] instead of [ENTER] (to accept the default private net subnet/ip 172.16.0.0), the value for key "PRIVATE_NET_IP/PRIVATE_NET_SUBNET" gets incorrectly stored as "" (empty string) in /opt/VRTSnas/nodeconf/nasinstall.conf.
Solution
To resolve the upgrade failure caused by this issue, you can edit the value in nasinstall.conf
1. Elevate to a maintenance prompt
a. On Access 7.4.x - Support -> Maintenance -> elevate
b. On Access 8.x - Support Elevate
2. Backup both nasinstall files (on each node) before editing the original file in place:
# cp /opt/VRTSnas/nodeconf/nasinstall.conf /log/nasinstall.conf_<date>_backup
3. Enter the correct value for the PRIVATE_NET_SUBNET of 172.16.0.0 (both nodes):
# vi /opt/VRTSnas/nodeconf/nasinstall.conf
PRIVATE_NET_SUBNET="172.16.0.0"
4. Reattempt the upgrade and check /opt/VRTSnas/log/upgrade_nas_opr.log if there are any further failures.