-
Notifications
You must be signed in to change notification settings - Fork 125
Open
Description
Description:
Swift upgrades from source versions subsequent to Victoria fail to be detected. The issue occurs because the get_os_version_package function cannot find a valid codename for versions beyond Victoria. This is the chain of events that lead to this issue:
- The function
do_action_openstack_upgradecallsopenstack_upgrade_available(package)to determine if an OpenStack upgrade is available for the specified package, Swift in this case (reference). - Inside
openstack_upgrade_available, the current Swift version is determined byget_os_version_package(reference). - The function
get_os_version_packageattempts to find the version by looking up theSWIFT_CODENAMESdictionary (reference). However, since the version is not included inSWIFT_CODENAMES, the function returns None. - As a result,
openstack_upgrade_availabledetermines that no upgrade is available, returningFalse(reference). - Because
openstack_upgrade_available(package)returnsFalse, thedo_action_openstack_upgradefunction sets the action status to{'outcome': 'no upgrade available'}and terminates without performing the upgrade (reference).
Expected Behavior:
The charm should correctly identify the Source version, compare it to the Target version, and proceed with the upgrade.
Current Behavior:
The upgrade fails because the SWIFT_CODENAMES mapping does not include entries for versions beyond Victoria, returning {'outcome': 'no upgrade available'}.
Possible Solution
Determine the Swift version similarly to how it is done for other OpenStack packages: by identifying the current release using the openstack-release package.
Steps to Reproduce:
- Attempt to upgrade Swift from Wallaby to Xena.
- Observe that the upgrade fails with the message:
{'outcome': 'no upgrade available.'}.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels