)]}'
{"id":"openstack%2Fpython-keystoneclient~286236","triplet_id":"openstack%2Fpython-keystoneclient~master~Ic0fcde67fb2e6e2e5ff7506eab3fd29e25fc76e8","project":"openstack/python-keystoneclient","branch":"master","topic":"bug/1551392","hashtags":[],"change_id":"Ic0fcde67fb2e6e2e5ff7506eab3fd29e25fc76e8","subject":"Fix invalidation of tokens stored by DefaultCLI plugin","status":"ABANDONED","created":"2016-02-29 19:17:00.000000000","updated":"2016-03-10 08:57:38.000000000","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"cd5ecdc360f7023f9faeaa445c85ceda1ae901bd","_number":286236,"virtual_id_number":286236,"owner":{"_account_id":20312,"name":"Jacek Tomasiak","email":"jacek.tomasiak@gmail.com","username":"skazi"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":1,"date":"2016-03-02 22:38:58.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":18675,"name":"Sharath Rao","email":"sharath.rao@ericsson.com","username":"sharath.rao"},{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},{"date":"2016-03-02 21:18:31.000000000","_account_id":20312,"name":"Jacek Tomasiak","email":"jacek.tomasiak@gmail.com","username":"skazi"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"rejected":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":18675,"name":"Sharath Rao","email":"sharath.rao@ericsson.com","username":"sharath.rao"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},{"value":-2,"date":"2016-03-02 20:53:23.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":20312,"name":"Jacek Tomasiak","email":"jacek.tomasiak@gmail.com","username":"skazi"}],"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":{"all":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":18675,"name":"Sharath Rao","email":"sharath.rao@ericsson.com","username":"sharath.rao"},{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},{"value":0,"permitted_voting_range":{"min":-1,"max":0},"_account_id":20312,"name":"Jacek Tomasiak","email":"jacek.tomasiak@gmail.com","username":"skazi"}],"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":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},{"_account_id":18675,"name":"Sharath Rao","email":"sharath.rao@ericsson.com","username":"sharath.rao"},{"_account_id":20312,"name":"Jacek Tomasiak","email":"jacek.tomasiak@gmail.com","username":"skazi"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2016-03-01 15:54:54.000000000","updated_by":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"reviewer":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"state":"REVIEWER"},{"updated":"2016-03-02 20:20:53.000000000","updated_by":{"_account_id":18675,"name":"Sharath Rao","email":"sharath.rao@ericsson.com","username":"sharath.rao"},"reviewer":{"_account_id":18675,"name":"Sharath Rao","email":"sharath.rao@ericsson.com","username":"sharath.rao"},"state":"REVIEWER"},{"updated":"2016-03-02 20:53:23.000000000","updated_by":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"reviewer":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"state":"REVIEWER"},{"updated":"2016-03-02 22:38:58.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"75abb9d81412f25020bf6a73ae2d7eb6d9ab0c61","author":{"_account_id":20312,"name":"Jacek Tomasiak","email":"jacek.tomasiak@gmail.com","username":"skazi"},"date":"2016-02-29 19:17:00.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"b05c9aa250a7d0eca4ab92a1124591943a8ff8c5","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-02-29 23:22:48.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-keystoneclient-pep8 http://logs.openstack.org/36/286236/1/check/gate-python-keystoneclient-pep8/3410e23/ : SUCCESS in 1m 18s\n- gate-python-keystoneclient-docs http://docs-draft.openstack.org/36/286236/1/check/gate-python-keystoneclient-docs/e8b2ee1//doc/build/html/ : SUCCESS in 1m 27s\n- gate-python-keystoneclient-python27 http://logs.openstack.org/36/286236/1/check/gate-python-keystoneclient-python27/cef9461/ : SUCCESS in 1m 46s\n- gate-python-keystoneclient-python34 http://logs.openstack.org/36/286236/1/check/gate-python-keystoneclient-python34/576f5c2/ : SUCCESS in 3m 15s\n- gate-tempest-dsvm-neutron-src-python-keystoneclient http://logs.openstack.org/36/286236/1/check/gate-tempest-dsvm-neutron-src-python-keystoneclient/9c3fcd2/ : SUCCESS in 1h 04m 15s\n- gate-keystoneclient-dsvm-functional http://logs.openstack.org/36/286236/1/check/gate-keystoneclient-dsvm-functional/b565665/ : SUCCESS in 18m 25s","accounts_in_message":[],"_revision_number":1},{"id":"94b4b1920c79571de0735009e9014f1feb2b5b54","author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"date":"2016-03-01 15:54:54.000000000","message":"Patch Set 1: Code-Review-1\n\nthis definitely needs a test","accounts_in_message":[],"_revision_number":1},{"id":"66b9d1e705797c3b998d2b40c70a11ef46b0f47c","author":{"_account_id":20312,"name":"Jacek Tomasiak","email":"jacek.tomasiak@gmail.com","username":"skazi"},"date":"2016-03-02 12:46:37.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"44ce486533506bfda29cb3ed53fdc4ee7c0ff45f","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-03-02 14:00:17.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-keystoneclient-pep8 http://logs.openstack.org/36/286236/2/check/gate-python-keystoneclient-pep8/fdbff0e/ : SUCCESS in 52s\n- gate-python-keystoneclient-docs http://docs-draft.openstack.org/36/286236/2/check/gate-python-keystoneclient-docs/44873ea//doc/build/html/ : SUCCESS in 1m 07s\n- gate-python-keystoneclient-python27 http://logs.openstack.org/36/286236/2/check/gate-python-keystoneclient-python27/ca7de0c/ : SUCCESS in 1m 11s\n- gate-python-keystoneclient-python34 http://logs.openstack.org/36/286236/2/check/gate-python-keystoneclient-python34/9417fba/ : SUCCESS in 3m 21s\n- gate-tempest-dsvm-neutron-src-python-keystoneclient http://logs.openstack.org/36/286236/2/check/gate-tempest-dsvm-neutron-src-python-keystoneclient/96c60f1/ : SUCCESS in 1h 06m 27s\n- gate-keystoneclient-dsvm-functional http://logs.openstack.org/36/286236/2/check/gate-keystoneclient-dsvm-functional/8d04dd2/ : SUCCESS in 23m 24s","accounts_in_message":[],"_revision_number":2},{"id":"d0a7ce2b02990327d03f5bc77e8346a03f4d29fc","author":{"_account_id":18675,"name":"Sharath Rao","email":"sharath.rao@ericsson.com","username":"sharath.rao"},"date":"2016-03-02 14:05:25.000000000","message":"Patch Set 2: Code-Review-1\n\nCommit message needs to fixed to follow guidelines - https://wiki.openstack.org/wiki/GitCommitMessages","accounts_in_message":[],"_revision_number":2},{"id":"3e0e2c3b9f46abe5b8bafe73e3af7c3a4e3e33b9","author":{"_account_id":20312,"name":"Jacek Tomasiak","email":"jacek.tomasiak@gmail.com","username":"skazi"},"date":"2016-03-02 19:28:39.000000000","message":"Patch Set 2:\n\n@Sharath: could you be more specific on what needs to be fixed? I know this guide and try to follow it in all of my commit messages.","accounts_in_message":[],"_revision_number":2},{"id":"4bc635b69efe4c71a3c2e4bf00838453c6cc9303","author":{"_account_id":18675,"name":"Sharath Rao","email":"sharath.rao@ericsson.com","username":"sharath.rao"},"date":"2016-03-02 20:20:53.000000000","message":"Patch Set 2: -Code-Review\n\nYour comment needs to be wrapped to 72","accounts_in_message":[],"_revision_number":2},{"id":"f88b9b68e85e8a9b82e9e04905ad5fe448fb6ae0","author":{"_account_id":20312,"name":"Jacek Tomasiak","email":"jacek.tomasiak@gmail.com","username":"skazi"},"date":"2016-03-02 20:42:02.000000000","message":"Uploaded patch set 3: Commit message was updated.","accounts_in_message":[],"_revision_number":3},{"id":"ee58d555987407dc61be7704563f2a094feb68fd","author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"date":"2016-03-02 20:53:23.000000000","message":"Patch Set 3: Code-Review-2\n\nKeystoneclient CLI is deprecated in favour of openstackclient. The session code has also moved to keystoneauth library. Please submit changes to keystoneauth or openstackclient as needed.","accounts_in_message":[],"_revision_number":3},{"id":"00a43e073cb71287a2d27c1535fab8bde0563586","author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"date":"2016-03-02 21:00:01.000000000","message":"Patch Set 3:\n\nTo be clear, this is a bug we should fix if it affects Keystoneauth and please do fix it there. There is little point in continuing work with keystoneclient as everything is moving/has moved to keystoneauth.","accounts_in_message":[],"_revision_number":3},{"id":"4e3ad3a7614a067013a2e5f564ff9d8c6f68736c","author":{"_account_id":20312,"name":"Jacek Tomasiak","email":"jacek.tomasiak@gmail.com","username":"skazi"},"date":"2016-03-02 21:18:31.000000000","message":"Patch Set 3:\n\nAs I mentioned in the bug report comments, I checked briefly in keystoneauth and have not found anything similar to DefaultCLI plugin. I will check again to be sure I didn\u0027t miss anything.\n\nI don\u0027t agree that this bug should not be fixed as it affects projects which have not migrated to keystoneauth yet. It was discovered while trying to fix muranoclient which doesn\u0027t use keystoneauth yet (https://bugs.launchpad.net/python-muranoclient/+bug/1499329).","accounts_in_message":[],"_revision_number":3},{"id":"a0529d490e4d9ce434fdb2461fe5d305c80ae7aa","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-03-02 22:38:58.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-keystoneclient-pep8 http://logs.openstack.org/36/286236/3/check/gate-python-keystoneclient-pep8/15a3b8a/ : SUCCESS in 55s\n- gate-python-keystoneclient-docs http://docs-draft.openstack.org/36/286236/3/check/gate-python-keystoneclient-docs/48986d7//doc/build/html/ : SUCCESS in 1m 22s\n- gate-python-keystoneclient-python27 http://logs.openstack.org/36/286236/3/check/gate-python-keystoneclient-python27/1687cad/ : SUCCESS in 1m 12s\n- gate-python-keystoneclient-python34 http://logs.openstack.org/36/286236/3/check/gate-python-keystoneclient-python34/f74d87a/ : SUCCESS in 3m 31s\n- gate-tempest-dsvm-neutron-src-python-keystoneclient http://logs.openstack.org/36/286236/3/check/gate-tempest-dsvm-neutron-src-python-keystoneclient/73a48d3/ : SUCCESS in 1h 09m 46s\n- gate-keystoneclient-dsvm-functional http://logs.openstack.org/36/286236/3/check/gate-keystoneclient-dsvm-functional/8f0d3bb/ : SUCCESS in 20m 41s","accounts_in_message":[],"_revision_number":3},{"id":"41e1edf919e9dbe6a81363b207bc29d41710c5bb","author":{"_account_id":20312,"name":"Jacek Tomasiak","email":"jacek.tomasiak@gmail.com","username":"skazi"},"date":"2016-03-10 08:57:38.000000000","message":"Abandoned\n\nProblem worked around on client side.","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"f27c538a7af282860c585b968f02f2419449c3b1","revisions":{"8fb7b115d0d8787eb668a288939bdcd4d8938840":{"kind":"REWORK","_number":1,"created":"2016-02-29 19:17:00.000000000","uploader":{"_account_id":20312,"name":"Jacek Tomasiak","email":"jacek.tomasiak@gmail.com","username":"skazi"},"ref":"refs/changes/36/286236/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-keystoneclient","ref":"refs/changes/36/286236/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/36/286236/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/36/286236/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/36/286236/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-keystoneclient refs/changes/36/286236/1"}}},"commit":{"parents":[{"commit":"d871cd96e09d5b65d7cd709893c8133f686d96c2","subject":"Merge \"Tests stop using deprecated HTTPClient.get()\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/d871cd96e09d5b65d7cd709893c8133f686d96c2"}]}],"author":{"name":"Jacek Tomasiak","email":"jacek.tomasiak@gmail.com","date":"2016-02-29 19:05:19.000000000","tz":60},"committer":{"name":"Jacek Tomasiak","email":"jacek.tomasiak@gmail.com","date":"2016-02-29 19:07:08.000000000","tz":60},"subject":"Fix invalidation of tokens stored by DefaultCLI plugin","message":"Fix invalidation of tokens stored by DefaultCLI plugin\n\nKeystoneclient Session\u0027s \"reauth\" functionality relies on proper implementation\nof invalidate() in auth plugins. Auth plugin needs to return True if it did\nanything which could enable successful re-authentication.\nDefaultCLI plugin aims to handle common CLI cases where any combination of\ntoken and/or username/password could be provided. The only case which has to\ndeal with re-authentication is when both token and username/password are\navailable. In such cases DefaultCLI when asked to invalidate should remove\nold token to enable fallback to username/password.\n\nThis change implements custom invalidate() which fixes re-auth for CLI clients\nusing DefaultCLI auth plugin.\n\nChange-Id: Ic0fcde67fb2e6e2e5ff7506eab3fd29e25fc76e8\nCloses-Bug: #1551392\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/8fb7b115d0d8787eb668a288939bdcd4d8938840"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/8fb7b115d0d8787eb668a288939bdcd4d8938840"}]},"branch":"refs/heads/master"},"24b7200d57c07bc58eacdd00040ecaf2fc75f774":{"kind":"REWORK","_number":2,"created":"2016-03-02 12:46:37.000000000","uploader":{"_account_id":20312,"name":"Jacek Tomasiak","email":"jacek.tomasiak@gmail.com","username":"skazi"},"ref":"refs/changes/36/286236/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-keystoneclient","ref":"refs/changes/36/286236/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/36/286236/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/36/286236/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/36/286236/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-keystoneclient refs/changes/36/286236/2"}}},"commit":{"parents":[{"commit":"d871cd96e09d5b65d7cd709893c8133f686d96c2","subject":"Merge \"Tests stop using deprecated HTTPClient.get()\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/d871cd96e09d5b65d7cd709893c8133f686d96c2"}]}],"author":{"name":"Jacek Tomasiak","email":"jacek.tomasiak@gmail.com","date":"2016-02-29 19:05:19.000000000","tz":60},"committer":{"name":"Jacek Tomasiak","email":"jacek.tomasiak@gmail.com","date":"2016-03-02 12:46:33.000000000","tz":60},"subject":"Fix invalidation of tokens stored by DefaultCLI plugin","message":"Fix invalidation of tokens stored by DefaultCLI plugin\n\nKeystoneclient Session\u0027s \"reauth\" functionality relies on proper implementation\nof invalidate() in auth plugins. Auth plugin needs to return True if it did\nanything which could enable successful re-authentication.\nDefaultCLI plugin aims to handle common CLI cases where any combination of\ntoken and/or username/password could be provided. The only case which has to\ndeal with re-authentication is when both token and username/password are\navailable. In such cases DefaultCLI when asked to invalidate should remove\nold token to enable fallback to username/password.\n\nThis change implements custom invalidate() which fixes re-auth for CLI clients\nusing DefaultCLI auth plugin.\n\nChange-Id: Ic0fcde67fb2e6e2e5ff7506eab3fd29e25fc76e8\nCloses-Bug: #1551392\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/24b7200d57c07bc58eacdd00040ecaf2fc75f774"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/24b7200d57c07bc58eacdd00040ecaf2fc75f774"}]},"branch":"refs/heads/master"},"f27c538a7af282860c585b968f02f2419449c3b1":{"kind":"NO_CODE_CHANGE","_number":3,"created":"2016-03-02 20:42:02.000000000","uploader":{"_account_id":20312,"name":"Jacek Tomasiak","email":"jacek.tomasiak@gmail.com","username":"skazi"},"ref":"refs/changes/36/286236/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-keystoneclient","ref":"refs/changes/36/286236/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/36/286236/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/36/286236/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/36/286236/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-keystoneclient refs/changes/36/286236/3"}}},"commit":{"parents":[{"commit":"d871cd96e09d5b65d7cd709893c8133f686d96c2","subject":"Merge \"Tests stop using deprecated HTTPClient.get()\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/d871cd96e09d5b65d7cd709893c8133f686d96c2"}]}],"author":{"name":"Jacek Tomasiak","email":"jacek.tomasiak@gmail.com","date":"2016-02-29 19:05:19.000000000","tz":60},"committer":{"name":"Jacek Tomasiak","email":"jacek.tomasiak@gmail.com","date":"2016-03-02 20:40:04.000000000","tz":60},"subject":"Fix invalidation of tokens stored by DefaultCLI plugin","message":"Fix invalidation of tokens stored by DefaultCLI plugin\n\nKeystoneclient Session\u0027s \"reauth\" functionality relies on proper\nimplementation of invalidate() in auth plugins. Auth plugin needs to\nreturn True if it did anything which could enable successful\nre-authentication.\nDefaultCLI plugin aims to handle common CLI cases where any combination\nof token and/or username/password could be provided. The only case\nwhich has to deal with re-authentication is when both token and\nusername/password are available. In such cases DefaultCLI when asked to\ninvalidate should remove old token to enable fallback to\nusername/password.\n\nThis change implements custom invalidate() which fixes re-auth for\nclients using DefaultCLI auth plugin.\n\nChange-Id: Ic0fcde67fb2e6e2e5ff7506eab3fd29e25fc76e8\nCloses-Bug: #1551392\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/f27c538a7af282860c585b968f02f2419449c3b1"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/f27c538a7af282860c585b968f02f2419449c3b1"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
