Open chanchiwai-ray opened 1 week ago
I somehow think this is not the issue we can handle in the charm.
The options we can have is either:
For me option 2 is too tricky. We should run upgrade for these two application together.
@gabrielcocenza Is there is a clean way I can combine those two apps' upgrade together?
The only way from me is adding some workaround on _generate_control_plane_plan
We make sure the order of the upgrading is been followed, for example. The cinder-ceph is always upgrade after cinder. And remove the checking of cinder-ceph's status in cinder upgrading. So it's like a series of steps to upgrade both cinder and cinder-ceph.
We decouple the steps
and application
logic in OpenStackApplication
.
A class to generate the upgrade steps shouldn't belong to one single application.
This may need a lot of refactor and a lot of cou plan logic need to be re-created. This also affect the hypervisor planner.
We should take care to not try to cover all the issues doing workarounds on COU. There are issues on the charms itself and this looks like one of then. If you see the latest version of charmhelpers zed is there but looking at the yoga/stable branch the list is not updated, so it seems that is a simple update on charmhelpers will fix that
The message from @ajkavanagh:
In general subordinates probably should be switched to the next OpenStack track before the principle charm, as the 'next' track always supports the current track. However, charms come from different eras, and the latest charms that were subordinates tried very hard not to 'upset' the principle. Older charms could be a bit hit and miss. In general, I'd still say that subordinates should have their track switched first, followed by principle charms.
The easiest way to resolve the issue maybe reverse the order of upgrading now, we upgrade subordinate first then principle.
The issue to trace document updating: OpenStack upgrade advice around subordinates and principle charms needs to be updated
Environment: OpenStack deployed by stsstack-bundle:
./generate-bundle.sh --name cou -r yoga -s jammy --ceph --run
Step to reproduce: you can run
cou upgrade
on the environment mentioned above. Or do it manually following thecou plan
If the we ignore the error in
cinder-ceph
, and force upgradingcinder-ceph
The error in
cinder-ceph
will go away.Relevant information:
“zed” was not presented during upgrade: https://opendev.org/openstack/charm-cinder-ceph/src/branch/stable/yoga/charmhelpers/fetch/ubuntu.py#L250
“zed“ exists after the upgrade: https://opendev.org/openstack/charm-cinder-ceph/src/branch/stable/zed/charmhelpers/fetch/ubuntu.py#L263
Note: This happens on a openstack cloud delpoyed by stsstack-bundle, and it happens for upgrading from Jammy/Yoga or above .