)]}'
{"id":"openstack%2Fpython-ironicclient~509851","triplet_id":"openstack%2Fpython-ironicclient~master~I583e0f9bdc81a655861c6ff508782173021428f0","project":"openstack/python-ironicclient","branch":"master","topic":"bug/1721599","hashtags":[],"change_id":"I583e0f9bdc81a655861c6ff508782173021428f0","subject":"Do not use urljoin in base http client","status":"MERGED","created":"2017-10-05 17:41:49.000000000","updated":"2017-10-09 17:59:56.000000000","submitted":"2017-10-09 17:59:56.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"509851-1507571996579-f2713b4b","meta_rev_id":"2be1f2c4abee97557a3f6646fe69b196af6f1053","_number":509851,"virtual_id_number":509851,"owner":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":2,"date":"2017-10-09 17:59:56.000000000","post_submit":true,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},{"value":0,"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"value":0,"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},{"value":0,"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"}],"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":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},{"value":2,"date":"2017-10-09 17:11:24.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"value":0,"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},{"value":2,"date":"2017-10-09 06:35:56.000000000","_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"}],"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":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},{"value":1,"date":"2017-10-09 17:11:36.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"value":0,"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},{"value":0,"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},{"value":0,"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"value":0,"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},{"value":0,"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"}],"values":{"-1":"Do Not Backport"," 0":"Backport Review Needed","+1":"Should Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2017-10-05 21:02:39.000000000","updated_by":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"reviewer":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"state":"REVIEWER"},{"updated":"2017-10-09 06:35:56.000000000","updated_by":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"reviewer":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"state":"REVIEWER"},{"updated":"2017-10-09 17:11:36.000000000","updated_by":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"reviewer":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"state":"REVIEWER"},{"updated":"2017-10-09 17:59:56.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"678f17065793f8f56aa3dea44f673a6ee8a702e2","author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"date":"2017-10-05 17:41:49.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"593e205e9f6bdf92be8f9889fc34df847c0dfeec","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-10-05 19:43:33.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-python-ironicclient-python35 http://logs.openstack.org/51/509851/1/check/gate-python-ironicclient-python35/31f42b4/ : SUCCESS in 4m 52s\n- gate-python-ironicclient-docs-ubuntu-xenial http://docs-draft.openstack.org/51/509851/1/check/gate-python-ironicclient-docs-ubuntu-xenial/23d2da1//doc/build/html/ : SUCCESS in 4m 50s\n- gate-python-ironicclient-pep8-ubuntu-xenial http://logs.openstack.org/51/509851/1/check/gate-python-ironicclient-pep8-ubuntu-xenial/df608f3/ : SUCCESS in 4m 14s\n- gate-python-ironicclient-python27-ubuntu-xenial http://logs.openstack.org/51/509851/1/check/gate-python-ironicclient-python27-ubuntu-xenial/11c1b9e/ : SUCCESS in 4m 46s\n- gate-python-ironicclient-pypy http://logs.openstack.org/51/509851/1/check/gate-python-ironicclient-pypy/9837d27/ : FAILURE in 4m 50s (non-voting)\n- check-osc-plugins http://logs.openstack.org/51/509851/1/check/check-osc-plugins/0109161/ : SUCCESS in 10m 05s (non-voting)\n- gate-tempest-dsvm-python-ironicclient-src-ubuntu-xenial http://logs.openstack.org/51/509851/1/check/gate-tempest-dsvm-python-ironicclient-src-ubuntu-xenial/bff4ee5/ : SUCCESS in 40m 02s\n- gate-ironicclient-dsvm-functional-ubuntu-xenial http://logs.openstack.org/51/509851/1/check/gate-ironicclient-dsvm-functional-ubuntu-xenial/53d60f9/ : FAILURE in 15m 41s\n- python-ironicclient-coverage-ubuntu-xenial http://logs.openstack.org/51/509851/1/check/python-ironicclient-coverage-ubuntu-xenial/a44ea08/ : SUCCESS in 3m 40s","accounts_in_message":[],"_revision_number":1},{"id":"665f8d99357f44b3766fc6c2a894f6ed0332ac8b","author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"date":"2017-10-05 21:02:39.000000000","message":"Patch Set 1: Code-Review-1\n\n(1 comment)\n\nThanks Pavlo. Good catch! I think we might want a release note for this too.","accounts_in_message":[],"_revision_number":1},{"id":"8108de8b19b87386fa13bc1d80ff0e04610eeb85","author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"date":"2017-10-06 06:26:17.000000000","message":"Patch Set 1: Workflow-1\n\n(1 comment)\n\nRuby, I\u0027ll add the release note.","accounts_in_message":[],"_revision_number":1},{"id":"d42a251419ec964009c428a388a860389456d4c7","author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"date":"2017-10-06 08:02:35.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"32a8e53998005e6f111f95e83c9d53c52110d0c1","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-10-06 08:52:54.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-ironicclient-python35 http://logs.openstack.org/51/509851/2/check/gate-python-ironicclient-python35/17dba39/ : SUCCESS in 6m 29s\n- gate-python-ironicclient-docs-ubuntu-xenial http://docs-draft.openstack.org/51/509851/2/check/gate-python-ironicclient-docs-ubuntu-xenial/59c77d5//doc/build/html/ : SUCCESS in 5m 51s\n- gate-python-ironicclient-pep8-ubuntu-xenial http://logs.openstack.org/51/509851/2/check/gate-python-ironicclient-pep8-ubuntu-xenial/6d9fe16/ : SUCCESS in 6m 27s\n- gate-python-ironicclient-python27-ubuntu-xenial http://logs.openstack.org/51/509851/2/check/gate-python-ironicclient-python27-ubuntu-xenial/b3614c1/ : SUCCESS in 6m 55s\n- gate-python-ironicclient-pypy http://logs.openstack.org/51/509851/2/check/gate-python-ironicclient-pypy/191bc86/ : FAILURE in 5m 37s (non-voting)\n- gate-python-ironicclient-releasenotes http://docs-draft.openstack.org/51/509851/2/check/gate-python-ironicclient-releasenotes/c9f9a66//releasenotes/build/html/ : SUCCESS in 4m 03s\n- check-osc-plugins http://logs.openstack.org/51/509851/2/check/check-osc-plugins/24b0f4a/ : SUCCESS in 4m 33s (non-voting)\n- gate-tempest-dsvm-python-ironicclient-src-ubuntu-xenial http://logs.openstack.org/51/509851/2/check/gate-tempest-dsvm-python-ironicclient-src-ubuntu-xenial/af362ad/ : SUCCESS in 44m 03s\n- gate-ironicclient-dsvm-functional-ubuntu-xenial http://logs.openstack.org/51/509851/2/check/gate-ironicclient-dsvm-functional-ubuntu-xenial/667ce39/ : SUCCESS in 18m 04s\n- python-ironicclient-coverage-ubuntu-xenial http://logs.openstack.org/51/509851/2/check/python-ironicclient-coverage-ubuntu-xenial/957d17d/ : SUCCESS in 3m 33s","accounts_in_message":[],"_revision_number":2},{"id":"65810663300510c7f284269925c83307a7eb3eb0","author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"date":"2017-10-09 06:35:56.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"309e10d7bf1854ed8b512ddc977e5eff717e6b5a","author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2017-10-09 17:11:24.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"2f795534b9154f91c5cfb8111d45cb6ed882eab7","author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2017-10-09 17:11:36.000000000","message":"Patch Set 2: Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"bb2ddc9bf9111a0a7dea40c3423d980ce3ac12df","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-10-09 17:11:47.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":2},{"id":"f5b12a424da0644d8632c501a2e1c6ad62981ce6","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-10-09 17:59:56.000000000","message":"Change has been successfully merged by Jenkins","accounts_in_message":[],"_revision_number":2},{"id":"f71beda14624059d118ec1e2264412ce2603eab8","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-10-09 17:59:56.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- gate-python-ironicclient-python35 http://logs.openstack.org/51/509851/2/gate/gate-python-ironicclient-python35/b002dc1/ : SUCCESS in 6m 48s\n- gate-python-ironicclient-docs-ubuntu-xenial http://docs-draft.openstack.org/51/509851/2/gate/gate-python-ironicclient-docs-ubuntu-xenial/bc002cc//doc/build/html/ : SUCCESS in 11m 56s\n- gate-python-ironicclient-pep8-ubuntu-xenial http://logs.openstack.org/51/509851/2/gate/gate-python-ironicclient-pep8-ubuntu-xenial/110e14d/ : SUCCESS in 6m 45s\n- gate-python-ironicclient-python27-ubuntu-xenial http://logs.openstack.org/51/509851/2/gate/gate-python-ironicclient-python27-ubuntu-xenial/8afbfc7/ : SUCCESS in 4m 05s\n- gate-python-ironicclient-releasenotes http://docs-draft.openstack.org/51/509851/2/gate/gate-python-ironicclient-releasenotes/8584868//releasenotes/build/html/ : SUCCESS in 9m 00s\n- gate-tempest-dsvm-python-ironicclient-src-ubuntu-xenial http://logs.openstack.org/51/509851/2/gate/gate-tempest-dsvm-python-ironicclient-src-ubuntu-xenial/54c8862/ : SUCCESS in 47m 29s\n- gate-ironicclient-dsvm-functional-ubuntu-xenial http://logs.openstack.org/51/509851/2/gate/gate-ironicclient-dsvm-functional-ubuntu-xenial/05ef0b6/ : SUCCESS in 23m 35s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"61c5eba5f2a0e6fc642fee47351b92e17e03cbd6","revisions":{"17ad376288940841fcb37588cd91d9a346906e42":{"kind":"REWORK","_number":1,"created":"2017-10-05 17:41:49.000000000","uploader":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"ref":"refs/changes/51/509851/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-ironicclient","ref":"refs/changes/51/509851/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-ironicclient refs/changes/51/509851/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-ironicclient refs/changes/51/509851/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-ironicclient refs/changes/51/509851/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-ironicclient refs/changes/51/509851/1"}}},"commit":{"parents":[{"commit":"a283a3ed588a5c6417121a51477ce1c34d0344a7","subject":"Updated from global requirements","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-ironicclient/commit/a283a3ed588a5c6417121a51477ce1c34d0344a7"}]}],"author":{"name":"Pavlo Shchelokovskyy","email":"shchelokovskyy@gmail.com","date":"2017-10-05 16:48:45.000000000","tz":0},"committer":{"name":"Pavlo Shchelokovskyy","email":"shchelokovskyy@gmail.com","date":"2017-10-05 17:41:07.000000000","tz":0},"subject":"Do not use urljoin in base http client","message":"Do not use urljoin in base http client\n\nthis fails when ironic API endpoint is not in the form\n\"host:port\", but \"host/vhost\" instead\n(as when ironic-api is deployed behind Apache),\nsince the \u0027vhost\u0027 gets swallowed by \u0027urljoin\u0027.\n\nThis leads to a failure when using ironicclient with token and\nendpoint passed in, otherwise a SessionClient is used that does\nnot have this problem.\n\nSimply concat those url parts together (ensuring there is at least a\nsingle \u0027/\u0027 between them).\n\nChange-Id: I583e0f9bdc81a655861c6ff508782173021428f0\nCloses-Bug: #1721599\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-ironicclient/commit/17ad376288940841fcb37588cd91d9a346906e42"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-ironicclient/commit/17ad376288940841fcb37588cd91d9a346906e42"}]},"branch":"refs/heads/master"},"61c5eba5f2a0e6fc642fee47351b92e17e03cbd6":{"kind":"REWORK","_number":2,"created":"2017-10-06 08:02:35.000000000","uploader":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"ref":"refs/changes/51/509851/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-ironicclient","ref":"refs/changes/51/509851/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-ironicclient refs/changes/51/509851/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-ironicclient refs/changes/51/509851/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-ironicclient refs/changes/51/509851/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-ironicclient refs/changes/51/509851/2"}}},"commit":{"parents":[{"commit":"60e0ea26fb6dc97724240b0e87e7bf06fc10c33c","subject":"Replace testr with stestr","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-ironicclient/commit/60e0ea26fb6dc97724240b0e87e7bf06fc10c33c"}]}],"author":{"name":"Pavlo Shchelokovskyy","email":"shchelokovskyy@gmail.com","date":"2017-10-05 16:48:45.000000000","tz":0},"committer":{"name":"Pavlo Shchelokovskyy","email":"shchelokovskyy@gmail.com","date":"2017-10-06 07:59:02.000000000","tz":0},"subject":"Do not use urljoin in base http client","message":"Do not use urljoin in base http client\n\nthis fails when ironic API endpoint is not in the form\n\"host:port\", but \"host/vhost\" instead\n(as when ironic-api is deployed behind Apache),\nsince the \u0027vhost\u0027 gets swallowed by \u0027urljoin\u0027.\n\nThis leads to a failure when using ironicclient with token and\nendpoint passed in, otherwise a SessionClient is used that does\nnot have this problem.\n\nSimply concat those url parts together (ensuring there is at least a\nsingle \u0027/\u0027 between them).\n\nChange-Id: I583e0f9bdc81a655861c6ff508782173021428f0\nCloses-Bug: #1721599\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-ironicclient/commit/61c5eba5f2a0e6fc642fee47351b92e17e03cbd6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-ironicclient/commit/61c5eba5f2a0e6fc642fee47351b92e17e03cbd6"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
