Merge lp:~gandelman-a/charms/precise/keystone/config-changed into lp:~charmers/charms/precise/keystone/trunk

Proposed by Adam Gandelman
Status: Merged
Approved by: Mark Mims
Approved revision: 32
Merge reported by: Adam Gandelman
Merged at revision: not available
Proposed branch: lp:~gandelman-a/charms/precise/keystone/config-changed
Merge into: lp:~charmers/charms/precise/keystone/trunk
Diff against target: 65 lines (+21/-2)
3 files modified
hooks/keystone-hooks (+5/-1)
hooks/utils.py (+15/-0)
revision (+1/-1)
To merge this branch: bzr merge lp:~gandelman-a/charms/precise/keystone/config-changed
Reviewer Review Type Date Requested Status
Mark Mims (community) Approve
Review via email: mp+118848@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Mark Mims (mark-mims) wrote :

lgtm

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'hooks/keystone-hooks'
2--- hooks/keystone-hooks 2012-04-14 00:24:56 +0000
3+++ hooks/keystone-hooks 2012-08-08 23:20:23 +0000
4@@ -230,12 +230,16 @@
5 }
6 relation_set(relation_data)
7
8+def config_changed():
9+ ensure_initial_admin(config)
10+
11 hooks = {
12 "install": install_hook,
13 "shared-db-relation-joined": db_joined,
14 "shared-db-relation-changed": db_changed,
15 "identity-service-relation-joined": identity_joined,
16- "identity-service-relation-changed": identity_changed
17+ "identity-service-relation-changed": identity_changed,
18+ "config-changed": config_changed
19 }
20
21 # keystone-hooks gets called by symlink corresponding to the requested relation
22
23=== modified file 'hooks/utils.py'
24--- hooks/utils.py 2012-03-02 20:46:20 +0000
25+++ hooks/utils.py 2012-08-08 23:20:23 +0000
26@@ -371,6 +371,7 @@
27 """
28 create_tenant("admin")
29 create_tenant(config["service-tenant"])
30+
31 passwd = ""
32 if config["admin-password"] != "None":
33 passwd = config["admin-password"]
34@@ -383,6 +384,7 @@
35 open(stored_passwd, 'w+').writelines("%s\n" % passwd)
36
37 create_user(config['admin-user'], passwd, tenant='admin')
38+ update_user_password(config['admin-user'], passwd)
39 create_role(config['admin-role'], config['admin-user'], 'admin')
40 # TODO(adam_g): The following roles are likely not needed since redux merge
41 create_role("KeystoneAdmin", config["admin-user"], 'admin')
42@@ -395,3 +397,16 @@
43 internal_url = "http://%s:%s/v2.0" % (config["hostname"], config["service-port"])
44 create_endpoint_template("RegionOne", "keystone", public_url,
45 admin_url, internal_url)
46+
47+def update_user_password(username, password):
48+ import manager
49+ manager = manager.KeystoneManager(endpoint='http://localhost:35357/v2.0/',
50+ token=get_admin_token())
51+ juju_log("Updating password for user '%s'" % username)
52+
53+ user_id = manager.resolve_user_id(username)
54+ if user_id is None:
55+ error_out("Could not resolve user id for '%s'" % username)
56+
57+ manager.api.users.update_password(user=user_id, password=password)
58+ juju_log("Successfully updated password for user '%s'" % username)
59
60=== modified file 'revision'
61--- revision 2012-03-08 22:38:36 +0000
62+++ revision 2012-08-08 23:20:23 +0000
63@@ -1,1 +1,1 @@
64-138
65+140

Subscribers

People subscribed via source and target branches