)]}'
{"id":"openstack%2Fpython-openstackclient~490015","triplet_id":"openstack%2Fpython-openstackclient~master~Ib61b394d7201e4b0fc9e01a31d370860c4920680","project":"openstack/python-openstackclient","branch":"master","topic":"evacuatehypervisor","hashtags":[],"change_id":"Ib61b394d7201e4b0fc9e01a31d370860c4920680","subject":"new subcommand for hypervisor: evacuate","status":"ABANDONED","created":"2017-08-02 13:01:24.000000000","updated":"2019-11-04 20:33:28.000000000","total_comment_count":25,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"e0c4a61fa6928b81a2aeb91f25266ce5aa27d7de","_number":490015,"virtual_id_number":490015,"owner":{"_account_id":25600,"name":"Ebbex","display_name":"ebbex","email":"openstack@slipsprogrammor.no","username":"ebbex"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"date":"2017-08-23 11:47:11.000000000","_account_id":25600,"name":"Ebbex","display_name":"ebbex","email":"openstack@slipsprogrammor.no","username":"ebbex"},{"date":"2017-08-23 14:10:50.000000000","_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"value":1,"date":"2017-08-23 13:25:23.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"}],"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":{"approved":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"disliked":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":25600,"name":"Ebbex","display_name":"ebbex","email":"openstack@slipsprogrammor.no","username":"ebbex"},{"value":2,"date":"2017-08-23 14:12:41.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":-1,"date":"2018-06-08 14:50:21.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"value":-1,"date":"2018-06-08 14:23:57.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"value":-1,"date":"2017-08-23 20:10:53.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"}],"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":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":0},"_account_id":25600,"name":"Ebbex","display_name":"ebbex","email":"openstack@slipsprogrammor.no","username":"ebbex"},{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"}],"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":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"_account_id":25600,"name":"Ebbex","display_name":"ebbex","email":"openstack@slipsprogrammor.no","username":"ebbex"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2017-08-23 13:25:23.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"},{"updated":"2017-08-23 14:10:50.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":"2017-08-23 20:10:53.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-06-08 14:23:57.000000000","updated_by":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"reviewer":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"state":"REVIEWER"},{"updated":"2018-06-08 14:50:21.000000000","updated_by":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"reviewer":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"state":"REVIEWER"}],"messages":[{"id":"27ebecf03ef535edee007b7bb74f6634a169fe6f","author":{"_account_id":25600,"name":"Ebbex","display_name":"ebbex","email":"openstack@slipsprogrammor.no","username":"ebbex"},"date":"2017-08-02 13:01:24.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"333e32ac6d4130298f7562a45b3738b7dc025a11","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-08-02 14:35:37.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-openstackclient-docs-ubuntu-xenial http://docs-draft.openstack.org/15/490015/1/check/gate-python-openstackclient-docs-ubuntu-xenial/37245e2//doc/build/html/ : SUCCESS in 11m 15s\n- gate-python-openstackclient-pep8-ubuntu-xenial http://logs.openstack.org/15/490015/1/check/gate-python-openstackclient-pep8-ubuntu-xenial/822d8d8/ : SUCCESS in 5m 09s\n- gate-python-openstackclient-python27-ubuntu-xenial http://logs.openstack.org/15/490015/1/check/gate-python-openstackclient-python27-ubuntu-xenial/d79a274/ : SUCCESS in 4m 14s\n- gate-python-openstackclient-python35 http://logs.openstack.org/15/490015/1/check/gate-python-openstackclient-python35/92e05b2/ : SUCCESS in 4m 24s\n- gate-tempest-dsvm-neutron-src-python-openstackclient-ubuntu-xenial http://logs.openstack.org/15/490015/1/check/gate-tempest-dsvm-neutron-src-python-openstackclient-ubuntu-xenial/6a568ab/ : SUCCESS in 1h 14m 09s\n- check-osc-plugins http://logs.openstack.org/15/490015/1/check/check-osc-plugins/af276dc/ : SUCCESS in 5m 23s (non-voting)\n- gate-osc-dsvm-functional-ubuntu-xenial http://logs.openstack.org/15/490015/1/check/gate-osc-dsvm-functional-ubuntu-xenial/b18f045/ : SUCCESS in 42m 16s\n- gate-osc-dsvm-functional-tips-ubuntu-xenial-nv http://logs.openstack.org/15/490015/1/check/gate-osc-dsvm-functional-tips-ubuntu-xenial-nv/74f7205/ : SUCCESS in 39m 49s (non-voting)\n- gate-osc-dsvm-functional-n-net-ubuntu-xenial-nv http://logs.openstack.org/15/490015/1/check/gate-osc-dsvm-functional-n-net-ubuntu-xenial-nv/9468fce/ : SUCCESS in 43m 49s (non-voting)\n- gate-tripleo-ci-centos-7-nonha-multinode-oooq-nv http://logs.openstack.org/15/490015/1/check/gate-tripleo-ci-centos-7-nonha-multinode-oooq-nv/e74c8ef/ : SUCCESS in 1h 31m 44s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"0af802d0017bce55d918c29070606188cd7fa47b","author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"date":"2017-08-02 17:06:22.000000000","message":"Patch Set 1:\n\n(6 comments)\n\ncool stuff, just a few minor comments. needs tests (unit or functional) and a release note too, but definitely on the right path","accounts_in_message":[],"_revision_number":1},{"id":"2922fbc360258f00d60fabf1db2d822bee2fb99d","author":{"_account_id":25600,"name":"Ebbex","display_name":"ebbex","email":"openstack@slipsprogrammor.no","username":"ebbex"},"date":"2017-08-03 10:40:21.000000000","message":"Patch Set 1:\n\nThanks for the feedback, I\u0027ll work it in over the weekend.","accounts_in_message":[],"_revision_number":1},{"id":"f947b57e13425a4ee56852111021b94fb5af3d22","author":{"_account_id":25600,"name":"Ebbex","display_name":"ebbex","email":"openstack@slipsprogrammor.no","username":"ebbex"},"date":"2017-08-23 11:28:31.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"ebb7e71e023c0fdb4e7adae7bd0987424b687ebd","author":{"_account_id":25600,"name":"Ebbex","display_name":"ebbex","email":"openstack@slipsprogrammor.no","username":"ebbex"},"date":"2017-08-23 11:38:38.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"80a702d1c5edc519923f02bb9a01f88db2ae9f28","author":{"_account_id":25600,"name":"Ebbex","display_name":"ebbex","email":"openstack@slipsprogrammor.no","username":"ebbex"},"date":"2017-08-23 11:47:11.000000000","message":"Patch Set 3:\n\nTriggerhappy on patch-set 2, but patch-set 3 passes pep8.\n\nRemoved beta-command (just read about it in some docs on contributing to os-cli).\n\nAdded state.\n\nHad to rearrange server, srv and q because of not being allowed to manipulate mock objects.\n\nNot really sure how or where the tests should go, so tried writing live vs. non-live for when servers are \u0027ACTIVE\u0027. Maybe they\u0027re supposed to go under functional instead of unit?","accounts_in_message":[],"_revision_number":3},{"id":"3d4c7b06433ccbcc9357bb96bbaf77d16c23a4c4","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-08-23 13:25:23.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-openstackclient-docs-ubuntu-xenial http://docs-draft.openstack.org/15/490015/3/check/gate-python-openstackclient-docs-ubuntu-xenial/dae74b1//doc/build/html/ : SUCCESS in 4m 53s\n- gate-python-openstackclient-pep8-ubuntu-xenial http://logs.openstack.org/15/490015/3/check/gate-python-openstackclient-pep8-ubuntu-xenial/10f44ac/ : SUCCESS in 4m 53s\n- gate-python-openstackclient-python27-ubuntu-xenial http://logs.openstack.org/15/490015/3/check/gate-python-openstackclient-python27-ubuntu-xenial/267ea62/ : SUCCESS in 4m 28s\n- gate-python-openstackclient-python35 http://logs.openstack.org/15/490015/3/check/gate-python-openstackclient-python35/8683fb8/ : SUCCESS in 4m 31s\n- gate-tempest-dsvm-neutron-src-python-openstackclient-ubuntu-xenial http://logs.openstack.org/15/490015/3/check/gate-tempest-dsvm-neutron-src-python-openstackclient-ubuntu-xenial/5b52978/ : SUCCESS in 1h 25m 03s\n- check-osc-plugins http://logs.openstack.org/15/490015/3/check/check-osc-plugins/b8fe822/ : SUCCESS in 6m 11s (non-voting)\n- gate-osc-dsvm-functional-ubuntu-xenial http://logs.openstack.org/15/490015/3/check/gate-osc-dsvm-functional-ubuntu-xenial/a1d820e/ : SUCCESS in 47m 47s\n- gate-osc-dsvm-functional-tips-ubuntu-xenial-nv http://logs.openstack.org/15/490015/3/check/gate-osc-dsvm-functional-tips-ubuntu-xenial-nv/eb14f74/ : SUCCESS in 55m 17s (non-voting)\n- gate-osc-dsvm-functional-n-net-ubuntu-xenial-nv http://logs.openstack.org/15/490015/3/check/gate-osc-dsvm-functional-n-net-ubuntu-xenial-nv/1bdbe2c/ : SUCCESS in 46m 52s (non-voting)\n- gate-tripleo-ci-centos-7-nonha-multinode-oooq-nv http://logs.openstack.org/15/490015/3/check/gate-tripleo-ci-centos-7-nonha-multinode-oooq-nv/efb0ae8/ : SUCCESS in 1h 41m 28s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"a4bede36324610a2f4e23f69d0f77f804ed1f888","author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"date":"2017-08-23 14:10:50.000000000","message":"Patch Set 3:\n\n\u003e Not really sure how or where the tests should go, so tried writing\n \u003e live vs. non-live for when servers are \u0027ACTIVE\u0027. Maybe they\u0027re\n \u003e supposed to go under functional instead of unit?\n\ni think functional tests will be a bit tough for this, unit tests should be fine.","accounts_in_message":[],"_revision_number":3},{"id":"cb8ee4b27a5a15b181b9b0268ca4e88cf15be94b","author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"date":"2017-08-23 14:12:41.000000000","message":"Patch Set 3: Code-Review+2\n\nLGTM, adding dtroyer to the review.\n\nThis needs a release note, but i can\u0027t find the link on how to make them, dtroyer should know","accounts_in_message":[],"_revision_number":3},{"id":"0febeaacdc56b72088b41a33fa35ea41ba3f9d55","author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"date":"2017-08-23 20:10:53.000000000","message":"Patch Set 3: Code-Review-1\n\n(7 comments)\n\nThis is essentially a loop around \u0027server migrate\u0027, it should look and feel very similar.  In general, we want things to be consistent, especially everything that is user-visible.\n\nTo create a new release note:\n\n  tox -e venv -- reno new add-hypervisor-evacuate\n\nThe new note will be in releasenotes/notes/add-hypervisor-evacuate-*.  Please have a look at other release notes so it has a similar feel.","accounts_in_message":[],"_revision_number":3},{"id":"4301bf6ee5105915751d67aefd168d5a7ccc8d62","author":{"_account_id":25600,"name":"Ebbex","display_name":"ebbex","email":"openstack@slipsprogrammor.no","username":"ebbex"},"date":"2017-08-24 10:27:45.000000000","message":"Patch Set 3:\n\n(7 comments)\n\nNeed a second opinion on \"--live\", \"--target\", \"--live-auto\" options, and maybe deprecating/breaking current behavior in a future release.","accounts_in_message":[],"_revision_number":3},{"id":"9dda0ad73c8fb1918fecb9bb35df062bdd43eae7","author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"date":"2017-08-24 14:13:14.000000000","message":"Patch Set 3:\n\n(2 comments)\n\nThanks Erik, I had forgotten about https://review.openstack.org/#/c/460059, let\u0027s make sure these are in sync and move forward.  We can change server migrate to match, as long as we maintain backward-compatibility for a deprecation period (that may be tricky).","accounts_in_message":[],"_revision_number":3},{"id":"4251768c2e17efe8750422930a350b79eb818ef7","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2018-06-08 14:23:57.000000000","message":"Patch Set 3: Code-Review-1\n\n(2 comments)","accounts_in_message":[],"_revision_number":3},{"id":"ce909b160a4537a54071515427e05e74e8c9824d","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2018-06-08 14:50:21.000000000","message":"Patch Set 3: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"82e76c2525082d4f13b98d1906d722ab830994dc","author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"date":"2018-06-09 15:29:45.000000000","message":"Patch Set 3:\n\nComing back to this pretty cold I agree the command naming is off here  I have assumed the user is thinking something like \"I need to {get everything off|recover everything from} hypervisor H\" but the actual resources being manipulated are servers.\n\nAs for the verb, I understand the concerns about overloading actions and baggage from other things.  What about a simple \u0027move\u0027?  Let the options tell the story of the kind of move (we should have --cold for completeness even if it is the default).\n\nWhat I don\u0027t like about move is it relates to the server(s) not the hypervisor which is the resource here.  I can live with vacate if we leave this function attached to the hypervisor resource.\n\nThe other alternative I\u0027ve kicked around this morning is changing to using server as the resource:\n\n  server move [--cold|--live|--rebuild] [--hypervisor \u003chypervisor\u003e] [\u003cserver ...]\n\nIt might also be useful to make this cover all of the moving-a-server-around scenarios, or at least make sure we don\u0027t rule that out with he command syntax even if we don\u0027t implement it now.  The option rules would get a little complicated, I don\u0027t mind that if it cam be made clear to the user how to get what they want easily enough.","accounts_in_message":[],"_revision_number":3},{"id":"4d1a4e9b41fda144658b8dcf03575029ffeedb93","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2019-11-04 20:33:28.000000000","message":"Abandoned\n\nThis is old with several -1s. https://review.opendev.org/643578 aims for the same goal and is likely to get more traction so let\u0027s focus efforts there now.","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"35dee8e8d379afb0ce66836d9226ac37d703d58c","revisions":{"4b36cedba0ca6f56f54cec8b8f81b429cb35412f":{"kind":"REWORK","_number":1,"created":"2017-08-02 13:01:24.000000000","uploader":{"_account_id":25600,"name":"Ebbex","display_name":"ebbex","email":"openstack@slipsprogrammor.no","username":"ebbex"},"ref":"refs/changes/15/490015/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/15/490015/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/15/490015/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/15/490015/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/15/490015/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/15/490015/1"}}},"commit":{"parents":[{"commit":"6fdce1316563f79fa6adf6ffa6439018cc5b8e98","subject":"Updated from global requirements","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/6fdce1316563f79fa6adf6ffa6439018cc5b8e98"}]}],"author":{"name":"Erik Berg","email":"openstack@slipsprogrammor.no","date":"2017-08-02 12:44:14.000000000","tz":0},"committer":{"name":"Erik Berg","email":"openstack@slipsprogrammor.no","date":"2017-08-02 13:00:39.000000000","tz":0},"subject":"new subcommand for hypervisor: evacuate","message":"new subcommand for hypervisor: evacuate\n\nTaken mostly from python-novaclient, we need an easy way to clear a hypervisor\nbefore taking it offline, either for maintenance or decomissioning.\n\nI imagine two types of uses for this command.\n\n1. You\u0027re taking down a hypervisor for maintenance, and just want the scheduler\n   to rebalance the servers to other hypervisors.\n2. You\u0027re replacing a hypervisor, and would like to move all servers on this\n   hypervisor to a replacement. (hence --target option)\n\nI\u0027m a little unsure about what are the appropriate actions for the various\nstates a server can be in. But since the API doesn\u0027t like live-migrating\ninstances that are not ACTIVE (including PAUSED or SUSPENDED) avoid trying\nthat.\n\nAlso, little unsure as to just \"non-live\" migrating ACTIVE servers, so not\ndoing that either unless --force is specified.\n\nChange-Id: Ib61b394d7201e4b0fc9e01a31d370860c4920680\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/4b36cedba0ca6f56f54cec8b8f81b429cb35412f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/4b36cedba0ca6f56f54cec8b8f81b429cb35412f"}]},"branch":"refs/heads/master"},"f43989053a6a83cea2c684d0a144c367135930be":{"kind":"REWORK","_number":2,"created":"2017-08-23 11:28:31.000000000","uploader":{"_account_id":25600,"name":"Ebbex","display_name":"ebbex","email":"openstack@slipsprogrammor.no","username":"ebbex"},"ref":"refs/changes/15/490015/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/15/490015/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/15/490015/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/15/490015/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/15/490015/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/15/490015/2"}}},"commit":{"parents":[{"commit":"6fdce1316563f79fa6adf6ffa6439018cc5b8e98","subject":"Updated from global requirements","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/6fdce1316563f79fa6adf6ffa6439018cc5b8e98"}]}],"author":{"name":"Erik Berg","email":"openstack@slipsprogrammor.no","date":"2017-08-02 12:44:14.000000000","tz":0},"committer":{"name":"Erik Berg","email":"openstack@slipsprogrammor.no","date":"2017-08-23 11:24:10.000000000","tz":0},"subject":"new subcommand for hypervisor: evacuate","message":"new subcommand for hypervisor: evacuate\n\nTaken mostly from python-novaclient, we need an easy way to clear a hypervisor\nbefore taking it offline, either for maintenance or decomissioning.\n\nI imagine two types of uses for this command.\n\n1. You\u0027re taking down a hypervisor for maintenance, and just want the scheduler\n   to rebalance the servers to other hypervisors.\n2. You\u0027re replacing a hypervisor, and would like to move all servers on this\n   hypervisor to a replacement. (hence --target option)\n\nI\u0027m a little unsure about what are the appropriate actions for the various\nstates a server can be in. But since the API doesn\u0027t like live-migrating\ninstances that are not ACTIVE (including PAUSED or SUSPENDED) avoid trying\nthat.\n\nAlso, little unsure as to just \"non-live\" migrating ACTIVE servers, so not\ndoing that either unless --force is specified.\n\nChange-Id: Ib61b394d7201e4b0fc9e01a31d370860c4920680\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/f43989053a6a83cea2c684d0a144c367135930be"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/f43989053a6a83cea2c684d0a144c367135930be"}]},"branch":"refs/heads/master"},"35dee8e8d379afb0ce66836d9226ac37d703d58c":{"kind":"REWORK","_number":3,"created":"2017-08-23 11:38:38.000000000","uploader":{"_account_id":25600,"name":"Ebbex","display_name":"ebbex","email":"openstack@slipsprogrammor.no","username":"ebbex"},"ref":"refs/changes/15/490015/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/15/490015/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/15/490015/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/15/490015/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/15/490015/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/15/490015/3"}}},"commit":{"parents":[{"commit":"6fdce1316563f79fa6adf6ffa6439018cc5b8e98","subject":"Updated from global requirements","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/6fdce1316563f79fa6adf6ffa6439018cc5b8e98"}]}],"author":{"name":"Erik Berg","email":"openstack@slipsprogrammor.no","date":"2017-08-02 12:44:14.000000000","tz":0},"committer":{"name":"Erik Berg","email":"openstack@slipsprogrammor.no","date":"2017-08-23 11:37:36.000000000","tz":0},"subject":"new subcommand for hypervisor: evacuate","message":"new subcommand for hypervisor: evacuate\n\nTaken mostly from python-novaclient, we need an easy way to clear a hypervisor\nbefore taking it offline, either for maintenance or decomissioning.\n\nI imagine two types of uses for this command.\n\n1. You\u0027re taking down a hypervisor for maintenance, and just want the scheduler\n   to rebalance the servers to other hypervisors.\n2. You\u0027re replacing a hypervisor, and would like to move all servers on this\n   hypervisor to a replacement. (hence --target option)\n\nI\u0027m a little unsure about what are the appropriate actions for the various\nstates a server can be in. But since the API doesn\u0027t like live-migrating\ninstances that are not ACTIVE (including PAUSED or SUSPENDED) avoid trying\nthat.\n\nAlso, little unsure as to just \"non-live\" migrating ACTIVE servers, so not\ndoing that either unless --force is specified.\n\nChange-Id: Ib61b394d7201e4b0fc9e01a31d370860c4920680\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/35dee8e8d379afb0ce66836d9226ac37d703d58c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/35dee8e8d379afb0ce66836d9226ac37d703d58c"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
