)]}'
{"id":"openstack%2Fpython-openstackclient~187033","triplet_id":"openstack%2Fpython-openstackclient~master~I8cab3e423663f801cbf2d83106c671bddc58d7e6","project":"openstack/python-openstackclient","branch":"master","topic":"bug/1460369","hashtags":[],"change_id":"I8cab3e423663f801cbf2d83106c671bddc58d7e6","subject":"Set tenant options on parsed namespace","status":"MERGED","created":"2015-05-31 03:44:23.000000000","updated":"2015-06-02 02:15:54.000000000","submitted":"2015-06-02 02:15:52.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":3,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"e9d0863b9e27e9424a99f1008de79edcc39694f5","_number":187033,"virtual_id_number":187033,"owner":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":0,"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},{"value":0,"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"value":0,"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},{"value":2,"date":"2015-06-02 02:15:52.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"date":"2015-05-31 06:04:09.000000000","_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"}],"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":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"all":[{"value":2,"date":"2015-05-31 15:15:48.000000000","_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},{"value":2,"date":"2015-05-31 05:06:13.000000000","_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"value":1,"date":"2015-05-31 21:40:57.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"all":[{"value":0,"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},{"value":1,"date":"2015-06-02 01:25:06.000000000","_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"value":0,"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2015-05-31 15:15:48.000000000","updated_by":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"reviewer":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"state":"REVIEWER"},{"updated":"2015-05-31 21:40:57.000000000","updated_by":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"reviewer":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"state":"REVIEWER"},{"updated":"2015-06-02 01:25:06.000000000","updated_by":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"reviewer":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"state":"REVIEWER"},{"updated":"2015-06-02 02:15:52.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"cf68fb3f6b0140bd21de5519449143e817a0eb6a","author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"date":"2015-05-31 03:44:23.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"05874c5d839a946410c0c5e13d738d5e83c3c9fd","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-05-31 04:28:18.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-openstackclient-python26 http://logs.openstack.org/33/187033/1/check/gate-python-openstackclient-python26/d8fd1ad/ : SUCCESS in 1m 52s\n- gate-python-openstackclient-pep8 http://logs.openstack.org/33/187033/1/check/gate-python-openstackclient-pep8/91df44f/ : SUCCESS in 1m 24s\n- gate-python-openstackclient-docs http://docs-draft.openstack.org/33/187033/1/check/gate-python-openstackclient-docs/a7dd1b5//doc/build/html/ : SUCCESS in 1m 50s\n- gate-python-openstackclient-python27 http://logs.openstack.org/33/187033/1/check/gate-python-openstackclient-python27/8731bd6/ : SUCCESS in 1m 16s\n- gate-python-openstackclient-python34 http://logs.openstack.org/33/187033/1/check/gate-python-openstackclient-python34/8072619/ : SUCCESS in 1m 44s\n- gate-tempest-dsvm-neutron-src-python-openstackclient http://logs.openstack.org/33/187033/1/check/gate-tempest-dsvm-neutron-src-python-openstackclient/75a13fd/ : SUCCESS in 43m 45s\n- check-osc-dsvm-functional http://logs.openstack.org/33/187033/1/check/check-osc-dsvm-functional/2fff408/ : SUCCESS in 16m 46s","accounts_in_message":[],"_revision_number":1},{"id":"e9f3465dc50662af1513a61c68f411794d8e65e7","author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"date":"2015-05-31 05:02:39.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"e803ed1295637458b226935e8d5b0162c5ac5aa1","author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"date":"2015-05-31 05:03:58.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"c01ffcbd48ba7a7132ed5da9c09904e338483433","author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"date":"2015-05-31 05:06:13.000000000","message":"Patch Set 2: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"2dc8ac0e165c9a640eba93ce4bf2d8b2f2aa2a6a","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-05-31 05:50:46.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-openstackclient-python26 http://logs.openstack.org/33/187033/2/check/gate-python-openstackclient-python26/95eba80/ : SUCCESS in 1m 41s\n- gate-python-openstackclient-pep8 http://logs.openstack.org/33/187033/2/check/gate-python-openstackclient-pep8/f3030d1/ : SUCCESS in 1m 06s\n- gate-python-openstackclient-docs http://docs-draft.openstack.org/33/187033/2/check/gate-python-openstackclient-docs/12d5e6d//doc/build/html/ : SUCCESS in 1m 31s\n- gate-python-openstackclient-python27 http://logs.openstack.org/33/187033/2/check/gate-python-openstackclient-python27/5dd8882/ : SUCCESS in 1m 38s\n- gate-python-openstackclient-python34 http://logs.openstack.org/33/187033/2/check/gate-python-openstackclient-python34/d646d0f/ : SUCCESS in 2m 00s\n- gate-tempest-dsvm-neutron-src-python-openstackclient http://logs.openstack.org/33/187033/2/check/gate-tempest-dsvm-neutron-src-python-openstackclient/92b7c38/ : SUCCESS in 46m 32s\n- check-osc-dsvm-functional http://logs.openstack.org/33/187033/2/check/check-osc-dsvm-functional/232673b/ : SUCCESS in 17m 16s","accounts_in_message":[],"_revision_number":2},{"id":"6dc325a210eb97e9f234452ca9fa1af8c6d78144","author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"date":"2015-05-31 06:04:09.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"573fc50058d13ded07ccba0e6176bb1877ea3dec","author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"date":"2015-05-31 15:15:48.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"e372c65f92cb6c1affcb43d0c636e4269897ecaf","author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"date":"2015-05-31 21:40:57.000000000","message":"Patch Set 2: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"ff3a6226194af52b0413ab84a2c11de01ad12de1","author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"date":"2015-06-02 01:25:06.000000000","message":"Patch Set 2: Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"78b528a4185badde3ee4799e66a4dbe578c03efc","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-06-02 01:25:15.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":2},{"id":"e802b0b4d3f4722ce28b58f9cd4123c1f1f41089","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-06-02 02:15:52.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- gate-python-openstackclient-python26 http://logs.openstack.org/33/187033/2/gate/gate-python-openstackclient-python26/03f850f/ : SUCCESS in 1m 21s\n- gate-python-openstackclient-docs http://docs-draft.openstack.org/33/187033/2/gate/gate-python-openstackclient-docs/04bb020//doc/build/html/ : SUCCESS in 2m 28s\n- gate-python-openstackclient-pep8 http://logs.openstack.org/33/187033/2/gate/gate-python-openstackclient-pep8/de6fbed/ : SUCCESS in 1m 27s\n- gate-python-openstackclient-python27 http://logs.openstack.org/33/187033/2/gate/gate-python-openstackclient-python27/0c0e495/ : SUCCESS in 1m 41s\n- gate-python-openstackclient-python34 http://logs.openstack.org/33/187033/2/gate/gate-python-openstackclient-python34/1411f7a/ : SUCCESS in 1m 30s\n- gate-tempest-dsvm-neutron-src-python-openstackclient http://logs.openstack.org/33/187033/2/gate/gate-tempest-dsvm-neutron-src-python-openstackclient/edc1bd8/ : SUCCESS in 50m 33s\n- gate-osc-dsvm-functional http://logs.openstack.org/33/187033/2/gate/gate-osc-dsvm-functional/8e286d9/ : SUCCESS in 18m 58s","accounts_in_message":[],"_revision_number":2},{"id":"ec68d1b9b3b8d529527baf5769599a85ff96f388","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-06-02 02:15:54.000000000","message":"Change has been successfully merged into the git repository.","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"3ae247fdceac0e2c7bb6160f9ffefc4ad5d8da29","revisions":{"02bc80acaf138da2ffe704bae6e99b37839c386b":{"kind":"REWORK","_number":1,"created":"2015-05-31 03:44:23.000000000","uploader":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"ref":"refs/changes/33/187033/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/33/187033/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/33/187033/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/33/187033/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/33/187033/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/33/187033/1"}}},"commit":{"parents":[{"commit":"211c14c638b9bf393932be42d4f04a4dd12a84bc","subject":"Fix shell tests","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/211c14c638b9bf393932be42d4f04a4dd12a84bc"}]}],"author":{"name":"Jamie Lennox","email":"jamielennox@redhat.com","date":"2015-05-31 03:37:50.000000000","tz":600},"committer":{"name":"Jamie Lennox","email":"jamielennox@redhat.com","date":"2015-05-31 03:37:50.000000000","tz":600},"subject":"Set tenant options on parsed namespace","message":"Set tenant options on parsed namespace\n\nBecause of the way OSC registers all plugins together we end up\nwith os-tenant-X parameters being saved to the project-X attribute after\nparsing. If you are using the v2 plugins directly then they and os-client-config\nexpect the tenant_X values and will assuming no scoping information if\nthey are not present.\n\nValidating options for scope will also fail in this situation, not just\nbecause the resultant auth dictionary is missing the tenant-X\nattributes, but because OSC validates that either project or domain\nscope information is present.\n\nFix this by just always setting the v2 parameters if the v3 parameters\nare present. This will have no effect on the generic or v3 case but fix\nthe v2 case.\n\nExpand validation to include the tenant options so it knows that v2\nplugins are scoped.\n\nChange-Id: I8cab3e423663f801cbf2d83106c671bddc58d7e6\nCloses-Bug: #1460369\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/02bc80acaf138da2ffe704bae6e99b37839c386b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/02bc80acaf138da2ffe704bae6e99b37839c386b"}]},"branch":"refs/heads/master"},"3ae247fdceac0e2c7bb6160f9ffefc4ad5d8da29":{"kind":"REWORK","_number":2,"created":"2015-05-31 05:03:58.000000000","uploader":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"ref":"refs/changes/33/187033/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/33/187033/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/33/187033/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/33/187033/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/33/187033/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/33/187033/2"}}},"commit":{"parents":[{"commit":"211c14c638b9bf393932be42d4f04a4dd12a84bc","subject":"Fix shell tests","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/211c14c638b9bf393932be42d4f04a4dd12a84bc"}]}],"author":{"name":"Jamie Lennox","email":"jamielennox@redhat.com","date":"2015-05-31 03:37:50.000000000","tz":600},"committer":{"name":"Jamie Lennox","email":"jamielennox@redhat.com","date":"2015-05-31 05:03:42.000000000","tz":600},"subject":"Set tenant options on parsed namespace","message":"Set tenant options on parsed namespace\n\nBecause of the way OSC registers all plugins together we end up\nwith os-tenant-X parameters being saved to the project-X attribute after\nparsing. If you are using the v2 plugins directly then they and os-client-config\nexpect the tenant_X values and will assuming no scoping information if\nthey are not present.\n\nValidating options for scope will also fail in this situation, not just\nbecause the resultant auth dictionary is missing the tenant-X\nattributes, but because OSC validates that either project or domain\nscope information is present.\n\nFix this by just always setting the v2 parameters if the v3 parameters\nare present. This will have no effect on the generic or v3 case but fix\nthe v2 case.\n\nExpand validation to include the tenant options so it knows that v2\nplugins are scoped.\n\nChange-Id: I8cab3e423663f801cbf2d83106c671bddc58d7e6\nCloses-Bug: #1460369\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/3ae247fdceac0e2c7bb6160f9ffefc4ad5d8da29"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/3ae247fdceac0e2c7bb6160f9ffefc4ad5d8da29"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
