summaryrefslogtreecommitdiff
path: root/openstackclient/tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Add dns-domain support to Network object" into stable/rockystable/rockyZuul2020-08-192-0/+13
|\
| * Add dns-domain support to Network objectPierre Hanselmann2020-01-032-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | Add "dns-domain" parameter to Network class. Also check backend extensions and send an error message in case of an argument (like dns-domain) is sent and the extension is missing (dns-integration in this case). Change-Id: I7303658c27d9b9f2d8381ccea0b29e96909cab54 Closes-Bug: 1633214 Partial-Bug: 1547736 (cherry picked from commit b8754e15e7adc9a04587f67c83febaf49b64f18c)
* | Merge "Stop silently ignoring invalid 'server create --hint' options" into ↵Zuul2020-07-221-1/+24
|\ \ | | | | | | | | | stable/rocky
| * | Stop silently ignoring invalid 'server create --hint' optionsStephen Finucane2020-02-191-1/+24
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 (cherry picked from commit ea27ebb0f918db9eab2f5751a1b065818faa0e6d) (cherry picked from commit 576d9ecfd0ac27611ec89af6d34e7378b7a39fb3) (cherry picked from commit 38e1274f478219bee8899b6c9eaa09dbfd03bbcd)
* | Fix functional tests for py3Eric Fried2020-01-286-9/+27
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix various things so the functional tests will work under python3: - A hashlib.md5() can only be update()d with an encoded string in py3. - There's no dict.iteritems(), change to dict.items() (which is already an iterator). - Open temp files with 'w+' mode rather than the default 'w+b' (as an alternative to encoding all the write and expected-read payloads as bytes). - (This is a weird one) Explicitly raise SkipTest from unittest (rather than unittest2, which is where cls.skipException landed). Not sure why this is busted, but this moves the ball. Conflict/issue with raising SkipTest on this branch. (cherry picked from commit f1d742f32adeb662a3fdf8fa3ef3bc391e71ed81) (cherry picked from commit b866202f54afddca66a77cd989b082e193a96956) Includes squash of: Before writing object data to stdout, re-open it in binary mode Otherwise, you can hit TypeErrors on Python3. Closes-Bug: 1775482 (cherry picked from commit 415b48056d9d021e04ec972029040a89a6b13928) Change-Id: Ic9b2b47848a600e87a3674289ae7ae8c3e091fee
* Merge "Fix compute service set handling for 2.53+" into stable/rockyZuul2019-09-241-4/+100
|\
| * Fix compute service set handling for 2.53+Matt Riedemann2019-09-211-4/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With compute API microversion 2.53 there is a single PUT /os-services/{service_id} API which takes the service id as a UUID. Since the openstack compute service set command only takes --host and --service (binary) to identify the service, this change checks if 2.53 or greater is being used and if so, looks up the service by host and binary and calls the appropriate methods in novaclient. If the command cannot uniquely identify a compute service with the given host and binary, an error is raised. A future change could add an --id option to be used with 2.53+ to pass the service id (as UUID) directly to avoid the host/binary filtering. Change-Id: I868e0868e8eb17e7e34eef3d2d58dceedd29c2b0 Story: 2005349 Task: 30302 (cherry picked from commit 4bd53dc1090fda86f6ce25b76a079e250c9206d8) (cherry picked from commit 100d34c54ecdfedf6fb40a2686e1aae1f54df97e)
* | Merge "Fix BFV server list handling with --name-lookup-one-by-one" into ↵Zuul2019-09-241-8/+26
|\ \ | | | | | | | | | stable/rocky
| * | Fix BFV server list handling with --name-lookup-one-by-onemelanie witt2019-07-221-8/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the --name-lookup-one-by-one option passed to the 'server list' command, the image and flavor names will be looked up for each server being listed instead of fetching all image/flavor names. The current code assumes all servers have an image attribute, but servers booted from volumes have no image, so the following error is raised when listing BFV servers with --name-lookup-one-by-one: AttributeError: ('unicode'|'str') object has no attribute 'get' The error occurs when the code attempts server.image.get('id'). This fixes the --name-lookup-one-by-one code not to assume an image for a server. The unit tests for 'server list' have also been robustified to feature one BFV server to enhance our test coverage. Story: #2006063 Task: #34777 Change-Id: I312c971346c7ded93f6fcaa515098554b8580295 (cherry picked from commit bfc34e11b3437506508b3e120accc0e212268ac6) (cherry picked from commit 83359fbe4fd7e5850abd45a467bf197c284519b1)
* | | Merge "Add --name-lookup-one-by-one option to server list" into stable/rockyZuul2019-09-241-1/+29
|\ \ \ | |/ / | | / | |/ |/|
| * Add --name-lookup-one-by-one option to server listPavlo Shchelokovskyy2019-07-221-1/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | usually in a big cloud there are many images and flavors, while each given project might use only some of those. This patch introduces '--name-lookup-one-by-one' argument to server list command (mutually exclusive with '--no-name-lookup') When provided (or either '--image' or '--flavor' is specified) to the `server list` command, name resolving for corresponding entity is now using targeted GET commands instead of full entities list. In some situations this can significantly speedup the execution of the `server list` command by reducing the number of API requests performed. Change-Id: I59cbf3f75c55e5d3747654edcc9be86ad954cf40 Story: #2002039 Task: #19682 (cherry picked from commit e782f49927a6b142a35f85a1a4a759fd2b1ceedf)
* | Merge "Fix: Restore output 'VolumeBackupsRestore' object is not iterable" ↵Zuul2019-08-282-2/+62
|\ \ | |/ |/| | | into stable/rocky
| * Fix: Restore output 'VolumeBackupsRestore' object is not iterablewhoami-rajat2019-05-222-2/+62
| | | | | | | | | | | | | | | | | | | | | | | | VolumeBackupsRetore object has '_info' attribute which contains the output data of the restore command which should be returned instead of the 'VolumeBackupsRestore' object. Change-Id: I64b75649c1ac9c24e05a197f7280975564b4d386 Story: 2004740 Task: 28811 (cherry picked from commit 24255ad0dde608a19d371a27c13714098097f185)
* | Fix bug in endpoint group deletionJose Castro Leon2019-06-272-0/+557
|/ | | | | | | | | | | There is a typo in the endpoint group deletion, due to this you can't remove endpoint groups once assigned. I am adding also the unit tests to avoid this kind of issues in the future Task: 30640 Story: 2005521 Change-Id: Ie938f2c9894bb39b4c0ed1f7aa3a6a751a303058 (cherry picked from commit 04e03b2a1fe34046e2148d3c1d17b9053010c8af)
* Don't display router's is_ha and is_distributed attributes alwaysSławek Kapłoński2018-12-101-2/+41
| | | | | | | | | | | | | | | | | | | In case when is_ha or is_distributed attribute of Neutron's router is set to None, it means that it wasn't returned from server and should not be displayed. Otherwise it might be confusing for user is making openstack router show <router_name> call as an admin will return e.g. is_ha=True but same call done as regular user will return False or None. It might happen like that because returning of those attributes is forbidden for regular users in Neutron's policy.json Depends-On: https://review.openstack.org/567606/ Change-Id: I626b5193d9ecb308baad7b27939f9673c32b4182 Closes-Bug: #1689510 Task: 19789 Story: 2002110 (cherry picked from commit 8db3933feb35f91f3ff3d121c155286973c66122)
* Handle multiple ports in AddFloatingIP3.16.2melanie witt2018-11-081-8/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AddFloatingIP refers to an old nova proxy API to neutron that was deprecated in nova. The neutron API for floating IP associate requires a port to be specified. Currently, the code is selecting the first port if the server has multiple ports. But, an attempt to associate the first port with a floating IP can fail if the first port is not on a network that is attached to an external gateway. In order to make the command work better for users who have a server with multiple ports, we can: 1. Select the port corresponding to the fixed_ip_address, if one was specified 2. Try to associate the floating IP with each port until one of the attempts succeeds, else re-raise the last exception. (404 ExternalGatewayForFloatingIPNotFound from neutron) This also fixes incorrect FakeFloatingIP attributes that were being set in the TestServerAddFloatingIPNetwork unit tests, which were causing the tests to use None as parsed args for ip-address and --fixed-ip-address and thus bypassing code in the 'if parsed_args.fixed_ip_address:' block. Task: 27800 Story: 2004263 Change-Id: I11fbcebf6b00f12a030b000c84dcf1d6b5e86250 (cherry picked from commit 013c9a4f3a44cb0b81fc7affe9b933e701cb5dba)
* Merge "Default --nic to 'auto' if creating a server with >= 2.37" into ↵Zuul2018-11-023-4/+58
|\ | | | | | | stable/rocky
| * Default --nic to 'auto' if creating a server with >= 2.37Matt Riedemann2018-10-253-4/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Compute API version >= 2.37 requires a 'networks' value in the server create request. The novaclient CLI defaults this to 'auto' if not specified, but the novaclient ServerManager.create python API binding code does not, as it wants clients to be explicit. For the purposes of the OSC CLI, we should follow suit and if the user is requesting OS_COMPUTE_API_VERSION>=2.37 without specific nics, we should just default to 'auto'. Change-Id: Ib760c55e31209223338a4086ff1f4fee88dc6959 Closes-Bug: #1750395 (cherry picked from commit 1008544882fbdae16b045abca05cf3e2e8a14787)
* | Allow endpoint filtering on both project and project-domainJulie Pichon2018-10-151-0/+41
|/ | | | | | | | | | | | The --project and --project-domain flags are currently mutually exclusive for listing endpoints, however the --project-domain argument is supposed to help with filtering projects with colliding names. They should be allowed together. Story: 2004018 Task: 27004 Change-Id: I7340e01f509e3515f07cb46f175fb603f1ce8b67 (cherry picked from commit 91a2d888625488da3f65ad372b4248e9747b9a3e)
* Fix 'project purge' deleting wrong project's servers and volumesJulie Pichon2018-09-171-12/+18
| | | | | | | | | | | | | | | Project purge would delete the servers and volumes for the project the user is currently authenticated for, regardless of the --project flag. Note: This change means that no server at all will be deleted if the logged in user doesn't have the get_all_tenants permission set in the Nova policy (default: admin_api). This doesn't appear to be an issue with Cinder as the default rule appears to be admin_or_owner. Change-Id: If1c54e24e1482438b81c3c32fd5fc9fdd7a7be04 Story: 1747988 Task: 26494 (cherry picked from commit 1b66ad9067cc404ebfdc8569822d226d5bffddd6)
* Fix broken gate jobs3.16.1Fan Zhang2018-09-037-160/+154
| | | | | | | | | | | | | | | | | | | | | | | | This patch aims at fixing the broken gate jobs because of cinder and glance patches [1], [2], [3] and [4]. * Remove parameter `--source-replicated` to drop volume replication v1 support * Address some timing issues with volume transfer requests * Only run Image v1 tests when the test cloud has v1 available * Get tolerant of unexpected additional attributes being returned in Image data [1].https://review.openstack.org/#/c/586293/ [2].https://review.openstack.org/#/c/532503/ [3].https://review.openstack.org/#/c/533564/ [4].https://review.openstack.org/#/c/578755/ Co-Authored-By: Dean Troyer <dtroyer@gmail.com> Co-Authored-By: Monty Taylor <mordred@inaugust.com> Depends-on: https://review.openstack.org/588664 Change-Id: I2a785750e92155185d3344e6116c7f5c6fdd3cbe Signed-off-by: Fan Zhang <zh.f@outlook.com> (cherry picked from commit def83a0e94de2f98e3bd68ee412c0f0a2c316f32)
* Merge "Don't sent disk_over_commit if nova api > 2.24"Zuul2018-07-251-0/+35
|\
| * Don't sent disk_over_commit if nova api > 2.24Artom Lifshitz2018-07-241-0/+35
| | | | | | | | | | | | | | | | | | | | In API microversion 2.25 Nova removed the disk_over_commit parameter to the live migration server action. This patch makes sure that we don't include it in our request if we're running with 2.25 or higher. Story: #2002963 Task: #22966 Change-Id: I1bbdd33be96d82422a05982508e370237c3560f3
* | Merge "Add command to show all service versions"Zuul2018-07-251-0/+31
|\ \
| * | Add command to show all service versionsMonty Taylor2018-07-231-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Knowing what services and what versions of those services exist on a cloud isn't always a spectacular experience. Add a command that will use get_all_version_data from keystoneauth to produce a report of the available services and the version info for each service. Depends-On: https://review.openstack.org/584944 Change-Id: I84751c175d0c5f6d857a5473d2db6d5f1b41f946
* | | Merge "Support --community in openstack image list"Zuul2018-07-251-0/+29
|\ \ \
| * | | Support --community in openstack image listNobuto Murata2018-07-241-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "--community" was added to "image create" and "image set" previously, but was missed in "image list". Change-Id: I959fdd7f67ae62c8326659ce52389228152ec019 Story: 2001925 Task: 14453
* | | | Merge "Implement support for project limits"Zuul2018-07-254-0/+642
|\ \ \ \
| * | | | Implement support for project limitsLance Bragstad2018-07-234-0/+642
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit let's users manage limits via the command line. bp unified-limits Change-Id: I7c44bbb60557378b66c5c43a7ba917f40dc2b633
* | | | | Merge "Implement support for registered limits"Zuul2018-07-254-0/+754
|\ \ \ \ \ | |/ / / /
| * | | | Implement support for registered limitsLance Bragstad2018-07-234-0/+754
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for users to manage registered limits via the command line. bp unified-limits Depends-On: https://review.openstack.org/#/c/574391/ Change-Id: Id8377363f7a3248b45aeeba21d2acc02684a0305
* | | | | Merge "compute: host: expand kwargs in host_set() call"Zuul2018-07-251-4/+3
|\ \ \ \ \
| * | | | | compute: host: expand kwargs in host_set() callBenoît Knecht2018-07-201-4/+3
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `host_set()` expects `status` and `maintenance_mode` as keyword arguments, but in `SetHost.take_action()`, it is called without expanding the keyword arguments. So it's called as ``` host_set(host, {'status': 'enable'}) ``` instead of ``` host_set(host, status='enable') ``` Change-Id: If0b37ac60091161a892bfc694fce31a988f66005 Task: 23023
* | | | | Merge "Support filtering port with IP address substring"Zuul2018-07-251-0/+18
|\ \ \ \ \
| * | | | | Support filtering port with IP address substringHongbin Lu2018-06-291-0/+18
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | Change-Id: I9559f1c0a6db943705bd32aefb60d7ea7054dd1b Related-Bug: #1718605
* | | | | Merge "Fix error with image show when image name is None"Zuul2018-07-241-1/+2
|\ \ \ \ \ | |_|_|_|/ |/| | | |
| * | | | Fix error with image show when image name is NoneJake Yip2018-07-231-1/+2
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | Need to bump osc-lib to 1.10.0 Closes-Bug: #1736696 Depends-On: I2aab5cc1f550848bda2b90ef7ef9a60f07b88996 Change-Id: I7420204f28d36529354e5671bd88587d9b15bb06
* | | | Merge "Do not require port argument when updating floating IP"Zuul2018-07-241-6/+51
|\ \ \ \
| * | | | Do not require port argument when updating floating IPyanpuqing2018-06-131-6/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When setting floating ip other properties, port argument is force to use. The patch modifies the command, when setting floating ip other properties, like tags, no need port argument. Change-Id: I908712c8913f32d3dd5fdfefe7347277d72f66de Story: 1751431 Task: 13865
* | | | | Pass volume snapshot size to volume createMonty Taylor2018-07-231-1/+1
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When creating a volume from a snapshot, the size parameter is required and type is checked. Since we have to pass something and it needs to be a valid data type (None is not acceptable) grab the size from the snapshot object and pass it. Change-Id: Ie23e3d23828919234e40336b5c65b22e140d337c
* | | | Merge "Slow down and retry aggregate create/delete to lessen race"Zuul2018-07-131-0/+18
|\ \ \ \
| * | | | Slow down and retry aggregate create/delete to lessen raceDean Troyer2018-07-061-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I676894c1bfd3156313d88e6457250b9ff226118b Signed-off-by: Dean Troyer <dtroyer@gmail.com>
* | | | | Skip calls to glance and nova when got no serversPavlo Shchelokovskyy2018-07-091-0/+19
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | save (potentially many) HTTP calls to Glance API for image list and a call to Nova API for flavor list when the server list actually returned no servers. Change-Id: I93a56138c50b82fb4dce67a2f788107f71c5f423 Story: #2002039 Task: #19681
* | | | Merge "Retry floating IP tests"Zuul2018-07-061-4/+36
|\ \ \ \ | |_|/ / |/| | |
| * | | Retry floating IP testsDean Troyer2018-07-061-4/+36
| | |/ | |/| | | | | | | | | | | | | | | | | | | test_server_attach_detach_floating_ip() has a test for server add/remove floating IP that seems to be racy, add a retry loop to let neutron and nova do their thing before calling it bad. Change-Id: I999a0d7dae1706d746053bafb7ab4e3b791d0042
* | | Merge "Adding api_version to FakeApp"Zuul2018-06-291-0/+1
|\ \ \
| * | | Adding api_version to FakeAppTelles Nobrega2018-06-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to use app.api_version['<some_service>'] we need to have the api_version on FakeApp otherwise the test will fail. Patch that will benefit from this: https://review.openstack.org/#/c/572536/ Change-Id: Ibb3c548daf2a62b6c4aefb5e257372dd5c56521e
* | | | Merge "Add ability to filter image list by tag"Zuul2018-06-292-7/+36
|\ \ \ \ | |_|/ / |/| | |
| * | | Add ability to filter image list by tagAdam Harwell2018-06-282-7/+36
| | | | | | | | | | | | | | | | Change-Id: I2e222d3e69df9d8d7cd472663caaee31bedd848c
* | | | Merge "Compute: Add description support for flavor"Zuul2018-06-282-3/+134
|\ \ \ \