)]}'
{"id":"openstack%2Fkeystone~26487","triplet_id":"openstack%2Fkeystone~master~I671ea25cca78b4dea1fbf2e63c89b82912279f2d","project":"openstack/keystone","branch":"master","topic":"bug/1166697","hashtags":[],"change_id":"I671ea25cca78b4dea1fbf2e63c89b82912279f2d","subject":"Replace password to \"***\" in the debug message","status":"MERGED","created":"2013-04-09 14:59:51.000000000","updated":"2013-05-09 03:40:49.000000000","submitted":"2013-05-09 03:36:43.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":36,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"ee4188a16082b0ca25e08f7d202d804e80418c61","_number":26487,"virtual_id_number":26487,"owner":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"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":0,"_account_id":994,"name":"Arvind Tiwari","email":"arvindt7@gmail.com","username":"arvind-tiwari"},{"value":2,"date":"2013-05-09 03:36:43.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":1803,"name":"Michael J Fork","email":"mjfork@us.ibm.com","username":"mjfork"},{"value":0,"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},{"value":0,"_account_id":494,"name":"termie","email":"termie@openstack.org","username":"termie"},{"value":1,"date":"2013-04-16 15:12:04.000000000","_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},{"value":0,"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},{"value":0,"_account_id":7291,"name":"Malcolm Anderson","email":"dufm1958@gmail.com"},{"value":0,"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},{"value":0,"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},{"value":0,"_account_id":7135,"name":"Liang Chen","email":"liangchen.linux@gmail.com","username":"Liang"}],"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":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"recommended":{"_account_id":1803,"name":"Michael J Fork","email":"mjfork@us.ibm.com","username":"mjfork"},"all":[{"value":1,"date":"2013-04-18 17:23:08.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},{"value":1,"date":"2013-04-18 17:59:55.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":994,"name":"Arvind Tiwari","email":"arvindt7@gmail.com","username":"arvind-tiwari"},{"value":0,"_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":1,"date":"2013-04-19 14:35:49.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1803,"name":"Michael J Fork","email":"mjfork@us.ibm.com","username":"mjfork"},{"value":0,"date":"2013-05-09 02:51:26.000000000","permitted_voting_range":{"min":0,"max":1},"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},{"value":0,"date":"2013-04-24 18:14:01.000000000","permitted_voting_range":{"min":0,"max":1},"_account_id":494,"name":"termie","email":"termie@openstack.org","username":"termie"},{"value":0,"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},{"value":2,"date":"2013-05-08 23:33:37.000000000","_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},{"value":1,"date":"2013-05-07 07:32:36.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":7291,"name":"Malcolm Anderson","email":"dufm1958@gmail.com"},{"value":0,"date":"2013-04-17 05:52:06.000000000","permitted_voting_range":{"min":0,"max":1},"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},{"value":0,"date":"2013-04-17 07:21:46.000000000","permitted_voting_range":{"min":0,"max":1},"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},{"value":1,"date":"2013-05-06 05:16:53.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":7135,"name":"Liang Chen","email":"liangchen.linux@gmail.com","username":"Liang"}],"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":"","value":1,"default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"all":[{"value":0,"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},{"value":0,"_account_id":994,"name":"Arvind Tiwari","email":"arvindt7@gmail.com","username":"arvind-tiwari"},{"value":0,"_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":1803,"name":"Michael J Fork","email":"mjfork@us.ibm.com","username":"mjfork"},{"value":1,"date":"2013-05-09 02:51:26.000000000","_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},{"value":0,"_account_id":494,"name":"termie","email":"termie@openstack.org","username":"termie"},{"value":0,"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},{"value":0,"date":"2013-05-08 23:33:37.000000000","_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},{"value":0,"_account_id":7291,"name":"Malcolm Anderson","email":"dufm1958@gmail.com"},{"value":0,"date":"2013-04-17 05:52:06.000000000","_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},{"value":0,"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},{"value":0,"_account_id":7135,"name":"Liang Chen","email":"liangchen.linux@gmail.com","username":"Liang"}],"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":494,"name":"termie","email":"termie@openstack.org","username":"termie"},{"_account_id":994,"name":"Arvind Tiwari","email":"arvindt7@gmail.com","username":"arvind-tiwari"},{"_account_id":1803,"name":"Michael J Fork","email":"mjfork@us.ibm.com","username":"mjfork"},{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},{"_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"},{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},{"_account_id":7135,"name":"Liang Chen","email":"liangchen.linux@gmail.com","username":"Liang"},{"_account_id":7291,"name":"Malcolm Anderson","email":"dufm1958@gmail.com"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2013-04-10 19:37:56.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":"2013-04-12 04:34:50.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":"2013-04-16 15:12:04.000000000","updated_by":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"reviewer":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2013-04-17 05:52:06.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":"2013-04-18 17:23:08.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":"2013-04-18 17:59:55.000000000","updated_by":{"_account_id":994,"name":"Arvind Tiwari","email":"arvindt7@gmail.com","username":"arvind-tiwari"},"reviewer":{"_account_id":994,"name":"Arvind Tiwari","email":"arvindt7@gmail.com","username":"arvind-tiwari"},"state":"REVIEWER"},{"updated":"2013-04-19 14:35:49.000000000","updated_by":{"_account_id":1803,"name":"Michael J Fork","email":"mjfork@us.ibm.com","username":"mjfork"},"reviewer":{"_account_id":1803,"name":"Michael J Fork","email":"mjfork@us.ibm.com","username":"mjfork"},"state":"REVIEWER"},{"updated":"2013-04-24 18:14:01.000000000","updated_by":{"_account_id":494,"name":"termie","email":"termie@openstack.org","username":"termie"},"reviewer":{"_account_id":494,"name":"termie","email":"termie@openstack.org","username":"termie"},"state":"REVIEWER"},{"updated":"2013-05-06 05:16:53.000000000","updated_by":{"_account_id":7135,"name":"Liang Chen","email":"liangchen.linux@gmail.com","username":"Liang"},"reviewer":{"_account_id":7135,"name":"Liang Chen","email":"liangchen.linux@gmail.com","username":"Liang"},"state":"REVIEWER"},{"updated":"2013-05-07 07:32:36.000000000","updated_by":{"_account_id":7291,"name":"Malcolm Anderson","email":"dufm1958@gmail.com"},"reviewer":{"_account_id":7291,"name":"Malcolm Anderson","email":"dufm1958@gmail.com"},"state":"REVIEWER"},{"updated":"2013-05-08 23:33:37.000000000","updated_by":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"reviewer":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"state":"REVIEWER"},{"updated":"2013-05-09 02:51:26.000000000","updated_by":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"reviewer":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"state":"REVIEWER"},{"updated":"2013-05-09 03:36:43.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"27ba56b3d7262f61d4278bf91ccf8e3c974805c6","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-04-09 15:01:03.000000000","message":"Patch Set 1: Doesn\u0027t seem to work\n\nBuild failed.  For information on how to proceed, see https://wiki.openstack.org/wiki/GerritJenkinsGithub#Test_Failures\n\n- http://logs.openstack.org/26487/1/check/gate-keystone-pep8/4643 : FAILURE\n- gate-keystone-docs : SKIPPED\n- gate-keystone-python26 : SKIPPED\n- gate-keystone-python26-rhel6 : SKIPPED (non-voting)\n- gate-keystone-python27 : SKIPPED\n- gate-tempest-devstack-vm-full : SKIPPED\n- gate-tempest-devstack-vm-postgres-full : SKIPPED\n- gate-tempest-devstack-vm-quantum : SKIPPED\n","accounts_in_message":[],"_revision_number":1},{"id":"324b0aab0fd24ae95061caf4ff21d16fae05a35c","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-04-09 15:04:36.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"2ba04ae1078b6240d1c039684c191d42f3a65dab","author":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"date":"2013-04-09 15:19:33.000000000","message":"Patch Set 2: Works for me\n\nSmokeStack Results (patch set 2):\n\tLibvirt (Fedora 18) Success: http://smokestack.openstack.org/?go\u003d/jobs/82275\n","accounts_in_message":[],"_revision_number":2},{"id":"8d45901cb0af3f7cef7ffe76e354943022559697","author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"date":"2013-04-09 15:50:37.000000000","message":"Patch Set 2: Looks good to me, but someone else must approve\n\n","accounts_in_message":[],"_revision_number":2},{"id":"8f2a242de188cc56b0ddd473ecbfc24a91ceee87","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-04-09 15:51:49.000000000","message":"Patch Set 2: Works for me\n\nBuild succeeded.\n\n- http://logs.openstack.org/26487/2/check/gate-keystone-pep8/4644 : SUCCESS\n- http://logs.openstack.org/26487/2/check/gate-keystone-docs/3018 : SUCCESS\n- http://logs.openstack.org/26487/2/check/gate-keystone-python26/3539 : SUCCESS\n- http://logs.openstack.org/26487/2/check/gate-keystone-python26-rhel6/143 : SUCCESS (non-voting)\n- http://logs.openstack.org/26487/2/check/gate-keystone-python27/3550 : SUCCESS\n- http://logs.openstack.org/26487/2/check/gate-tempest-devstack-vm-full/12051 : SUCCESS\n- http://logs.openstack.org/26487/2/check/gate-tempest-devstack-vm-postgres-full/11766 : SUCCESS\n- http://logs.openstack.org/26487/2/check/gate-tempest-devstack-vm-quantum/17845 : SUCCESS\n","accounts_in_message":[],"_revision_number":2},{"id":"1dabd969f266da4ac60406c3000b5eaa9856aaf4","author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"date":"2013-04-09 16:25:38.000000000","message":"Patch Set 2: I would prefer that you didn\u0027t merge this\n\n(2 inline comments)\n\n","accounts_in_message":[],"_revision_number":2},{"id":"a726ed9627e018657f0e02b9187dc406790701e8","author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"date":"2013-04-09 16:48:55.000000000","message":"Patch Set 2: (1 inline comment)\n\n","accounts_in_message":[],"_revision_number":2},{"id":"076cd5ce2daccae53693fab1fad08efd867f56e5","author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"date":"2013-04-10 00:59:08.000000000","message":"Patch Set 2:\n\nIn Python 2.7, if you do a regular expression substitute on a string, you get back a string, and on a unicode object, you get back a unicode object. Basically it preserves type. Thus do not need the str(value) on line 386 or str(line) on 392.\r\n\r\nAnd looks like\r\ntest \u003d re.sub(r\u0027password: .+\u0027, \"password: ***\", value)\r\n\r\nwill do the trick. It is not important to have the u, and we maintain a  fixed length of *** to give no clue about password length.\r\n\r\nAnd my error about upstream comment, no escaping password in request object.","accounts_in_message":[],"_revision_number":2},{"id":"21d57b237fe33a1ae7fb9cf50ad600bb62781697","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-04-10 09:25:08.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"76493a2bdbb5e8715da26d998a9ca32b9a796612","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-04-10 09:26:04.000000000","message":"Patch Set 2: (2 inline comments)\n\n","accounts_in_message":[],"_revision_number":2},{"id":"3754678355d53264ff0d154b09aa568718c5e3bc","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-04-10 09:30:10.000000000","message":"Patch Set 3: (1 inline comment)\n\n","accounts_in_message":[],"_revision_number":3},{"id":"85f1d92ec4b816de1b554eae04e72c110d57413d","author":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"date":"2013-04-10 09:39:56.000000000","message":"Patch Set 3: Works for me\n\nSmokeStack Results (patch set 3):\n\tLibvirt (Fedora 18) Success: http://smokestack.openstack.org/?go\u003d/jobs/82434\n","accounts_in_message":[],"_revision_number":3},{"id":"0e41da62a5649ea22cb48be46d3e9a547e7bd895","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-04-10 10:06:10.000000000","message":"Patch Set 3: Doesn\u0027t seem to work\n\nBuild failed.  For information on how to proceed, see https://wiki.openstack.org/wiki/GerritJenkinsGithub#Test_Failures\n\n- http://logs.openstack.org/26487/3/check/gate-keystone-pep8/4658 : FAILURE\n- http://logs.openstack.org/26487/3/check/gate-keystone-docs/3032 : SUCCESS\n- http://logs.openstack.org/26487/3/check/gate-keystone-python26/3553 : SUCCESS\n- http://logs.openstack.org/26487/3/check/gate-keystone-python26-rhel6/151 : SUCCESS (non-voting)\n- http://logs.openstack.org/26487/3/check/gate-keystone-python27/3564 : SUCCESS\n- http://logs.openstack.org/26487/3/check/gate-tempest-devstack-vm-full/12144 : SUCCESS\n- http://logs.openstack.org/26487/3/check/gate-tempest-devstack-vm-postgres-full/11859 : SUCCESS\n- http://logs.openstack.org/26487/3/check/gate-tempest-devstack-vm-quantum/17949 : SUCCESS\n","accounts_in_message":[],"_revision_number":3},{"id":"706311ecacde42e3cd674faa4d258eedcde04abd","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-04-10 11:07:08.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"3001663b18c6e5fef6d3d1f735ad8898f628ad02","author":{"_account_id":5494,"name":"Trivial Rebase","email":"trivial-rebase@review.openstack.org","username":"trivial-rebase"},"date":"2013-04-10 11:07:16.000000000","message":"Patch Set 4:\n\nNew patchset patch-id matches previous patchset, but whitespace content has changed.","accounts_in_message":[],"_revision_number":4},{"id":"480b29f6355341a99eab9042e536776aa7a52dbc","author":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"date":"2013-04-10 11:22:49.000000000","message":"Patch Set 4: Works for me\n\nSmokeStack Results (patch set 4):\n\tLibvirt (Fedora 18) Success: http://smokestack.openstack.org/?go\u003d/jobs/82445\n","accounts_in_message":[],"_revision_number":4},{"id":"f6a9fb40691f91fc6a90373003a9b333921a797b","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-04-10 11:52:49.000000000","message":"Patch Set 4: Doesn\u0027t seem to work\n\nBuild failed.  For information on how to proceed, see https://wiki.openstack.org/wiki/GerritJenkinsGithub#Test_Failures\n\n- http://logs.openstack.org/26487/4/check/gate-keystone-pep8/4659 : SUCCESS\n- http://logs.openstack.org/26487/4/check/gate-keystone-docs/3033 : SUCCESS\n- http://logs.openstack.org/26487/4/check/gate-keystone-python26/3554 : SUCCESS\n- http://logs.openstack.org/26487/4/check/gate-keystone-python26-rhel6/152 : SUCCESS (non-voting)\n- http://logs.openstack.org/26487/4/check/gate-keystone-python27/3565 : SUCCESS\n- http://logs.openstack.org/26487/4/check/gate-tempest-devstack-vm-full/12153 : SUCCESS\n- http://logs.openstack.org/26487/4/check/gate-tempest-devstack-vm-postgres-full/11868 : FAILURE\n- http://logs.openstack.org/26487/4/check/gate-tempest-devstack-vm-quantum/17961 : SUCCESS\n","accounts_in_message":[],"_revision_number":4},{"id":"8309797573eb9c1a157c25d1a8282b1fee61ca83","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-04-10 13:30:12.000000000","message":"Patch Set 4:\n\nrecheck","accounts_in_message":[],"_revision_number":4},{"id":"6999dfe2370be5c08fab906468c90990f11a3202","author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"date":"2013-04-10 13:45:08.000000000","message":"Patch Set 4: I would prefer that you didn\u0027t merge this\n\nwhy use a dynamic number of asterisks? I\u0027d prefer just a static * or the orignal ***","accounts_in_message":[],"_revision_number":4},{"id":"aa300b579f43c431b725a96228f06d9e040d5752","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-04-10 13:53:22.000000000","message":"Patch Set 4:\n\nLooks like I misunderstood malini-k-bhandaru\u0027s comment, I will fix it.","accounts_in_message":[],"_revision_number":4},{"id":"9b4908d18cd4d53283b1cd2d19b4de700d65133c","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-04-10 14:10:16.000000000","message":"Patch Set 4: Works for me\n\nBuild succeeded.\n\n- http://logs.openstack.org/26487/4/check/gate-keystone-pep8/4661 : SUCCESS\n- http://logs.openstack.org/26487/4/check/gate-keystone-docs/3035 : SUCCESS\n- http://logs.openstack.org/26487/4/check/gate-keystone-python26/3556 : SUCCESS\n- http://logs.openstack.org/26487/4/check/gate-keystone-python26-rhel6/154 : SUCCESS (non-voting)\n- http://logs.openstack.org/26487/4/check/gate-keystone-python27/3567 : SUCCESS\n- http://logs.openstack.org/26487/4/check/gate-tempest-devstack-vm-full/12172 : SUCCESS\n- http://logs.openstack.org/26487/4/check/gate-tempest-devstack-vm-postgres-full/11887 : SUCCESS\n- http://logs.openstack.org/26487/4/check/gate-tempest-devstack-vm-quantum/17980 : SUCCESS\n","accounts_in_message":[],"_revision_number":4},{"id":"8f97a7728e67ed7d139a27af90a40bbd38ffb883","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-04-10 16:55:02.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"ebbb56aebfa3dc60bb8e9501bcaf3337209fbceb","author":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"date":"2013-04-10 17:14:49.000000000","message":"Patch Set 5: Works for me\n\nSmokeStack Results (patch set 5):\n\tLibvirt (Fedora 18) Success: http://smokestack.openstack.org/?go\u003d/jobs/82500\n","accounts_in_message":[],"_revision_number":5},{"id":"cc2b9eb2c406d141167155109393be22099c7ec1","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-04-10 17:46:35.000000000","message":"Patch Set 5: Works for me\n\nBuild succeeded.\n\n- http://logs.openstack.org/26487/5/check/gate-keystone-pep8/4665 : SUCCESS\n- http://docs-draft.openstack.org/26487/5/check/gate-keystone-docs/3039/ : SUCCESS\n- http://logs.openstack.org/26487/5/check/gate-keystone-python26/3560 : SUCCESS\n- http://logs.openstack.org/26487/5/check/gate-keystone-python26-rhel6/158 : SUCCESS (non-voting)\n- http://logs.openstack.org/26487/5/check/gate-keystone-python27/3571 : SUCCESS\n- http://logs.openstack.org/26487/5/check/gate-tempest-devstack-vm-full/12217 : SUCCESS\n- http://logs.openstack.org/26487/5/check/gate-tempest-devstack-vm-postgres-full/11932 : SUCCESS\n- http://logs.openstack.org/26487/5/check/gate-tempest-devstack-vm-quantum/18028 : SUCCESS\n","accounts_in_message":[],"_revision_number":5},{"id":"825853759747dee5cbcef01fe16eaa464f4ab322","author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"date":"2013-04-10 19:37:56.000000000","message":"Patch Set 5: Looks good to me (core reviewer)\n\nthanks!","accounts_in_message":[],"_revision_number":5},{"id":"1b505fa0e1c87dbb195e70fe8c398294db8ca202","author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"date":"2013-04-10 20:17:01.000000000","message":"Patch Set 5: Looks good to me, but someone else must approve\n\n","accounts_in_message":[],"_revision_number":5},{"id":"c4929a18d62335536a212200c4986789e31eb6b3","author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"date":"2013-04-10 20:44:24.000000000","message":"Patch Set 5:\n\na test case should be provided for this.","accounts_in_message":[],"_revision_number":5},{"id":"182e8a2820aa8a1c53145f203d85f9c789980a75","author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"date":"2013-04-10 20:51:31.000000000","message":"Patch Set 5: I would prefer that you didn\u0027t merge this\n\n(2 inline comments)\n\nneeds tests.","accounts_in_message":[],"_revision_number":5},{"id":"b8177b9471b6e1a1ad5f5b162e5dcf043a24ad4e","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-04-11 06:49:09.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"781eff633f4ce41e84db57ec38a707a5f5ff964a","author":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"date":"2013-04-11 07:04:35.000000000","message":"Patch Set 6: Works for me\n\nSmokeStack Results (patch set 6):\n\tLibvirt (Fedora 18) Success: http://smokestack.openstack.org/?go\u003d/jobs/82624\n","accounts_in_message":[],"_revision_number":6},{"id":"6b1f7c8b9988a68221aaad7cad1bd5e1db32baac","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-04-11 07:30:08.000000000","message":"Patch Set 6: Works for me\n\nBuild succeeded.\n\n- http://logs.openstack.org/26487/6/check/gate-keystone-pep8/4670 : SUCCESS\n- http://docs-draft.openstack.org/26487/6/check/gate-keystone-docs/3044/doc/build/html/ : SUCCESS\n- http://logs.openstack.org/26487/6/check/gate-keystone-python26/3565 : SUCCESS\n- http://logs.openstack.org/26487/6/check/gate-keystone-python26-rhel6/163 : SUCCESS (non-voting)\n- http://logs.openstack.org/26487/6/check/gate-keystone-python27/3576 : SUCCESS\n- http://logs.openstack.org/26487/6/check/gate-tempest-devstack-vm-full/12319 : SUCCESS\n- http://logs.openstack.org/26487/6/check/gate-tempest-devstack-vm-postgres-full/12034 : SUCCESS\n- http://logs.openstack.org/26487/6/check/gate-tempest-devstack-vm-quantum/18142 : SUCCESS\n- http://logs.openstack.org/26487/6/check/gate-grenade-devstack-vm/281 : FAILURE (non-voting)\n","accounts_in_message":[],"_revision_number":6},{"id":"506d69ea2be257dacc3f7a4e89b50612170271fd","author":{"_account_id":7073,"name":"mouad benchchaoui","email":"m.benchchaoui@x-ion.de","username":"mouad"},"date":"2013-04-11 10:00:30.000000000","message":"Patch Set 6: (7 inline comments)\n\nPlease check my review.","accounts_in_message":[],"_revision_number":6},{"id":"7cf62bb6e8ee8799e918b89533bc4f8f86cea733","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-04-11 14:22:50.000000000","message":"Patch Set 6: (1 inline comment)\n\nmouad, thanks for your comments. Please see my response, there is a little confuse for the \\1 group.","accounts_in_message":[],"_revision_number":6},{"id":"a53b73fa27b0bfa5a27993906f7c547d3ec38ac3","author":{"_account_id":7073,"name":"mouad benchchaoui","email":"m.benchchaoui@x-ion.de","username":"mouad"},"date":"2013-04-11 14:41:01.000000000","message":"Patch Set 6: (1 inline comment)\n\nPlease see my response hopefully it will make sense for you :)","accounts_in_message":[],"_revision_number":6},{"id":"767f100d96041b6568f3ad0be5f9a9621add73a1","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-04-11 15:28:47.000000000","message":"Patch Set 6: (1 inline comment)\n\n","accounts_in_message":[],"_revision_number":6},{"id":"3d7978d1adee3d02ca3d9c6c00307916793e923b","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-04-11 15:56:57.000000000","message":"Uploaded patch set 7.","accounts_in_message":[],"_revision_number":7},{"id":"2d91b49c39218439d46d8b2bbe86d44357633656","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-04-11 16:38:04.000000000","message":"Patch Set 7: Works for me\n\nBuild succeeded.\n\n- http://logs.openstack.org/26487/7/check/gate-keystone-pep8/4672 : SUCCESS\n- http://docs-draft.openstack.org/26487/7/check/gate-keystone-docs/3046/doc/build/html/ : SUCCESS\n- http://logs.openstack.org/26487/7/check/gate-keystone-python26/3567 : SUCCESS\n- http://logs.openstack.org/26487/7/check/gate-keystone-python26-rhel6/165 : SUCCESS (non-voting)\n- http://logs.openstack.org/26487/7/check/gate-keystone-python27/3578 : SUCCESS\n- http://logs.openstack.org/26487/7/check/gate-tempest-devstack-vm-full/12362 : SUCCESS\n- http://logs.openstack.org/26487/7/check/gate-tempest-devstack-vm-postgres-full/12077 : SUCCESS\n- http://logs.openstack.org/26487/7/check/gate-tempest-devstack-vm-quantum/18191 : SUCCESS\n- http://logs.openstack.org/26487/7/check/gate-grenade-devstack-vm/326 : FAILURE (non-voting)\n","accounts_in_message":[],"_revision_number":7},{"id":"5776fbc0ba961ac3e6142966ea3bcba28339bcf3","author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"date":"2013-04-11 19:06:25.000000000","message":"Patch Set 7:\n\nMuch nicer! David \u0026 Mouad, you have massively improved the solution, adding compile, unit tests (I was scratching my head on a unit test for log files, but pulling out the change into a function and testing function was a great idea).\r\n\r\nAt the risk of annoying .. 3 comments\r\na) we are not worried about checking the correctness of the quotes in the original message. The two expressions _RE_PASS1 and _E_PASS2 differ in only the \u0027 and \" are interchanged.  This can be combined using  \r\nre_compile(r\u0027([\\\u0027|\"]?password ........ etc\r\nNeed to type this one out carefully.\r\n\r\nThen you do not need to test for first, followed by second if failed.\r\n\r\nb) earlier comment about regular expressions maintaining input type even after substitution, thus unicode stays unicode and string stays string. Thus do not need to worry about unicode or string. That is my read of re, and my conclusion from experimenting with it. would one of you check this.\r\n\r\nc) if you made the if-debug test outer, and the for loop inner, shall save testing on each line of the request object.\r\n\r\nGreat job!\r\nMalini","accounts_in_message":[],"_revision_number":7},{"id":"140427f37d6982c7033db3cdeea749afd21cb5d6","author":{"_account_id":6,"name":"Joe Heck","email":"heckj@mac.com","username":"heckj"},"date":"2013-04-12 04:34:50.000000000","message":"Patch Set 7: Looks good to me (core reviewer)\n\nthank you for the unit tests around the password masking regex mechanism","accounts_in_message":[],"_revision_number":7},{"id":"f415f6edd9d8d7a55cdfac2d6bd483416c4a3a70","author":{"_account_id":7073,"name":"mouad benchchaoui","email":"m.benchchaoui@x-ion.de","username":"mouad"},"date":"2013-04-12 08:10:51.000000000","message":"Patch Set 7:\n\n@malini: Thanks for the comment and here is my response for your comment:\n\na) Actually for this point i don\u0027t have much of a view, having one regex can simplify the code at the expense of a more complicate regular expression to read, in the other hand having two regex will simplify the regex and add more code (the if part), so it\u0027s question of trade-off here ! which one is better ? ...\n\nb) This part i am not sure about why it\u0027s needed, maybe david can highlight why he added it.\n\nc) +1 for this change, good catch :)","accounts_in_message":[],"_revision_number":7},{"id":"ddca4c42660566540cea0aa41bc0729b18c4045c","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-04-12 08:57:19.000000000","message":"Patch Set 7:\n\n@malini/@mouad:\nHere are my response:\na) Actually, I really don\u0027t the very complex Regular expression in source code which is very not easy to understand and maintain (Of cause I have very pool experience on this also :-p , I try to merge this two regular expression on today but not yet finished.)\nb) If I do not use unicode(message), I will hit the following when run test cases:\n File \"/Users/gengjh/MyWorks/OpenStack/keystone/.tox/py27/lib/python2.7/site-packages/keystone/common/wsgi.py\", line 388, in __call__\n    LOG.debug(\u0027%s \u003d %s\u0027, key, utils.mask_password(value, True))\n  File \"/Users/gengjh/MyWorks/OpenStack/keystone/.tox/py27/lib/python2.7/site-packages/keystone/common/utils.py\", line 299, in mask_password\n    result \u003d _RE_PASS.sub(secret, message)\nTypeError: expected string or buffer\nc) yes, it is good catch, I will fix it.","accounts_in_message":[],"_revision_number":7},{"id":"27afbf5b96b99767225709abcbf2e0aaef3f19d9","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-04-12 09:37:06.000000000","message":"Uploaded patch set 8.","accounts_in_message":[],"_revision_number":8},{"id":"1c73b5d2ab5ba91965d99e4a02b6875cbdecf9cb","author":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"date":"2013-04-12 09:52:17.000000000","message":"Patch Set 8: Works for me\n\nSmokeStack Results (patch set 8):\n\tLibvirt (Fedora 18) Success: http://smokestack.openstack.org/?go\u003d/jobs/82785\n","accounts_in_message":[],"_revision_number":8},{"id":"a76ab9623645d0917caa73bd0081398f5848c6fb","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-04-12 10:20:32.000000000","message":"Patch Set 8: Works for me\n\nBuild succeeded.\n\n- http://logs.openstack.org/26487/8/check/gate-keystone-pep8/4684 : SUCCESS\n- http://docs-draft.openstack.org/26487/8/check/gate-keystone-docs/3058/doc/build/html/ : SUCCESS\n- http://logs.openstack.org/26487/8/check/gate-keystone-python26/3579 : SUCCESS\n- http://logs.openstack.org/26487/8/check/gate-keystone-python26-rhel6/171 : SUCCESS (non-voting)\n- http://logs.openstack.org/26487/8/check/gate-keystone-python27/3590 : SUCCESS\n- http://logs.openstack.org/26487/8/check/gate-tempest-devstack-vm-full/12445 : SUCCESS\n- http://logs.openstack.org/26487/8/check/gate-tempest-devstack-vm-postgres-full/12160 : SUCCESS\n- http://logs.openstack.org/26487/8/check/gate-tempest-devstack-vm-quantum/18290 : SUCCESS\n- http://logs.openstack.org/26487/8/check/gate-grenade-devstack-vm/399 : FAILURE (non-voting)\n","accounts_in_message":[],"_revision_number":8},{"id":"46a4a1fc7e5d4bdf743a2bf8875972d49ea8aaba","author":{"_account_id":7073,"name":"mouad benchchaoui","email":"m.benchchaoui@x-ion.de","username":"mouad"},"date":"2013-04-12 10:24:40.000000000","message":"Patch Set 8: Looks good to me, but someone else must approve\n\n","accounts_in_message":[],"_revision_number":8},{"id":"90177b60bda66878f4e6cfb5022741dab287dfdf","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-04-12 12:59:45.000000000","message":"Patch Set 8:\n\nI got a workable regex pattern which can combine the \" and \u0027:\n_RE_PASS \u003d re.compile(r\u0027([\\\u0027\"].*?password[\\\u0027\"]\\s*:\\s*u?[\\\u0027\"]).*?([\\\u0027\"])\u0027, re.DOTALL)\nBut as I mentioned, it will not easy to maintain IMHO.","accounts_in_message":[],"_revision_number":8},{"id":"fd269d1b908c13baa9996a6e5fe4c655d675c14d","author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"date":"2013-04-12 17:57:10.000000000","message":"Patch Set 8: I would prefer that you didn\u0027t merge this\n\n(5 inline comments)\n\nlooks good, just would like clarification on the regex.","accounts_in_message":[],"_revision_number":8},{"id":"6a133a07793224cae1ea6b836b27c63c0fd1f9a3","author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"date":"2013-04-12 18:39:54.000000000","message":"Patch Set 8:\n\nThanks David for your clarification on why unicode.\n\nGood work on _RE_PASS \u003d re.compile(r\u0027([\\\u0027\"].*?password[\\\u0027\"]\\s*:\\s*u?[\\\u0027\"]).*?([\\\u0027\"])\u0027, re.DOTALL) \n\nActually [a-z] type stuff for a single character in a set is pretty common, it just looks a little complicated because replicated multiple times, and needing to special case the double quote with backslash. A little documentation would help in maintenance.\nShould you add a * immediately after the ], you are saying no quotes fine too.\n(I believe this is essentially why you had the first * in your patterns, to say it is OK not to have the \"password\" or \u0027password\u0027.\n\nThe pros, now that you have done the hard work is that you skip a second regular expression check. Further you are allowing mixing of use or \" and \u0027\nthat is\n\"password\" : \u0027my-secret\u0027\n\u0027password\u0027 : \"my-secret\"\nin addition to the ones you have listed.\n\nCertainly do not need the \u003d\u003d to check whether to re-apply the regex test  as Brant mentions.\n\nThank you again.\nMalini\n\n\nRegards\nMalini","accounts_in_message":[],"_revision_number":8},{"id":"6d67fd17ef5fc9127c7fa513f4d3371580420ec3","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-04-13 08:28:38.000000000","message":"Patch Set 8: (4 inline comments)\n\nThanks for you guys\u0027 comments.\n\nActually, the reason why i have * before the password means we have \u0027original_password\u0027 in keystone.contrib.user_crud module as Dolph mentioned in my patch 2. But I missed one . before the *.\nPlease reexam my new patch.","accounts_in_message":[],"_revision_number":8},{"id":"79aaf02f23272fbd9125b5d84797fdbd8d653c34","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-04-13 08:40:57.000000000","message":"Uploaded patch set 9.","accounts_in_message":[],"_revision_number":9},{"id":"e697b532deab9a7b188c992dd046c8e502e5d475","author":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"date":"2013-04-13 08:55:44.000000000","message":"Patch Set 9: Works for me\n\nSmokeStack Results (patch set 9):\n\tLibvirt (Fedora 18) Success: http://smokestack.openstack.org/?go\u003d/jobs/82904\n","accounts_in_message":[],"_revision_number":9},{"id":"2584bc0c63aad337c295da5e213a467ade415592","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-04-13 09:26:38.000000000","message":"Patch Set 9: Works for me\n\nBuild succeeded.\n\n- http://logs.openstack.org/26487/9/check/gate-keystone-pep8/4709 : SUCCESS\n- http://docs-draft.openstack.org/26487/9/check/gate-keystone-docs/3083/doc/build/html/ : SUCCESS\n- http://logs.openstack.org/26487/9/check/gate-keystone-python26/3604 : SUCCESS\n- http://logs.openstack.org/26487/9/check/gate-keystone-python26-rhel6/185 : SUCCESS (non-voting)\n- http://logs.openstack.org/26487/9/check/gate-keystone-python27/3615 : SUCCESS\n- http://logs.openstack.org/26487/9/check/gate-tempest-devstack-vm-full/12605 : SUCCESS\n- http://logs.openstack.org/26487/9/check/gate-tempest-devstack-vm-postgres-full/12320 : SUCCESS\n- http://logs.openstack.org/26487/9/check/gate-tempest-devstack-vm-quantum/18455 : SUCCESS\n- http://logs.openstack.org/26487/9/check/gate-grenade-devstack-vm/550 : FAILURE (non-voting)\n","accounts_in_message":[],"_revision_number":9},{"id":"515af88db59ea1704b42516d3d0c910f71347937","author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"date":"2013-04-15 06:09:41.000000000","message":"Patch Set 9: Looks good to me, but someone else must approve\n\n","accounts_in_message":[],"_revision_number":9},{"id":"fef46f22d1fcbb51c6d01e4e3043e631adb15171","author":{"_account_id":7073,"name":"mouad benchchaoui","email":"m.benchchaoui@x-ion.de","username":"mouad"},"date":"2013-04-15 07:48:48.000000000","message":"Patch Set 9: Looks good to me, but someone else must approve\n\n","accounts_in_message":[],"_revision_number":9},{"id":"65b1b265003cb8434ac8bbddd7e414d47282df95","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-04-16 01:20:42.000000000","message":"Patch Set 9:\n\nAnyone can help to approve this since our project need this fix asap?","accounts_in_message":[],"_revision_number":9},{"id":"262247bcd25d425bb260f0c707e82636d5a44fc3","author":{"_account_id":7291,"name":"Malcolm Anderson","email":"dufm1958@gmail.com"},"date":"2013-04-16 06:20:51.000000000","message":"Patch Set 9: I would prefer that you didn\u0027t merge this\n\n(1 inline comment)\n\n","accounts_in_message":[],"_revision_number":9},{"id":"2951b83df303f3c19a2fb69ae5452e60de3e507c","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-04-16 07:37:38.000000000","message":"Patch Set 9: (1 inline comment)\n\n","accounts_in_message":[],"_revision_number":9},{"id":"297fc4efa7986f7c40fd1685df25bb9682bc7f87","author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"date":"2013-04-16 07:41:10.000000000","message":"Patch Set 9: No score\n\nAs long as password is not leaked to the log file, this fix is complete.","accounts_in_message":[],"_revision_number":9},{"id":"b5c0219ed4236f52758edbbeca6232afa5f5d81e","author":{"_account_id":7291,"name":"Malcolm Anderson","email":"dufm1958@gmail.com"},"date":"2013-04-16 11:50:41.000000000","message":"Patch Set 9: (1 inline comment)\n\n","accounts_in_message":[],"_revision_number":9},{"id":"6b843a1178f25d9a2e6182b912ddaf4a1e8aa617","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-04-16 12:58:08.000000000","message":"Uploaded patch set 10.","accounts_in_message":[],"_revision_number":10},{"id":"a2e6d5df13ff322435692a2042a36f4731930bb4","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-04-16 12:58:41.000000000","message":"Patch Set 9: (1 inline comment)\n\n","accounts_in_message":[],"_revision_number":9},{"id":"188a0f54db5e12b41960e3d0025865c4c4b6f41b","author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"date":"2013-04-16 13:05:51.000000000","message":"Patch Set 10: Looks good to me, but someone else must approve\n\n(2 inline comments)\n\n","accounts_in_message":[],"_revision_number":10},{"id":"bf12a9cf4ac84d77a793546ab714408479b5042b","author":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"date":"2013-04-16 13:14:08.000000000","message":"Patch Set 10: Works for me\n\nSmokeStack Results (patch set 10):\n\tLibvirt (Fedora 18) Success: http://smokestack.openstack.org/?go\u003d/jobs/83187\n","accounts_in_message":[],"_revision_number":10},{"id":"5eef9aad16453bf21c17add40f8ad14dbea6e2be","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-04-16 13:18:07.000000000","message":"Uploaded patch set 11.","accounts_in_message":[],"_revision_number":11},{"id":"4be93b6bb5f40cd0051b8c48e21ae6ced33894ec","author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"date":"2013-04-16 13:25:14.000000000","message":"Patch Set 11: Looks good to me, but someone else must approve\n\n","accounts_in_message":[],"_revision_number":11},{"id":"f8da9af7ae7a0198cd09ac99bbd52a5f74b81118","author":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"date":"2013-04-16 13:33:00.000000000","message":"Patch Set 11: Works for me\n\nSmokeStack Results (patch set 11):\n\tLibvirt (Fedora 18) Success: http://smokestack.openstack.org/?go\u003d/jobs/83190\n","accounts_in_message":[],"_revision_number":11},{"id":"64a0c2bc014b454409c150078074c8a1bd255b04","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-04-16 14:02:07.000000000","message":"Patch Set 11: Doesn\u0027t seem to work\n\nBuild failed.  For information on how to proceed, see https://wiki.openstack.org/wiki/GerritJenkinsGithub#Test_Failures\n\n- http://logs.openstack.org/26487/11/check/gate-keystone-pep8/4732 : FAILURE\n- http://docs-draft.openstack.org/26487/11/check/gate-keystone-docs/3106/doc/build/html/ : SUCCESS\n- http://logs.openstack.org/26487/11/check/gate-keystone-python26/3627 : SUCCESS\n- http://logs.openstack.org/26487/11/check/gate-keystone-python26-rhel6/205 : SUCCESS (non-voting)\n- http://logs.openstack.org/26487/11/check/gate-keystone-python27/3638 : SUCCESS\n- http://logs.openstack.org/26487/11/check/gate-tempest-devstack-vm-full/12744 : SUCCESS\n- http://logs.openstack.org/26487/11/check/gate-tempest-devstack-vm-postgres-full/12459 : SUCCESS\n- http://logs.openstack.org/26487/11/check/gate-tempest-devstack-vm-quantum/18604 : SUCCESS\n- http://logs.openstack.org/26487/11/check/gate-grenade-devstack-vm/676 : FAILURE (non-voting)\n","accounts_in_message":[],"_revision_number":11},{"id":"de3ab89c73fab41db37636cbaf64301a2ff938e6","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-04-16 14:55:58.000000000","message":"Uploaded patch set 12.","accounts_in_message":[],"_revision_number":12},{"id":"f9d485a069237996c98d6e26bf814c27fde03b54","author":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"date":"2013-04-16 15:12:04.000000000","message":"Patch Set 12: Works for me\n\nSmokeStack Results (patch set 12):\n\tLibvirt (Fedora 18) Success: http://smokestack.openstack.org/?go\u003d/jobs/83200\n","accounts_in_message":[],"_revision_number":12},{"id":"914e442daa2ca4b42943471727e3dd8f023cf855","author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"date":"2013-04-16 15:13:44.000000000","message":"Patch Set 12: Looks good to me, but someone else must approve\n\n","accounts_in_message":[],"_revision_number":12},{"id":"a1834d12321af856b3a1602b7acc55917d428fb6","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-04-16 15:40:04.000000000","message":"Patch Set 12: Works for me\n\nBuild succeeded.\n\n- http://logs.openstack.org/26487/12/check/gate-keystone-pep8/4733 : SUCCESS\n- http://docs-draft.openstack.org/26487/12/check/gate-keystone-docs/3107/doc/build/html/ : SUCCESS\n- http://logs.openstack.org/26487/12/check/gate-keystone-python26/3628 : SUCCESS\n- http://logs.openstack.org/26487/12/check/gate-keystone-python26-rhel6/206 : SUCCESS (non-voting)\n- http://logs.openstack.org/26487/12/check/gate-keystone-python27/3639 : SUCCESS\n- http://logs.openstack.org/26487/12/check/gate-tempest-devstack-vm-full/12751 : SUCCESS\n- http://logs.openstack.org/26487/12/check/gate-tempest-devstack-vm-postgres-full/12466 : SUCCESS\n- http://logs.openstack.org/26487/12/check/gate-tempest-devstack-vm-quantum/18611 : SUCCESS\n- http://logs.openstack.org/26487/12/check/gate-grenade-devstack-vm/683 : FAILURE (non-voting)\n","accounts_in_message":[],"_revision_number":12},{"id":"142c6cf7c20a988102bbc15dc1b09b1609af04c2","author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"date":"2013-04-16 18:03:42.000000000","message":"Patch Set 12: Looks good to me, but someone else must approve\n\n","accounts_in_message":[],"_revision_number":12},{"id":"7cc2e870486e60bdafc10978d10658132dbd4345","author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"date":"2013-04-17 05:52:06.000000000","message":"Patch Set 12:\n\nShould this be done by a log filter? See\n\nhttp://docs.python.org/2/library/logging.html#filter-objects","accounts_in_message":[],"_revision_number":12},{"id":"2a420864c89f05af2e0df576da82e45b0fd8f6e8","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-04-17 07:21:46.000000000","message":"Patch Set 12:\n\nTo consider the performance issue, I don\u0027t think add log filter is a better solution, any thought?","accounts_in_message":[],"_revision_number":12},{"id":"08d7df2f64e1e405a6943ac3c6d53b63591fd659","author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"date":"2013-04-17 14:25:57.000000000","message":"Patch Set 12:\n\nLog filter gives you consistency and centralized control. Is this the only place password is logged? What if someone decided to log password, or any sensitive information, elsewhere in the future?\n\nI would even argue that security-related log filters needs to be in Oslo.\n\nObviously there are trade-offs in our design decision. But is rather difficult to debate performance without any kind of benchmarks. What\u0027s our baseline? What\u0027s the threshold?","accounts_in_message":[],"_revision_number":12},{"id":"95f2bf8eb407f60f45cc8eaaf08563e4e3452b31","author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"date":"2013-04-18 06:38:17.000000000","message":"Patch Set 12: No score\n\nGood suggestion Guang-Yee to use log filters. It is a rich infrastructure allowing for useful extras like \"aspect\" programming. \r\n\r\nThis has a nice example: http://docs.python.org/2/howto/logging-cookbook.html#filters-contextual\r\n\r\nwith essentially defining a password_filter(self, record) that invokes the re code and substitution you defined David.\r\n\r\nFrom a performance standpoint, David\u0027s current implementation will run faster because the regex matching and sustitution is invoked only when the loglevel \u003d\u003d debug as opposed to always.\r\n\r\nGuang-yee, did you intend for password masking for all OpenStack components in your log filter suggestion?\r\nThat is, will password occur in other places?\r\n\r\nThe only common ancestor off all the openstack loggers to be the base logging class. various loggers seem to all be descendants of the primary logger, not some package level common logger.\r\nIf it is possible to attach the filter to all our loggers via\r\n   a_logger \u003d  logging.getLogger(__name__)\r\n\r\n\r\n   f \u003d PasswordMaskerFilter()\r\n   a_logger.addFilter(f)\r\n\r\nthen we are lucky, else will need to modify a lot of files.\r\nThere are a few different calls such as \r\n\r\nglance/glance/common/wsgi.py:        self.logger \u003d os_logging.\r\ngetLogger(\u0027eventlet.wsgi.server\u0027)\r\n\r\n\r\nA little digression .. there was a blueprint for a gloabl request-id to be passed around for logging and correlation purposes and Yahoo at the summit demo-ed a logging solution which provided similar functionality. The log filter approach may be a simple solution to this need.\r\n\r\nRegards\r\nMalini","accounts_in_message":[],"_revision_number":12},{"id":"d6d18882ff1ab44401a6658eb4e56918e462c65c","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-04-18 07:15:26.000000000","message":"Patch Set 12:\n\nMalini/Guang-yee, thanks a lot for your comments.\n\nFor the bug 1166697, I think I already address the issue.\n\nFor Guang-yee\u0027s suggestion, we need further discussion and maybe need combine with Yahoo\u0027s solution. If mask password or other sensitive information is common requirement of all the components I think we can contribute it into oslo.","accounts_in_message":[],"_revision_number":12},{"id":"1b143a39f5a563799753c5635ed6df730e542118","author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"date":"2013-04-18 17:23:08.000000000","message":"Patch Set 12: Looks good to me, but someone else must approve\n\nBased on Dolph\u0027s response, this fix is plenty.\r\nMuch thanks David and Dolph!\r\nMalini\r\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r\nFrom: Dolph Mathews [mailto:dolph.mathews@gmail.com] \r\nSent: Thursday, April 18, 2013 8:00 AM\r\nTo: OpenStack Development Mailing List\r\nSubject: Re: [openstack-dev] passwords in logs --security related\r\n\r\n1) passwords are currently logged by keystone when you enable debug mode (and there\u0027s a big warning in the sample.conf about passwords in plain text)\r\n2) the fix is very specific to the identity api\u0027s json presentation of passwords\r\n3) if any other service is handling passwords, then we\u0027re doing something very wrong\r\n\r\nI don\u0027t see a reason for anything to go into oslo?\r\n\r\n\r\n\r\n-Dolph\r\n\r\nOn Thu, Apr 18, 2013 at 1:48 AM, Bhandaru, Malini K \u003cmalini.k.bhandaru@intel.com\u003e wrote:\r\nHello All!\r\n \r\nDavid Geng is addressing a case of password logging in keystone. Do we handle any passwords in other openstack\r\ncomponents and log them?  Might they benefit from David moving his fix into Oslo as a log filter (a nice suggestion from Guang-yee).\r\nPlease weigh in. If yes, what is expected the string pattern?\r\n \r\nhttps://review.openstack.org/#/c/26487/\r\n \r\n \r\nRegards\r\nMalini","accounts_in_message":[],"_revision_number":12},{"id":"ffd04e4b9788f8a5c22b324e2f002db7c4cca58e","author":{"_account_id":994,"name":"Arvind Tiwari","email":"arvindt7@gmail.com","username":"arvind-tiwari"},"date":"2013-04-18 17:59:55.000000000","message":"Patch Set 12: Looks good to me, but someone else must approve\n\n","accounts_in_message":[],"_revision_number":12},{"id":"e79182aa4d79d45190a1e55b59be2234300cbbe3","author":{"_account_id":1803,"name":"Michael J Fork","email":"mjfork@us.ibm.com","username":"mjfork"},"date":"2013-04-19 14:35:49.000000000","message":"Patch Set 12: Looks good to me, but someone else must approve\n\n","accounts_in_message":[],"_revision_number":12},{"id":"740f5aaff6ac4265ed7066f3860704a725b1bd97","author":{"_account_id":494,"name":"termie","email":"termie@openstack.org","username":"termie"},"date":"2013-04-24 18:14:01.000000000","message":"Patch Set 12: (1 inline comment)\n\nsmall nit, otherwise lgtm :)","accounts_in_message":[],"_revision_number":12},{"id":"67d921f1e402935ef4c55a87b5c48952d940775b","author":{"_account_id":7135,"name":"Liang Chen","email":"liangchen.linux@gmail.com","username":"Liang"},"date":"2013-05-06 05:16:53.000000000","message":"Patch Set 12: Looks good to me, but someone else must approve\n\n","accounts_in_message":[],"_revision_number":12},{"id":"e56ba45e772641d7f3289193062b170817251850","author":{"_account_id":7291,"name":"Malcolm Anderson","email":"dufm1958@gmail.com"},"date":"2013-05-07 07:32:36.000000000","message":"Patch Set 12: Looks good to me, but someone else must approve\n\n","accounts_in_message":[],"_revision_number":12},{"id":"68de1a3a3823c4cad7a1aa8f47751979a44e630d","author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"date":"2013-05-08 23:33:37.000000000","message":"Patch Set 12: Looks good to me (core reviewer)\n\n","accounts_in_message":[],"_revision_number":12},{"id":"de34a645dce804327712f9a0bf6e99130a5afede","author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"date":"2013-05-09 02:51:26.000000000","message":"Patch Set 12: Approved\n\nApproving now based on the fact that this is a known issues that deployers are reporting - and current patch has general support.  Would request you come back in and do a minor refactor to move the code up in the file as suggested by termie","accounts_in_message":[],"_revision_number":12},{"id":"6687e2df4026686dbf34fcd88467b3ab6aef36ab","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-05-09 02:51:29.000000000","message":"Patch Set 12: No score\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":12},{"id":"688e2774f3b5dd60b8f8a7b20c6b74459e7a8564","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-05-09 03:36:43.000000000","message":"Patch Set 12: Verified\n\nBuild succeeded.\n\n- http://docs-draft.openstack.org/26487/12/gate/gate-keystone-docs/3338/doc/build/html/ : SUCCESS in 00:01:59\n- http://logs.openstack.org/26487/12/gate/gate-keystone-pep8/4964 : SUCCESS in 00:01:09\n- http://logs.openstack.org/26487/12/gate/gate-keystone-python26/3858 : SUCCESS in 00:07:52\n- http://logs.openstack.org/26487/12/gate/gate-keystone-python27/3870 : SUCCESS in 00:05:42\n- http://logs.openstack.org/26487/12/gate/gate-tempest-devstack-vm-full/15162 : SUCCESS in 00:44:19\n- http://logs.openstack.org/26487/12/gate/gate-tempest-devstack-vm-postgres-full/14877 : FAILURE in 00:45:04 (non-voting)\n- http://logs.openstack.org/26487/12/gate/gate-tempest-devstack-vm-quantum/21412 : SUCCESS in 00:20:49\n- http://logs.openstack.org/26487/12/gate/gate-grenade-devstack-vm/2907 : SUCCESS in 00:14:03 (non-voting)\n","accounts_in_message":[],"_revision_number":12},{"id":"6e09aa50f479df238f4a2fc9d717830e5797eb8d","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-05-09 03:36:44.000000000","message":"Change has been successfully merged into the git repository.","accounts_in_message":[],"_revision_number":12},{"id":"3bf5fac7be0b6730c2a87b13663fc04bd11d303d","author":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"date":"2013-05-09 03:40:49.000000000","message":"Patch Set 12:\n\nOk, I will check in the refactor in another new change.","accounts_in_message":[],"_revision_number":12}],"current_revision_number":12,"current_revision":"0dc1ad1e9c47aa7b04b944e88b071ea1a646ae91","revisions":{"501c3e2dae3e5e3c88b46a2ec1e22afbe3dc6f89":{"kind":"REWORK","_number":1,"created":"2013-04-09 14:59:51.000000000","uploader":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"ref":"refs/changes/87/26487/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/87/26487/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/87/26487/1"}}},"commit":{"parents":[{"commit":"89d35004411e1eec9b1af97f589f06ae871aca02","subject":"Merge \"Fix 401 status response\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/89d35004411e1eec9b1af97f589f06ae871aca02"}]}],"author":{"name":"gengjh","email":"gengjh@cn.ibm.com","date":"2013-04-09 14:13:31.000000000","tz":480},"committer":{"name":"gengjh","email":"gengjh@cn.ibm.com","date":"2013-04-09 14:58:17.000000000","tz":480},"subject":"Replace password to \"***\" in the debug message","message":"Replace password to \"***\" in the debug message\n\nUse regex pattern to replace password to \"***\" for both env vars and\nrequest body output\n\nFix bug 1166697\n\nChange-Id: I671ea25cca78b4dea1fbf2e63c89b82912279f2d\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/501c3e2dae3e5e3c88b46a2ec1e22afbe3dc6f89"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/501c3e2dae3e5e3c88b46a2ec1e22afbe3dc6f89"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"89d35004411e1eec9b1af97f589f06ae871aca02","is_merged_in_target_branch":true}],"branch":"refs/heads/master"},"3c30e65f9479c358bdf534ef473d11e469865396":{"kind":"REWORK","_number":2,"created":"2013-04-09 15:04:36.000000000","uploader":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"ref":"refs/changes/87/26487/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/87/26487/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/87/26487/2"}}},"commit":{"parents":[{"commit":"89d35004411e1eec9b1af97f589f06ae871aca02","subject":"Merge \"Fix 401 status response\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/89d35004411e1eec9b1af97f589f06ae871aca02"}]}],"author":{"name":"gengjh","email":"gengjh@cn.ibm.com","date":"2013-04-09 14:13:31.000000000","tz":480},"committer":{"name":"gengjh","email":"gengjh@cn.ibm.com","date":"2013-04-09 15:03:00.000000000","tz":480},"subject":"Replace password to \"***\" in the debug message","message":"Replace password to \"***\" in the debug message\n\nUse regex pattern to replace password to \"***\" for both env vars and\nrequest body output\n\nFix bug 1166697\n\nChange-Id: I671ea25cca78b4dea1fbf2e63c89b82912279f2d\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/3c30e65f9479c358bdf534ef473d11e469865396"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/3c30e65f9479c358bdf534ef473d11e469865396"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"89d35004411e1eec9b1af97f589f06ae871aca02","is_merged_in_target_branch":true}],"branch":"refs/heads/master"},"4ca82e1c2b7bcf9bc3fc95fde17973f852a3fdc7":{"kind":"REWORK","_number":3,"created":"2013-04-10 09:25:08.000000000","uploader":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"ref":"refs/changes/87/26487/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/87/26487/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/87/26487/3"}}},"commit":{"parents":[{"commit":"89d35004411e1eec9b1af97f589f06ae871aca02","subject":"Merge \"Fix 401 status response\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/89d35004411e1eec9b1af97f589f06ae871aca02"}]}],"author":{"name":"gengjh","email":"gengjh@cn.ibm.com","date":"2013-04-09 14:13:31.000000000","tz":480},"committer":{"name":"gengjh","email":"gengjh@cn.ibm.com","date":"2013-04-10 09:19:32.000000000","tz":480},"subject":"Replace password to \"***\" in the debug message","message":"Replace password to \"***\" in the debug message\n\nUse regex pattern to replace password to \"***\" for both env vars and\nrequest body output\n\nFix bug 1166697\n\nChange-Id: I671ea25cca78b4dea1fbf2e63c89b82912279f2d\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/4ca82e1c2b7bcf9bc3fc95fde17973f852a3fdc7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/4ca82e1c2b7bcf9bc3fc95fde17973f852a3fdc7"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"89d35004411e1eec9b1af97f589f06ae871aca02","is_merged_in_target_branch":true}],"branch":"refs/heads/master"},"188706a989c61b914bf74fff83891b4cbce3c81e":{"kind":"REWORK","_number":4,"created":"2013-04-10 11:07:08.000000000","uploader":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"ref":"refs/changes/87/26487/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/87/26487/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/87/26487/4"}}},"commit":{"parents":[{"commit":"89d35004411e1eec9b1af97f589f06ae871aca02","subject":"Merge \"Fix 401 status response\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/89d35004411e1eec9b1af97f589f06ae871aca02"}]}],"author":{"name":"gengjh","email":"gengjh@cn.ibm.com","date":"2013-04-09 14:13:31.000000000","tz":480},"committer":{"name":"gengjh","email":"gengjh@cn.ibm.com","date":"2013-04-10 11:02:52.000000000","tz":480},"subject":"Replace password to \"***\" in the debug message","message":"Replace password to \"***\" in the debug message\n\nUse regex pattern to replace password to \"***\" for both env vars and\nrequest body output\n\nFix bug 1166697\n\nChange-Id: I671ea25cca78b4dea1fbf2e63c89b82912279f2d\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/188706a989c61b914bf74fff83891b4cbce3c81e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/188706a989c61b914bf74fff83891b4cbce3c81e"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"89d35004411e1eec9b1af97f589f06ae871aca02","is_merged_in_target_branch":true}],"branch":"refs/heads/master"},"670e3df32d7c82cd2d3998f7c1d994637b234cbb":{"kind":"REWORK","_number":5,"created":"2013-04-10 16:55:02.000000000","uploader":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"ref":"refs/changes/87/26487/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/87/26487/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/87/26487/5"}}},"commit":{"parents":[{"commit":"89d35004411e1eec9b1af97f589f06ae871aca02","subject":"Merge \"Fix 401 status response\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/89d35004411e1eec9b1af97f589f06ae871aca02"}]}],"author":{"name":"gengjh","email":"gengjh@cn.ibm.com","date":"2013-04-09 14:13:31.000000000","tz":480},"committer":{"name":"gengjh","email":"gengjh@cn.ibm.com","date":"2013-04-10 16:54:00.000000000","tz":480},"subject":"Replace password to \"***\" in the debug message","message":"Replace password to \"***\" in the debug message\n\nUse regex pattern to replace password to \"***\" for both env vars and\nrequest body output\n\nFix bug 1166697\n\nChange-Id: I671ea25cca78b4dea1fbf2e63c89b82912279f2d\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/670e3df32d7c82cd2d3998f7c1d994637b234cbb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/670e3df32d7c82cd2d3998f7c1d994637b234cbb"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"89d35004411e1eec9b1af97f589f06ae871aca02","is_merged_in_target_branch":true}],"branch":"refs/heads/master"},"24359c8483d5608ccc3cbd6d90d4d2502174e832":{"kind":"REWORK","_number":6,"created":"2013-04-11 06:49:09.000000000","uploader":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"ref":"refs/changes/87/26487/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/87/26487/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/87/26487/6"}}},"commit":{"parents":[{"commit":"89d35004411e1eec9b1af97f589f06ae871aca02","subject":"Merge \"Fix 401 status response\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/89d35004411e1eec9b1af97f589f06ae871aca02"}]}],"author":{"name":"gengjh","email":"gengjh@cn.ibm.com","date":"2013-04-09 14:13:31.000000000","tz":480},"committer":{"name":"gengjh","email":"gengjh@cn.ibm.com","date":"2013-04-11 06:47:40.000000000","tz":480},"subject":"Replace password to \"***\" in the debug message","message":"Replace password to \"***\" in the debug message\n\nUse regex pattern to replace password to \"***\" for both env vars and\nrequest body output\n\nFix bug 1166697\n\nChange-Id: I671ea25cca78b4dea1fbf2e63c89b82912279f2d\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/24359c8483d5608ccc3cbd6d90d4d2502174e832"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/24359c8483d5608ccc3cbd6d90d4d2502174e832"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"89d35004411e1eec9b1af97f589f06ae871aca02","is_merged_in_target_branch":true}],"branch":"refs/heads/master"},"452d9126f6ba4dbe64bd5423b12e6eef9608609a":{"kind":"REWORK","_number":7,"created":"2013-04-11 15:56:57.000000000","uploader":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"ref":"refs/changes/87/26487/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/87/26487/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/87/26487/7"}}},"commit":{"parents":[{"commit":"89d35004411e1eec9b1af97f589f06ae871aca02","subject":"Merge \"Fix 401 status response\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/89d35004411e1eec9b1af97f589f06ae871aca02"}]}],"author":{"name":"gengjh","email":"gengjh@cn.ibm.com","date":"2013-04-09 14:13:31.000000000","tz":480},"committer":{"name":"gengjh","email":"gengjh@cn.ibm.com","date":"2013-04-11 15:55:46.000000000","tz":480},"subject":"Replace password to \"***\" in the debug message","message":"Replace password to \"***\" in the debug message\n\nUse regex pattern to replace password to \"***\" for both env vars and\nrequest body output\n\nFix bug 1166697\n\nChange-Id: I671ea25cca78b4dea1fbf2e63c89b82912279f2d\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/452d9126f6ba4dbe64bd5423b12e6eef9608609a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/452d9126f6ba4dbe64bd5423b12e6eef9608609a"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"89d35004411e1eec9b1af97f589f06ae871aca02","is_merged_in_target_branch":true}],"branch":"refs/heads/master"},"079d37182d89d67a5af1bf6e9971add526337f73":{"kind":"REWORK","_number":8,"created":"2013-04-12 09:37:06.000000000","uploader":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"ref":"refs/changes/87/26487/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/87/26487/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/87/26487/8"}}},"commit":{"parents":[{"commit":"89d35004411e1eec9b1af97f589f06ae871aca02","subject":"Merge \"Fix 401 status response\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/89d35004411e1eec9b1af97f589f06ae871aca02"}]}],"author":{"name":"gengjh","email":"gengjh@cn.ibm.com","date":"2013-04-09 14:13:31.000000000","tz":480},"committer":{"name":"gengjh","email":"gengjh@cn.ibm.com","date":"2013-04-12 09:35:25.000000000","tz":480},"subject":"Replace password to \"***\" in the debug message","message":"Replace password to \"***\" in the debug message\n\nUse regex pattern to replace password to \"***\" for both env vars and\nrequest body output\n\nFix bug 1166697\n\nChange-Id: I671ea25cca78b4dea1fbf2e63c89b82912279f2d\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/079d37182d89d67a5af1bf6e9971add526337f73"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/079d37182d89d67a5af1bf6e9971add526337f73"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"89d35004411e1eec9b1af97f589f06ae871aca02","is_merged_in_target_branch":true}],"branch":"refs/heads/master"},"feaa258e3bf292769adab76d805aa373040f56ec":{"kind":"REWORK","_number":9,"created":"2013-04-13 08:40:57.000000000","uploader":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"ref":"refs/changes/87/26487/9","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/87/26487/9","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/87/26487/9"}}},"commit":{"parents":[{"commit":"fa49f65c97e33f44b27fee0e45c7e51ef5dad71f","subject":"Merge \"Clean up duplicate methods\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/fa49f65c97e33f44b27fee0e45c7e51ef5dad71f"}]}],"author":{"name":"gengjh","email":"gengjh@cn.ibm.com","date":"2013-04-09 14:13:31.000000000","tz":480},"committer":{"name":"gengjh","email":"gengjh@cn.ibm.com","date":"2013-04-13 08:40:37.000000000","tz":480},"subject":"Replace password to \"***\" in the debug message","message":"Replace password to \"***\" in the debug message\n\nUse regex pattern to replace password to \"***\" for both env vars and\nrequest body output\n\nFix bug 1166697\n\nChange-Id: I671ea25cca78b4dea1fbf2e63c89b82912279f2d","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/feaa258e3bf292769adab76d805aa373040f56ec"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/feaa258e3bf292769adab76d805aa373040f56ec"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"fa49f65c97e33f44b27fee0e45c7e51ef5dad71f","is_merged_in_target_branch":true}],"branch":"refs/heads/master"},"c9aec264836afa6f77eb4b1976f31dc4cef34b2c":{"kind":"REWORK","_number":10,"created":"2013-04-16 12:58:08.000000000","uploader":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"ref":"refs/changes/87/26487/10","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/87/26487/10","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/87/26487/10"}}},"commit":{"parents":[{"commit":"fa49f65c97e33f44b27fee0e45c7e51ef5dad71f","subject":"Merge \"Clean up duplicate methods\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/fa49f65c97e33f44b27fee0e45c7e51ef5dad71f"}]}],"author":{"name":"gengjh","email":"gengjh@cn.ibm.com","date":"2013-04-09 14:13:31.000000000","tz":480},"committer":{"name":"gengjh","email":"gengjh@cn.ibm.com","date":"2013-04-16 12:54:29.000000000","tz":480},"subject":"Replace password to \"***\" in the debug message","message":"Replace password to \"***\" in the debug message\n\nUse regex pattern to replace password to \"***\" for both env vars and\nrequest body output\n\nFix bug 1166697\n\nChange-Id: I671ea25cca78b4dea1fbf2e63c89b82912279f2d","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/c9aec264836afa6f77eb4b1976f31dc4cef34b2c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/c9aec264836afa6f77eb4b1976f31dc4cef34b2c"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"fa49f65c97e33f44b27fee0e45c7e51ef5dad71f","is_merged_in_target_branch":true}],"branch":"refs/heads/master"},"0789f489ba4a03942b0000ff2fc754155ca72203":{"kind":"REWORK","_number":11,"created":"2013-04-16 13:18:07.000000000","uploader":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"ref":"refs/changes/87/26487/11","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/87/26487/11","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/87/26487/11"}}},"commit":{"parents":[{"commit":"fa49f65c97e33f44b27fee0e45c7e51ef5dad71f","subject":"Merge \"Clean up duplicate methods\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/fa49f65c97e33f44b27fee0e45c7e51ef5dad71f"}]}],"author":{"name":"gengjh","email":"gengjh@cn.ibm.com","date":"2013-04-09 14:13:31.000000000","tz":480},"committer":{"name":"gengjh","email":"gengjh@cn.ibm.com","date":"2013-04-16 13:17:35.000000000","tz":480},"subject":"Replace password to \"***\" in the debug message","message":"Replace password to \"***\" in the debug message\n\nUse regex pattern to replace password to \"***\" for both env vars and\nrequest body output\n\nFix bug 1166697\n\nChange-Id: I671ea25cca78b4dea1fbf2e63c89b82912279f2d","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/0789f489ba4a03942b0000ff2fc754155ca72203"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/0789f489ba4a03942b0000ff2fc754155ca72203"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"fa49f65c97e33f44b27fee0e45c7e51ef5dad71f","is_merged_in_target_branch":true}],"branch":"refs/heads/master"},"0dc1ad1e9c47aa7b04b944e88b071ea1a646ae91":{"kind":"REWORK","_number":12,"created":"2013-04-16 14:55:58.000000000","uploader":{"_account_id":6526,"name":"David Geng","email":"gengjh@cn.ibm.com","username":"genggjh"},"ref":"refs/changes/87/26487/12","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/87/26487/12","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/12 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/12 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/87/26487/12 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/87/26487/12"}}},"commit":{"parents":[{"commit":"fa49f65c97e33f44b27fee0e45c7e51ef5dad71f","subject":"Merge \"Clean up duplicate methods\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/fa49f65c97e33f44b27fee0e45c7e51ef5dad71f"}]}],"author":{"name":"gengjh","email":"gengjh@cn.ibm.com","date":"2013-04-09 14:13:31.000000000","tz":480},"committer":{"name":"gengjh","email":"gengjh@cn.ibm.com","date":"2013-04-16 14:50:25.000000000","tz":480},"subject":"Replace password to \"***\" in the debug message","message":"Replace password to \"***\" in the debug message\n\nUse regex pattern to replace password to \"***\" for both env vars and\nrequest body output\n\nFix bug 1166697\n\nChange-Id: I671ea25cca78b4dea1fbf2e63c89b82912279f2d","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/0dc1ad1e9c47aa7b04b944e88b071ea1a646ae91"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/0dc1ad1e9c47aa7b04b944e88b071ea1a646ae91"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"fa49f65c97e33f44b27fee0e45c7e51ef5dad71f","is_merged_in_target_branch":true}],"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
