OpenStack charms should handle pre-upgrade package refreshes

Bug #2027745 reported by Andrea Ieri
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ceph Monitor Charm
Triaged
Wishlist
Unassigned
Ceph OSD Charm
Triaged
Wishlist
Unassigned
Ceph RADOS Gateway Charm
Triaged
Wishlist
Unassigned
Gnocchi Charm
Triaged
Wishlist
Unassigned
OpenStack AODH Charm
Triaged
Wishlist
Unassigned
OpenStack Barbican Charm
Triaged
Wishlist
Unassigned
OpenStack Ceilometer Charm
Triaged
Wishlist
Unassigned
OpenStack Ceph-FS Charm
Triaged
Wishlist
Unassigned
OpenStack Cinder Charm
Triaged
Wishlist
Unassigned
OpenStack Dashboard Charm
Triaged
Wishlist
Unassigned
OpenStack Designate Charm
Triaged
Wishlist
Unassigned
OpenStack Designate-Bind Charm
Triaged
Wishlist
Unassigned
OpenStack Glance Charm
Triaged
Wishlist
Unassigned
OpenStack Heat Charm
Triaged
Wishlist
Unassigned
OpenStack Keystone Charm
Triaged
Wishlist
Unassigned
OpenStack Manila Charm
Triaged
Wishlist
Unassigned
OpenStack Manila-Ganesha Charm
Triaged
Wishlist
Unassigned
OpenStack Neutron API Charm
Triaged
Wishlist
Unassigned
OpenStack Neutron Gateway Charm
Triaged
Wishlist
Unassigned
OpenStack Nova Cloud Controller Charm
Triaged
Wishlist
Unassigned
OpenStack Nova Compute Charm
Triaged
Wishlist
Unassigned
OpenStack Octavia Charm
Triaged
Wishlist
Unassigned
OpenStack Placement Charm
Triaged
Wishlist
Unassigned
OpenStack Swift Proxy Charm
Triaged
Wishlist
Unassigned
OpenStack Swift Storage Charm
Triaged
Wishlist
Unassigned
charm-ovn-central
Triaged
Wishlist
Unassigned
charm-ovn-dedicated-chassis
Triaged
Wishlist
Unassigned

Bug Description

The upgrade guide[0] asks operators to run `apt update && apt full-upgrade` prior to starting a cloud upgrade, since upgrade QA tests are run starting from whichever deb versions were current at the time of the test.

Given that all OpenStack charms must be able to execute those actions in order to execute the upgrade (after having updated the apt sources), they could also automate the initial refresh, after the user has requested an upgrade, right before modifying the apt sources.
Any disruption caused by automated minor version package upgrade would not really matter since it would immediately precede the expected disruption caused by the requested major version upgrade.

nova-compute and ceph-osd are often colocated, so special care should be exercised to limit the refresh to only the debs belonging to the application undergoing the upgrade (although shared dependencies would still be caught in the process). This could be done by replacing the `apt full-upgrade` with a suitable `apt install <package list>`, and is indeed already how ceph-osd performs its upgrade (though notably not nova-compute):

```
2680 def upgrade_osd(new_version, kick_function=None):
2681 """Upgrades the current OSD
2682
2683 :param new_version: str. The new version to upgrade to
2684 """
[...]
2704 try:
2705 # Upgrade the packages before restarting the daemons.
2706 status_set('maintenance', 'Upgrading packages to %s' % new_version)
2707 apt_install(packages=determine_packages(), fatal=True)
```

This request of course affects all OpenStack charms.

[0] https://docs.openstack.org/charm-guide/latest/admin/upgrades/openstack.html#ensure-cloud-node-software-is-up-to-date

Tags: charm-guide
Changed in charm-ceph-mon:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-ceph-osd:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-ceph-radosgw:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-gnocchi:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-aodh:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-barbican:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-ceilometer:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-ceph-fs:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-guide:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-cinder:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-openstack-dashboard:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-designate:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-designate-bind:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-glance:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-heat:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-keystone:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-manila:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-manila-ganesha:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-neutron-api:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-neutron-gateway:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-nova-cloud-controller:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-nova-compute:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-octavia:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-placement:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-swift-proxy:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-swift-storage:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-ovn-central:
importance: Undecided → Wishlist
status: New → Triaged
Changed in charm-ovn-dedicated-chassis:
importance: Undecided → Wishlist
status: New → Triaged
Revision history for this message
Peter Matulis (petermatulis) wrote :

As of now, the Charm Guide accurately describes what is needed on the part of the user. There is no bug there. I am going to therefore remove the charm-guide bug task.

no longer affects: charm-guide
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.