)]}'
{"id":"openstack%2Fpython-keystoneclient~17693","triplet_id":"openstack%2Fpython-keystoneclient~master~I9abfa82b39fa0c6d58fe0d22622944d3e6be39be","project":"openstack/python-keystoneclient","branch":"master","topic":"bp/keystone","hashtags":[],"change_id":"I9abfa82b39fa0c6d58fe0d22622944d3e6be39be","subject":"Add support for user groups","status":"MERGED","created":"2012-12-07 17:03:36.000000000","updated":"2012-12-22 09:43:30.000000000","submitted":"2012-12-22 09:43:30.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":75,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"d6ed57e888dfcc67aaaae3ddfb04fe27f513a0d6","_number":17693,"virtual_id_number":17693,"owner":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":0,"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},{"value":2,"date":"2012-12-22 09:43:30.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},{"value":0,"_account_id":6,"name":"Joe Heck","email":"heckj@mac.com","username":"heckj"},{"value":0,"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},{"value":0,"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},{"value":0,"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"all":[{"value":0,"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":2,"date":"2012-12-21 18:47:32.000000000","_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},{"value":2,"date":"2012-12-22 09:20:34.000000000","_account_id":6,"name":"Joe Heck","email":"heckj@mac.com","username":"heckj"},{"value":0,"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},{"value":0,"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},{"value":0,"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":6,"name":"Joe Heck","email":"heckj@mac.com","username":"heckj"},"all":[{"value":0,"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"date":"2012-12-21 18:47:32.000000000","_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},{"value":1,"date":"2012-12-22 09:20:34.000000000","_account_id":6,"name":"Joe Heck","email":"heckj@mac.com","username":"heckj"},{"value":0,"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},{"value":0,"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},{"value":0,"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},{"_account_id":6,"name":"Joe Heck","email":"heckj@mac.com","username":"heckj"},{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2012-12-12 07:27:36.000000000","updated_by":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"reviewer":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"state":"REVIEWER"},{"updated":"2012-12-13 21:46:28.000000000","updated_by":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"reviewer":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"state":"REVIEWER"},{"updated":"2012-12-19 16:05:36.000000000","updated_by":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"reviewer":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"state":"REVIEWER"},{"updated":"2012-12-21 18:47:32.000000000","updated_by":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"reviewer":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"state":"REVIEWER"},{"updated":"2012-12-22 09:20:34.000000000","updated_by":{"_account_id":6,"name":"Joe Heck","email":"heckj@mac.com","username":"heckj"},"reviewer":{"_account_id":6,"name":"Joe Heck","email":"heckj@mac.com","username":"heckj"},"state":"REVIEWER"},{"updated":"2012-12-22 09:43:30.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"35044ca35e03b0537463b0d448bd7eabde7414c2","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2012-12-07 17:24:48.000000000","message":"Patch Set 1: Works for me\n\nBuild successful\n\n- http://logs.openstack.org/17693/1/check/gate-python-keystoneclient-merge/514 : SUCCESS\n- http://logs.openstack.org/17693/1/check/gate-python-keystoneclient-docs/364 : SUCCESS\n- http://logs.openstack.org/17693/1/check/gate-python-keystoneclient-pep8/508 : SUCCESS\n- http://logs.openstack.org/17693/1/check/gate-python-keystoneclient-python26/440 : SUCCESS\n- http://logs.openstack.org/17693/1/check/gate-python-keystoneclient-python27/442 : SUCCESS\n- http://logs.openstack.org/17693/1/check/gate-tempest-devstack-vm/21422 : SUCCESS\n","accounts_in_message":[],"_revision_number":1},{"id":"cea79b96a848994baf17b4fd9b0dd279cf9875a8","author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"date":"2012-12-10 21:16:42.000000000","message":"Patch Set 1:\n\nis there a corresponding identity api review that this is implementing?","accounts_in_message":[],"_revision_number":1},{"id":"0c9f76b93be8e5d7770f05133537d0aa1a83d198","author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"date":"2012-12-12 07:27:36.000000000","message":"Patch Set 1:\n\nShould not groups.py create and update methods allow for specifying something more than just name and description, something along the lines of a list of one or more items, where each item is a privilege.\n\nAnd the group manager support the above. \n\nIn roles.py, naming the methods _require_domain_xor_project\nand _require_user_xor_group  (that is xor versus or) would make their semantics more obvious.\n\nA user could belong to more than one group, (and guessing a domain can contain more than one project), so the order of checks.\n\nMay be I am missing something but the list method may be clearer written as:\ndef list(self, user\u003dNone, group\u003dNone, domain\u003dNone, project\u003dNone):\n \"\"\"\nif (user or group):\n    self._reguire .. (domain, project)\n    self.require .. (user, group)\n    return super(RoleManager, self).list(       base_url\u003dself._role_grants_base_url(user,group,domain,project))\nreturn super(RoleManager, self).list()","accounts_in_message":[],"_revision_number":1},{"id":"9c439a660b7cafe843f452b36aa704e6b3a2f53d","author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"date":"2012-12-12 09:02:16.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"e62110d2649e1a256f273882422cfb49e727f871","author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"date":"2012-12-12 09:09:03.000000000","message":"Patch Set 2:\n\nmalini-k-bhandaru:  Good comments - I have modified the code to match - except for your first one.  The Groups object itself doesn\u0027t have additional  attributes for things like role permissions etc.....those are handled by adding/removing users to a group (via the UserManager) as well as role assignment in similar way as it is done for users (in the RoleManager).  Could you expand on your comment?\n\nDolph:  The api spec is linked to the blueprint, but is repeated here: https://docs.google.com/document/d/1Ce6iVPl38_7fNHENNtfCXIrXVQIFqOZZgX0zNIzFLSo/edit","accounts_in_message":[],"_revision_number":2},{"id":"2284c1b31233e2fc87a73d2bc1cae0a5f9171f81","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2012-12-12 09:31:59.000000000","message":"Patch Set 2: Works for me\n\nBuild successful\n\n- http://logs.openstack.org/17693/2/check/gate-python-keystoneclient-merge/525 : SUCCESS\n- http://logs.openstack.org/17693/2/check/gate-python-keystoneclient-docs/375 : SUCCESS\n- http://logs.openstack.org/17693/2/check/gate-python-keystoneclient-pep8/519 : SUCCESS\n- http://logs.openstack.org/17693/2/check/gate-python-keystoneclient-python26/451 : SUCCESS\n- http://logs.openstack.org/17693/2/check/gate-python-keystoneclient-python27/453 : SUCCESS\n- http://logs.openstack.org/17693/2/check/gate-tempest-devstack-vm/21909 : SUCCESS\n","accounts_in_message":[],"_revision_number":2},{"id":"7d75d669f2c91c62a5c83d7d43453502b5ed78a5","author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"date":"2012-12-13 22:10:33.000000000","message":"Patch Set 2: Looks good to me, but someone else must approve\n\n(1 inline comment)\n\nI\u0027m going to give these tentative +1.  I assume that the server side code is going to need these in place in order to have test_keystoneclient tests implemented.  Please provide a link to the blueprint, as well as the URLS that are consumed by this patch in the commit message.","accounts_in_message":[],"_revision_number":2},{"id":"3c50dff7a013ed04bf0cab18ce67574935fcffaa","author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"date":"2012-12-13 22:45:42.000000000","message":"Patch Set 2: Looks good to me, but someone else must approve\n\n(1 inline comment)\n\n","accounts_in_message":[],"_revision_number":2},{"id":"50fc50b0a3c18225d6bac812be18588a752b4951","author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"date":"2012-12-13 23:30:50.000000000","message":"Patch Set 2: I would prefer that you didn\u0027t merge this\n\nNeed copyright headers on the new files, too.","accounts_in_message":[],"_revision_number":2},{"id":"1226fb0cedb70bdbfde5da434e9f2b265051b1cf","author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"date":"2012-12-14 00:07:00.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"e822a36888931a205e51a5a33e3e612819a4b5ca","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2012-12-14 00:30:37.000000000","message":"Patch Set 3: Works for me\n\nBuild successful\n\n- http://logs.openstack.org/17693/3/check/gate-python-keystoneclient-merge/539 : SUCCESS\n- http://logs.openstack.org/17693/3/check/gate-python-keystoneclient-docs/389 : SUCCESS\n- http://logs.openstack.org/17693/3/check/gate-python-keystoneclient-pep8/533 : SUCCESS\n- http://logs.openstack.org/17693/3/check/gate-python-keystoneclient-python26/465 : SUCCESS\n- http://logs.openstack.org/17693/3/check/gate-python-keystoneclient-python27/467 : SUCCESS\n- http://logs.openstack.org/17693/3/check/gate-tempest-devstack-vm/22284 : SUCCESS\n","accounts_in_message":[],"_revision_number":3},{"id":"1d3f0110255c07952e3a6192b4e9ced3b20888d5","author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"date":"2012-12-14 14:44:04.000000000","message":"Patch Set 3: I would prefer that you didn\u0027t merge this\n\nI\u0027d like to review/merge the proposed changes to identity-api before implementation. Please mark this as WIP until then.","accounts_in_message":[],"_revision_number":3},{"id":"d25b3731fa82d4ced0d876169a6dc5cd0d947066","author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"date":"2012-12-14 14:53:52.000000000","message":"Patch Set 3: Work In Progress\n\nWork In Progress until the api spec before submission","accounts_in_message":[],"_revision_number":3},{"id":"ea71c166f6156deba68c3c51e946aa50b03c9b10","author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"date":"2012-12-14 22:08:19.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"a2fa3956e019cb52a41ed4ae07adc453be7f95d2","author":{"_account_id":5494,"name":"Trivial Rebase","email":"trivial-rebase@review.openstack.org","username":"trivial-rebase"},"date":"2012-12-14 22:08:26.000000000","message":"Patch Set 4:\n\nNew patchset patch-id matches previous patchset, but commit message has changed.","accounts_in_message":[],"_revision_number":4},{"id":"584f38070a92bfe90409e323fcaf8a9b8ad34605","author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"date":"2012-12-14 22:09:35.000000000","message":"Patch Set 4: Work In Progress","accounts_in_message":[],"_revision_number":4},{"id":"a1845ba2efcb8409ab86e9e2a8259ccc263365e3","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2012-12-14 22:29:19.000000000","message":"Patch Set 4: Works for me\n\nBuild successful\n\n- http://logs.openstack.org/17693/4/check/gate-python-keystoneclient-merge/547 : SUCCESS\n- http://logs.openstack.org/17693/4/check/gate-python-keystoneclient-docs/397 : SUCCESS\n- http://logs.openstack.org/17693/4/check/gate-python-keystoneclient-pep8/541 : SUCCESS\n- http://logs.openstack.org/17693/4/check/gate-python-keystoneclient-python26/473 : SUCCESS\n- http://logs.openstack.org/17693/4/check/gate-python-keystoneclient-python27/475 : SUCCESS\n- http://logs.openstack.org/17693/4/check/gate-tempest-devstack-vm/22412 : SUCCESS\n","accounts_in_message":[],"_revision_number":4},{"id":"e23ec1ccfbabb072ab6ce97423abd3f0cbc72987","author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"date":"2012-12-17 18:41:17.000000000","message":"Patch Set 4: I would prefer that you didn\u0027t merge this\n\n(30 inline comments)\n\n","accounts_in_message":[],"_revision_number":4},{"id":"80a24c373e392f4f654de965962b23e10786117b","author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"date":"2012-12-18 14:26:10.000000000","message":"Patch Set 4: (29 inline comments)\n\nDolph - great comments, all accepted - will publish new patch shortly","accounts_in_message":[],"_revision_number":4},{"id":"10e1b78c716e3426f70d7dde51c782a61780d42b","author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"date":"2012-12-18 15:09:47.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"2f5e44d23e528867471fd3cdb08ce7f683ccb5cc","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2012-12-18 16:02:10.000000000","message":"Patch Set 5: Works for me\n\nBuild successful\n\n- http://logs.openstack.org/17693/5/check/gate-python-keystoneclient-docs/414 : SUCCESS\n- http://logs.openstack.org/17693/5/check/gate-python-keystoneclient-pep8/558 : SUCCESS\n- http://logs.openstack.org/17693/5/check/gate-python-keystoneclient-python26/490 : SUCCESS\n- http://logs.openstack.org/17693/5/check/gate-python-keystoneclient-python27/492 : SUCCESS\n- http://logs.openstack.org/17693/5/check/gate-tempest-devstack-vm/22782 : SUCCESS\n","accounts_in_message":[],"_revision_number":5},{"id":"3623b3ee9799c031f985ef98ceb671cff9c6899d","author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"date":"2012-12-18 17:51:27.000000000","message":"Patch Set 4: (1 inline comment)\n\n","accounts_in_message":[],"_revision_number":4},{"id":"9b56e05eb27ce5571a710b814f92827c77c1517f","author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"date":"2012-12-18 23:17:57.000000000","message":"Patch Set 5: I would prefer that you didn\u0027t merge this\n\n(1 inline comment)\n\nSome of the role grant APIs doesn\u0027t make sense to me.","accounts_in_message":[],"_revision_number":5},{"id":"eaa7737526b638aa6c53d6946abd72fd7afc8999","author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"date":"2012-12-19 02:30:13.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"cae5c7a870df7e4c96c477e9390f2e5174938ee4","author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"date":"2012-12-19 02:34:19.000000000","message":"Patch Set 6:\n\nList function now generates correct url, and question answered regarding role assignments","accounts_in_message":[],"_revision_number":6},{"id":"6c1b1c6f4dc14503ca8a217dc7d8e4f034c105ff","author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"date":"2012-12-19 02:41:38.000000000","message":"Patch Set 6: I would prefer that you didn\u0027t merge this\n\nHenry, roles.py looks the same for patch 6. Can you please address the role assignment API question. For example, unless I am reading the code wrong,\n\nPUT /domains/domainId/roles/roleId\n\ndoesn\u0027t make much sense. What does it mean assigning a role to a domain?","accounts_in_message":[],"_revision_number":6},{"id":"2aa559ef99b1db9f079c9f22429d5e33dd1f4f2c","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2012-12-19 02:54:34.000000000","message":"Patch Set 6: Works for me\n\nBuild successful\n\n- http://logs.openstack.org/17693/6/check/gate-python-keystoneclient-docs/420 : SUCCESS\n- http://logs.openstack.org/17693/6/check/gate-python-keystoneclient-pep8/564 : SUCCESS\n- http://logs.openstack.org/17693/6/check/gate-python-keystoneclient-python26/496 : SUCCESS\n- http://logs.openstack.org/17693/6/check/gate-python-keystoneclient-python27/498 : SUCCESS\n- http://logs.openstack.org/17693/6/check/gate-tempest-devstack-vm/22948 : SUCCESS\n","accounts_in_message":[],"_revision_number":6},{"id":"3501b4e538a49260c59e08da8f5df20f2c66f8ca","author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"date":"2012-12-19 09:37:31.000000000","message":"Patch Set 6:\n\nHi Guang - sorry, looks like my reply to your earlier comment wasn\u0027t published!  I\u0027m not sure where you are seeing \nPUT /domains/domainID/roles/roleID ?\n\nHowever, I think you are referring to the base_url that gets built in _role_grants_base_url()?  If so, then it is important to remember that the existing design of all of the v3 EntityManagers is that any key or collection_key is added by the super class (i.e. base.CrudManager).  So in the case of, for example:\n\nbase_url \u003d /domains/domainID/group/groupID\n\nthen the CrudManager will append the \u0027roles/roleID\u0027 component to the end of this.  You can see that this is tested, for the above example, in test_roles.py in test_domain_group_role_grant().\n\nDoes this answer your question, or am I missing the point?","accounts_in_message":[],"_revision_number":6},{"id":"8da9b5cb1bc6a22228026ff41c5ebcfe111aa62f","author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"date":"2012-12-19 09:38:30.000000000","message":"Patch Set 5: (1 inline comment)\n\n","accounts_in_message":[],"_revision_number":5},{"id":"49000c749bdfc0066b06fe0ce9534a7f49ee4370","author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"date":"2012-12-19 16:05:36.000000000","message":"Patch Set 6: Looks good to me, but someone else must approve\n\nI was reading the code wrong previously. Thanks for the explanation Henry.","accounts_in_message":[],"_revision_number":6},{"id":"68ed3a648486c1f5204d35b6210de98d1924375d","author":{"_account_id":6,"name":"Joe Heck","email":"heckj@mac.com","username":"heckj"},"date":"2012-12-20 20:48:32.000000000","message":"Patch Set 6: Looks good to me (core reviewer)\n\n","accounts_in_message":[],"_revision_number":6},{"id":"5eef7efdd10dc941dfb095a6dbce2fd9a855c7ca","author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"date":"2012-12-21 03:24:21.000000000","message":"Patch Set 6: I would prefer that you didn\u0027t merge this\n\n(3 inline comments)\n\n","accounts_in_message":[],"_revision_number":6},{"id":"ddc00bed7cbbf7bd8512bcde83a8acd4cf25200b","author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"date":"2012-12-21 03:29:47.000000000","message":"Patch Set 6: (1 inline comment)\n\n","accounts_in_message":[],"_revision_number":6},{"id":"ebcbcb50d1880a6b3c04116b536462867edc406f","author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"date":"2012-12-21 09:50:10.000000000","message":"Patch Set 6: (4 inline comments)\n\nAccepted all changes, with exception of question on moving add/check/remove to GroupManager - see comment.","accounts_in_message":[],"_revision_number":6},{"id":"6c501b0e09b00fb823e11a688687f8f2b60c5121","author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"date":"2012-12-21 15:17:40.000000000","message":"Patch Set 6: (1 inline comment)\n\n","accounts_in_message":[],"_revision_number":6},{"id":"3fdf7d0912e733b1cba90e7f35d9bd85a2d57337","author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"date":"2012-12-21 15:21:36.000000000","message":"Patch Set 6: (1 inline comment)\n\n","accounts_in_message":[],"_revision_number":6},{"id":"353ec4873f3a74722fd957d239da0aca40de8f66","author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"date":"2012-12-21 18:27:25.000000000","message":"Patch Set 6: (1 inline comment)\n\n","accounts_in_message":[],"_revision_number":6},{"id":"edc49ecc3624bcd398149e7c76b17536f30cfcb6","author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"date":"2012-12-21 18:28:06.000000000","message":"Uploaded patch set 7.","accounts_in_message":[],"_revision_number":7},{"id":"824f84e8d94e4ebf734a84a94b1251c5ee5992d6","author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"date":"2012-12-21 18:47:32.000000000","message":"Patch Set 7: Looks good to me (core reviewer)\n\nyay!","accounts_in_message":[],"_revision_number":7},{"id":"95528fd5b9e94ef3ad2474ea4d18360b3bf6f436","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2012-12-21 18:52:23.000000000","message":"Patch Set 7: Works for me\n\nBuild successful\n\n- http://logs.openstack.org/17693/7/check/gate-python-keystoneclient-docs/437 : SUCCESS\n- http://logs.openstack.org/17693/7/check/gate-python-keystoneclient-pep8/581 : SUCCESS\n- http://logs.openstack.org/17693/7/check/gate-python-keystoneclient-python26/513 : SUCCESS\n- http://logs.openstack.org/17693/7/check/gate-python-keystoneclient-python27/515 : SUCCESS\n- http://logs.openstack.org/17693/7/check/gate-tempest-devstack-vm/23393 : SUCCESS\n","accounts_in_message":[],"_revision_number":7},{"id":"359877b6e77d357f431dad1704e1d7b2c0cbf2d2","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2012-12-22 09:20:34.000000000","message":"Patch Set 7: No score\n\nStarting gate jobs.\nhttp://zuul.openstack.org/","accounts_in_message":[],"_revision_number":7},{"id":"f8f00905509b1c6ba7990132de975db3ec2e4409","author":{"_account_id":6,"name":"Joe Heck","email":"heckj@mac.com","username":"heckj"},"date":"2012-12-22 09:20:34.000000000","message":"Patch Set 7: Looks good to me (core reviewer); Approved\n\n","accounts_in_message":[],"_revision_number":7},{"id":"5926e97516f47dae00fa3a3a4dc5bb9f932fe52b","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2012-12-22 09:43:30.000000000","message":"Change has been successfully merged into the git repository.","accounts_in_message":[],"_revision_number":7},{"id":"12b26fc3c49a279a2b42de46475fa27cf68f7b9d","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2012-12-22 09:43:30.000000000","message":"Patch Set 7: Verified\n\nBuild successful\n\n- http://logs.openstack.org/17693/7/gate/gate-python-keystoneclient-docs/438 : SUCCESS\n- http://logs.openstack.org/17693/7/gate/gate-python-keystoneclient-pep8/582 : SUCCESS\n- http://logs.openstack.org/17693/7/gate/gate-python-keystoneclient-python26/514 : SUCCESS\n- http://logs.openstack.org/17693/7/gate/gate-python-keystoneclient-python27/516 : SUCCESS\n- http://logs.openstack.org/17693/7/gate/gate-tempest-devstack-vm/23440 : SUCCESS\n","accounts_in_message":[],"_revision_number":7}],"current_revision_number":7,"current_revision":"d37a3fb06cbb284d2bea330b456b774bfe2662f7","revisions":{"69bf8740fc78635c57896325ef73174ec6bf0f13":{"kind":"REWORK","_number":1,"created":"2012-12-07 17:03:36.000000000","uploader":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"ref":"refs/changes/93/17693/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-keystoneclient","ref":"refs/changes/93/17693/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/1"}}},"commit":{"parents":[{"commit":"1bff1909df68df07f9d47d8905ca5a1539790bfa","subject":"Merge \"Don\u0027t try to split a list of memcache servers\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/1bff1909df68df07f9d47d8905ca5a1539790bfa"}]}],"author":{"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","date":"2012-12-07 16:47:56.000000000","tz":0},"committer":{"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","date":"2012-12-07 17:02:19.000000000","tz":0},"subject":"Add support for user groups","message":"Add support for user groups\n\nThis initial change provides the support in keystoneclient to match the api\nspecified in the blueprint.  Keystone itself does not yet support these\ncalls, so if you actually called these, then you would get an error from\nthe server. However the changes should be benign in terms of other api calls.\n\nDocImpact\n\nChange-Id: I9abfa82b39fa0c6d58fe0d22622944d3e6be39be\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/69bf8740fc78635c57896325ef73174ec6bf0f13"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/69bf8740fc78635c57896325ef73174ec6bf0f13"}]},"branch":"refs/heads/master"},"97b7819002fb95c9abeb65554fa3184810d179b6":{"kind":"REWORK","_number":2,"created":"2012-12-12 09:02:16.000000000","uploader":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"ref":"refs/changes/93/17693/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-keystoneclient","ref":"refs/changes/93/17693/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/2"}}},"commit":{"parents":[{"commit":"095cdd1057c3982187f5e8bfba7f42dcc15396d0","subject":"Merge \"Make use_keyring False by default.\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/095cdd1057c3982187f5e8bfba7f42dcc15396d0"}]}],"author":{"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","date":"2012-12-07 16:47:56.000000000","tz":0},"committer":{"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","date":"2012-12-12 09:02:12.000000000","tz":0},"subject":"Add support for user groups","message":"Add support for user groups\n\nThis initial change provides the support in keystoneclient to match the api\nspecified in the blueprint.  Keystone itself does not yet support these\ncalls, so if you actually called these, then you would get an error from\nthe server. However the changes should be benign in terms of other api calls.\n\nDocImpact\n\nChange-Id: I9abfa82b39fa0c6d58fe0d22622944d3e6be39be\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/97b7819002fb95c9abeb65554fa3184810d179b6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/97b7819002fb95c9abeb65554fa3184810d179b6"}]},"branch":"refs/heads/master"},"2b1b59afade68da44e3a1e6f5fa1c5c9472591da":{"kind":"REWORK","_number":3,"created":"2012-12-14 00:07:00.000000000","uploader":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"ref":"refs/changes/93/17693/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-keystoneclient","ref":"refs/changes/93/17693/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/3"}}},"commit":{"parents":[{"commit":"788bcd4f6e5326b739f32c2f552e1bb8c17826a0","subject":"Merge \"Fix keystoneclient user-list output order\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/788bcd4f6e5326b739f32c2f552e1bb8c17826a0"}]}],"author":{"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","date":"2012-12-07 16:47:56.000000000","tz":0},"committer":{"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","date":"2012-12-14 00:06:57.000000000","tz":0},"subject":"Add support for user groups","message":"Add support for user groups\n\nThis initial change provides the support in keystoneclient to match the api\nspecified in the blueprint.  Keystone itself does not yet support these\ncalls, so if you actually called these, then you would get an error from\nthe server. However the changes should be benign in terms of other api calls.\n\nBlueprint: https://blueprints.launchpad.net/keystone/+spec/user-groups\n\nDocImpact\n\nChange-Id: I9abfa82b39fa0c6d58fe0d22622944d3e6be39be\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/2b1b59afade68da44e3a1e6f5fa1c5c9472591da"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/2b1b59afade68da44e3a1e6f5fa1c5c9472591da"}]},"branch":"refs/heads/master"},"564d9f87a95ca06f5555a4710ada51460eb9641f":{"kind":"TRIVIAL_REBASE_WITH_MESSAGE_UPDATE","_number":4,"created":"2012-12-14 22:08:19.000000000","uploader":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"ref":"refs/changes/93/17693/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-keystoneclient","ref":"refs/changes/93/17693/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/4"}}},"commit":{"parents":[{"commit":"581264757e5ac8c5313acc35e5dc94247c7a80ff","subject":"modify ca-certificate default value","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/581264757e5ac8c5313acc35e5dc94247c7a80ff"}]}],"author":{"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","date":"2012-12-07 16:47:56.000000000","tz":0},"committer":{"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","date":"2012-12-14 22:08:15.000000000","tz":0},"subject":"Add support for user groups","message":"Add support for user groups\n\nThis initial change provides the support in keystoneclient to match the api\nspecified in the blueprint.  Keystone itself does not yet support these\ncalls, so if you actually called these, then you would get an error from\nthe server. However the changes should be benign in terms of other api calls.\n\nBlueprint keystone/+spec/user-groups\nApi changes: review.openstack.org/#/c/18138\n\nDocImpact\n\nChange-Id: I9abfa82b39fa0c6d58fe0d22622944d3e6be39be\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/564d9f87a95ca06f5555a4710ada51460eb9641f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/564d9f87a95ca06f5555a4710ada51460eb9641f"}]},"branch":"refs/heads/master"},"8b3a3f986246bd43ff05b4c9295c76a4b4d907f9":{"kind":"REWORK","_number":5,"created":"2012-12-18 15:09:47.000000000","uploader":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"ref":"refs/changes/93/17693/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-keystoneclient","ref":"refs/changes/93/17693/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/5"}}},"commit":{"parents":[{"commit":"bbfcb6e52aeb0d1ce18650e9c254c372824e62ca","subject":"Merge \"Fix middleware logging for swift\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/bbfcb6e52aeb0d1ce18650e9c254c372824e62ca"}]}],"author":{"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","date":"2012-12-07 16:47:56.000000000","tz":0},"committer":{"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","date":"2012-12-18 15:09:44.000000000","tz":0},"subject":"Add support for user groups","message":"Add support for user groups\n\nThis initial change provides the support in keystoneclient to match the api\nspecified in the blueprint.  Keystone itself does not yet support these\ncalls, so if you actually called these, then you would get an error from\nthe server. However the changes should be benign in terms of other api calls.\n\nBlueprint keystone/+spec/user-groups\nApi changes: review.openstack.org/#/c/18138\n\nDocImpact\n\nChange-Id: I9abfa82b39fa0c6d58fe0d22622944d3e6be39be\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/8b3a3f986246bd43ff05b4c9295c76a4b4d907f9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/8b3a3f986246bd43ff05b4c9295c76a4b4d907f9"}]},"branch":"refs/heads/master"},"f74deabcfd8085411a7b3b4b1503275013fc4500":{"kind":"REWORK","_number":6,"created":"2012-12-19 02:30:13.000000000","uploader":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"ref":"refs/changes/93/17693/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-keystoneclient","ref":"refs/changes/93/17693/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/6"}}},"commit":{"parents":[{"commit":"bbfcb6e52aeb0d1ce18650e9c254c372824e62ca","subject":"Merge \"Fix middleware logging for swift\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/bbfcb6e52aeb0d1ce18650e9c254c372824e62ca"}]}],"author":{"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","date":"2012-12-07 16:47:56.000000000","tz":0},"committer":{"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","date":"2012-12-19 02:29:52.000000000","tz":0},"subject":"Add support for user groups","message":"Add support for user groups\n\nThis initial change provides the support in keystoneclient to match the api\nspecified in the blueprint.  Keystone itself does not yet support these\ncalls, so if you actually called these, then you would get an error from\nthe server. However the changes should be benign in terms of other api calls.\n\nBlueprint keystone/+spec/user-groups\nApi changes: review.openstack.org/#/c/18138\n\nDocImpact\n\nChange-Id: I9abfa82b39fa0c6d58fe0d22622944d3e6be39be\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/f74deabcfd8085411a7b3b4b1503275013fc4500"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/f74deabcfd8085411a7b3b4b1503275013fc4500"}]},"branch":"refs/heads/master"},"d37a3fb06cbb284d2bea330b456b774bfe2662f7":{"kind":"REWORK","_number":7,"created":"2012-12-21 18:28:06.000000000","uploader":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"ref":"refs/changes/93/17693/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-keystoneclient","ref":"refs/changes/93/17693/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-keystoneclient refs/changes/93/17693/7"}}},"commit":{"parents":[{"commit":"033cfe4f20b90792da0c10da64195e37e847b5de","subject":"Merge \"Add file \u0027ChangeLog\u0027 to MANIFEST.in\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/033cfe4f20b90792da0c10da64195e37e847b5de"}]}],"author":{"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","date":"2012-12-07 16:47:56.000000000","tz":0},"committer":{"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","date":"2012-12-21 18:28:02.000000000","tz":0},"subject":"Add support for user groups","message":"Add support for user groups\n\nThis initial change provides the support in keystoneclient to match the api\nspecified in the blueprint.  Keystone itself does not yet support these\ncalls, so if you actually called these, then you would get an error from\nthe server. However the changes should be benign in terms of other api calls.\n\nBlueprint keystone/+spec/user-groups\nApi changes: review.openstack.org/#/c/18138\n\nDocImpact\n\nChange-Id: I9abfa82b39fa0c6d58fe0d22622944d3e6be39be\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/d37a3fb06cbb284d2bea330b456b774bfe2662f7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/d37a3fb06cbb284d2bea330b456b774bfe2662f7"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
