OpenStack charms should handle pre-upgrade package refreshes
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_
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_
2707 apt_install(
```
This request of course affects all OpenStack charms.
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 |
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.