Comment 4 for bug 1928992

Revision history for this message
Alex Kavanagh (ajkavanagh) wrote :

So, in order to quash this completely (as a workaround) the left over endpoint information from nova-cc needs to be removed. Example of doing this (change relation ids, etc, as required):

$ juju run -u nova-cloud-controller/0 -- relation-ids identity-service
identity-service:47

$ juju run -u keystone/0 -- relation-list -r47
nova-cloud-controller/0
nova-cloud-controller/1
nova-cloud-controller/3

$ juju run -u keystone/0 -- relation-get -r47 - nova-cloud-controller/0
egress-subnets: 10.***/32
ingress-address: 10.*
nova_admin_url: http://10.*:8774/v2.1
nova_internal_url: http://10.*:8774/v2.1
nova_public_url: http://10.*:8774/v2.1
nova_region: serverstack
nova_service: nova
placement_admin_url: http://10.*:8778
placement_internal_url: http://10.*:8778
placement_public_url: http://10.*:8778
placement_region: serverstack
placement_service: placement
private-address: *
subscribe_ep_change: neutron placement

The items with the "placement_" prefix need to be removed:

$ juju run -a nova-cloud-controller -- relation-set -r47 placement_admin_url= \
    placement_internal_url= placement_public_url= placement_region= placement_service=

Note that no characters come after the '='.

After the cloud has settled, you can verify the keystone end again:

juju run -u keystone/0 -- relation-get -r47 - nova-cloud-controller/0
egress-subnets: 10.*/32
ingress-address: 10.*
nova_admin_url: http://10.*:8774/v2.1
nova_internal_url: http://10.*:8774/v2.1
nova_public_url: http://10.*:8774/v2.1
nova_region: serverstack
nova_service: nova

Then verify that the endpoints are set to the placement unit.

---

The relevant place to fix the code in nova-cloud-controller is:

https://github.com/openstack/charm-nova-cloud-controller/blob/b56572cf6bde1cbc91af1f0bab0aab25a1648efd/hooks/nova_cc_utils.py#L1570