Can't upgrade using the 'openstack-upgrade' action due to "upgrade_openstack" optional param missing from specialised "run_upgrade()" method in charm class.

Bug #2046449 reported by Marcin Wilk
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Designate Charm
Status tracked in Trunk
2023.1
Triaged
High
Unassigned
2023.2
Triaged
High
Unassigned
Trunk
Triaged
High
Alex Kavanagh
Yoga
Triaged
High
Unassigned
Zed
Triaged
High
Unassigned

Bug Description

The Paused-singe-unit upgrade method [1] fails for the designate upgrade from xena to yoga.
Initial designate charm: xena/stable 208
Target designate charm: yoga/stable 204

The full execution log is available here [2]

Initially I though it's lp1990062 but ajkavanagh has already verified that this is a new problem specific to the designate charm [3]:
"
@wilkmarcin

The bug in designate is different to this one. On the stable/yoga branch the designate charm has:

class DesignateCharmQueens(DesignateCharm):

    # This charms support Queens and onward
    release = 'queens'

    ...

    def run_upgrade(self, interfaces_list=None):
        """Upgrade OpenStack if an upgrade is available and action-managed
           upgrades is not enabled.
        :param interfaces_list: List of instances of interface classes
        :returns: None
        """
        super(DesignateCharmQueens, self).run_upgrade(
            interfaces_list=interfaces_list)
        memcached = relations.endpoint_from_flag(
            'coordinator-memcached.available')
        memcached.request_restart()

However, the action calls run_upgrade(...) as:

def openstack_upgrade_action(*args):
    """Run the openstack-upgrade action."""
    with charms_openstack.charm.provide_charm_instance() as charm_instance:
        charm_instance.run_upgrade(upgrade_openstack=True)
        charm_instance._assess_status()

i.e. with the "upgrade_openstack=True" param, and the charms.openstack lib also has that parameter.

This is an actual bug in the designate charm not being updated to support the "upgrade_openstack" optional param but it existing in the lib. As such it's a new/different bug.
"

[1] https://docs.openstack.org/charm-guide/latest/admin/upgrades/openstack.html#paused-single-unit
[2] https://pastebin.ubuntu.com/p/HSkRJbzCsf/
[3] https://bugs.launchpad.net/charm-magnum/+bug/1990062/comments/131

summary: - Can't upgrade from xena to yoga using the 'openstack-upgrade' action
+ Can't upgrade using the 'openstack-upgrade' action due to
+ "upgrade_openstack" optional param missing from specialised
+ "run_upgrade()" method in charm class.
Revision history for this message
Marcin Wilk (wilkmarcin) wrote :

Just one update: the All-in-one upgrade method [1] works fine for the designate xena->yoga. It may be used as an alternative or workaround if needed.

[1] https://docs.openstack.org/charm-guide/latest/admin/upgrades/openstack.html#all-in-one

Marcin

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.