Using the vSphere_upgrade_assessment.py script
search cancel

Using the vSphere_upgrade_assessment.py script

book

Article ID: 344885

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

vSphere_upgrade_assessment.py is a python script that verifies if a vCenter’s inventory contains ESXi 7.0 (U2c/U2d/U3/U3a) hosts that have a dual driver conflict that needs to be remediated before upgrading vCenter.

vSphere_upgrade_assessment.py is the standalone version of the integrated dual_driver_check scan mentioned in KB 86447. It can be run manually on the vCenter appliance before beginning the vCenter upgrade. Whereas the dual_driver_check should not be used manually.

Similar to the "dual_driver_check" documented in KB 86447, the script will firstly detect if any host in the inventory matches the requirements below
 
Should an ESXi host match one of these requirements then an extra scan will be executed to determine if both the i40en and i40enu drivers are installed

Upon a successful run without finding any affected hosts, it will create an advanced setting in the source vCenter that allows the version-based precheck to be bypassed during the next vCenter upgrade attempt to 7.0 U3c or above.


Environment

VMware vCenter Server 7.0.3

Resolution

1.1. Download the vSphere_upgrade_assessment.py script attached to this KB article.

2. Transfer the file to a folder on vCenter Server Appliance using WinSCP (e.g. /root or /tmp)
 
3. Log in to the vCenter Server using root credentials with an SSH Client (using Putty.exe or any similar SSH Client) and change to the directory where the script was placed.

4. Execute the script

python vSphere_upgrade_assessment.py
 
In this example, the script was placed in the "/tmp" folder
 
preassessment.jpg
 

This could take several minutes depending on the size of the environment. A rough estimate is 5 minutes per 100 ESXi hosts, but this will vary depending on resources available to the vCenter Appliance. The log file displayed when the script is started should be reviewed once the script completes to ensure it finished successfully.

Open the "vSphere_upgrade_assessment_<timestamp>.log" and look for the section highlighted below.

 No_Bad_Hosts.jpg

In the example above, the "Completed scan of 0 out of 0 hosts" messages means that no ESXi host matched the initial check and therefore no ESXi was scanned to determine if the "dual driver" issue was present.
The important message is the "Number of hosts with dual drivers:" entry. If this equals "0", then the environment is ready to proceed to the vCenter upgrade and no remediation work is required.

1_Bad_Hosts.jpg

In this 2nd example above, 1 host matched the initial check and had the scan for both drivers executed i.e. "Completed scan of 1 out of 1 hosts"
Reading further, the log file reports that 1 host the "dual driver" issue - "Number of hosts with dual drivers: 1". As there is 1 ESXi host impacted, the "vSphere_upgrade_assessment_faulty_hosts" should be reviewed to find the name of the impacted system(s).

Each time the script is run, it will check the hosts in vCenter for dual i40en/i40enu drivers and output the findings in 3 text files and a log file to the directory where the script was placed (/tmp).

Example output in the "vSphere_upgrade_assessment_faulty_hosts" file. This example has 2 hosts listed that require remediation

preassessment_faulty.jpg
 

Output file descriptions

  • vSphere_upgrade_assessment_faulty_hosts_<timestamp>.txt: Contains the hosts that were found to have the i40en driver conflict. These need to be addressed by following one of the two options from KB 86447.
  • vSphere_upgrade_assessment_skipped_hosts_<timestamp>.txt: Contains any hosts that were skipped because they were disconnected or not responding at the time. These are ignored.
  • vSphere_upgrade_assessment_errored_hosts_<timestamp>.txt: Contains any hosts that the script was unable to process for any other reason than being disconnected. Use the dual_driver_check_<timestamp>.log to further investigate why these hosts were unable to be scanned.
  • vSphere_upgrade_assessment_<timestamp>.log: Contains logging for the script process.

If hosts from the "skipped" list are affected by the driver conflict, they will need to be upgraded to 7.0 U3c or above as well. Otherwise, HA configuration will fail on them after upgrading the vCenter. Alternatively, you can manually remove the conflicting i40en driver on each affected host using the instructions in VMware KB 86191.

Once the script is run successfully without any hosts found in the "faulty" or "errored" lists, a flag is set on the vCenter to bypass the version-based pre-check on the next upgrade.

If desired, the output files created by the script are safe to remove after the upgrade is completed.

Additional Information

Post Upgrade Note: After the vCenter Server is successfully upgraded, It's recommended to check that the "config.SDDC.VCUpgradeVLCMPrecheck.Skip" flag was set back to "False" on VC UI  to ensure future upgrades are similarly validated: (VC -> "Configure" -> "Advanced Settings" -> "Advanced vCenter Server Settings" table).

Attachments

vSphere_upgrade_assessment get_app