Activity log for bug #1519035

Date Who What changed Old value New value Message
2015-11-23 17:03:29 Edward Hope-Morley bug added bug
2015-11-23 17:04:24 Edward Hope-Morley description If you upgrade the keystone charm and deploy services or add units and relate them with keystone and you see the following (and your db is already initialised/migrated): * New services fail to have their [keystone_authtoken] section populated * /var/log/juju/unit-keystone-0.log has "Database is NOT initialised" or "Database not ready - deferring to shared-db relation" It is most probably because of: At some point the keystone charm added support for checking whether the database is ready and initialised before allowing relations to be configured. The addition uses a db-initialised setting on the cluster (peer) relation to determine whether the database is ready for action and gates identity-relation handling on this (by deferring handling of identity relation changes until the db is ready). The problem is that if you upgrade from a charm version prior to this being added to one that does AND your database is already initialised and ready, your identity relations will block indefinitely (unless the shared-db hook happens to fire). I have tried the following workaround but this should be fixed in the charm: If you upgrade the keystone charm and deploy services or add units and relate them with keystone and the new services fail to have their [keystone_authtoken] section populated, it is most probably because of this: * Establish leader (>= Juju 1.24) $ juju run --unit keystone/0 "is-leader" ... (< Juju 1.24) $ juju ssh keystone/0 sudo crm status * Check that the db is ready (you need to ensure that it is initialised as well which can be checked in few ways but e.g. if any of your services are already using the DB then it is likely ready and initialised). Here we see that all keystone units are listed in "allowed units" $ juju run --unit keystone/0 "relation-ids shared-db" $ shared-db:24 $ juju run --unit keystone/0 "relation-get -r shared-db:24 - percona-cluster/0" allowed_units: keystone/0 keystone/1 keystone/2 db_host: 10.0.0.1 password: ubuntu private-address: 10.0.0.2 * Check that you don't have db-initialised set anywhere $ juju run --unit keystone/0 "relation-ids cluster" $ cluster:9 $ for i in {0..2}; do juju run --unit keystone/$i "relation-get -r cluster:9 - keystone/$i"| grep db-initialised; done * Set it and wait for things to repair themselves # Assuming keystone/0 is leader $ juju run --unit keystone/0 "relation-set -r cluster:9 db-initialised=True" If you upgrade the keystone charm and deploy services or add units and relate them with keystone and you see the following (and your db is already initialised/migrated):     * New services fail to have their [keystone_authtoken] section populated     * /var/log/juju/unit-keystone-0.log has "Database is NOT initialised" or "Database not ready - deferring to shared-db relation" It is most probably because of: At some point the keystone charm added support for checking whether the database is ready and initialised before allowing relations to be configured. The addition uses a db-initialised setting on the cluster (peer) relation to determine whether the database is ready for action and gates identity-relation handling on this (by deferring handling of identity relation changes until the db is ready). The problem is that if you upgrade from a charm version prior to this being added to one that does AND your database is already initialised and ready, your identity relations will block indefinitely (unless the shared-db hook happens to fire). I have tried the following workaround but this should be fixed in the charm: If you upgrade the keystone charm and deploy services or add units and relate them with keystone and the new services fail to have their [keystone_authtoken] section populated, it is most probably because of this: * Establish leader     (>= Juju 1.24)     $ juju run --unit keystone/0 "is-leader"     ...     (< Juju 1.24)     $ juju ssh keystone/0 sudo crm status * Check that the db is ready (you need to ensure that it is initialised as well which can be checked in few ways but e.g. if any of your services are already using the DB then it is likely ready and initialised). Here we see that all keystone units are listed in "allowed units"     $ juju run --unit keystone/0 "relation-ids shared-db"     $ shared-db:24     $ juju run --unit keystone/0 "relation-get -r shared-db:24 - percona-cluster/0"     allowed_units: keystone/0 keystone/1 keystone/2     db_host: 10.0.0.1     password: ubuntu     private-address: 10.0.0.2 * Check that you don't have db-initialised set anywhere     $ juju run --unit keystone/0 "relation-ids cluster"     $ cluster:9     $ for i in {0..2}; do juju run --unit keystone/$i "relation-get -r cluster:9 - keystone/$i"| grep db-initialised; done * Set it and wait for things to repair themselves     # Assuming keystone/0 is leader     $ juju run --unit keystone/0 "relation-set -r cluster:9 db-initialised=True"
2015-11-23 17:05:06 Edward Hope-Morley summary keystone upgrade breaks identity-relation hooks keystone charm upgrade breaks identity-relation hooks
2015-11-23 18:57:04 Felipe Reyes description If you upgrade the keystone charm and deploy services or add units and relate them with keystone and you see the following (and your db is already initialised/migrated):     * New services fail to have their [keystone_authtoken] section populated     * /var/log/juju/unit-keystone-0.log has "Database is NOT initialised" or "Database not ready - deferring to shared-db relation" It is most probably because of: At some point the keystone charm added support for checking whether the database is ready and initialised before allowing relations to be configured. The addition uses a db-initialised setting on the cluster (peer) relation to determine whether the database is ready for action and gates identity-relation handling on this (by deferring handling of identity relation changes until the db is ready). The problem is that if you upgrade from a charm version prior to this being added to one that does AND your database is already initialised and ready, your identity relations will block indefinitely (unless the shared-db hook happens to fire). I have tried the following workaround but this should be fixed in the charm: If you upgrade the keystone charm and deploy services or add units and relate them with keystone and the new services fail to have their [keystone_authtoken] section populated, it is most probably because of this: * Establish leader     (>= Juju 1.24)     $ juju run --unit keystone/0 "is-leader"     ...     (< Juju 1.24)     $ juju ssh keystone/0 sudo crm status * Check that the db is ready (you need to ensure that it is initialised as well which can be checked in few ways but e.g. if any of your services are already using the DB then it is likely ready and initialised). Here we see that all keystone units are listed in "allowed units"     $ juju run --unit keystone/0 "relation-ids shared-db"     $ shared-db:24     $ juju run --unit keystone/0 "relation-get -r shared-db:24 - percona-cluster/0"     allowed_units: keystone/0 keystone/1 keystone/2     db_host: 10.0.0.1     password: ubuntu     private-address: 10.0.0.2 * Check that you don't have db-initialised set anywhere     $ juju run --unit keystone/0 "relation-ids cluster"     $ cluster:9     $ for i in {0..2}; do juju run --unit keystone/$i "relation-get -r cluster:9 - keystone/$i"| grep db-initialised; done * Set it and wait for things to repair themselves     # Assuming keystone/0 is leader     $ juju run --unit keystone/0 "relation-set -r cluster:9 db-initialised=True" If you upgrade the keystone charm and deploy services or add units and relate them with keystone and you see the following (and your db is already initialised/migrated):     * New services fail to have their [keystone_authtoken] section populated     * /var/log/juju/unit-keystone-0.log has "Database is NOT initialised" or "Database not ready - deferring to shared-db relation" It is most probably because of: At some point the keystone charm added support for checking whether the database is ready and initialised before allowing relations to be configured. The addition uses a db-initialised setting on the cluster (peer) relation to determine whether the database is ready for action and gates identity-relation handling on this (by deferring handling of identity relation changes until the db is ready). The problem is that if you upgrade from a charm version prior to this being added to one that does AND your database is already initialised and ready, your identity relations will block indefinitely (unless the shared-db hook happens to fire). I have tried the following workaround but this should be fixed in the charm: If you upgrade the keystone charm and deploy services or add units and relate them with keystone and the new services fail to have their [keystone_authtoken] section populated, it is most probably because of this: * Establish leader     (>= Juju 1.24)     $ juju run --unit keystone/0 "is-leader"     ...     (< Juju 1.24)     $ juju ssh keystone/0 sudo crm status * Check that the db is ready (you need to ensure that it is initialised as well which can be checked in few ways but e.g. if any of your services are already using the DB then it is likely ready and initialised). Here we see that all keystone units are listed in "allowed units"     $ juju run --unit keystone/0 "relation-ids shared-db"     shared-db:24     $ juju run --unit keystone/0 "relation-get -r shared-db:24 - percona-cluster/0"     allowed_units: keystone/0 keystone/1 keystone/2     db_host: 10.0.0.1     password: ubuntu     private-address: 10.0.0.2 * Check that you don't have db-initialised set anywhere     $ juju run --unit keystone/0 "relation-ids cluster"     cluster:9     $ for i in {0..2}; do juju run --unit keystone/$i "relation-get -r cluster:9 - keystone/$i"| grep db-initialised; done * Set it and wait for things to repair themselves     # Assuming keystone/0 is leader     $ juju run --unit keystone/0 "relation-set -r cluster:9 db-initialised=True"
2015-12-16 09:42:52 Edward Hope-Morley summary keystone charm upgrade breaks identity-relation hooks charm upgrade breakage
2015-12-16 09:43:03 Edward Hope-Morley bug task added nova-cloud-controller (Juju Charms Collection)
2016-01-06 14:15:27 Edward Hope-Morley nova-cloud-controller (Juju Charms Collection): milestone 16.01
2016-01-06 14:15:37 Edward Hope-Morley nova-cloud-controller (Juju Charms Collection): importance Undecided Critical
2016-01-07 10:34:02 Edward Hope-Morley keystone (Juju Charms Collection): assignee Edward Hope-Morley (hopem)
2016-01-07 10:34:05 Edward Hope-Morley keystone (Juju Charms Collection): status New In Progress
2016-01-07 12:33:56 Edward Hope-Morley branch linked lp:~hopem/charms/trusty/keystone/lp1519035
2016-01-07 12:35:01 Edward Hope-Morley nova-cloud-controller (Juju Charms Collection): status New In Progress
2016-01-07 12:35:04 Edward Hope-Morley nova-cloud-controller (Juju Charms Collection): assignee Edward Hope-Morley (hopem)
2016-01-08 12:32:18 Edward Hope-Morley branch linked lp:~hopem/charms/trusty/nova-cloud-controller/lp1519035
2016-01-08 14:00:03 Edward Hope-Morley keystone (Juju Charms Collection): status In Progress Fix Committed
2016-01-12 11:17:21 Edward Hope-Morley nova-cloud-controller (Juju Charms Collection): status In Progress Fix Committed
2016-01-28 14:05:39 James Page keystone (Juju Charms Collection): status Fix Committed Fix Released
2016-01-28 14:05:41 James Page nova-cloud-controller (Juju Charms Collection): status Fix Committed Fix Released