Commit graph

3561 commits

Author SHA1 Message Date
Stephen Finucane
bf97b5f287 volume: Re-add accidentally deleted test
This is essentially a partial revert of change
I94aa7a9824e44f9585ffb45e5e7637b9588539b4, which removed some deprecated
commands like 'openstack snapshot *' in favour of 'openstack volume
snapshot *'. Unfortunately the latter appeared to have no test coverage
and were relying on tests for the former to validate behavior. Re-add
the tests removed back then.

Change-Id: Ib2cd975221034c8997d272d43cfb18acefc319fe
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-03-19 16:27:13 +00:00
Zuul
86bca18b74 Merge "project cleanup" 2021-03-18 08:39:11 +00:00
Stephen Finucane
2ccf7727a6 compute: Remove 'file://' prefix from '--block-device'
There are a couple of other (networking-related) options which accept
paths, none of which insist on a URI-style path. Let's just drop this
bit of complexity before we release the feature.

Change-Id: Ia7f781d82f3f4695b49b55a39abbb6e582cd879c
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-03-11 15:56:59 +00:00
Zuul
ae1f8f888a Merge "compute: Add support for loading BDMs from files" 2021-03-11 12:51:47 +00:00
Zuul
e6b0473b8b Merge "compute: Add functional tests for --block-device" 2021-03-11 12:44:47 +00:00
Bharat Kunwar
ed731d6cd9 network: Add missing subnet unset --gateway <subnet-id>
Story: 2008695
Task: 42003
Change-Id: I9486a09531b11f27a9ff0d68fd4ad8c68a65cccf
2021-03-05 14:15:20 +00:00
Stephen Finucane
d3bd0146ae compute: Add support for loading BDMs from files
The syntax of the '--block-device' parameter is complex and easily
screwed up. Allow users to load a block device config from a file. For
example:

  $ openstack server create ... --block-device file:///tmp/bdm.json ...

This should alleviate the pain that is BDMv2 somewhat.

No functional tests are provided since we already have tests for the CSV
style of passing parameters and the unit tests show that the net result
is the same.

Change-Id: I3e3299bbdbbb343863b4c14fb4d9196ff3e1698d
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-03-05 13:11:09 +00:00
Stephen Finucane
7c1d6f769c compute: Add functional tests for --block-device
This mostly reuses the existing tests for '--block-device-mapping',
which can hopefully be removed at some point in the future.

This highlights two issues with the implementation of this option.
Firstly, the 'boot_index' parameter is not required so don't mandate it.
Secondly, and more significantly, we were defaulting the destination
type for the 'image' source type to 'local'. Nova only allows you to
attach a single image to local mapping [1], which means this default
would only make sense if you were expecting users to use the
'--block-device' option exclusively and omit the '--image' option. This
is the *less common* case so this is a bad default. Default instead to a
destination type of 'volume' like everything else, and require users
specifying '--block-device' alone to pass 'destination_type=local'
explicitly.

[1] https://github.com/openstack/nova/blob/c8a6f8d2e/nova/block_device.py#L193-L206

Change-Id: I1718be965f57c3bbdb8a14f3cfac967dd4c55b4d
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-03-05 12:44:52 +00:00
Zuul
a507fb50f8 Merge "compute: Remove deprecated 'server migrate --live' option" 2021-03-04 21:29:55 +00:00
Zuul
979b4832dd Merge "compute: Deprecate 'server create --file'" 2021-03-04 21:29:48 +00:00
Zuul
8e94044710 Merge "compute: Stop silently ignore --(no-)disk-overcommit" 2021-03-04 21:29:38 +00:00
Zuul
9aad6b8f9e Merge "compute: Auto-configure shared/block live migration" 2021-03-04 21:29:26 +00:00
Zuul
e260d43d94 Merge "compute: Add 'server create --block-device' option" 2021-03-04 21:28:59 +00:00
Zuul
d94d2f1213 Merge "compute: Remove references to optional extensions" 2021-03-04 21:28:31 +00:00
Zuul
93c9b914a6 Merge "compute: Add missing 'server create' options" 2021-03-04 21:28:13 +00:00
Zuul
433ceff051 Merge "compute: Improve 'server create --block-device-mapping' option parsing" 2021-03-04 21:27:44 +00:00
Zuul
1f6104c760 Merge "compute: Rename 'server migrate (confirm|revert)'" 2021-03-04 16:51:57 +00:00
Zuul
855dc79a87 Merge "compute: Add 'server migration show' command" 2021-03-04 16:51:40 +00:00
Zuul
82770fa6c0 Merge "Rename FakeServerMigration to FakeMigration" 2021-03-04 16:51:12 +00:00
Zuul
e8a50692a0 Merge "compute: Add support for 'server boot --nic ...,tag=<tag>'" 2021-03-04 16:50:58 +00:00
Zuul
af18b514ef Merge "compute: Improve 'server create --nic' option parsing" 2021-03-04 13:21:31 +00:00
Zuul
b9f61f7b30 Merge "compute: Shuffle options for 'server create'" 2021-03-04 13:21:10 +00:00
Zuul
d4f8aa163d Merge "compute: Add missing options for 'server event list'" 2021-03-04 13:20:35 +00:00
Zuul
1c84b44ac2 Merge "Add --name to port list" 2021-03-03 17:03:02 +00:00
Zuul
2732ed3fe0 Merge "compute: Add missing options for 'server group list'" 2021-03-03 17:01:52 +00:00
Zuul
011991bcf3 Merge "compute: Add 'server * --all-projects' option" 2021-03-03 17:01:33 +00:00
Brian Haley
16c72f8642 Add --name to port list
The neutron API supports filtering ports by name, but
the CLI was missing support for it like it does for
other networking resources.

Change-Id: I4ff339e18656013218a26f045b205cb7a02dd2fb
Story: #2008654
2021-02-23 18:58:24 -05:00
Miguel Lavalle
e8509d81ee Add 'address_group' type support to rbac commands
Depends-On: https://review.opendev.org/c/openstack/neutron/+/772460
Change-Id: Icd5e96d180364b979d1e93fcb39f9133a41a06e5
2021-02-10 17:40:39 -06:00
Artem Goncharov
119d2fae25 project cleanup
New implementation of the project cleanup based on the sdk.project_cleanup.
It is implemented as an additional OSC operation and will ideally obsolete the 
`openstack project purge` giving flexibility to extend services support, 
parallelization, filters, etc.

Change-Id: Ie08877f182379f73e5ec5ad4daaf84b3092c829c
2021-02-02 08:14:34 +00:00
Zuul
01a53fa96f Merge "Add device profile to `port`" 2021-01-22 20:42:59 +00:00
Stephen Finucane
70480fa862 compute: Remove deprecated 'server migrate --live' option
It's been long enough. Time to remove this.

Change-Id: I37ef09eca0db9286544a4b0bb33f845311baa9b2
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-01-22 13:00:46 +00:00
Stephen Finucane
6f3969a0c8 compute: Deprecate 'server create --file'
The parameter isn't actually deprecated, since we need to support older
API microversion, however, we now emit an error if someone attempts to
boot a server with the wrong microversion. This would happen server-side
anyway since this parameter was removed entirely in API microversion
2.57.

Change-Id: I73864ccbf5bf181fecf505ca168c1a35a8b0af3a
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-01-22 13:00:46 +00:00
Stephen Finucane
8868c77a20 compute: Stop silently ignore --(no-)disk-overcommit
These options are not supported from Nova API microversion 2.25 and
above. This can be a source of confusion. Start warning, with an eye on
erroring out in the future.

Change-Id: I53f27eb3e3c1a84d0d77a1672c008d0e8bb8536f
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-01-22 13:00:46 +00:00
Stephen Finucane
2bdf34dcc3 compute: Auto-configure shared/block live migration
API microversion 2.25 introduced the 'block_migration=auto' value for
the os-migrateLive server action. This is a sensible default that we
should use, allowing users to avoid stating one of the
'--block-migration' or '--shared-migration' parameters explicitly.

While we're here, we take the opportunity to fix up some formatting in
the function, which is really rather messy.

Change-Id: Ieedc77d6dc3d4a3cd93b29672faa97dd4e8c1185
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-01-22 13:00:46 +00:00
Stephen Finucane
ace4bfb640 compute: Add 'server create --block-device' option
One of the last big gaps with novaclient. As noted in the release note,
the current '--block-device-mapping' format is based on the old BDM v1
format, even though it actually results in BDM v2-style requests to the
server. It's time to replace that.

Change-Id: If4eba38ccfb208ee186b90a0eec95e5fe6cf8415
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-01-22 13:00:39 +00:00
Stephen Finucane
f2deabb136 compute: Remove references to optional extensions
This is no longer a thing in nova.

Change-Id: I2413b826385792a4f33ff70e75621b48de65c799
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-01-21 11:01:15 +00:00
Stephen Finucane
4da4b96296 compute: Add missing 'server create' options
Add some volume-related options, namely '--snapshot', '--swap', and
'--ephemeral'. All are shortcuts to avoid having to use
'--block-device-mapping'.

Change-Id: I450e429ade46a7103740150c90e3ba9f2894e1a5
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-01-21 11:01:15 +00:00
Stephen Finucane
074e045c69 compute: Improve 'server create --block-device-mapping' option parsing
Once again, custom actions to the rescue.

Change-Id: I6b4f80882dbbeb6a2a7e877f63becae7211b7f9a
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-01-21 11:01:15 +00:00
Stephen Finucane
a52beacaa6 compute: Rename 'server migrate (confirm|revert)'
We're confirming or reverting a server migration, not a server migrate.
We've a number of 'server migration *' commands now so it makes sense to
move them under here.

Change-Id: Ib95bb36511dad1aafe75f0c88d10ded382e4fa5c
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-01-21 11:01:15 +00:00
Stephen Finucane
f80fe2d8cf compute: Add 'server migration show' command
This replaces the 'server-migration-show' command provided by
novaclient.

Change-Id: I413310b481cc13b70853eb579417f6e6fad10d98
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-01-21 11:01:15 +00:00
Stephen Finucane
32ae1857d1 Rename FakeServerMigration to FakeMigration
Server migrations are (confusingly) a different thing returned by a
different API.

Change-Id: Ib6b7c8f9cc3d1521a993616f832d41651dc46f73
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-01-21 11:01:15 +00:00
Stephen Finucane
9ed34aac0a compute: Add support for 'server boot --nic ...,tag=<tag>'
This has been around for a long time but was not exposed via OSC. Close
this gap.

Change-Id: I71aabf10f791f68ee7405ffb5e8317cc96cb3b38
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-01-21 11:01:15 +00:00
Stephen Finucane
c7d582379a compute: Improve 'server create --nic' option parsing
Simplify the parsing of this option by making use of a custom action.

Change-Id: I670ff5109522d533ef4e62a79116e49a35c4e8fa
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-01-21 11:01:15 +00:00
Stephen Finucane
d6c9b7f198 compute: Shuffle options for 'server create'
argparse doesn't sort options by name, meaning we can use the
opportunity to group closely related options together. Do that.

Change-Id: I6714c8db1a549bd4206d2282d2876a406af65aa2
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-01-21 11:01:15 +00:00
Stephen Finucane
7ed4f68c68 compute: Add missing options for 'server event list'
Add pagination parameters, '--limit' and '--offset', and filtering
parameters, '--changes-since' and '--changes-before'.

Change-Id: Ieca8267c3b204ae2db580502cc8fe72c95eddf09
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-01-21 11:00:31 +00:00
Stephen Finucane
5ec4d4c718 compute: Add missing options for 'server group list'
Add pagination parameters, '--limit' and '--offset'. It's unfortunate
that we can't use '--marker' like elsewhere but that requires
server-side support to be truly effective.

Change-Id: I186adc8cdf28e9c540ad22bca6684d9dd892976a
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-01-21 10:58:41 +00:00
Stephen Finucane
1a6df700be compute: Add 'server * --all-projects' option
Add an '--all-projects' option to a number of commands:

- server delete
- server start
- server stop

This is in addition to 'server list', which already supports this
option.

This option allows users to request the corresponding action on one or
more servers using the server names when that server exists in another
project. This is admin-only by default.

As part of this work, we also introduce a 'boolenv' helper function that
allows us to parse the environment variable as a boolean using
'bool_from_string' helper provided by oslo.utils. This could probably be
clever and it has the unfortunate side effect of modifying the help
text in environments where this is configured, but it's good enough for
now.  It also appears to add a new dependency, in the form of
oslo.utils, but that dependency was already required by osc-lib and
probably more.

Change-Id: I4811f8f66dcb14ed99cc1cfb80b00e2d77afe45f
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-01-21 10:54:27 +00:00
Zuul
bfa032cb18 Merge "Support remote-address-group in SG rules" 2021-01-20 17:03:39 +00:00
Rodolfo Alonso Hernandez
0cc878e5b0 Add device profile to `port`
Added device profile parameter to ``port create`` command.

Related-Bug: #1906602

Change-Id: I4c222ac334d3a0a0ee568ed1e0bc8518baa375e1
2021-01-19 14:42:46 +00:00
Zuul
6905e97565 Merge "compute: Improve 'server migration list' options" 2021-01-15 21:34:35 +00:00