summaryrefslogtreecommitdiff
path: root/openstackclient/compute/v2/server.py
Commit message (Collapse)AuthorAgeFilesLines
* trivial: Cleanup docs for 'server rebuild'Stephen Finucane2020-12-031-29/+52
| | | | | | | Use consistent help strings and error messages. Change-Id: I42647a6b7e67ce4b8dd5f826e20802ade691c266 Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
* Add NODE and HOST parameters in "server create" help textyanpuqing2020-12-011-1/+6
| | | | | | | | | | Add optional parameters "NODE" and "HOST" in the help text of the server create comand for --availability-zone. Co-Authored-By: tianhui <tianhui@awcloud.com> Change-Id: I4faea8a3d3aecb21ec535e55c238c71745fc68cb Task: 24274 Story: 2003313
* Merge "Add a few selectable fields to the "openstack server list" output"Zuul2020-11-181-0/+21
|\
| * Add a few selectable fields to the "openstack server list" outputjay2020-11-051-0/+21
| | | | | | | | | | | | | | | | Added ``-c project_id | user_id | created_at`` to ``openstack server list`` command to get these columns as an output. Change-Id: I18991adf899c7b72c98bb89871bf0715d35943f0 Story: 2007925
* | Merge "Resolve issues with 'server migration list'"Zuul2020-11-121-3/+8
|\ \
| * | Resolve issues with 'server migration list'Stephen Finucane2020-11-091-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'os-migrations' API accepts 'instance_uuid' and 'migration_type' query string parameters, not 'server' and 'type'. For the former, as the name would suggest, the value should be a server UUID, not a name. In addition, this is a list command and therefore should subclass the 'Lister' base class. Change-Id: I736f5575156fc04d7ada7783a1865ab3b438396f Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
* | | Merge "Add 'openstack server evacuate' command"Zuul2020-11-091-0/+112
|\ \ \ | |/ / |/| |
| * | Add 'openstack server evacuate' commandSean Mooney2020-11-021-0/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds a new 'openstack server evacuate' command to provide parity with the 'nova evacuate' command. The term "evacuate" is notoriously poor, in that it implies the instance is moved rather than recreated, but it is retained since people are familiar with it now. Change-Id: I1e32ca51036c501862d8e89b3144a9695d98a06f
* | | Merge "Add 'openstack server migration list --type' option"Zuul2020-11-031-4/+15
|\ \ \ | |/ / |/| |
| * | Add 'openstack server migration list --type' optionStephen Finucane2020-10-131-4/+15
| | | | | | | | | | | | | | | | | | | | | Another gap with novaclient closed. Change-Id: Id3ca95ceda6f438fa72496ab9ab15ac09bb64fa5 Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
* | | Merge "trivial: Rework 'CreateServer' function"Zuul2020-10-301-117/+178
|\ \ \
| * | | trivial: Rework 'CreateServer' functionStephen Finucane2020-10-291-117/+178
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This rather complex function has had stuff tacked on over the years. Help make working with it a bit easier through liberal application of whitespace and some nicer indentation. Some option help text is improved based on changes to modern nova. Change-Id: I8154dd395dd904c3bcd180a7d0f9037b7e0be64f Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
* | | | Merge "Cleanup of 'server migration list' command"Zuul2020-10-211-84/+109
|\ \ \ \ | | |/ / | |/| |
| * | | Cleanup of 'server migration list' commandStephen Finucane2020-10-131-84/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Address some post merge nits. Change-Id: Ie59521d81fab191194f6c1a114b007fa17f5299f Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
* | | | Merge "Compute: Add tag support for server add fixed ip"Zuul2020-10-151-5/+25
|\ \ \ \ | |_|/ / |/| | |
| * | | Compute: Add tag support for server add fixed iptianhui2020-10-121-5/+25
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I62ed4729dead9f91630d1f568c834c9642965558 Story: 2002195 Task: 21679
* | | | Compute: Add tags support for servertianhui2020-10-141-1/+114
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: If065602792958ff0145ae9f2e05f5b7a3177905c Story: 2002006 Task: 19641
* | | | Merge "Compute: Add tag support for server add volume"Zuul2020-10-141-21/+43
|\ \ \ \
| * | | | Compute: Add tag support for server add volumetianhui2020-10-091-21/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Id9f2e09426f6824e9ca672bf7808b5165c650a69 Story: 2002195 Task: 21675
* | | | | Merge "Add 'server migration force complete' command"Zuul2020-10-141-0/+38
|\ \ \ \ \ | | |_|/ / | |/| | |
| * | | | Add 'server migration force complete' commandjay2020-10-131-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is equivalent to novaclient's 'live-migration-force-complete' command. Change-Id: Ic4dc639afa16cdf8c5a46774895e850d92985292 Story: 2007513 Task: 39293
* | | | | Merge "Add 'server migration abort' command"Zuul2020-10-141-0/+38
|\ \ \ \ \ | |/ / / /
| * | | | Add 'server migration abort' commandhackertron2020-10-131-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is equivalent to nova client's 'live-migration-abort' command. Change-Id: I0ff520ccfdf2de52c427affad7bef4554c86a06f Story: 2007489 Task: 39210
* | | | | Merge "compute: Add --password option for openstack server create"Zuul2020-10-131-0/+6
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | compute: Add --password option for openstack server createZhaokun Fu2020-10-131-0/+6
| | |/ / | |/| | | | | | | | | | | | | | | | | | Change-Id: Iaf923200efe023655a58ac5acac0b087d2fd5366 Story: #1708570 Task: #13780
* | | | Merge "Remove oslo.utils"Zuul2020-10-131-5/+5
|\ \ \ \
| * | | | Remove oslo.utilsMonty Taylor2020-10-121-5/+5
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Oslo things are really server-side oriented and are heavy-weight for client things. Remove oslo.utils and just use iso8601 and importlib directly. It's not actually a bad library, but pulling it and its other deps in just for a couple of wrapper methods is a bit much here. oslo.i18n, fwiw, is lightweight and helpful. Change-Id: I463993170c03a1d98c47ab6a3c19131b7fca1099
* | | | Merge "Add an error message when server bind floating IP"Zuul2020-10-131-0/+4
|\ \ \ \
| * | | | Add an error message when server bind floating IPyanpuqing2020-10-121-0/+4
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we add a floating IP for the server with no fixed IP, CLI doesn't report an error and nothing happens. The patch adds an error message when the server which don't have fixed IP bind floating IP. Change-Id: I400f2bab08521bb7fa443d87c7f45cc79eb80694 Task: 27941 Story: 2004346
* | | | Merge "Compute: Add tag support for server add network"Zuul2020-10-131-1/+25
|\ \ \ \
| * | | | Compute: Add tag support for server add networktianhui2020-10-121-1/+25
| |/ / / | | | | | | | | | | | | | | | | | | | | Change-Id: I31a66b2d4dac44052a71f43a5a67836247ccac64 Story: 2002195 Task: 21678
* | | | Merge "Compute: Add tag support for server add port"Zuul2020-10-131-1/+24
|\ \ \ \
| * | | | Compute: Add tag support for server add porttianhui2020-10-121-1/+24
| |/ / / | | | | | | | | | | | | | | | | | | | | Change-Id: Ice6bf5fb57afeb10862c870b42732dcf166772d1 Story: 2002195 Task: 21676
* | | | Merge "Add server migration list CLI"Zuul2020-10-121-0/+161
|\ \ \ \ | |/ / / |/| | |
| * | | Add server migration list CLIzhangbailin2020-09-241-0/+161
| | |/ | |/| | | | | | | | | | | | | | | | | | | Add ``openstack server migration list`` to fetch server migrations. Part of blueprint add-user-id-field-to-the-migrations-table Change-Id: I15b4a5aca8d0dee59dd293e7b1c7272cdfbeea20
* | | Merge "Remove usage of six"Zuul2020-10-091-3/+2
|\ \ \ | |_|/ |/| |
| * | Remove usage of sixsongwenping2020-10-071-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With python3.x, classes can use 'metaclass=' instead of 'six.add_metaclass', 'six.iteritems' and 'six.iterkeys' can be replaced by 'items' and 'keys', 'six.moves.urllib.parse' can be replaced by 'urllib.parse', 'six.StringIO' and 'six.moves.cStringIO' can be replaced by 'io.StringIO', 'six.text_type' and 'six.string_type' are just 'str'. Change-Id: I84848c0bf8ab3c36dd821141191e2725e4e3b58b
* | | Merge "Add 'openstack server create --use-config-drive'"Zuul2020-10-091-12/+33
|\ \ \ | |/ / |/| |
| * | Add 'openstack server create --use-config-drive'Stephen Finucane2020-07-221-12/+33
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Despite what the help text for this options says, the nova API only accepts boolean values for this value and has done so since at least the introduction of the 2.1 microversioned API. While it would be nice to convert '--config-drive' to a boolean flag, we'd need to be able to retain temporary support for people passing arguments. 'nargs=?' [1] looks promising but it has an annoying tendency to swallow a positional argument following it [2]. Since that is not an option, we have to live with a new config option, '--use-config-drive' and a '--no-config-drive' counterpart. [1] https://docs.python.org/3/library/argparse.html#nargs [2] https://bugs.python.org/issue9338 Change-Id: If9cce0ad4094cc9cef1c9136b80c3b0f35a82c7a Signed-off-by: Stephen Finucane <sfinucan@redhat.com> Story: #2005468 Task: #30547
* | Merge "Fix --image-property option in 'create server'"Zuul2020-10-011-3/+11
|\ \
| * | Fix --image-property option in 'create server'Myeongchul Chae2020-09-101-3/+11
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a problem that the '-image-property' option, which can be used to create an instance, did not work as intended. I found that there were two problems with this option. First, I cannot select an image as its metadata. The second is that when there are multiple images available, the desired image may not be selected depending on the situation. This patch solves these two problems. I wrote the test case with these two problems considered together. Change-Id: Ib2745d7e067056ff4ca8bfaf6cff492d0dacb73a story: #2007860
* | Merge "Show words indicating booted from volume for server image"Zuul2020-09-301-2/+14
|\ \
| * | Show words indicating booted from volume for server imagemelanie witt2020-08-271-2/+14
| |/ | | | | | | | | | | | | | | | | | | | | | | | | For a server booted from a volume, nova API does not store an image_id and instead returns an empty string. Currently, openstackclient similarly shows an empty string for Image Name and Image ID for servers booted from volumes. To aid CLI users in understanding the meaning of no image_id, we can display the string "N/A (booted from volume)" in the image field if the server was booted from a volume. Change-Id: I9c62cf6fe23b2e934dcbf5ebbf706b2705d2e424
* | Output correct json for security groups in 'openstack server show'jay2020-09-141-6/+11
|/ | | | | | | | | | | | | Fixes incorrect json output for 'openstack server show -f json'. The security group json output groups all the json as one for e.g. "security_groups": "name='group1'\nname='group2'" The correct output should be "security_groups" : [{"name" : "group1"}, {"name" : "group2"}] properties and volumes_attached fields also has similar issue. Story: 2007755 Change-Id: I1b1cac716329e0530400aff782c08000b21d8e1d
* Correct image lookup during server rebuildAdam Harwell2020-05-041-3/+6
| | | | | | | | | | | | The switch to using glance from the SDK accidentally used get_image directly during a server rebuild, when it should have used find_image to match existing functionality. Bug introduced in: I36f292fb70c98f6e558f58be55d533d979c47ca7 Change-Id: I2005bd40a1bd6719670c7f7854316b4f9801b140 Story: 2007620 Task: 39643
* Switch image to use SDKArtem Goncharov2020-03-231-18/+13
| | | | | | | | | | | | | This is a work to switch OSC from using glanceclient to OpenStackSDK. With this change only v2 is using OpenStackSDK. V1 is still using glanceclient and will be switched in a separate change. Remove the direct depend on keystoneauth- let that flow through openstacksdk. Depends-on: https://review.opendev.org/#/c/698972 Change-Id: I36f292fb70c98f6e558f58be55d533d979c47ca7
* Use 'KeyValueAppendAction' from osc-libStephen Finucane2020-02-031-31/+1
| | | | | | | | Does what it says on the tin. This action was added to osc-lib in change If73cab759fa09bddf1ff519923c5972c3b2052b1. Change-Id: I51efaa096bb26e297d99634c5d9cca34c0919074 Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
* Stop silently ignoring invalid 'server create --hint' optionsStephen Finucane2020-02-031-11/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The '--hint' option for 'server create' expects a key-value pair like so: openstack server create --hint group=245e1dfe-2d0e-4139-80a9-fce124948896 ... However, the command doesn't complain if this isn't the case, meaning typos like the below aren't indicated to the user: openstack server create --hint 245e1dfe-2d0e-4139-80a9-fce124948896 Due to how we'd implemented this here, this ultimately results in us POSTing the following as part of the body to 'os-servers': { ... "OS-SCH-HNT:scheduler_hints": { "245e1dfe-2d0e-4139-80a9-fce124948896": null } ... } Which is unfortunately allowed and ignored by nova due to the use of 'additionalProperties' in the schema [1] Do what we do for loads of other options and explicitly fail on invalid values. This involves adding a new argparse action since none of those defined in osc-lib work for us. This is included here to ease backporting of the fix but will be moved to osc-lib in a future patch. [1] https://github.com/openstack/nova/blob/19.0.0/nova/api/openstack/compute/schemas/servers.py#L142-L146 Change-Id: I9e96d2978912c8dfeadae4a782c481a17cd7e348 Signed-off-by: Stephen Finucane <sfinucan@redhat.com> Story: #2006628 Task: #36840 Related-Bug: #1845322
* Replace six.iteritems() with .items()lihaijing2020-01-091-3/+3
| | | | | | | | | | | | | | | | 1. As mentioned in [1], we should avoid using six.iteritems to achieve iterators. We can use dict.items instead, as it will return iterators in PY3 as well. And dict.items/keys will more readable. 2. In py2, the performance about list should be negligible, see the link [2]. [1] https://wiki.openstack.org/wiki/Python3 [2] http://lists.openstack.org/pipermail/openstack-dev/2015-June/066391.html Co-Authored-By: Akihiro Motoki <amotoki@gmail.com> Change-Id: I4b9edb326444264c0f6c4ad281acaac356a07e85 Implements: blueprint replace-iteritems-with-items
* Fix openstack server list --deleted --marker optionKeithMnemonic2020-01-021-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes using the "name" option for a marker when --deleted is also used. The find_resource() function that is being called does not correctly handle using the marker as the "name" in the search when also using deleted=True. One simple way to fix this is force the marker to only be an ID when --deleted is used. This is how the nova client works. Using the --deleted option is available to users with the admin role by default. If you're an admin listing --deleted servers with a marker by name, find_resource() is going to fail to find it since it doesn't apply the --deleted filter to find_resource(). The find_resource() function is trying to find the marker server by name if it's not found by id, and to find it by name it's listing servers with the given marker as the name, but not applying the --deleted filter so it doesn't get back any results. In the story it was suggested modifying find_resource to include the deleted query param when it's specified on the command line but that didn't work because it still results in something like this: http://192.168.1.123/compute/v2.1/servers?deleted=True&name=4cecd49f-bc25-4a7e-826e-4aea6f9267d9 It seems like there are bugs in find_resource(). Restricting the marker to be the server ID when listing deleted servers is probably OK since if you're using --deleted you're an admin and you could be listing across all projects and if you're filtering by a server across all projects anyway (not that you have to, I'm just saying if you are), or even showing a server in another project, you have to do it by id rather than name because find_resource() won't find the server in another project by name, only ID. story: 2006761 Task: 37258 Change-Id: Ib878982b1d469212ca3483dcfaf407a8e1d2b417