resetting console-access-protocol does not propagate along relations to compute nodes

Bug #1844356 reported by Nick Moffitt
20
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Nova Cloud Controller Charm
Fix Released
High
Liam Young

Bug Description

We have an openstack stein deployment on Ubuntu Bionic which has compute nodes for four architectures: amd64, arm64, ppc64el and s390x. When we set console-access-protocol to 'spice' we started getting failures on the ppc64el and s390x compute nodes when spinning up new instances:

Failed to start libvirt guest: libvirt.libvirtError: unsupported configuration: spice graphics are not supported with this QEMU

We rolled back the console setting by running `juju config nova-cloud-controller --reset=console-access-protocol` but the problem persisted.

It turns out that doing the config rollback did not cause the relations to remove the spice configurations on the compute node nova.conf files. We had to manually remove the [spice] stanzas and restart services on the compute nodes.

I believe the correct behaviour would be for the config-changed back to '' or 'None' or whatever the charm has as its default state would be to communicate down the relation to the compute nodes that the setting has changed, and the compute nodes' hooks should remove the [spice] configuration and restart daemons.

Liam Young (gnuoy)
Changed in charm-nova-cloud-controller:
status: New → Confirmed
importance: Undecided → High
assignee: nobody → Liam Young (gnuoy)
milestone: none → 19.10
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to charm-nova-cloud-controller (master)

Fix proposed to branch: master
Review: https://review.opendev.org/684547

Changed in charm-nova-cloud-controller:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to charm-nova-cloud-controller (master)

Reviewed: https://review.opendev.org/684547
Committed: https://git.openstack.org/cgit/openstack/charm-nova-cloud-controller/commit/?id=dee96d620e80d035a5a2dd3bda47d5d9e12c549d
Submitter: Zuul
Branch: master

commit dee96d620e80d035a5a2dd3bda47d5d9e12c549d
Author: Liam Young <email address hidden>
Date: Wed Sep 25 07:41:41 2019 +0000

    Explicitly unset console_access_protocol

    If console_access_protocol was switched to none then
    console_access_protocol was not set at all by the relation set
    acting on the relation with the compute nodes. This meant the
    operator had no mechanism to unset console_access_protocol. This
    change explicitly unsets it so the change is passed to the
    compute units.

    Change-Id: Ifdca0ec6626732ee0ea30a6847130ea97478df6f
    Closes-Bug: #1844356

Changed in charm-nova-cloud-controller:
status: In Progress → Fix Committed
David Ames (thedac)
Changed in charm-nova-cloud-controller:
status: Fix Committed → Fix Released
Revision history for this message
Paul Collins (pjdc) wrote :

Workaround (not tested in this precisely this form, but it should work):

for relid in $(juju run --unit nova-cloud-controller/0 -- relation-ids cloud-compute) ; do juju run --application nova-cloud-controller -- relation-set -r ${relid?} console_access_protocol= ; done

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

Duplicates of this bug

Other bug subscribers

Remote bug watches

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