novaclient 2.27.0 introduced the API microversion discovery and client.Client
now wants an api_version argument to properly work out the correct API
version in use. OSC needs to provide this when required.
Letting the compute client plugin do the version validity checking makes more
sense than encoding it into shell.py, so I've added a new OSC plugin interface
function check_api_version() that is called from shell.py if it exists. If it
either does not exist or it returns False the previous version checking using
API_VERSIONS is still performed.
compute.client.check_api_version() conditionally imports the new
novaclient.api_versions module and uses it if successful. Otherwise
check_api_version() returns False and the previous code path is resumed.
One side-effect of this is that it is now valid to use --os-compute-api-version
with any valid microversion supported by the installed python-novaclient.
Closes-Bug: #1492467
Change-Id: I4535b38a5639a03a9597bf83f6394f9bb45c2b9e
If there is an error finding an image or a flavor during
image show, ignore it and just print the id of the flavor
or image. This code is also used during server create and
server rebuild, but only to display the results.
Change-Id: I5362158ab8ffc3e5a0800904d6ea15420c3a8627
Closes-bug: #1489901
Cinder is trying to deprecate/remove support for v1, so we should,
as a client library default to v2 and keep support for v1.
Related-Bug: 1467589
Change-Id: I732448a57fc3fd06a8d82ec0f0d2ace671036ca2
Running limits show without --absolute or --rate returns nothing and
the user is left to figure out what they need to provide to get the
correct data back. This patch prints an error and help output by making
at least one of the arguments required.
Change-Id: I576cf8ec0e05524ee67d46c48b56da8d44258667
When adding a role to a group and project OSC is mistakenly using the
group_domain to find the project which will fail if the group_domain !=
project_domain.
Change-Id: I4c1bec9b3b183c755be121b91f40e026d707192b
Closes-Bug: #1483520
Adds inherited information when listing role
assignments. In addition, it makes possible
to list only inherited ones by adding
--inherited option.
Change-Id: Idf889603d584716da95e2c7b4880142fbd8291c4
Closes-Bug: 1370546
"volume type set" and "volume type unset" is not in the v2.
Co-Authored-By: Lin Hua Cheng <os.lcheng@gmail.com>
implements bp: volume-v2
Change-Id: Ia804787d76d2029726c030b43c61eac3b411f66a
"volume list" is not in the v2.
Co-Authored-By: Lin Hua Cheng <os.lcheng@gmail.com>
implements bp: volume-v2
Change-Id: I9f4585202f5f9ec5f4c091278fc6c4036efb1290
The paremeter to Keystone Client was passed as
'inherited', when it should be
'os_inherit_extension_inherited'.
Closes-Bug: #1482254
Change-Id: I1cb46add532223ef0b9620763b1047cc80e19ec0
When using the command: openstack quota set, the compute quota below
can't be set successfully,the value of compute quota stay unchanged,
'fixed-ips', 'floating-ips', 'injected-files', 'key-pairs'.
What's more,I add a TODO comment in the code for two reason.
1. volume quota set works fine for the moment.
2. To indicate that this issue about volume needs
discuss and report another bug, if it's confirmed.
This bug is only about compute quota.
Change-Id: Ic1028d561f5a0030cf65ac18fc117bf01e945478
Partial-Bug: #1420104
Create a `configuration show` command that displays the current
configuration of the CLI. Different configurations can be
displayed using options such as --os-cloud. Passwords and
tokens are redacted by default unless the --unmask
option is specified.
Closes-Bug: #1476729
Change-Id: I0792365d0c5fa526cd09c0ed88c6bb1e2cb813a7
External plugins need to know which plugin interface is being
used by the host OSC. Releases <1.6 (?) will not have a
version defined.
Plugins can add the following to their make_client() to discover
the interface version:
_plugin_interface_version = getattr(
instance,
"PLUGIN_INTERFACE_VERSION",
None,
)
Change-Id: Ifc0f40fec5bc27f6425139984936b7f6e032a580
The error message refers to --os-auth-plugin which is not a valid
option. This patch changes that to --os-auth-type.
Change-Id: I02ec0b7855131180bb8c674051930ebb51cb7303
Closes-Bug: #1477083
In the previous implementation, we were always including the domain
argument, which caused a lookup by name for trustee/trustor and
project. By excluding it when not necessary, we do a search by
ID in find_resources.
Change-Id: Id756aeab522b5dccb2dc6b31d137a28514b0fdf6
Closes-Bug: 1473298
Commit 50f05448982b5fafd9d9a7783b639dd145090a0d to os-client-config
removed the default values in the _defaults dict. This makes any
call to cloud_config.set_default() before initializing the dict
fail.
The fix changes the way the auth_type default is overriden, by
doing it when cloud_config.OpenStackConfig() is executed.
Change-Id: If37d3ba303f01d4c77fd7c15a3cde9634534b64a
Closes-bug: #1473921
Currently, the properties of a volume type are unformatted.
Use the formatter to keep things consistent with the way
properties are represented in OSC.
Change-Id: I81c6bd3fdbc30568c269e501c740473b2a1ffb4e
For Volume V1, we have a type.py file which should be renamed to
volume_type.py (as it's named for V2).
Change-Id: If860bbafe4a801d8b4fa06938eef20658c4fcc2c
Closes-Bug: 1475958
The three commands below
openstack volume unset
openstack snapshot unset
openstack volume type unset
Should have --property as a required argument,
not optional. The reason is the command will not work
without --property.
Closes-Bug: #1475872
Change-Id: Ib9e29392472db38982cc2817af2dd5055f5a01ca
When using openstack flavor unset, the --property is needed,
so the --property should be a required parameter.
Close-Bug: #1474237
Change-Id: Id6913e1b263eddeb5dd44c3edb957206b68f816c
Setting default versions in parsed args makes it so OCC
cannot tell if the argument was parsed, an environment
variable was set or it is just defaulted. In order to
set api versions from OCC, it will have to be defaulted
after processing OCC.
Closes-Bug: #1453229
Change-Id: I4d065919397b783f3bdd4022c986c0234a7a16e6