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: A standalone Python script for verifying ESXi hosts in VCSA inventory that require dual driver conflict remediation before upgrading vCenter.

 

This script serves as a manual check on the VCSA inventory, running ahead of the upgrade process to ensure compliance. Unlike the integrated dual_driver_check, this script is not intended for manual execution.

 

Dual Driver Check Requirements

 

ESXi hosts running v3 (U3/U3a) exist in the VCSA inventory.

ESXi hosts running U2c/U2d are present in a vSphere Lifecycle Manager (vLCM)-image-enabled cluster.

Outside of a vLCM image-enabled cluster, these hosts are not impacted.

Post-Upgrade Actions

 

If a host meets the above requirements, an additional scan is performed to verify:

Both i40en and i40enu drivers are installed on the ESXi host.

Upon successful completion without affecting any affected hosts, an advanced setting in the source VCSA allows for skipping version-based prechecks during subsequent upgrades to v3 U3c or above.

Environment

VMware vCenter Server 7.0.3 (U2c/U2d/U3/U3a)

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
 
 

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.

 

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.



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

 

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 Intel(i) 82500 driver conflict, they will need to be upgraded to 7.0 U3c or above as well. However, if an issue is encountered with HA configuration on these hosts after upgrading vCenter Server, attempt to manually remove the conflicting i40en driver from each 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