When there is no resouce usage associated with the project,
an odd output will be displayed.
This patch tried to fix this issue.
Change-Id: I6f254c6ba37fbb760ada08e640c4938668d560dc
Closes-Bug: #1512220
It is a general rule that we don't use plural form for the name of
command arguments. But class DeleteServer() is still using "servers".
So use "server instead".
Change-Id: I2d76de14ec34b88547b9f728b41e9bd93b2a22c5
Missing 'marker' and 'limit' params for `openstack flavor list` shell
command. It would be nice to have this when there are many flavors.
Closes-bug: #1505874
Change-Id: I088ac5d24f0d7595f5cbce14f063e296a449eb26
This change adds 'compute service delete <service>' to the openstack
client. This is the equivalent of 'nova service-delete <id>'
Change-Id: I69ef1cac72cbe125c2114f8e958e22350a70f367
Closes-Bug: #1503510
This change adds the ID to the compute service list command so that the
ID can be leveraged by scripts trying to remove or update a specific
service.
Change-Id: I446b4c0071988133195eb2382313b3918b7ffa72
Closes-Bug: #1503430
novaclien v2.26.0 includes `discover_extensions` method, which returns
list of all nova extensions based of version. Such method allows us to
reduce imports of novaclient's modules and construct novaclient instance
simpler.
Change-Id: Idbe3ed275fb4a7e3918b11669dcfad47b8de4fb9
`novaclient.client.Client` is a recommended entry point for novaclient.
It supports backward-compatibility and allows Nova-folks to change
interfaces of inner versioned clients classes.
Change-Id: Iaf20714f63c307f88a451759f041ca509fbcf6f8
Add a new option to search by user when listing servers,
include support for domain scoped users, also update
docs
Co-Authored-By: Steve Martinelli <stevemar@ca.ibm.com>
Closes-Bug: #1483974
Change-Id: Ifdade6dc9ca8400fbd85f6b55793ab15ed17b97d
Added project and project-domain option to server list
command for listing servers based on project name or id
Co-Authored-By: Steve Martinelli <stevemar@ca.ibm.com>
Change-Id: Iaadfffe734ad8a72fa4b1eeb2222748c66f7fae0
Closes-Bug: #1488486
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
The Compute API requires 'from_port' and 'to_port' to be -1 for
ICMP security group rules. It happily accepts them empty or None
but the resulting rules do not work. So we force the values for
ICMP rules.
Closes-bug: #1477629
Change-Id: Iba57211014caca16be7c9a28d15d4db2a6c51b8d
Instead of duplicating the same log statement throughout
the code, the same logic can be provided by a shared decorator
that abstracts away the logging capability and unifies it behind
a common function instead.
Change-Id: Icc63bced7347c8bbf0299a4c5821425a10892a79
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
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
There seem to be three formats for the server address field
and the old code only supported the old format. This code adds
a parser for all three formats.
Change-Id: I7f12d2c69ff70556907ea6f31a0e0bba91b68b49
Closes-Bug: #1469843
User should be able to specify the endpoint type through
a CLI optional argument/ENV variable setting. We will name this new
optional argument: --os-endpoint-type (Env: OS_ENDPOINT_TYPE) and
based on the value given, the service API will use that specific
endpoint type. Possible values: public, admin, internal.
DocImpact
Closes-Bug: #1454392
Change-Id: Ife3d4e46b44c0ddcd712b1130e27e362545a9a29
This adds support for showing which host aggregates
a hypervisor is member of, if any.
It supports hypervisors with or without nova cells.
Closes-bug: #1470875
Change-Id: I0cfe4f15fa8f8ba0be3295b79cd438998893114c
Security group list command tries to get a project list and
this may fail with a multitude of exceptions including but
not limited to 401, 404, ConnectionRefused and EndpointNotFound.
Rather than try to capture every possibility, this patch just
catches the base class. Converting project ids to names is
less important than having a working security group list command.
Change-Id: I68214d2680bad907f9d04ad3ca2f62cf3feee028
Closes-Bug: #1459629
This allows the server delete command to wait for the server to be
deleted (obviously).
The wait method is the same model that Tempest uses, i.e. wait for a 404
on server GET (successful deletion), fail if the server went to ERROR
status, or fail if a timeout is reached. The default timeout of 300
seconds is also what Tempest uses.
Closes-Bug: #1460112
Change-Id: I0e66c400903e82832944d1cad61e7eb30177c3e8
By default the --dst-port value is set to None when no --dst-port
argument is provided. By making the default value (0, 0), this allows
novaclient to proceed without any error.
Change-Id: Ibb58f5df5ed1890a8f499dd2467b12b0e79d547b
Closes-Bug: #1443963
--description is optional in our CLI but the server requires it to be
non-empty. Set a default value of the given name.
Closes-Bug: #1434172
Change-Id: I81507a77ad8d815000ff411784ae71e229c77f78
So we really weren't deferring the loading of client libs dadgummit,
do that for real where possible. This shaves a couple of tenths off
the static import times.
Also defer as much import-time procesing as possible. This is a little
ugly in api.auth but this also eliminates import of the auth plugins
until they are needed.
Change-Id: Ia11d4b9cf98231d37449103fc29101dc17afb009
Print a warning message if an unknown api version is supplied.
An attempt will be made to run the command anyway.
Change-Id: Idec8e88fe9621f10ec4b7eecd90708fb3730f56f
Added flavor set and unset command which allow manage flavor
properties called extra_specs.
Command flavor show output was extended with these properties.
Closes-Bug: 1434137
Change-Id: Ie469bade802de18aab9d58eda3fff46064008163
Added new command 'hypervisor stats show' for displaying
the hypervisor stats over all compute nodes.
Change-Id: I4f98c69135b04d4f6cea67cd6350d5d99fb79dba
Partial-Bug: #1423748
Fetch the 'uptime' by making a call to hypervisor-uptime.
Update the help for 'hypervisor show' to mention that it
supports by Name or Id.
Change-Id: I31060d203e87749cfc05810c2d9db42f2416051d
Partial-Bug: #1423748