)]}'
{"id":"openstack%2Fpython-novaclient~393923","triplet_id":"openstack%2Fpython-novaclient~master~I228dc7eeb92f13c2d8be11dfaff9e9589f0b41b7","project":"openstack/python-novaclient","branch":"master","topic":"bug/1587748","hashtags":[],"change_id":"I228dc7eeb92f13c2d8be11dfaff9e9589f0b41b7","subject":"Added a new nova CLI command \"nova delete-all\"","status":"ABANDONED","created":"2016-11-04 20:19:49.000000000","updated":"2017-11-16 15:42:12.000000000","total_comment_count":37,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"6754aac018e47d9103483a6c2fd5f1452316d5b9","_number":393923,"virtual_id_number":393923,"owner":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":1,"date":"2016-11-21 12:02:44.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":24101,"name":"Jaspreet Singh Rawel","email":"jaspreetsinghrawel@gmail.com","username":"jaspreetrawel"},{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},{"_account_id":24123,"name":"Kuldeep Khandelwal","email":"kk.openstack@gmail.com","username":"kk-openstack"},{"_account_id":20477,"name":"Jabbar Ali","email":"jabbar.ali@gmail.com","username":"jabbar-ali"},{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"}],"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":{"disliked":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"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":24101,"name":"Jaspreet Singh Rawel","email":"jaspreetsinghrawel@gmail.com","username":"jaspreetrawel"},{"value":-1,"date":"2016-11-21 16:23:41.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":24123,"name":"Kuldeep Khandelwal","email":"kk.openstack@gmail.com","username":"kk-openstack"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":20477,"name":"Jabbar Ali","email":"jabbar.ali@gmail.com","username":"jabbar-ali"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"}],"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":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":24101,"name":"Jaspreet Singh Rawel","email":"jaspreetsinghrawel@gmail.com","username":"jaspreetrawel"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},{"_account_id":24123,"name":"Kuldeep Khandelwal","email":"kk.openstack@gmail.com","username":"kk-openstack"},{"_account_id":20477,"name":"Jabbar Ali","email":"jabbar.ali@gmail.com","username":"jabbar-ali"},{"value":0,"permitted_voting_range":{"min":-1,"max":0},"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":24101,"name":"Jaspreet Singh Rawel","email":"jaspreetsinghrawel@gmail.com","username":"jaspreetrawel"},{"value":0,"permitted_voting_range":{"min":0,"max":2},"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":24123,"name":"Kuldeep Khandelwal","email":"kk.openstack@gmail.com","username":"kk-openstack"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":20477,"name":"Jabbar Ali","email":"jabbar.ali@gmail.com","username":"jabbar-ali"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},{"_account_id":20477,"name":"Jabbar Ali","email":"jabbar.ali@gmail.com","username":"jabbar-ali"},{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},{"_account_id":24101,"name":"Jaspreet Singh Rawel","email":"jaspreetsinghrawel@gmail.com","username":"jaspreetrawel"},{"_account_id":24123,"name":"Kuldeep Khandelwal","email":"kk.openstack@gmail.com","username":"kk-openstack"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2016-11-05 05:43:33.000000000","updated_by":{"_account_id":20477,"name":"Jabbar Ali","email":"jabbar.ali@gmail.com","username":"jabbar-ali"},"reviewer":{"_account_id":20477,"name":"Jabbar Ali","email":"jabbar.ali@gmail.com","username":"jabbar-ali"},"state":"REVIEWER"},{"updated":"2016-11-07 10:18:07.000000000","updated_by":{"_account_id":24101,"name":"Jaspreet Singh Rawel","email":"jaspreetsinghrawel@gmail.com","username":"jaspreetrawel"},"reviewer":{"_account_id":24101,"name":"Jaspreet Singh Rawel","email":"jaspreetsinghrawel@gmail.com","username":"jaspreetrawel"},"state":"REVIEWER"},{"updated":"2016-11-07 10:40:01.000000000","updated_by":{"_account_id":24123,"name":"Kuldeep Khandelwal","email":"kk.openstack@gmail.com","username":"kk-openstack"},"reviewer":{"_account_id":24123,"name":"Kuldeep Khandelwal","email":"kk.openstack@gmail.com","username":"kk-openstack"},"state":"REVIEWER"},{"updated":"2016-11-21 12:02:44.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"},{"updated":"2016-11-21 16:23:41.000000000","updated_by":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"reviewer":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"state":"REVIEWER"}],"messages":[{"id":"81e79e3816603db3fa942cecee1ca11f3dce5a78","author":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"date":"2016-11-04 20:19:49.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"a69aba174b7b2c33bcd8ae0019d7144fd3e8e692","author":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"date":"2016-11-04 20:25:30.000000000","message":"Patch Set 2: Published edit on patch set 1","accounts_in_message":[],"_revision_number":2},{"id":"36476c294bfc4b892d5934592ba06cd556b671fb","author":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"date":"2016-11-04 20:26:58.000000000","message":"Abandoned","accounts_in_message":[],"_revision_number":2},{"id":"fed9b6ce2932c509fe696884c2c6c8bb6b6ac362","author":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"date":"2016-11-04 20:27:12.000000000","message":"Restored","accounts_in_message":[],"_revision_number":2},{"id":"5f91df4209e71634f044308d541c96a5ce1e0d2b","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-11-04 20:47:00.000000000","message":"Patch Set 2: 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-novaclient-docs-ubuntu-xenial http://docs-draft.openstack.org/23/393923/2/check/gate-python-novaclient-docs-ubuntu-xenial/e2db760//doc/build/html/ : SUCCESS in 1m 15s\n- gate-python-novaclient-pep8-ubuntu-xenial http://logs.openstack.org/23/393923/2/check/gate-python-novaclient-pep8-ubuntu-xenial/5f2becc/ : FAILURE in 1m 15s\n- gate-python-novaclient-python27-ubuntu-xenial http://logs.openstack.org/23/393923/2/check/gate-python-novaclient-python27-ubuntu-xenial/c1aab70/ : FAILURE in 1m 15s\n- gate-python-novaclient-python34 http://logs.openstack.org/23/393923/2/check/gate-python-novaclient-python34/6a63dfd/ : FAILURE in 1m 14s\n- gate-python-novaclient-python35-nv http://logs.openstack.org/23/393923/2/check/gate-python-novaclient-python35-nv/64142ab/ : FAILURE in 1m 16s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-novaclient http://logs.openstack.org/23/393923/2/check/gate-tempest-dsvm-neutron-src-python-novaclient/5b60830/ : FAILURE in 19m 33s\n- gate-novaclient-dsvm-functional http://logs.openstack.org/23/393923/2/check/gate-novaclient-dsvm-functional/dbb85d6/ : FAILURE in 10m 43s\n- gate-novaclient-dsvm-functional-mitaka-nv http://logs.openstack.org/23/393923/2/check/gate-novaclient-dsvm-functional-mitaka-nv/4124a92/ : FAILURE in 10m 04s (non-voting)\n- gate-novaclient-dsvm-functional-identity-v3-only-nv http://logs.openstack.org/23/393923/2/check/gate-novaclient-dsvm-functional-identity-v3-only-nv/e468b52/ : FAILURE in 10m 45s (non-voting)\n- gate-novaclient-dsvm-functional-neutron http://logs.openstack.org/23/393923/2/check/gate-novaclient-dsvm-functional-neutron/fdfa65d/ : FAILURE in 13m 33s","accounts_in_message":[],"_revision_number":2},{"id":"80e1d6531020fe4bf7c554e88253c7b09733dc87","author":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"date":"2016-11-04 20:50:04.000000000","message":"Patch Set 3: Published edit on patch set 2","accounts_in_message":[],"_revision_number":3},{"id":"a4e1f1c4effb3bbfe35d3d87066388b4a0626c61","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-11-04 21:11:53.000000000","message":"Patch Set 3: 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-novaclient-docs-ubuntu-xenial http://docs-draft.openstack.org/23/393923/3/check/gate-python-novaclient-docs-ubuntu-xenial/ccd5a9d//doc/build/html/ : SUCCESS in 1m 16s\n- gate-python-novaclient-pep8-ubuntu-xenial http://logs.openstack.org/23/393923/3/check/gate-python-novaclient-pep8-ubuntu-xenial/a729bc4/ : SUCCESS in 1m 47s\n- gate-python-novaclient-python27-ubuntu-xenial http://logs.openstack.org/23/393923/3/check/gate-python-novaclient-python27-ubuntu-xenial/efab29a/ : FAILURE in 1m 10s\n- gate-python-novaclient-python34 http://logs.openstack.org/23/393923/3/check/gate-python-novaclient-python34/00dda91/ : FAILURE in 2m 01s\n- gate-python-novaclient-python35-nv http://logs.openstack.org/23/393923/3/check/gate-python-novaclient-python35-nv/212a98c/ : FAILURE in 1m 15s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-novaclient http://logs.openstack.org/23/393923/3/check/gate-tempest-dsvm-neutron-src-python-novaclient/5be786d/ : FAILURE in 14m 05s\n- gate-novaclient-dsvm-functional http://logs.openstack.org/23/393923/3/check/gate-novaclient-dsvm-functional/b4f9b28/ : FAILURE in 21m 38s\n- gate-novaclient-dsvm-functional-mitaka-nv http://logs.openstack.org/23/393923/3/check/gate-novaclient-dsvm-functional-mitaka-nv/afe1fbb/ : FAILURE in 9m 33s (non-voting)\n- gate-novaclient-dsvm-functional-identity-v3-only-nv http://logs.openstack.org/23/393923/3/check/gate-novaclient-dsvm-functional-identity-v3-only-nv/b4adf96/ : FAILURE in 10m 39s (non-voting)\n- gate-novaclient-dsvm-functional-neutron http://logs.openstack.org/23/393923/3/check/gate-novaclient-dsvm-functional-neutron/474bdba/ : FAILURE in 12m 40s","accounts_in_message":[],"_revision_number":3},{"id":"0263085d2d93d6a7262d757fb033ab50af214aeb","author":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"date":"2016-11-04 21:19:57.000000000","message":"Patch Set 4: Published edit on patch set 3","accounts_in_message":[],"_revision_number":4},{"id":"1069baa85a0cf080a7bde0c2f9d44f87e30a0199","author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"date":"2016-11-04 21:53:51.000000000","message":"Patch Set 4: Code-Review-1\n\nI\u0027m against this because it can be trivially achieved with a shell script for loop, something like this (maybe with some extra filtering to remove the header lines from the nova list output):\n\nfor vm in `nova list | cut -d\u0027 \u0027 -f2`; do nova delete $vm; done","accounts_in_message":[],"_revision_number":4},{"id":"b751a7bee2f71c738565a0ecb0378d65cbc5229e","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-11-04 22:04:46.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-novaclient-docs-ubuntu-xenial http://docs-draft.openstack.org/23/393923/4/check/gate-python-novaclient-docs-ubuntu-xenial/7c2ed86//doc/build/html/ : SUCCESS in 1m 14s\n- gate-python-novaclient-pep8-ubuntu-xenial http://logs.openstack.org/23/393923/4/check/gate-python-novaclient-pep8-ubuntu-xenial/3aa4bca/ : SUCCESS in 1m 12s\n- gate-python-novaclient-python27-ubuntu-xenial http://logs.openstack.org/23/393923/4/check/gate-python-novaclient-python27-ubuntu-xenial/7db324a/ : SUCCESS in 2m 03s\n- gate-python-novaclient-python34 http://logs.openstack.org/23/393923/4/check/gate-python-novaclient-python34/237f009/ : SUCCESS in 1m 29s\n- gate-python-novaclient-python35-nv http://logs.openstack.org/23/393923/4/check/gate-python-novaclient-python35-nv/e01b3f9/ : SUCCESS in 1m 31s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-novaclient http://logs.openstack.org/23/393923/4/check/gate-tempest-dsvm-neutron-src-python-novaclient/329b263/ : SUCCESS in 41m 27s\n- gate-novaclient-dsvm-functional http://logs.openstack.org/23/393923/4/check/gate-novaclient-dsvm-functional/8b28c02/ : SUCCESS in 28m 56s\n- gate-novaclient-dsvm-functional-mitaka-nv http://logs.openstack.org/23/393923/4/check/gate-novaclient-dsvm-functional-mitaka-nv/0071a17/ : SUCCESS in 24m 15s (non-voting)\n- gate-novaclient-dsvm-functional-identity-v3-only-nv http://logs.openstack.org/23/393923/4/check/gate-novaclient-dsvm-functional-identity-v3-only-nv/ad652c1/ : SUCCESS in 28m 17s (non-voting)\n- gate-novaclient-dsvm-functional-neutron http://logs.openstack.org/23/393923/4/check/gate-novaclient-dsvm-functional-neutron/f21797f/ : SUCCESS in 33m 02s","accounts_in_message":[],"_revision_number":4},{"id":"ee875d003ef7dfa630599c81f0d04d053dc14cb7","author":{"_account_id":20477,"name":"Jabbar Ali","email":"jabbar.ali@gmail.com","username":"jabbar-ali"},"date":"2016-11-05 05:43:33.000000000","message":"Patch Set 4: Code-Review+1\n\nAlthough it can be achieve by shell script, But you need to write shell script. Here Idea is to add new command that will ease admin work for deleting VMs in one go.","accounts_in_message":[],"_revision_number":4},{"id":"8f533efc3b203e60235ac249de5da8c1199f48f7","author":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"date":"2016-11-05 05:57:59.000000000","message":"Patch Set 4:\n\n\u003e I\u0027m against this because it can be trivially achieved with a shell\n \u003e script for loop, something like this (maybe with some extra\n \u003e filtering to remove the header lines from the nova list output):\n \u003e \n \u003e for vm in `nova list | cut -d\u0027 \u0027 -f2`; do nova delete $vm; done\n\nIdea of having this enhancement in nova-client itself rather than creating a separate script is to keeping inline with the existing implementation of other commands, also, this being the addition of a new nova command, it need to be in the nova-client only, moreover inclusion of a separate script for filtering out the VMs  doesn\u0027t seem appropriate to me.","accounts_in_message":[],"_revision_number":4},{"id":"6368646e9b8277a58bc7aa72a9b16e42926b7b54","author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"date":"2016-11-05 15:48:32.000000000","message":"Patch Set 4:\n\nI still don\u0027t think we need 90 lines of Python (without tests, which you will need to add if this is to ever merge) for what can be done as a 1 or 2 line shell command. The one liner I wrote above literally replaces the proposed delete-all command, and if you want to exclude certain VMs that can be done with an extra grep:\n\nfor vm in `nova list | grep -v \u0027precious-vm\u0027 | cut -d\u0027 \u0027 -f2`; do nova delete $vm; done\n\nStill a 1-line shell for loop though.","accounts_in_message":[],"_revision_number":4},{"id":"7d86a55c9b5aacac85e962d8f717ba52b6c31635","author":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"date":"2016-11-06 08:21:50.000000000","message":"Patch Set 4:\n\n\u003e I still don\u0027t think we need 90 lines of Python (without tests,\n \u003e which you will need to add if this is to ever merge) for what can\n \u003e be done as a 1 or 2 line shell command. The one liner I wrote above\n \u003e literally replaces the proposed delete-all command, and if you want\n \u003e to exclude certain VMs that can be done with an extra grep:\n \u003e \n \u003e for vm in `nova list | grep -v \u0027precious-vm\u0027 | cut -d\u0027 \u0027 -f2`; do\n \u003e nova delete $vm; done\n \u003e \n \u003e Still a 1-line shell for loop though.\n\n \u003e I still don\u0027t think we need 90 lines of Python (without tests,\n \u003e which you will need to add if this is to ever merge) for what can\n \u003e be done as a 1 or 2 line shell command. The one liner I wrote above\n \u003e literally replaces the proposed delete-all command, and if you want\n \u003e to exclude certain VMs that can be done with an extra grep:\n \u003e \n \u003e for vm in `nova list | grep -v \u0027precious-vm\u0027 | cut -d\u0027 \u0027 -f2`; do\n \u003e nova delete $vm; done\n \u003e \n \u003e Still a 1-line shell for loop though.\n\nThere are few points that need to be taken care of:\n1). What if user enters the mix of VM name and VM ID, for example: \nnova delete-all --exclude \u003cvn-name\u003e \u003cvm-id\u003e\n2). With the solution suggested by you, there need to be added a new shell script file in nova-client. Will this be fine ?\n3). This shell script need to be invoked from the shell.py file of nova-client. Is this allowable? \n4). What if \"nova list\" returns more than 1 VM with same name and user need to delete 1 of them and need to guard other one.\n\nPlease suggest.\nThanks.","accounts_in_message":[],"_revision_number":4},{"id":"866c6bd8e6738959e861b24f25fbdd78b0851c19","author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"date":"2016-11-06 16:14:46.000000000","message":"Patch Set 4:\n\n\u003e What if user enters the mix of VM name and VM ID, for example: \n\u003e nova delete-all --exclude \u003cvn-name\u003e \u003cvm-id\u003e\n\nThis can be done with grep in a couple of ways:\nfor vm in `nova list | grep -v \u0027vm-name\u0027 | | grep -v \u0027vm-id\u0027 | cut -d\u0027 \u0027 -f2`; do nova delete $vm; done\nfor vm in `nova list | grep -vE \u0027(vm-id|vm-name)\u0027 | cut -d\u0027 \u0027 -f2`; do nova delete $vm; done\n\n\u003e With the solution suggested by you, there need to be added a new shell script file in nova-client.\n\u003e Will this be fine ?\n\nNothing is added to the Nova client, it\u0027s a shell command that the user issues on his laptop/workstation/whatever.\n\n\u003e This shell script need to be invoked from the shell.py file of nova-client. Is this allowable?\n\nSee above. Nothing is added to the client.\n\n\u003e What if \"nova list\" returns more than 1 VM with same name and user need to delete 1 of them and need to\n\u003e guard other one.\n\nThen they filter by id like above.","accounts_in_message":[],"_revision_number":4},{"id":"1e26fdf7f4257464fe8cbbb0e071ab35f2052ef9","author":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"date":"2016-11-06 18:06:36.000000000","message":"Patch Set 4:\n\n1). With the suggested command above, it will going to work only when we use some kind of segregation between VM name and VM id.\nCould you please suggested some way for this, when a user enters a VM name and VM id, how we can detect whether the given argument is a name or id?\n\n2). Here we want the user to invoke a command, not the script.\nIf you beleive that we should you a script, can we workout a way to invoke that script from the shell.py file of nova-client, because user has to run this as a nova cli command which can then internally invoke a shell script, one way can be using os.system() or subprocess.call() function.","accounts_in_message":[],"_revision_number":4},{"id":"a172616e695e7c0439daa703ecc3a4b88907ab3d","author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"date":"2016-11-06 19:57:58.000000000","message":"Patch Set 4:\n\n\u003e With the suggested command above, it will going to work only\n\u003e when we use some kind of segregation between VM name and VM id.\n\u003e Could you please suggested some way for this, when a user enters\n\u003e a VM name and VM id, how we can detect whether the given argument\n\u003e is a name or id?\n\nWe don\u0027t have to detect anything, grep matches lines based on text, it doesn\u0027t know anything about VMs or names or IDs. The -v option does a reverse match, ie it makes grep output only the lines that don\u0027t match. I could have said:\n\nfor vm in `nova list | grep -v \u0027fish\u0027 | | grep -v \u0027vm-id\u0027 | cut -d\u0027 \u0027 -f2`; do nova delete $vm; done\n\nAny line that matches \u0027fish\u0027 in the nova list output will get filtered out. Do you know how pipes and grep work in a Unix shell?\n\n\u003e 2). Here we want the user to invoke a command, not the script.\n\nI disagree with this. There should be no delete-all command in the Nova client, period. If a user wants to delete all their VMs, they can do with with the shell commands I have mentioned previously.","accounts_in_message":[],"_revision_number":4},{"id":"1c5a383c311a652646f82f022b45c9fd62256065","author":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"date":"2016-11-07 07:37:49.000000000","message":"Patch Set 4:\n\n\u003e We don\u0027t have to detect anything, grep matches lines based on text,\n \u003e it doesn\u0027t know anything about VMs or names or IDs. The -v option\n \u003e does a reverse match, ie it makes grep output only the lines that\n \u003e don\u0027t match. I could have said:\n \u003e \n \u003e for vm in `nova list | grep -v \u0027fish\u0027 | | grep -v \u0027vm-id\u0027 | cut -d\u0027\n \u003e \u0027 -f2`; do nova delete $vm; done\n \u003e \n \u003e Any line that matches \u0027fish\u0027 in the nova list output will get\n \u003e filtered out. Do you know how pipes and grep work in a Unix shell?\n \u003e \n\nLet me put this with an example:\nsuppose we have 2 VMs with same name as follows:\n\nroot@node-1:~# nova list\n+--------------------------------------+------+--------+------------+-------------+----------------------------------+\n| ID                                   | Name | Status | Task State | Power State | Networks                         |\n+--------------------------------------+------+--------+------------+-------------+----------------------------------+\n| 6b782203-c002-4e07-9045-a0a579d8ce2f | vm1  | ACTIVE | -          | Running     | admin_internal_net\u003d192.168.111.3 |\n| f932b52a-920a-4172-b936-031ec03cddac | vm1  | ACTIVE | -          | Running     | admin_internal_net\u003d192.168.111.4 |\n+--------------------------------------+------+--------+------------+-------------+----------------------------------+\n\nNow i want to delete one of the VM, vm1.\n\nwhen i execute the shell script, if i entered the vm name i.e vm1 then it will exclude both VMs and will not delete any VM, which is not the expected behavior.\nIn this case, i should get a message something like: \"use VM-ID instead of VM-NAME as the there are multiple VMs with this VM name\".\n\n\n \u003e I disagree with this. There should be no delete-all command in the\n \u003e Nova client, period. If a user wants to delete all their VMs, they\n \u003e can do with with the shell commands I have mentioned previously.\n\nIn that case the bug #1587748 need to be mark as invalid and need to be converted into a blueprint.\nInfact, it should have been a blueprint anyway.\n\nHere, Idea is to expose a user-friendly command to the user for deleting all expect special VMs.\nWhich can be something like this:\n\nroot@node-1:~# nova help delete-all\nusage: nova delete-all [--host \u003chostname\u003e] [--all-tenants]\n                       [--exclude \u003cserver_name\u003e [\u003cserver_name\u003e ...]]\n\nImmediately shut down and delete all server(s). Excluded server(s) are not\ndeleted.\n\nOptional arguments:\n  --host \u003chostname\u003e             Delete all servers hosted by the specified\n                                hostname(Admin only).\n  --all-tenants                 Delete server(s) in another tenant by name\n                                (Admin only).\n  --exclude \u003cserver_name\u003e [\u003cserver_name\u003e ...]\n                                name or ID of the server(s) to be excluded\n                                from deletion.\n\nAs an Openstack user i will always look for some commands for tasks like : \"nova list\", \"nova delete\", etc.\ni will never look for any script for my tasks.","accounts_in_message":[],"_revision_number":4},{"id":"0274a55cd3efe519781d4a3a463545c630df23b3","author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"date":"2016-11-07 09:24:10.000000000","message":"Patch Set 4:\n\nLiterally the first link when I Google \u0027nova delete all vms\u0027:\n\nhttps://ask.openstack.org/en/question/47853/how-to-delete-multiple-instances-bulk-delete-via-curl-or-cli/","accounts_in_message":[],"_revision_number":4},{"id":"5aa9133f492bd874a44668a54248fc1b87fc16cd","author":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"date":"2016-11-07 10:00:08.000000000","message":"Patch Set 4:\n\n\u003e Literally the first link when I Google \u0027nova delete all vms\u0027:\n \u003e \n \u003e https://ask.openstack.org/en/question/47853/how-to-delete-multiple-instances-bulk-delete-via-curl-or-cli/\n\n\nYes, this can possibly be a workaround but not including various scenarios which can result in unexpected behavior and can cause accidental termination of VMs as well.\nWhat if a user enters two VMs for guarding, one with VM-name and other with VM-ID, these 2 VMs can be same or different VMs, there can be other scenarios which can be thought of.\nSuch script can not be reusable, each user has to be competent in shell scripting for using this as per his/her requirement.\nInstead, here we are trying to provide a user friendly solution, commonly available to each user.\nAlso, mentioned previously, as a user it\u0027s always easier for me, if i get a cli command for my tasks.","accounts_in_message":[],"_revision_number":4},{"id":"11d4e906ffe276c258ec044765c768531274b138","author":{"_account_id":24101,"name":"Jaspreet Singh Rawel","email":"jaspreetsinghrawel@gmail.com","username":"jaspreetrawel"},"date":"2016-11-07 10:18:07.000000000","message":"Patch Set 4: Code-Review+1\n\nChanges look good to me.\nThis command would be a good interface for a user who does not have much knowledge of shell scripting or any other scripting language. User can leave all the validation job on this command. Also from openstack perspective, a user will always look for a command rather than a script to do an operation. I personally feel that commands are easy to find rather than scripts. Also if we have a command, rather than each user making their own scripts, we can achieve re-usability. At the same time, I think the Creater and Developer in this bug would want this to be as generic as possible so that even of this command existing, user still won\u0027t have to write script to achieve certain delete-all functionality.","accounts_in_message":[],"_revision_number":4},{"id":"676caff75e077d51bfe3c008d25a857916af0a1c","author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"date":"2016-11-07 16:43:27.000000000","message":"Patch Set 4: Code-Review-1\n\n(8 comments)\n\nThis implementation seems far too complex.  Also, there are no tests; that needs to be fixed.  Finally, I\u0027d like to see an analysis of whether it makes sense to put this functionality into the \"nova delete\" command, i.e., adding a \"--all\" flag to that command, along with an optional \"--exclude\" flag.","accounts_in_message":[],"_revision_number":4},{"id":"7a60f89f89bf406d2690af677bfefd1605a842e5","author":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"date":"2016-11-08 05:20:21.000000000","message":"Patch Set 5: Published edit on patch set 4","accounts_in_message":[],"_revision_number":5},{"id":"bf662539ae87446dee237b08a2e1b0c735fb287d","author":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"date":"2016-11-08 05:21:30.000000000","message":"Patch Set 4:\n\n(7 comments)","accounts_in_message":[],"_revision_number":4},{"id":"ef86f229273ac27fcca7b79defd053f0ce14d2a3","author":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"date":"2016-11-08 05:22:54.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"53f59316f4789b5c0a6895d34fb0268b91a4a542","author":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"date":"2016-11-08 05:29:02.000000000","message":"Patch Set 4:\n\n\u003e (8 comments)\n \u003e \n \u003e This implementation seems far too complex.  Also, there are no\n \u003e tests; that needs to be fixed.  Finally, I\u0027d like to see an\n \u003e analysis of whether it makes sense to put this functionality into\n \u003e the \"nova delete\" command, i.e., adding a \"--all\" flag to that\n \u003e command, along with an optional \"--exclude\" flag.\n\nYes, this implementation is little bit complex, as there are few points that need to be taken care of, like:\n1. getting the list of all existing servers\n2. fetching the details(Name and Id) of the servers from list in 1.\n3. processing based on the VM-Name and/or VM-Id entered by the user for excluding them from being deleted.\n\nInitially thought to add this implementation into the existing \"nova delete\" command implemantion only, using --all option, but this approach was making the code more complex and command less user friendly.","accounts_in_message":[],"_revision_number":4},{"id":"2231154a6e8df15732a1342ce6b38883825d2e4c","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-11-08 06:09:44.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-novaclient-docs-ubuntu-xenial http://docs-draft.openstack.org/23/393923/5/check/gate-python-novaclient-docs-ubuntu-xenial/9d77aa6//doc/build/html/ : SUCCESS in 1m 21s\n- gate-python-novaclient-pep8-ubuntu-xenial http://logs.openstack.org/23/393923/5/check/gate-python-novaclient-pep8-ubuntu-xenial/fd7c8c3/ : SUCCESS in 1m 21s\n- gate-python-novaclient-python27-ubuntu-xenial http://logs.openstack.org/23/393923/5/check/gate-python-novaclient-python27-ubuntu-xenial/e26304e/ : SUCCESS in 1m 37s\n- gate-python-novaclient-python34 http://logs.openstack.org/23/393923/5/check/gate-python-novaclient-python34/13beed5/ : SUCCESS in 2m 03s\n- gate-python-novaclient-python35-nv http://logs.openstack.org/23/393923/5/check/gate-python-novaclient-python35-nv/10656b7/ : SUCCESS in 1m 37s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-novaclient http://logs.openstack.org/23/393923/5/check/gate-tempest-dsvm-neutron-src-python-novaclient/eb04f9f/ : SUCCESS in 42m 51s\n- gate-novaclient-dsvm-functional http://logs.openstack.org/23/393923/5/check/gate-novaclient-dsvm-functional/9903212/ : SUCCESS in 30m 01s\n- gate-novaclient-dsvm-functional-mitaka-nv http://logs.openstack.org/23/393923/5/check/gate-novaclient-dsvm-functional-mitaka-nv/91923a1/ : SUCCESS in 27m 03s (non-voting)\n- gate-novaclient-dsvm-functional-identity-v3-only-nv http://logs.openstack.org/23/393923/5/check/gate-novaclient-dsvm-functional-identity-v3-only-nv/5a88a35/ : SUCCESS in 29m 30s (non-voting)\n- gate-novaclient-dsvm-functional-neutron http://logs.openstack.org/23/393923/5/check/gate-novaclient-dsvm-functional-neutron/d59dc20/ : SUCCESS in 49m 11s","accounts_in_message":[],"_revision_number":5},{"id":"9434d46b0f24cf6e292c389a52114c359eb875c4","author":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"date":"2016-11-08 06:39:30.000000000","message":"Patch Set 6: Published edit on patch set 5","accounts_in_message":[],"_revision_number":6},{"id":"e7d2e0a8d66ebfa9b7039ae47751976804338295","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-11-08 07:52:46.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-novaclient-docs-ubuntu-xenial http://docs-draft.openstack.org/23/393923/6/check/gate-python-novaclient-docs-ubuntu-xenial/f3deaf0//doc/build/html/ : SUCCESS in 1m 28s\n- gate-python-novaclient-pep8-ubuntu-xenial http://logs.openstack.org/23/393923/6/check/gate-python-novaclient-pep8-ubuntu-xenial/ae18032/ : SUCCESS in 2m 09s\n- gate-python-novaclient-python27-ubuntu-xenial http://logs.openstack.org/23/393923/6/check/gate-python-novaclient-python27-ubuntu-xenial/0e41428/ : SUCCESS in 2m 50s\n- gate-python-novaclient-python34 http://logs.openstack.org/23/393923/6/check/gate-python-novaclient-python34/77b091c/ : SUCCESS in 1m 39s\n- gate-python-novaclient-python35-nv http://logs.openstack.org/23/393923/6/check/gate-python-novaclient-python35-nv/20bcd69/ : SUCCESS in 2m 09s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-novaclient http://logs.openstack.org/23/393923/6/check/gate-tempest-dsvm-neutron-src-python-novaclient/f8dedf9/ : SUCCESS in 42m 30s\n- gate-novaclient-dsvm-functional http://logs.openstack.org/23/393923/6/check/gate-novaclient-dsvm-functional/38186d5/ : SUCCESS in 1h 13m 05s\n- gate-novaclient-dsvm-functional-mitaka-nv http://logs.openstack.org/23/393923/6/check/gate-novaclient-dsvm-functional-mitaka-nv/b9be40a/ : SUCCESS in 26m 03s (non-voting)\n- gate-novaclient-dsvm-functional-identity-v3-only-nv http://logs.openstack.org/23/393923/6/check/gate-novaclient-dsvm-functional-identity-v3-only-nv/93c28de/ : SUCCESS in 29m 59s (non-voting)\n- gate-novaclient-dsvm-functional-neutron http://logs.openstack.org/23/393923/6/check/gate-novaclient-dsvm-functional-neutron/19aaa88/ : SUCCESS in 37m 20s","accounts_in_message":[],"_revision_number":6},{"id":"01c6c76a99982cd95fa5ae811310ca4f11fe394e","author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"date":"2016-11-08 16:45:29.000000000","message":"Patch Set 6: Code-Review-1\n\n(6 comments)\n\nI still don\u0027t like the logic.  I don\u0027t understand why you need to enforce a \"name-only or id-only, but not both\" policy on --exclude, for one, which seems to be the major source of the complication; if you were to eliminate that, I feel you could vastly simplify the logic.","accounts_in_message":[],"_revision_number":6},{"id":"000d60ed65daf860e4dc88c844051d3fb5f5cd20","author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"date":"2016-11-08 16:45:46.000000000","message":"Patch Set 6:\n\n(And this change is still lacking tests.)","accounts_in_message":[],"_revision_number":6},{"id":"7381bb13fb794627ad4f2f9b49ee7cac90ee7f14","author":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"date":"2016-11-09 09:32:36.000000000","message":"Patch Set 6:\n\n(6 comments)\n\n\u003e (6 comments)\n \u003e \n \u003e I still don\u0027t like the logic.  I don\u0027t understand why you need to\n \u003e enforce a \"name-only or id-only, but not both\" policy on --exclude,\n \u003e for one, which seems to be the major source of the complication; if\n \u003e you were to eliminate that, I feel you could vastly simplify the\n \u003e logic.\n\nOk, i have removed this logic from here which was enforcing a \"name-only or id-only, but not both\" policy on --exclude.","accounts_in_message":[],"_revision_number":6},{"id":"4cc3b4dc034eaf93b291ecfae745cf774c673054","author":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"date":"2016-11-09 09:33:16.000000000","message":"Patch Set 7: Published edit on patch set 6","accounts_in_message":[],"_revision_number":7},{"id":"965c06d8e79f78c97f974c64c7d4ff62ea0c4e1f","author":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"date":"2016-11-09 09:34:33.000000000","message":"Patch Set 7:\n\n\u003e (And this change is still lacking tests.)\n\nYes, will added tests soon.","accounts_in_message":[],"_revision_number":7},{"id":"87274bbf41ac91b06d18a0d23fb590bcde1bc3c9","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-11-09 10:40:28.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-novaclient-docs-ubuntu-xenial http://docs-draft.openstack.org/23/393923/7/check/gate-python-novaclient-docs-ubuntu-xenial/a056401//doc/build/html/ : SUCCESS in 1m 18s\n- gate-python-novaclient-pep8-ubuntu-xenial http://logs.openstack.org/23/393923/7/check/gate-python-novaclient-pep8-ubuntu-xenial/dfdee01/ : SUCCESS in 2m 00s\n- gate-python-novaclient-python27-ubuntu-xenial http://logs.openstack.org/23/393923/7/check/gate-python-novaclient-python27-ubuntu-xenial/01f9972/ : SUCCESS in 1m 40s\n- gate-python-novaclient-python34 http://logs.openstack.org/23/393923/7/check/gate-python-novaclient-python34/e00579e/ : SUCCESS in 1m 39s\n- gate-python-novaclient-python35-nv http://logs.openstack.org/23/393923/7/check/gate-python-novaclient-python35-nv/b83d33b/ : SUCCESS in 1m 45s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-novaclient http://logs.openstack.org/23/393923/7/check/gate-tempest-dsvm-neutron-src-python-novaclient/79cf38d/ : SUCCESS in 43m 38s\n- gate-novaclient-dsvm-functional http://logs.openstack.org/23/393923/7/check/gate-novaclient-dsvm-functional/3ad6c5c/ : SUCCESS in 29m 31s\n- gate-novaclient-dsvm-functional-mitaka-nv http://logs.openstack.org/23/393923/7/check/gate-novaclient-dsvm-functional-mitaka-nv/22de812/ : SUCCESS in 27m 15s (non-voting)\n- gate-novaclient-dsvm-functional-identity-v3-only-nv http://logs.openstack.org/23/393923/7/check/gate-novaclient-dsvm-functional-identity-v3-only-nv/7d984be/ : SUCCESS in 31m 51s (non-voting)\n- gate-novaclient-dsvm-functional-neutron http://logs.openstack.org/23/393923/7/check/gate-novaclient-dsvm-functional-neutron/009d365/ : SUCCESS in 1h 07m 00s","accounts_in_message":[],"_revision_number":7},{"id":"253eb9bd424f1d5360701858dec41a334a53a81d","author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"date":"2016-11-09 16:39:58.000000000","message":"Patch Set 7: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"53239c525b0bb16ee5c035a21dc6776d85862f62","author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"date":"2016-11-09 16:40:06.000000000","message":"Patch Set 6:\n\n(1 comment)","accounts_in_message":[],"_revision_number":6},{"id":"e67c8d9b52c81e4d8e6efc1f0a3ac30786518b43","author":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"date":"2016-11-14 14:05:16.000000000","message":"Patch Set 7:\n\n\u003e (1 comment)\n\n \"--all-tenants\" is an option.\n\n# nova list\n+----+------+--------+------------+-------------+----------+\n| ID | Name | Status | Task State | Power State | Networks |\n+----+------+--------+------------+-------------+----------+\n+----+------+--------+------------+-------------+----------+\n\nWhen user enters the following command with \"--all-tenants\" :\n\n    nova delete-all --exclude n1 n2 --all-tenants\n\nOutput:\n\n    Server n1 doesn\u0027t exist\n    Server n2 doesn\u0027t exist\n    There are no servers to delete\n\n*** Here \"--all-tenants\" is treated as option in the command.\n\nWhen user enters the following command with \"all-tenants\" :\n\n    nova delete-all --exclude n1 n2 all-tenants\n\nOutput:\n\n    Server n1 doesn\u0027t exist\n    Server n2 doesn\u0027t exist\n    Server all-tenants doesn\u0027t exist\n    There are no servers to delete\n\n*** Here \"all-tenants\" is treated as server name in the command since it is used without \"--\".","accounts_in_message":[],"_revision_number":7},{"id":"abe8b12b436ca3a0d7a2695aee2671edd2e3648b","author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"date":"2016-11-15 16:30:51.000000000","message":"Patch Set 7:\n\nGood, so argparse does the right thing.  However, that\u0027s not my point; my point is that usage is ambiguous _in the mind of the user_, and that\u0027s why I would like to see \"nargs\u003d\u0027+\u0027\" dropped on that option.","accounts_in_message":[],"_revision_number":7},{"id":"016600b987b7aa2c03c5788d6d6d57b1c6211f64","author":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"date":"2016-11-16 11:26:18.000000000","message":"Patch Set 7:\n\n\u003e Good, so argparse does the right thing.  However, that\u0027s not my\n \u003e point; my point is that usage is ambiguous _in the mind of the\n \u003e user_, and that\u0027s why I would like to see \"nargs\u003d\u0027+\u0027\" dropped on\n \u003e that option.\n\nGot your point.\nBut still am of the opinion that, say, for guarding 10 server i would not like to write \"--exclude\" 10 times like \"--exclude\u003dserver1 --exclude\u003dserver2 ... --exclude\u003dserver10\", rather, i would prefer to write \"--exclude\" only once and mention the servers name thereafter like \"--exclude server1 server2 ... server10\".\n\nCan\u0027t we be little flexible here in terms of optional argument usage!!","accounts_in_message":[],"_revision_number":7},{"id":"1d9f765d0a2e41682655965f1dac951878d082a0","author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"date":"2016-11-16 15:53:16.000000000","message":"Patch Set 7:\n\nWell, the other option you mentioned not wanting to use is comma-separated; afaik, commas cannot appear in IDs or in names, so that would be one way of addressing the issue.  A comma-separated argument here would be fine by me, but I really have strong opinions against using \"nargs\u003d\u0027+\u0027\" on an option.  If you can get other cores to go along with you on this change as-is, I\u0027ll abstain and let it go through, but otherwise, I want to see \"nargs\u003d\u0027+\u0027\" eliminated.","accounts_in_message":[],"_revision_number":7},{"id":"5c5d707cd6f27ffaf78b01429f5dd1f5180a88a7","author":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"date":"2016-11-17 06:11:31.000000000","message":"Patch Set 7:\n\n\u003e Well, the other option you mentioned not wanting to use is\n \u003e comma-separated; afaik, commas cannot appear in IDs or in names, so\n \u003e that would be one way of addressing the issue.  A comma-separated\n \u003e argument here would be fine by me, but I really have strong\n \u003e opinions against using \"nargs\u003d\u0027+\u0027\" on an option.  If you can get\n \u003e other cores to go along with you on this change as-is, I\u0027ll abstain\n \u003e and let it go through, but otherwise, I want to see \"nargs\u003d\u0027+\u0027\"\n \u003e eliminated.\n\nI have rechecked, we cannot use comma(\u0027,\u0027) separated option.\n\nfor example:\n\nWhen using \"append\" instead of \"nagrs\"\n\ncommand entered:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n    ~$ nova delete-all --exclude vm1,vm2\n\nusing above command, List of excluded servers \u003d [u\u0027vm1,vm2\u0027]\n\nThis usage creates the server name as : \u0027vm1,vm2\u0027 \u003d\u003e this will never be there in the list of existing VMs. Though, internally we can extract the servers\u0027 name from this list.\n\nMoreover, the usage while using \"append\" which the user will see is not comma-separated.\n\n~$ nova help delete-all \nusage: nova delete-all [--host \u003chostname\u003e] [--all-tenants]\n                       [--exclude \u003cserver_name\u003e]\n\nImmediately shut down and delete all server(s). Excluded server(s) are not\ndeleted.\n\nOptional arguments:\n  --host \u003chostname\u003e        Delete all servers hosted by the specified hostname\n                           (Admin only).\n  --all-tenants            Delete server(s) in another tenant by name (Admin\n                           only).\n  --exclude \u003cserver_name\u003e  Name or ID of the server(s) to be excluded from\n                           deletion.","accounts_in_message":[],"_revision_number":7},{"id":"c54e782c4eb9a98aa3c867f9f5e9adc0f3f89bc3","author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"date":"2016-11-17 16:22:48.000000000","message":"Patch Set 7:\n\nIf you use comma-separated, you would not use \"action\u003d\u0027append\u0027\"; you would use the default action (\"store\") and then do a .split(\u0027,\u0027) on the value.","accounts_in_message":[],"_revision_number":7},{"id":"6a4c26e6963ab658c5301aa1880a6c3dafb2f97a","author":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"date":"2016-11-21 05:39:20.000000000","message":"Patch Set 7:\n\n\u003e If you use comma-separated, you would not use \"action\u003d\u0027append\u0027\";\n \u003e you would use the default action (\"store\") and then do a\n \u003e .split(\u0027,\u0027) on the value.\n\ndone","accounts_in_message":[],"_revision_number":7},{"id":"13c848bd378ee86f3a66a967666d3fa7299989f8","author":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"date":"2016-11-21 05:40:07.000000000","message":"Patch Set 8: Published edit on patch set 7","accounts_in_message":[],"_revision_number":8},{"id":"47133b4799c9792ba4603166a6921107e0f86e97","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-11-21 12:02:44.000000000","message":"Patch Set 8: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-novaclient-docs-ubuntu-xenial http://docs-draft.openstack.org/23/393923/8/check/gate-python-novaclient-docs-ubuntu-xenial/2cba75a//doc/build/html/ : SUCCESS in 2m 45s\n- gate-python-novaclient-pep8-ubuntu-xenial http://logs.openstack.org/23/393923/8/check/gate-python-novaclient-pep8-ubuntu-xenial/9adf65c/ : SUCCESS in 2m 49s\n- gate-python-novaclient-python27-ubuntu-xenial http://logs.openstack.org/23/393923/8/check/gate-python-novaclient-python27-ubuntu-xenial/c61ce7a/ : SUCCESS in 3m 15s\n- gate-python-novaclient-python34 http://logs.openstack.org/23/393923/8/check/gate-python-novaclient-python34/ea168e9/ : SUCCESS in 1m 37s\n- gate-python-novaclient-python35-nv http://logs.openstack.org/23/393923/8/check/gate-python-novaclient-python35-nv/9962558/ : SUCCESS in 3m 06s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-novaclient http://logs.openstack.org/23/393923/8/check/gate-tempest-dsvm-neutron-src-python-novaclient/53c09f1/ : SUCCESS in 1h 02m 59s\n- gate-novaclient-dsvm-functional-mitaka-nv http://logs.openstack.org/23/393923/8/check/gate-novaclient-dsvm-functional-mitaka-nv/8b290af/ : SUCCESS in 25m 17s (non-voting)\n- gate-novaclient-dsvm-functional-identity-v3-only-nv http://logs.openstack.org/23/393923/8/check/gate-novaclient-dsvm-functional-identity-v3-only-nv/890045c/ : SUCCESS in 35m 29s (non-voting)\n- gate-novaclient-dsvm-functional-neutron http://logs.openstack.org/23/393923/8/check/gate-novaclient-dsvm-functional-neutron/4bca44f/ : SUCCESS in 1h 20m 56s","accounts_in_message":[],"_revision_number":8},{"id":"042d25c873160b39430120e93e16279be1842d42","author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"date":"2016-11-21 16:23:41.000000000","message":"Patch Set 8: Code-Review-1\n\n(7 comments)\n\nBunch of inline comments.  Also, this still needs tests.","accounts_in_message":[],"_revision_number":8},{"id":"7ca71de3a839d5702cfeadba6c2796ee932053f8","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2017-11-16 15:42:12.000000000","message":"Abandoned\n\nThis is nearly a year old now. It\u0027s not a bug, it\u0027s a new feature request, and I\u0027m not sure it\u0027s one that we want to make. It should have been raised as a blueprint and discussed in one of the weekly nova meetings on in the openstack-dev mailing list. Plus it doesn\u0027t have any tests, as Kevin has pointed out repeatedly, so I\u0027m going to abandon this.","accounts_in_message":[],"_revision_number":8}],"current_revision_number":8,"current_revision":"deb43a70ad3844d93438ad7ea5c6a68fd69b2836","revisions":{"7695d9112539cdec736af9139c80de952cadd974":{"kind":"REWORK","_number":1,"created":"2016-11-04 20:19:49.000000000","uploader":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"ref":"refs/changes/23/393923/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-novaclient","ref":"refs/changes/23/393923/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/1"}}},"commit":{"parents":[{"commit":"c62981fd0a131ef52f60b6b41a66fd6a4cac76ca","subject":"Updated from global requirements","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/c62981fd0a131ef52f60b6b41a66fd6a4cac76ca"}]}],"author":{"name":"nitin-29-gupta","email":"nitin291989@gmail.com","date":"2016-11-04 20:13:04.000000000","tz":330},"committer":{"name":"nitin-29-gupta","email":"nitin291989@gmail.com","date":"2016-11-04 20:19:44.000000000","tz":330},"subject":"Added a new nova CLI command \"nova delete-all\" for deleting all VMs in one go, excluding those mentioned using \"--exclude\" option","message":"Added a new nova CLI command \"nova delete-all\" for deleting all VMs in one go, excluding those mentioned using \"--exclude\" option\n\nRelated Bug: 1587748\n\nChange-Id: I228dc7eeb92f13c2d8be11dfaff9e9589f0b41b7\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/7695d9112539cdec736af9139c80de952cadd974"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/7695d9112539cdec736af9139c80de952cadd974"}]},"branch":"refs/heads/master"},"ff30549d6ccf8500fe0eb7af534554994cf8033d":{"kind":"REWORK","_number":2,"created":"2016-11-04 20:25:30.000000000","uploader":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"ref":"refs/changes/23/393923/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-novaclient","ref":"refs/changes/23/393923/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/2"}}},"commit":{"parents":[{"commit":"c62981fd0a131ef52f60b6b41a66fd6a4cac76ca","subject":"Updated from global requirements","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/c62981fd0a131ef52f60b6b41a66fd6a4cac76ca"}]}],"author":{"name":"nitin-29-gupta","email":"nitin291989@gmail.com","date":"2016-11-04 20:13:04.000000000","tz":330},"committer":{"name":"NITIN GUPTA","email":"nitin291989@gmail.com","date":"2016-11-04 20:25:16.000000000","tz":0},"subject":"Added a new nova CLI command \"nova delete-all\" for deleting all VMs in one go, excluding those mentioned using \"--exclude\" option","message":"Added a new nova CLI command \"nova delete-all\" for deleting all VMs in one go, excluding those mentioned using \"--exclude\" option\n\nRelated Bug: 1587748\n\nChange-Id: I228dc7eeb92f13c2d8be11dfaff9e9589f0b41b7\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/ff30549d6ccf8500fe0eb7af534554994cf8033d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/ff30549d6ccf8500fe0eb7af534554994cf8033d"}]},"branch":"refs/heads/master"},"d4784b674860d13d1b8ca263ef4b150bae3f51c8":{"kind":"REWORK","_number":3,"created":"2016-11-04 20:50:04.000000000","uploader":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"ref":"refs/changes/23/393923/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-novaclient","ref":"refs/changes/23/393923/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/3"}}},"commit":{"parents":[{"commit":"c62981fd0a131ef52f60b6b41a66fd6a4cac76ca","subject":"Updated from global requirements","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/c62981fd0a131ef52f60b6b41a66fd6a4cac76ca"}]}],"author":{"name":"nitin-29-gupta","email":"nitin291989@gmail.com","date":"2016-11-04 20:13:04.000000000","tz":330},"committer":{"name":"NITIN GUPTA","email":"nitin291989@gmail.com","date":"2016-11-04 20:49:54.000000000","tz":0},"subject":"Added a new nova CLI command \"nova delete-all\" for deleting all VMs in one go, excluding those mentioned using \"--exclude\" option","message":"Added a new nova CLI command \"nova delete-all\" for deleting all VMs in one go, excluding those mentioned using \"--exclude\" option\n\nRelated Bug: 1587748\n\nChange-Id: I228dc7eeb92f13c2d8be11dfaff9e9589f0b41b7\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/d4784b674860d13d1b8ca263ef4b150bae3f51c8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/d4784b674860d13d1b8ca263ef4b150bae3f51c8"}]},"branch":"refs/heads/master"},"edd42da8fee6ffc37ad9f5ada6f4e853135be465":{"kind":"REWORK","_number":4,"created":"2016-11-04 21:19:57.000000000","uploader":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"ref":"refs/changes/23/393923/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-novaclient","ref":"refs/changes/23/393923/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/4"}}},"commit":{"parents":[{"commit":"c62981fd0a131ef52f60b6b41a66fd6a4cac76ca","subject":"Updated from global requirements","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/c62981fd0a131ef52f60b6b41a66fd6a4cac76ca"}]}],"author":{"name":"nitin-29-gupta","email":"nitin291989@gmail.com","date":"2016-11-04 20:13:04.000000000","tz":330},"committer":{"name":"NITIN GUPTA","email":"nitin291989@gmail.com","date":"2016-11-04 21:19:47.000000000","tz":0},"subject":"Added a new nova CLI command \"nova delete-all\" for deleting all VMs in one go, excluding those mentioned using \"--exclude\" option","message":"Added a new nova CLI command \"nova delete-all\" for deleting all VMs in one go, excluding those mentioned using \"--exclude\" option\n\nRelated Bug: 1587748\n\nChange-Id: I228dc7eeb92f13c2d8be11dfaff9e9589f0b41b7\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/edd42da8fee6ffc37ad9f5ada6f4e853135be465"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/edd42da8fee6ffc37ad9f5ada6f4e853135be465"}]},"branch":"refs/heads/master"},"dce34aa95a2ea94438fb409c6dade03f0243edd8":{"kind":"REWORK","_number":5,"created":"2016-11-08 05:20:21.000000000","uploader":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"ref":"refs/changes/23/393923/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-novaclient","ref":"refs/changes/23/393923/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/5"}}},"commit":{"parents":[{"commit":"c62981fd0a131ef52f60b6b41a66fd6a4cac76ca","subject":"Updated from global requirements","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/c62981fd0a131ef52f60b6b41a66fd6a4cac76ca"}]}],"author":{"name":"nitin-29-gupta","email":"nitin291989@gmail.com","date":"2016-11-04 20:13:04.000000000","tz":330},"committer":{"name":"NITIN GUPTA","email":"nitin291989@gmail.com","date":"2016-11-08 04:58:56.000000000","tz":0},"subject":"Added a new nova CLI command \"nova delete-all\"","message":"Added a new nova CLI command \"nova delete-all\"\n\nThis command will allow us to delete all VMs/Servers under a particular tenant\nor all tenants without giving the name of each VM/Server.\nAlso we can guard required VMs/Servers using \"--exclude\" option.\n\nCommand Usage/help is as follws:\n\n~$ nova help delete-all\nusage: nova delete-all [--host \u003chostname\u003e] [--all-tenants]\n                       [--exclude \u003cserver_name\u003e [\u003cserver_name\u003e ...]]\n\nImmediately shut down and delete all server(s). Excluded server(s) are not\ndeleted.\n\nOptional arguments:\n  --host \u003chostname\u003e             Delete all servers hosted by the specified\n                                hostname (Admin only).\n  --all-tenants                 Delete server(s) in another tenant by name\n                                (Admin only).\n  --exclude \u003cserver_name\u003e [\u003cserver_name\u003e ...]\n                                name or ID of the server(s) to be excluded\n                                from deletion.\n\nCloses Bug: #1587748\n\nChange-Id: I228dc7eeb92f13c2d8be11dfaff9e9589f0b41b7\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/dce34aa95a2ea94438fb409c6dade03f0243edd8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/dce34aa95a2ea94438fb409c6dade03f0243edd8"}]},"branch":"refs/heads/master"},"981fcce218e3bd71d1016c868919f6f965644833":{"kind":"REWORK","_number":6,"created":"2016-11-08 06:39:30.000000000","uploader":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"ref":"refs/changes/23/393923/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-novaclient","ref":"refs/changes/23/393923/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/6"}}},"commit":{"parents":[{"commit":"c62981fd0a131ef52f60b6b41a66fd6a4cac76ca","subject":"Updated from global requirements","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/c62981fd0a131ef52f60b6b41a66fd6a4cac76ca"}]}],"author":{"name":"nitin-29-gupta","email":"nitin291989@gmail.com","date":"2016-11-04 20:13:04.000000000","tz":330},"committer":{"name":"NITIN GUPTA","email":"nitin291989@gmail.com","date":"2016-11-08 06:32:03.000000000","tz":0},"subject":"Added a new nova CLI command \"nova delete-all\"","message":"Added a new nova CLI command \"nova delete-all\"\n\nThis command will allow us to delete all VMs/Servers under a particular tenant\nor all tenants without giving the name of each VM/Server.\nAlso we can guard required VMs/Servers using \"--exclude\" option.\n\nCommand Usage/help is as follws:\n\n~$ nova help delete-all\nusage: nova delete-all [--host \u003chostname\u003e] [--all-tenants]\n                       [--exclude \u003cserver_name\u003e [\u003cserver_name\u003e ...]]\n\nImmediately shut down and delete all server(s). Excluded server(s) are not\ndeleted.\n\nOptional arguments:\n  --host \u003chostname\u003e             Delete all servers hosted by the specified\n                                hostname (Admin only).\n  --all-tenants                 Delete server(s) in another tenant by name\n                                (Admin only).\n  --exclude \u003cserver_name\u003e [\u003cserver_name\u003e ...]\n                                name or ID of the server(s) to be excluded\n                                from deletion.\n\nCloses Bug: #1587748\n\nChange-Id: I228dc7eeb92f13c2d8be11dfaff9e9589f0b41b7\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/981fcce218e3bd71d1016c868919f6f965644833"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/981fcce218e3bd71d1016c868919f6f965644833"}]},"branch":"refs/heads/master"},"81ad849ad138deeb9547529288f4360b99b14721":{"kind":"REWORK","_number":7,"created":"2016-11-09 09:33:16.000000000","uploader":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"ref":"refs/changes/23/393923/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-novaclient","ref":"refs/changes/23/393923/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/7"}}},"commit":{"parents":[{"commit":"c62981fd0a131ef52f60b6b41a66fd6a4cac76ca","subject":"Updated from global requirements","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/c62981fd0a131ef52f60b6b41a66fd6a4cac76ca"}]}],"author":{"name":"nitin-29-gupta","email":"nitin291989@gmail.com","date":"2016-11-04 20:13:04.000000000","tz":330},"committer":{"name":"NITIN GUPTA","email":"nitin291989@gmail.com","date":"2016-11-09 09:18:49.000000000","tz":0},"subject":"Added a new nova CLI command \"nova delete-all\"","message":"Added a new nova CLI command \"nova delete-all\"\n\nThis command will allow us to delete all VMs/Servers under a particular tenant\nor all tenants without giving the name of each VM/Server.\nAlso we can guard required VMs/Servers using \"--exclude\" option.\n\nCommand Usage/help is as follws:\n\n~$ nova help delete-all\nusage: nova delete-all [--host \u003chostname\u003e] [--all-tenants]\n                       [--exclude \u003cserver_name\u003e [\u003cserver_name\u003e ...]]\n\nImmediately shut down and delete all server(s). Excluded server(s) are not\ndeleted.\n\nOptional arguments:\n  --host \u003chostname\u003e             Delete all servers hosted by the specified\n                                hostname (Admin only).\n  --all-tenants                 Delete server(s) in another tenant by name\n                                (Admin only).\n  --exclude \u003cserver_name\u003e [\u003cserver_name\u003e ...]\n                                name or ID of the server(s) to be excluded\n                                from deletion.\n\nCloses-Bug: #1587748\n\nChange-Id: I228dc7eeb92f13c2d8be11dfaff9e9589f0b41b7\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/81ad849ad138deeb9547529288f4360b99b14721"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/81ad849ad138deeb9547529288f4360b99b14721"}]},"branch":"refs/heads/master"},"deb43a70ad3844d93438ad7ea5c6a68fd69b2836":{"kind":"REWORK","_number":8,"created":"2016-11-21 05:40:07.000000000","uploader":{"_account_id":23886,"name":"NITIN GUPTA","email":"nitin291989@gmail.com","username":"nitin-29-gupta"},"ref":"refs/changes/23/393923/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-novaclient","ref":"refs/changes/23/393923/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-novaclient refs/changes/23/393923/8"}}},"commit":{"parents":[{"commit":"c62981fd0a131ef52f60b6b41a66fd6a4cac76ca","subject":"Updated from global requirements","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/c62981fd0a131ef52f60b6b41a66fd6a4cac76ca"}]}],"author":{"name":"nitin-29-gupta","email":"nitin291989@gmail.com","date":"2016-11-04 20:13:04.000000000","tz":330},"committer":{"name":"NITIN GUPTA","email":"nitin291989@gmail.com","date":"2016-11-21 05:38:30.000000000","tz":0},"subject":"Added a new nova CLI command \"nova delete-all\"","message":"Added a new nova CLI command \"nova delete-all\"\n\nThis command will allow us to delete all VMs/Servers under a particular tenant\nor all tenants without giving the name of each VM/Server.\nAlso we can guard required VMs/Servers using \"--exclude\" option.\n\nCommand Usage/help is as follws:\n\n~$ nova help delete-all\nusage: nova delete-all [--host \u003chostname\u003e] [--all-tenants]\n                       [--exclude \u003cserver_name\u003e [\u003cserver_name\u003e ...]]\n\nImmediately shut down and delete all server(s). Excluded server(s) are not\ndeleted.\n\nOptional arguments:\n  --host \u003chostname\u003e             Delete all servers hosted by the specified\n                                hostname (Admin only).\n  --all-tenants                 Delete server(s) in another tenant by name\n                                (Admin only).\n  --exclude \u003cserver_name\u003e [\u003cserver_name\u003e ...]\n                                name or ID of the server(s) to be excluded\n                                from deletion.\n\nCloses-Bug: #1587748\n\nChange-Id: I228dc7eeb92f13c2d8be11dfaff9e9589f0b41b7\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/deb43a70ad3844d93438ad7ea5c6a68fd69b2836"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/deb43a70ad3844d93438ad7ea5c6a68fd69b2836"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
