When attempting to delete an older software package from the Avi Controller (Administration > Controller > Software), the action fails with the following error message: "Cannot delete, object is referred by: ['UpgradeStatusInfo...]"
This is expected behavior and a built-in safety feature of the Avi Controller. The system intentionally retains and locks the immediate previous software package (referred to as the n-1 version) to ensure that a system rollback can be performed if necessary.
The UpgradeStatusInfo object maintains this reference, preventing the deletion of the required package.
This behavior is by design and serves as a critical safety feature. The system's ability to delete software packages is governed by the following rules, where 'n' represents the current version of the system:
Previous Version (n-1) Package: You cannot delete the software package corresponding to the immediate previous version from which the system was upgraded. This package is locked to allow for a potential rollback of the Avi Controller.
Example: If the system is currently on version 30.2.5 (n) and was upgraded from 30.2.4 (n-1), the 30.2.4 software package cannot be deleted.
Older (n-2, n-3, etc.) Packages: You can only delete older software packages if all system components, especially all Service Engines, have been fully upgraded to the current version (n).
Example: If the Controller is on 30.2.5 (n) but some Service Engines are still running on the previous version 30.2.4 (n-1), you will not be able to delete an even older package, for e.g., 22.1.7 (n-2).
The (n-2) package is required by the system until the (n-1) to (n) upgrade is complete across all Service Engines.
In summary, to delete an (n-2) or older package, you must first ensure that the entire Avi fabric (Controllers and all Service Engines) is running on the current version, i.e., 'n'.
If you have confirmed that your system meets these conditions but are still unable to delete a package, please contact Broadcom Support for assistance.