Comment 2 for bug 1749280

Revision history for this message
James Page (james-page) wrote :

I see the issue here (cascade of ready states needed before things will actually work); ceilometer-upgrade creates resource-types in gnocchi, which obviously requires gnocchi + mysql + ceph + memcache + keystone; gnocchi units will only present a URL when they think they have everything they need - however keystone looks to be listening on ports, but not actually functional due to missing DB configuration.

Three potential routes here

a) Move ceilometer-upgrade into an action to be completed post deployment (as we did for heat's domain-setup action).

b) Rework the keystone charm to disable services until its completely up and ready, so that only units which are 'complete' will listen for connections - this has added complexity in that we'll want haproxy + VIP to be configured correctly for this scenario as well and due to the async nature of the hacluster configuration, some of that might not happen straight away.

c) Introduce the 'don't give out credentials until I'm clustered' optimization we've done in other charms to the keystone charm as well (it does not have this atm). This will delay gnocchi from going complete until keystone is fully clustered, limiting the scope for this deployment race scenario.