Controller Rollback from 31.x to older versions fails with error "Enum SYSERR_CHECK_PATCH_PACKAGE not found in enum type Syserr"
search cancel

Controller Rollback from 31.x to older versions fails with error "Enum SYSERR_CHECK_PATCH_PACKAGE not found in enum type Syserr"

book

Article ID: 399931

calendar_today

Updated On:

Products

VMware Avi Load Balancer

Issue/Introduction

After upgrading the AVI Controller to version 31.x, users may encounter a blocker when attempting to roll back to the previous version. This typically occurs under the following conditions:

  1. A Controller-only upgrade is performed from an older version to 31.x.
  2. An SE Group upgrade precheck (upgrade segroup prechecks_only image_ref <image_file>) is initiated, or the SE Group upgrade is started and fails with 'UPGRADE_PRE_CHECK_ERROR' due to new must checks introduced in 31.x.
  3. Subsequently, an attempt is made to rollback the Controller, which unexpectedly fails and returns the state 'UPGRADE_FSM_ABORTED'

  • Upon inspecting the upgrade process using 'show upgrade status detail', the following error may be observed: "Error while running task: RestoreSEData: Enum SYSERR_CHECK_PATCH_PACKAGE not found in enum type Syserr"

Environment

  • Avi Load Balancer 31.x

Resolution

  • Download the script "clear_upgrade_readiness.py" attached with this article
  • Use WinSCP or any FTP tool to upload the script to the leader controller node. Place it under the path: /tmp/clear_upgrade_readiness.py
  • SSH into the leader controller and run the script from the bash mode
sudo python3 /tmp/clear_upgrade_readiness.py --update
  • This clears the upgrade_readiness data from all UpgradeStatusInfo entries.
  • This will clear upgrade_readiness from all UpgradeStatusInfo entries and unblock the user to proceed with the rollback operation of the controller
  • Initiate the controller rollback operation again. The rollback should now proceed successfully without hitting the UPGRADE_FSM_ABORTED error.
  • Permanent fix for this issue will be delivered in 31.2.1 firmware release

Attachments

clear_upgrade_readiness.py get_app