4736 Commits

Author SHA1 Message Date
hackertron
b328cf74df Add '--force; parameter to 'openstack quota set'
The compute service allows us to to force set a quota, setting a
quota value that is less than the amount of the resource currently
consumed. Expose this feature by way of a '--force' boolean
parameter.

Change-Id: I1d1ac1ac46f49f64794ffc8631e166935537966c
2020-04-14 22:59:52 +02:00
Zuul
8c4ecbe35d Merge "Build utility image for using osc" 2020-03-16 21:09:01 +00:00
Daniel Bengtsson
bf2beb9e86 Stop configuring install_command in tox and stop use pip.
Currently, we are overriding 'install_command' to use 'pip'. This is
considered poor behavior and 'python -m pip' should be used instead:

https://snarky.ca/why-you-should-use-python-m-pip/

It turns out that this is the the default value provided by tox:

https://tox.readthedocs.io/en/latest/config.html#conf-install_command

So we can remove the line and simply use the default value. Use the
right way when it's necessary.

Change-Id: I410173d5fdcd8c592d98eed2f48b98e06299e8b3
2020-03-16 08:00:44 +01:00
Monty Taylor
8c47b67e83 Build utility image for using osc
python-openstackclient currently has a non-zero number of dependencies,
so for admins who would like to run it on laptops or similar it can
get tricky. In opendev, for instance, admins have it installed into
a venv on a jump host, but it's really wonky to keep up with.

Use the opendev/python-builder opendev/python-base pair to make a
minimal image that contains an install of python-openstackclient
and publish it to the osclient org on dockerhub. There is an overall
policy against having binary artifacts such as this appear to be
official deliverables of the OpenStack project, which this is not.
It's also only publishing images based on master, so no warranties
should be implied. But if this makes life easier for a user somewhere,
cool.

Change-Id: I9a8bfc27c127e92b6856cb6a3e45b32c818db16c
2020-03-14 17:15:46 -05:00
Zuul
045f133f16 Merge "Add storage policy option to create container command" 2020-03-13 22:53:48 +00:00
Zuul
37240b3b83 Merge "Add qos_network_policy_id to network port tests" 2020-03-13 22:34:37 +00:00
Zuul
fdc411ad68 Merge "Update http links in docs" 2020-03-13 21:23:45 +00:00
Zuul
56f095cb2e Merge "Incorrect title for service provider" 2020-03-13 21:23:43 +00:00
huangshan
519296d762 Update http links in docs
This patch is proposed according to the Direction 10 of doc
migration(https://etherpad.openstack.org/p/doc-migration-tracking).

Change-Id: I0061bf788a8da89da0077db63f6cecf2ead0d0be
2020-03-09 21:13:29 -05:00
Hongbin Lu
962efd949f Disallow setting default on internal network
The ``--default`` option should be only used for external network.
Default internal network is not currently supported so we disallow
it for now.

Change-Id: Ia9d39b40e1e041d7bda0f6a27d058e382b572e1a
Closes-Bug: #1745658
2020-03-09 21:01:53 -05:00
Zuul
ee0170824f Merge "Add bindep file" 2020-03-07 18:57:25 +00:00
Monty Taylor
0699df95c8 Add bindep file
We're missing one of these, which means starting from a bare node
it's not completely possible to install openstackclient based only
on bindep and pip. Add one that allows building and installing.

Change-Id: I7b297bb1485773df3d5d1cc3ba78b0b9af4b2d00
2020-03-04 15:36:18 -06:00
Zuul
acccc54e7d Merge "Fix copypaste errors in access rule command" 2020-03-03 23:40:35 +00:00
Simon Merrick
d6022f96df Add storage policy option to create container command
+ Add CLI option to specify swift storage policy
 + Add CLI flag to specify container uses public read ACLS
 + Show storage policy in container show data

Change-Id: I08ffa0d98bd39d467aa415771675f59bd77768ff
2020-02-19 10:08:48 +13:00
Rodolfo Alonso Hernandez
2745b178a4 Add qos_network_policy_id to network port tests
Added "qos_network_policy_id" to "port show" command. Because this is
just a read-only parameter and is read from the SDK port definition,
this patch only modifies the corresponding tests.

This patch is adding this new parameter to the test bench.

Change-Id: Ice7423e0e0b98a39cc36622b70eae5a8493a037c
Closes-Bug: #1851362
2020-02-18 09:18:37 +00:00
Zuul
e07324e30f Merge "Complete "Drop python2 support" goal" 2020-02-05 17:21:38 +00:00
Zuul
4f8467a039 Merge "Remove mention of meetings from docs" 2020-02-05 07:29:50 +00:00
Monty Taylor
e6e4b73efa Complete "Drop python2 support" goal
We stopped testing python2, but there are more things to be cleanup.

- Remove python2 entries from setup.cfg
- Add releasenotes
- remove universal wheel since this is only python 3 now

Change-Id: Ie2bbb4d34b8411939ad5cfd750fc76c933779542
2020-02-05 05:58:51 +00:00
Stephen Finucane
cefa571d4b Use 'KeyValueAppendAction' from osc-lib
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>
2020-02-03 15:25:40 +00:00
Stephen Finucane
ea27ebb0f9 Stop silently ignoring invalid 'server create --hint' options
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
2020-02-03 15:25:24 +00:00
Kendall Nelson
27b16df7f8 Remove mention of meetings from docs
Since the OpenStackClient team doesn't meet anymore, I removed
the mention of meetings and added mention of the IRC channel in the
communication section of the docs..

Change-Id: Iefa95878f95bf84bd9fc22ea4c914effc30dffa7
2020-01-28 05:54:20 +00:00
Georgina Shippey
cb265774ac Incorrect title for service provider
Mistakenly changed to identity provider.

Change-Id: I0841a6e5ebd6a27a5375a54c56fc194dff65b370
2020-01-23 15:14:16 +01:00
Colleen Murphy
99b0b07392 Fix copypaste errors in access rule command
Access rules are access rules, not application credentials.

Change-Id: I74d05f11ec186283e5a86d92dcbfe4eb24130eee
2020-01-21 15:08:46 -08:00
Colleen Murphy
70ab3f9dd5 Add support for app cred access rules
This commit introduces the --access-rules option for 'application
credential create' as well as new 'access rule' commands for listing,
showing, and deleting access rules.

bp whitelist-extension-for-app-creds

Change-Id: I04834b2874ec2a70da456a380b5bef03a392effa
2020-01-17 11:14:51 -08:00
Michael Johnson
db29e28b7c Switch to using osc_lib.utils.tags
This patch updates the network modules to use the new
osc_lib.utils.tags module and removes the in tree _tag.py version.

A previous patch[1] moves the _tag.py code to osc-lib to allow other
projects to leverage the code.

[1] https://review.opendev.org/662859

Change-Id: Id0c34029e327de50c5fd2732bae5fbf45bbd16ee
2020-01-14 17:10:41 -08:00
Zuul
4a2aa4acc1 Merge "Show correct name for resource with quota set to zero" 2020-01-14 05:00:00 +00:00
Zuul
4d9f0f384b Merge "Create Volume v3 functional tests" 2020-01-13 22:31:19 +00:00
Zuul
cc93be81c9 Merge "Remove redundant OpenStackShell.prepare_to_run_command" 2020-01-13 19:27:52 +00:00
Zuul
08c57260e4 Merge "Add dns_publish_fixed_ip attribute to subnets" 2020-01-13 19:27:51 +00:00
Zuul
cf76a00251 Merge "Raise flake8-import-order version to latest" 2020-01-13 18:24:20 +00:00
Sean McGinnis
69db9fe73c
Raise flake8-import-order version to latest
We had this library capped at a release that is a few years old. Now
that we have dropped py2 testing, we can pick up the latest version.

This uncovered a few things to clean up. Mostly the fact that mock is
now a part of the StdLib unittest since Python 3.3.

Change-Id: I27484dd4c25378413ff16e97a35a1a46062357bc
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2020-01-10 14:21:47 -06:00
Sean McGinnis
90ca67bdae
Raise hacking to more recent 2.0.0
Change-Id: I3cf36ed4d8fb5d003acae762820a8d80f75a11e9
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2020-01-10 11:43:07 -06:00
lihaijing
d15bbada73 Replace six.iteritems() with .items()
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
2020-01-09 18:41:29 +09:00
Zuul
4b575083b7 Merge "Bump tox minversion" 2020-01-08 23:14:40 +00:00
Alex Katz
780d9b49a0 Show correct name for resource with quota set to zero
In case quota for the resource is set to zero "openstack quota show"
command will not map the resource name according to one of the
following dicts:
 - COMPUTE_QUOTAS
 - NOVA_NETWORK_QUOTAS
 - VOLUME_QUOTAS
 - NETWORK_QUOTAS

For example:
$ openstack quota set --secgroups 10 admin
$ openstack quota show admin -f json|egrep "(secgroups|security_groups)"
  "secgroups": 10,
$ openstack quota set --secgroups 0 admin
$ openstack quota show admin -f json|egrep "(secgroups|security_groups)"
  "security_groups": 0,

Change-Id: I94ed9e6b41b1cc692297c01e6c7582998dcacfda
2020-01-08 18:47:51 +02:00
Zuul
2c676b60b1 Merge "Stop testing python 2 in tox and zuul." 2020-01-07 15:39:57 +00:00
Monty Taylor
32080f7a42 Bump tox minversion
ignore_basepython_conflict was introduced in tox 3.1.0.

Change-Id: I7a6049b6a4fd3ee376a3478e94837c0afe89d4df
2020-01-07 09:22:30 -05:00
Zuul
e43377bafb Merge "Fix router create/show if extraroute not supported" 2020-01-07 13:43:15 +00:00
KeithMnemonic
f5384ae16a Fix openstack server list --deleted --marker option
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
2020-01-02 20:05:56 +00:00
Daniel Bengtsson
924627678d Stop testing python 2 in tox and zuul.
Remove python 2 from envlist parameter. Check the link:

https://etherpad.openstack.org/p/drop-python2-support

The plan is drop the python 2 support from OpenStack in Ussuri release.
Remove the zuul jobs.

Note that the (non-voting) openstackclient-check-plugins job is still
running under py2 at this time. That will need to be fixed in the
python/openstackclient repository where the job is defined.

Change-Id: I3148db053b9ef0fcf7dc88e5cc075d974c93d819
2019-12-06 16:06:36 +00:00
Édouard Thuleau
509ca3ed36 Fix router create/show if extraroute not supported
If neutron does not support extraroute l3 extension, the route column
formatter fails.

Change-Id: I7b89c4f818865073947e0850e86c18d0d2415a51
2019-12-04 14:57:20 +01:00
Matt Riedemann
5b3a827a1f Provide stderr in exception when check_parser fails
For negative tests that are asserting an argparse failure
it would be useful to assert the specific reason for the
failure in the test rather than just getting an exception,
especially to avoid false positives in the tests when what
is being tested and failing isn't the actual expected reason
for the failure.

This wraps the check_parser code that parses the args and
mocks sys.stderr so we can trap that output and put it in the
exception message that gets raised to the test.

As a result, we can tighten up a test that was passing before
for the wrong reason [1].

[1] https://review.opendev.org/#/c/673725/12/openstackclient/tests/unit/compute/v2/test_server.py@605

Change-Id: I0f1dc1215bdfb3eba98ccaf66a0041d220b93812
2019-11-20 13:39:40 +00:00
zhangbailin
874a726f52 Microversion 2.79: Add delete_on_termination to volume-attach API
Added ``--disable-delete-on-termination`` and
``--enable-delete-on-termination`` options to the
``openstack server add volume`` command that enables users to mark
whether to delete the attached volume when the server is destroyed.

Depends-On: https://review.opendev.org/#/c/681267/

Part of blueprint support-delete-on-termination-in-server-attach-volume

Change-Id: I6b5cd54b82a1135335a71b9768a1a2c2012f755b
2019-11-19 21:07:20 +00:00
Dean Troyer
1c0160c8aa Create Volume v3 functional tests
Until now-ish Volume v3 has been a pass-through to v2.  In order
to prepare to make the Volume v3 commands stand-alone copy the
v2 functional tests to v3.

This is the first of a series of reviews to completely separate
Volume v2 and v3 commands.  Once these are split we can begin to
implement v3 microversion support and/or start using the
OpenStack SDK as the REST library.

Change-Id: Iefd78d8ef6bb851d7360596337a88ee8f8476767
Signed-off-by: Dean Troyer <dtroyer@gmail.com>
2019-11-18 14:47:56 -06:00
Zuul
c6a171f010 Merge "Refactor AggregateTests" 2019-11-06 05:59:24 +00:00
Eric Fried
3b409e4d0e Refactor AggregateTests
While investigating the referenced story/bug I noticed that
wait_for_status in
openstackclient.tests.functional.compute.v2.test_aggregate.AggregateTests
was doing a lot more than it should ever need to (it probably got copied
in from somewhere). The two places calling it only need to a) check the
output of `openstack aggregate show`, and b) try once -- since they just
got done creating the aggregate synchronously, there should never be a
need to delay/retry. So this commit removes the helper method and just
inlines the check.

At the same time, the addCleanup(aggregate delete) directives are moved
above their respective creates. This is a defensive best practice which
makes sure cleanup happens even if something fails very soon after the
actual back-end create (as was in fact the case with the referenced
bug/story).

It is unknown whether this will impact the referenced bug.

Change-Id: I0d7432f13642fbccd5ca79da9c76adfcbabb5fa9
Story: 2006811
Related-Bug: #1851391
2019-11-05 21:32:15 +00:00
Eric Fried
e2d8dc0f1c Deflate .htaccess
Use some regexes to reduce the number of lines in .htaccess and
hopefully make it slightly clearer which groupings of files redirect to
which new locations.

Also collapse one redundant double-redirect.

Change-Id: I65c4960856985d71076291f175df17f27a5ab8cc
2019-11-05 07:09:05 -06:00
Eric Fried
6f07828bf0 Add redirect testing
Adds a dependency on and invocation of the `whereto` command to validate
redirects in the .htaccess file during doc builds.

Change-Id: Ib6cc2953f0fd774de3c3a0c8a2bd6cff49667c14
2019-11-05 07:09:05 -06:00
Eric Fried
c6266b5ab2 compute: autogenerate docs
$namespace = openstack.compute.v2

The subcommand documents for $namespace were hardcoded and thus prone to
drift over time. This commit removes the hardcoded content and uses the
autoprogram-cliff directive to generate them automatically from the
subcommand configuration classes.

Many of these were already being generated. Some were missing a few
sub-subcommands, so those are added.

Change-Id: I1aa4b2655bafd2f6a5d83b658742f65d180eb128
2019-11-05 07:09:05 -06:00
Eric Fried
da56b8f4cf openstack.cli: autogenerate docs
$namespace = openstack.cli

The subcommand documents for $namespace were hardcoded and thus prone to
drift over time. This commit removes the hardcoded content and uses the
autoprogram-cliff directive to generate them automatically from the
subcommand configuration classes.

Change-Id: I1f7e9d0e5748f887dbc35200c3c8b4407da43e0b
2019-11-05 07:09:05 -06:00