37 Commits

Author SHA1 Message Date
Adam Gandelman
50120e1743 Little cleanup. 2013-01-31 13:32:49 -08:00
Adam Gandelman
cd861d794d Fix eligible_leader() for HA clustered case. 2013-01-30 17:14:32 -08:00
Adam Gandelman
87b621c138 Add clustered leader support.
Ensures only the leader of the cluster (or service unit if multi nodes
but no hacluster) manages the data stored in the database.  The leader
is also responsible for synchrnoizing on-disk copies of credentials to
all peers.
2013-01-30 16:48:51 -08:00
James Page
87d43506f9 Add support for multi-region configuration 2013-01-22 11:49:36 -06:00
Adam Gandelman
2b4d0e35c4 Merge all pending grizzly work into current ha branches. 2013-01-17 13:43:33 -08:00
Adam Gandelman
ce633f9896 Rebase against upstream charm. 2013-01-11 10:59:30 -08:00
Adam Gandelman
8776628eb1 Add placeholder for PKI configuration, default to UUID for now. 2012-12-18 17:29:14 -08:00
James Page
0a146a1726 Further refinement for clustering support 2012-12-18 12:00:48 +00:00
Adam Gandelman
3f912c738d Allow setting log-level via config, drop horrid config parsing in favor of ConfigParser use. 2012-12-17 23:16:26 -08:00
James Page
c2c0d072f3 Merge in endpoint reconfiguration from adam_g 2012-12-17 18:00:47 +00:00
James Page
197f94cdc3 Refactored to use alternative ports for haproxy 2012-12-17 13:45:58 +00:00
Adam Gandelman
657b1f18ed Silence passwords in debug log. 2012-12-11 19:52:41 -08:00
Adam Gandelman
48bfd77fca Allow remote services to request creation of roles. 2012-12-11 19:52:01 -08:00
Adam Gandelman
70404a7c91 Allow reconfiguring of endpoint urls. 2012-10-28 11:13:51 +01:00
Adam Gandelman
2591c8c347 Update endpoint arguments to match those of keystoneclient. 2012-10-28 11:08:49 +01:00
Adam Gandelman
a05b1eed1b Factor out common code. Allow upgrades Essex -> Folsom. 2012-10-02 17:36:25 -07:00
Adam Gandelman
8cc0f2af83 hooks/utils.py: Avoid another duplicate role assignment in create_role().
Do not add role directly through API in create_role().  Use grant_role()
utility function instead, which checks for duplicate assignments.
2012-09-20 11:15:58 -07:00
Adam Gandelman
cd5a32289b Allow service entries to be recreated after new database relation.
This eliminates the need for services in an Openstack deployment
to be deployed in order.  Previously, keystone <-> mysql relation
needed to be established before anything else.  With this change,
existing service entries are recreated in the new database for
existing relations.
2012-09-17 17:39:51 -07:00
Adam Gandelman
177feb0b5e Merged config-changed support from lp:~gandelman-a/charms/precise/keystone/config-changed 2012-08-09 18:15:28 -07:00
Adam Gandelman
0045c99082 Allow reconfiguration of admin user credentials via 'juju set'
This adds the ability to update a users' password via keystoneclient.  This is
called for every run of ensure_initial_admin().

A basic config-changed hook is added to call ensure_initial_admin(), allowing:

    - Changing the current admin user's password via
      'juju set admin-password=foo'
    - Defining a new admin user in the system via
      'juju set admin-user=newadmin admin-password=foo'.

Note, when creating a new admin user,  the previous admin user is not deleted from the system.
The new admin user can manage existing users thru the dashboard or keystoneclient.
2012-08-08 16:17:52 -07:00
Adam Gandelman
da6297b10b Make utils.grant_role() more idempotent.
Keystone+keystoneclient have recently changed to now throw errors when
a role is assigned to a user+tenant more than once.  Account for this
by checking user+tenant's role assignments before attempting to assign.

The changes to keystone+keystoneclient happened in folsom, but this operation
is supported in the Essex release as well, so applying to the precise charm
branch to avoid an early delta between precise + quantal branches (which doesn't
exist yet).
2012-08-08 13:27:36 -07:00
Adam Gandelman
ed6a84faac Generate credentials in addition to token for new services 2012-03-02 12:46:20 -08:00
Adam Gandelman
7272f3e283 Support receiving multiple endpoints in identity_changed() 2012-03-01 12:37:18 -08:00
Adam Gandelman
0d2dcd4ebd Use config file backed admin token 2012-03-01 12:35:39 -08:00
Adam Gandelman
50c71f919d Import manager from functions that use it instead of globally 2012-02-29 11:59:37 -08:00
Adam Gandelman
d6c5657d08 Redux port pt. 1 2012-02-28 17:18:17 -08:00
Adam Gandelman
2da9bb4efd Get rid of dig usage 2012-01-12 08:45:13 -08:00
Adam Gandelman
b3eb707e52 More fixes to token generation, ability to add URL formated PPAs 2012-01-12 03:39:29 -08:00
Adam Gandelman
68b8d300c6 Generate shared token as part of ensure_initial_admin() 2012-01-10 23:14:17 -08:00
Adam Gandelman
ab29b9de1b Move token generation vs config out of relation hook and into util 2012-01-10 11:46:41 -08:00
Adam Gandelman
b535ef9e54 A bit of cleanup 2011-12-23 17:34:15 -08:00
Adam Gandelman
b279694482 Add setup_ppa() to setup alternative installation source, silence logging execute() when not needed, add some doc strings 2011-12-22 10:21:23 -08:00
Adam Gandelman
756d006459 Use config specified admin-password if it's set 2011-12-20 14:42:49 -08:00
Adam Gandelman
322ca4049b Also create KeystoneAdmin role during install 2011-12-19 09:30:23 -08:00
Adam Gandelman
da81e7457f Fix keystone_conf_update, avoid a race in install, update manager to match newish keystone internal API 2011-12-09 19:58:15 -08:00
Adam Gandelman
d2e1fed21c Create 'KeystoneServiceAdmin' role. Also fix some logic when determining when to create roles/users. 2011-12-08 18:04:22 -08:00
Adam Gandelman
4f2423a5df init 2011-12-08 09:52:12 -08:00