)]}'
{"id":"openstack%2Fpython-openstackclient~616690","triplet_id":"openstack%2Fpython-openstackclient~stable%2Fqueens~I11fbcebf6b00f12a030b000c84dcf1d6b5e86250","project":"openstack/python-openstackclient","branch":"stable/queens","topic":"floating-ip-multi-port-queens","hashtags":[],"change_id":"I11fbcebf6b00f12a030b000c84dcf1d6b5e86250","subject":"Handle multiple ports in AddFloatingIP","status":"MERGED","created":"2018-11-08 20:44:56.000000000","updated":"2018-11-09 00:08:05.000000000","submitted":"2018-11-09 00:08:05.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"616690-1541722085391-d198f41b","meta_rev_id":"5d475cbff63a51a9637b6fb3e15d21249b99c94e","_number":616690,"virtual_id_number":616690,"owner":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},{"value":2,"date":"2018-11-09 00:08:05.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"all":[{"value":2,"date":"2018-11-08 22:39:25.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"all":[{"value":1,"date":"2018-11-08 22:39:25.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2018-11-08 22:39:25.000000000","updated_by":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"reviewer":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"state":"REVIEWER"},{"updated":"2018-11-09 00:08:05.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"f3faf77a6bc08fbc3212d276c07e8e23189a0feb","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2018-11-08 20:44:56.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"4f4d424341c4c808be432426a2087b7fb304ce0d","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-11-08 22:35:43.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstackclient-check-plugins http://logs.openstack.org/90/616690/1/check/openstackclient-check-plugins/aa7f3a7/ : FAILURE in 6m 32s (non-voting)\n- openstack-tox-pep8 http://logs.openstack.org/90/616690/1/check/openstack-tox-pep8/e2bbc14/ : SUCCESS in 8m 08s\n- openstack-tox-py27 http://logs.openstack.org/90/616690/1/check/openstack-tox-py27/068ca85/ : SUCCESS in 4m 57s\n- openstack-tox-py35 http://logs.openstack.org/90/616690/1/check/openstack-tox-py35/142cff1/ : SUCCESS in 6m 17s\n- build-openstack-sphinx-docs http://logs.openstack.org/90/616690/1/check/build-openstack-sphinx-docs/f6106f0/html/ : SUCCESS in 5m 15s\n- build-openstack-releasenotes http://logs.openstack.org/90/616690/1/check/build-openstack-releasenotes/58770ed/html/ : SUCCESS in 4m 12s\n- tempest-full http://logs.openstack.org/90/616690/1/check/tempest-full/8adcf65/ : SUCCESS in 1h 49m 54s\n- osc-functional-devstack http://logs.openstack.org/90/616690/1/check/osc-functional-devstack/5ceb450/ : SUCCESS in 51m 52s","accounts_in_message":[],"_revision_number":1},{"id":"2fbaf585d387db266ba7fc0f090bb9cebe0786e6","author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"date":"2018-11-08 22:39:25.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"3603b8aa3cfd3293f651a6799a9b04245884d9df","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-11-08 22:39:37.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"5f4884abdf1f37befea97656e2c51cfa3397cbd7","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-11-09 00:08:05.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":1},{"id":"ef18fa604b90b1c2be978a09a929e102b3418d84","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-11-09 00:08:05.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-pep8 http://logs.openstack.org/90/616690/1/gate/openstack-tox-pep8/744b55e/ : SUCCESS in 8m 24s\n- openstack-tox-py27 http://logs.openstack.org/90/616690/1/gate/openstack-tox-py27/0f04b26/ : SUCCESS in 4m 49s\n- openstack-tox-py35 http://logs.openstack.org/90/616690/1/gate/openstack-tox-py35/749f575/ : SUCCESS in 5m 59s\n- build-openstack-sphinx-docs http://logs.openstack.org/90/616690/1/gate/build-openstack-sphinx-docs/341ae43/html/ : SUCCESS in 7m 13s\n- build-openstack-releasenotes http://logs.openstack.org/90/616690/1/gate/build-openstack-releasenotes/c591a11/html/ : SUCCESS in 7m 48s\n- tempest-full http://logs.openstack.org/90/616690/1/gate/tempest-full/a010913/ : SUCCESS in 1h 27m 41s\n- osc-functional-devstack http://logs.openstack.org/90/616690/1/gate/osc-functional-devstack/f477835/ : SUCCESS in 48m 57s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"010da92ff3711873e40c0f5a1c262010400bf53b","revisions":{"010da92ff3711873e40c0f5a1c262010400bf53b":{"kind":"REWORK","_number":1,"created":"2018-11-08 20:44:56.000000000","uploader":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"ref":"refs/changes/90/616690/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/90/616690/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/90/616690/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/90/616690/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/90/616690/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/90/616690/1"}}},"commit":{"parents":[{"commit":"28797fe8753201057b855baf8d453018dd7b741c","subject":"Merge \"Default --nic to \u0027auto\u0027 if creating a server with \u003e\u003d 2.37\" into stable/queens","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/28797fe8753201057b855baf8d453018dd7b741c"}]}],"author":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2018-11-02 22:27:55.000000000","tz":0},"committer":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2018-11-08 20:44:40.000000000","tz":0},"subject":"Handle multiple ports in AddFloatingIP","message":"Handle multiple ports in AddFloatingIP\n\nAddFloatingIP refers to an old nova proxy API to neutron that was\ndeprecated in nova. The neutron API for floating IP associate requires\na port to be specified. Currently, the code is selecting the first port\nif the server has multiple ports. But, an attempt to associate the\nfirst port with a floating IP can fail if the first port is not on a\nnetwork that is attached to an external gateway.\n\nIn order to make the command work better for users who have a server\nwith multiple ports, we can:\n\n  1. Select the port corresponding to the fixed_ip_address, if one was\n     specified\n\n  2. Try to associate the floating IP with each port until one of the\n     attempts succeeds, else re-raise the last exception.\n     (404 ExternalGatewayForFloatingIPNotFound from neutron)\n\nThis also fixes incorrect FakeFloatingIP attributes that were being set\nin the TestServerAddFloatingIPNetwork unit tests, which were causing\nthe tests to use None as parsed args for ip-address and\n--fixed-ip-address and thus bypassing code in the\n\u0027if parsed_args.fixed_ip_address:\u0027 block.\n\nTask: 27800\nStory: 2004263\n\nChange-Id: I11fbcebf6b00f12a030b000c84dcf1d6b5e86250\n(cherry picked from commit 013c9a4f3a44cb0b81fc7affe9b933e701cb5dba)\n(cherry picked from commit e09c358e7b35ac938595aad90c5c42dfe402a42a)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/010da92ff3711873e40c0f5a1c262010400bf53b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/010da92ff3711873e40c0f5a1c262010400bf53b"}]},"branch":"refs/heads/stable/queens"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
