summaryrefslogtreecommitdiff
path: root/openstackclient
Commit message (Collapse)AuthorAgeFilesLines
* Handle multiple ports in AddFloatingIPqueens-em3.14.3melanie witt2018-11-082-15/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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) (cherry picked from commit e09c358e7b35ac938595aad90c5c42dfe402a42a)
* Merge "Default --nic to 'auto' if creating a server with >= 2.37" into ↵Zuul2018-11-024-7/+66
|\ | | | | | | stable/queens
| * Default --nic to 'auto' if creating a server with >= 2.37Matt Riedemann2018-10-254-7/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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) (cherry picked from commit 4944d4eaa9aaeffdee358680550ac7d7f0c6e8d8)
* | Merge "Allow endpoint filtering on both project and project-domain" into ↵Zuul2018-11-022-1/+42
|\ \ | |/ |/| | | stable/queens
| * Allow endpoint filtering on both project and project-domainJulie Pichon2018-10-152-1/+42
| | | | | | | | | | | | | | | | | | | | | | | | 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: 27006 Change-Id: I7340e01f509e3515f07cb46f175fb603f1ce8b67 (cherry picked from commit 91a2d888625488da3f65ad372b4248e9747b9a3e)
* | Don't sent disk_over_commit if nova api > 2.24Artom Lifshitz2018-10-252-5/+43
|/ | | | | | | | | | | 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 (cherry picked from commit d6121782d3aa6a95b883220b27a154e641b61f7f)
* Merge "Fix 'project purge' deleting wrong project's servers and volumes" ↵Zuul2018-10-032-14/+20
|\ | | | | | | into stable/queens
| * Fix 'project purge' deleting wrong project's servers and volumesJulie Pichon2018-09-172-14/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: 26495 (cherry picked from commit 1b66ad9067cc404ebfdc8569822d226d5bffddd6)
* | Do not require port argument when updating floating IPyanpuqing2018-08-212-6/+71
|/ | | | | | | | | | | | | | | | | | | 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 Closes-Bug: #1778666 (cherry picked from commit 402c9a21b347509520be206e28ee7d0ef4004b92) Small changes due to changes in tag handling and how unit tests are working. Conflicts: doc/source/cli/command-objects/floating-ip.rst openstackclient/network/v2/floating_ip.py openstackclient/tests/unit/network/v2/test_floating_ip_network.py
* Prevent "server migrate --wait" from hangingJulie Pichon2018-06-051-0/+1
| | | | | | | | | | | | | | Migrate uses the same mechanism in the backend than Resize and so the steps and step names are similar. Currently when using the --wait option with 'migrate', we wait forever because the status won't get to active until the user performs an action. This makes it return on verify_resize status just like 'resize' does, so that the user can perform the next manual step. Change-Id: Ie1aeac52506bc8801f88fd6a6eb4f6094cf20050 Story: 2001994 Task: 19620 (cherry picked from commit de9a6fc0700d821f9fca6bf347407eccd87f0064)
* Re-implement novaclient bits removed in 10.03.14.2Dean Troyer2018-04-208-110/+618
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a) /os-floating-ips was removed in Compute API 2.36 and from novaclient's Python API in 10.0 Add to api.computev2: floating_ip_add() floating_ip_remove() Convert add floating IP command to nova-net/neutron split: "server add floating ip" "server remove floating ip" b) /os-hosts was removed in Compute API 2.43 and from novaclient's Python API in 10.0. Add to api.computev2: host_list() host_set() host_show() Convert host commands to use intenal api: "host list" "host set" "host show" c) The introduction of the Network-style commands into the server group broke cliff's autoprogram directive as it executes the get_parser() methods without fully initializing the Command object. NOTE: This is really three reviews squashed to get through the gate in one pass. Closes-Bug: #1745795 Change-Id: I5116086f9a9e4b2b31a744bf8f4558c79f0bfe59 (cherry picked from commit 53e7aab7ed4d6c981ca067c1db8bce290a5f0055)
* Clean up W503 and E402 pep8 errorsSean McGinnis2018-04-2013-255/+232
| | | | | | | | | | | | | pycodestyle 2.40 and later enforce these rules that were not previously enforced. Rather than just skipping them, this cleans up the trivial instances of these violations. This does also include some other updates that were not triggering errors in an attempt to keep some of the style consistent. Change-Id: Id7c0a6b8f1f835e69d844b000e3ed751852ada63 Closes-bug: #1762803 (cherry picked from commit d60141525987bc973802b4ec9a3b027e071d1966)
* neutron: add --mtu for create/set network3.14.1Emilien Macchi2018-03-263-0/+24
| | | | | | | | Support Neutron network mtu configuration with a new argument, --mtu that allows CLI users to set MTU for Neutron networks. Change-Id: I93d23581c7e8c84eaf9bb3b293360036f60f456b (cherry picked from commit 18563b4132f794cc6612c2897795f96a31b565ae)
* Handle SDK changesDean Troyer2018-03-131-1/+8
| | | | | | | | | | stable/queens allows SDK >=0.9.19 and <=0.11.3. Somewhere in there the return text of an exception changed. Backport portions of Id6de1485bcafb41f238f3e74277094ce64a6acf4 to handle this change, but modify to work with either text form sice both are allowed. Change-Id: Ibfee8e1e2ae4eca763894bbee8747297e0fb350f
* Fix use of new openstacksdk connectionMonty Taylor2018-01-231-0/+1
| | | | | | | We store the created conn on the instance, but we never pull it back off if there is already one present. Change-Id: I2d890dd206d4ddf67fa42d798e6fd2c652799785
* Rework Network client config for new SDK ConnectionDean Troyer2018-01-221-19/+26
| | | | | | | | network.client.make_client() has always put a copy of it's SDK Connection directly into ClientManager, the new-style Connection create will move into osc-lib ClientManager, do it here too until then. Change-Id: I1edfd19c9e73320768fb9640931fafe857c980b4
* Merge "Replace assert with condition"Zuul2018-01-221-3/+1
|\
| * Replace assert with conditionPavlo Shchelokovskyy2018-01-221-3/+1
| | | | | | | | | | | | | | a piece of code in image client has some business logic behind assert, which can be lost when running python in optimized mode (-O). Change-Id: I2179970df495e1215d691915c51cebe5cb4541a7
* | Merge "Check that Glance returns image data before processing it"Zuul2018-01-222-0/+58
|\ \ | |/ |/|
| * Check that Glance returns image data before processing itMike Fedosin2018-01-052-0/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now if Glance v2 cannot find image data it returns an empty response with 204 status code, instead of raising an error. Glance client handles this situation and wraps the response with a RequestIdProxy object, whose 'wrapped' attribute is None. But when openstack client tries to parse this object using glanceclient's save_image util function, it fails with "NoneType object is not iterable" message, for the object doesn't contain any data. This patch adds additional check to prevent such behaviour and raises SystemExit exception if no data was returned from the server. Glance v1 is not affected, because it raises an error if can't find an image data. Change-Id: I016a60462ba586f9fa7585c2cfafffd7be38de7b Closes-Bug: #1741223
* | Corrected spelling mistakeDavid Rabel2018-01-191-1/+1
| | | | | | | | | | | | in quotas -> in quotes Change-Id: I3adb1ccd8f3a9c495f0b9cf688aee5c4c1e63507
* | Merge "Add floating IP qos_policy actions"Zuul2018-01-113-3/+169
|\ \
| * | Add floating IP qos_policy actionsLIU Yulong2018-01-113-3/+169
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now we can associate a qos policy to the floating IP, and dissociate it. The commands are: $ openstack floating ip create --qos-policy ... $ openstack floating ip set --qos-policy ... $ openstack floating ip set --no-qos-policy ... $ openstack floating ip unset --qos-policy These commands are based on the neutron change: I4efe9e49d268dffeb3df4de4ea1780152218633b Partially-Implements blueprint: floating-ip-rate-limit Change-Id: I932b32f78cc5a2b53926feaec1a0b392cf7e8b57
* | Allow ports filtering with device_idHongbin Lu2018-01-032-0/+26
|/ | | | | | | | | | Right now, if a neutron port is owned by a container powered by Kuryr, there is no way to list and filter those ports because OSC assumed a neutron port is owned by either a server or router. This patch adds support for that by introducing an option '--device-id' to the 'port list' command. Change-Id: Ib1fd27e8d843a99fb02ccabd8a12a24ac27cec9c
* Merge "Allow port list to shown undefined attributes"Zuul2017-12-312-2/+14
|\
| * Allow port list to shown undefined attributesAkihiro Motoki2017-11-242-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At now, OSC command implementation extracts resource attributes based on a predefined column list, so if a user specifies an unknown attribute not defined in the column lists, such attribute will be ignored. In case of 'port list', the neutron port defines many attributes and it is not a good idea to show all attributes even in the long mode from the perspective of user experience. This commit consumes osc_lib.utils.calculate_headers_and_attrs() function to show undefined port attributes if requested in -c option. Closes-Bug: #1707848 Depends-On: I6c6bc3c6e3c769c96869fd76b9d9c1661280850e Change-Id: I130a6aed41d80603698b6cab0c9a1d1dc59df743
* | flavor: clarify --swap descriptionChen Hanxiao2017-12-281-1/+1
| | | | | | | | | | | | | | | | | | | | --swap will add a additional storage device, which not affect the original swap partition/device. This patch will clarify this misleading description. Change-Id: Ic079c069985d39cc969b97876901007a81883f57 Signed-off-by: Chen Hanxiao <chenhx@certusnet.com.cn>
* | Switch to use stestr directlyMasayuki Igawa2017-12-271-1/+1
| | | | | | | | | | | | | | | | This commit makes to use stestr instead of ostestr directly. ostestr>1.0.0 has started to use stestr instead of testrepository. So there is no reason to use ostestr anymore. Change-Id: I6327d50c9f6dd19f1de24b9b51532104fb3e916e
* | Merge "Send 'changes-since' instead of 'changes_since' query parameter"3.13.0Zuul2017-12-132-8/+9
|\ \
| * | Send 'changes-since' instead of 'changes_since' query parameterDaniel Speichert2017-12-112-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Per API reference, only 'changes-since' is accepted and the variant with underscore is ignored, making the CLI functionality broken. [dtroyer] added release note and fixed unit tests. Change-Id: I0c596531a8af03da17d5ce39d75b12e941403aa5 Closes-Bug: 1732216
* | | Merge "Add support for endpoing filter commands"Zuul2017-12-135-17/+339
|\ \ \
| * | | Add support for endpoing filter commandsJose Castro Leon2017-11-215-17/+339
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | Implements the commands that allow to link and endpoint to a project for endpoint filter management. Implements: blueprint keystone-endpoint-filter Change-Id: Iecf61495664fb8413d35ef69f07ea929d190d002
* | | Merge "Fix credentials in create, update and list."Zuul2017-12-112-20/+3
|\ \ \
| * | | Fix credentials in create, update and list.yangweiwei2017-11-172-20/+3
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now, keystone has supported serverl auth method, like 'totp'. Before we use this method, we should create the credential first. And we need create it with type 'totp'. But now we cannot create credential with this method. Also, I think the type should not have constrains. We can create any type in keystone project. So, we should do these actions too. The type would be more which We cannot control. Change-Id: Ie0482da3133fb515e4bb8e45f8c54f509589cc5e Closes-bug: #1731848
* | | Fix SDK Connection creation alternative to ProfileDean Troyer2017-12-072-7/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | Do a dummy import to determine which SDK is installed (Pre/post merge). This solves the DevStack error "Cloud defaults was not found" in -tips jobs. Depends-On: Ia111f127fbdceac2afe20fd9d1fe032145cdd72c Change-Id: I60c2d418dd5a393eee2cc2a5c2fdebfffdabf2d3
* | | Merge "Remove a bunch of things we promised to remove in 2H 2017"Zuul2017-12-049-249/+1
|\ \ \
| * | | Remove a bunch of things we promised to remove in 2H 2017Dean Troyer2017-11-309-249/+1
| | | | | | | | | | | | | | | | Change-Id: I060559fe13e354fe87551cd9dd82774bddb54640
* | | | openstack subnet create fails when tags is NoneCarlos Konstanski2017-12-011-2/+2
|/ / / | | | | | | | | | | | | | | | | | | | | | In network/v2/_tag.py lines 105 and 110: obj.tags can be None, in which case set(obj.tags) throws a NoneType exception. Change-Id: I1e965ec947844cbf84676fab27a2261fc0c0ea49 Closes-Bug: #1735836
* | | Merge "Replace %r with %s on printing string variable"Zuul2017-11-281-2/+2
|\ \ \ | |_|/ |/| |
| * | Replace %r with %s on printing string variableHongbin Lu2017-11-131-2/+2
| |/ | | | | | | Change-Id: Idd8c15255f024bba7079d3a9a29545dec0c91b58
* | Remove hard-coded policy choices for creating a server groupMatt Riedemann2017-11-192-4/+5
| | | | | | | | | | | | | | | | | | | | | | The hard-coded choices for the server group policy make it impossible to create a server group with the soft-affinity or soft-anti-affinity policy rules which were added in compute API microversion 2.15. This removes the hard-coded choices so that the policy is restricted on the server side rather than the client side. Change-Id: Ib3dc39422ac1015872d56ae2fdeddf0f29613494 Closes-Bug: #1732938
* | Merge "Prepare for os-clinet-config to go away"Zuul2017-11-171-1/+0
|\ \
| * | Prepare for os-clinet-config to go awayDean Troyer2017-11-161-1/+0
| | | | | | | | | | | | | | | | | | | | | We used that module in a test functional for module list, it is being absorbed into python-openstacksdk and having it listed in this test breaks -tips jobs. Change-Id: I98fdf5a5d1b3c6e30cb4c5f5fec3dd8e43e53145
* | | Add logic to handle old and new sdk constructorMonty Taylor2017-11-161-9/+18
|/ / | | | | | | | | | | | | | | | | | | | | SDK is removing Profile, but currently has compat code to support this invocation in OSC. While the intent is to protect people from upgrade breakage, it's python, and packaging things have a tendency to get strange. By putting in a little belt and suspenders if block here, we can hopefully protect folks who upgrade sdk for some reason without upgrading python-openstackclient. Change-Id: Id678e97a2b99dbbfc772acc8c6ba283db551723d
* | Merge "Network: Add interfaces info in router show"Zuul2017-11-162-6/+38
|\ \
| * | Network: Add interfaces info in router showycx2017-11-152-6/+38
| |/ | | | | | | | | | | | | | | | | | | | | | | Add a list of interfaces info in the output of 'openstack router show'. The information of router interface are: IP address, subnet ID and port ID. Co-Authored-By: Dongcan Ye <hellochosen@gmail.com> Change-Id: I1252986122122defffe795292b83dc4e84481c7e Closes-Bug: #1675489
* | Merge "Show detailed message of neutron exception"Zuul2017-11-161-0/+2
|\ \
| * | Show detailed message of neutron exceptionHongbin Lu2017-11-141-0/+2
| |/ | | | | | | | | | | | | | | This patch improves the error message by retrieving the more details from the exception instance. Otherwise, the real error message won't be displayed (unless using --debug in the command). Change-Id: I8ba694bda86f7cc8362e301b2044d9b610dde49c
* | Add RemoveNetwork command to serverHongbin Lu2017-11-142-0/+86
|/ | | | | | | This command will detach a server from a network. All server's neutron ports that belongs to the specified networks will be removed. Change-Id: I83a064ed62ab00c6f1016900b9cf30f1c15b8382
* Merge "Be robust on import plugin module"Zuul2017-11-081-1/+7
|\