There are some functions in novaclient/utils.py which have name with
prefix `_`, in Python, this means it is a private function which
should be only used in its own module. However, these functions are
used in other modules such as novaclient/v2/shell.py.
This patch removes the prefix _ for these functions.
Change-Id: I7bc8a76fd390a7dd30eecbb5c7e641b6ccfb40c0
Currently nova reboot only performs a hard-reboot to
baremetal nodes as ironic doesn't support the soft-reboot
yet. And as absence of this information, end user has to try
to excute this command firstly and then probably realize
the difference between the baremetal nodes and ordinary
VM instance about this command:
* For VM instance
nova reboot : perform a soft reboot by default.
nova reboot --hard: perform a hard reboot.
* For baremetal node
nova reboot : perform a hard reboot by default.
nova reboot --hard: perform a hard reboot as well.
For more user-friendly, we'd better add some notes into
the help message explicitly.
Change-Id: I7b3f6da4b5f8a514c6d923f3546470d9de459003
Partial-Bug: #1485416
- extend v2.shell._find_server with raise_if_notfound param
- reuse v2.shell._find_server for instance_action extension
- fix instance-action-list on v2.21 (it was unable to work
with deleted instances)
Change-Id: I7b538124c6ab0ee00164822b324aaf2d37c8c2af
This deprecates all of the image CLIs/python API bindings that use
the Nova os-images API which is a proxy to the Glance v1 API.
This will emit a warning each time a deprecated CLI/API is used and also
updates the help docs for the deprecated CLIs and docstrings for APIs.
The plan is to do a release once this is merged so people start seeing
it and then we'll actually remove the deprecated CLIs/APIs in the first
python-novaclient release after the Nova server 15.0.0 'O' release.
Depends-On: Iff5fb3180855de7adb3399f6be16bedc8543b4ec
Change-Id: I3f60cc7f4c6e27861c4a84b925d573f35f1a1848
23f13437dd64496fcbc138bbaa9b0ac615a3cf23 deprecated the
purely volume or volume-snapshot related CLIs and python
API bindings during Kilo. python-cinderclient should be
used for the python API bindings now, and python-openstackclient
should be used for the CLI for those operations.
The alternate_service_type context manager is also removed
since it was only used for proxying through to the volume API
endpoint.
Since the proxy for creating volumes is removed, we have to
add python-cinderclient for testing the volume attachment
CLIs/APIs that are left intact.
Change-Id: I09a6501603667350f49b1b1fa130353a6d5272a2
To show details of aggregate, we have
aggregate-details command. But all other
commands to show details of any resource
is *-show like flavor-show, keypair-show etc.
So changed the command to aggregate-show.
Change-Id: If4875833a27382a6f3193ec55d6d4cb1852249fd
Closes-Bug: #1552646
The shutdown value of the --block-device parameter was stated to
to be either 'remove' or 'preserve' but the code only coverted
everything to False that was not equal to 'remove'.
This patch adds strict validation that rejects values other than
'remove' or 'preserve'.
Closes-bug: #1558157
Change-Id: I89a6c4fe90ec4d8155f4a7b93006d1972654a223
As per nova add-secgroup help,
the user need to enter secgroup
name's to add it to a server.
But as the command works fine
with secgroup id too, so updated
the help.
Change-Id: If13dd619808b7ff87c214f17ef71296166d870ab
Closes-Bug: #1554930
Getting the access list of a public flavor bails out with a dramatic
error message, suggesting that something is broken. This changes the
message to an unagitated "Access list not available for public
flavors."
Change-Id: I432496c24b23de8fa58de93f2cbed8bed1d540b1
We can use novaclient/utils directly and get rid
of openstack/common folder.
This is the last part.
Change-Id: I8103adafde7d8b3a101181366639314740f9a25a
Partial-Bug: #1551603
We can use novaclient/utils directly and get rid
of openstack/common folder.
This is the third part.
Change-Id: I405044af3912d86da66df05413edfc724bc102d0
Partial-Bug: #1551603
We can use novaclient/utils directly and get rid
of openstack/common folder.
This is the second part.
Change-Id: I12b03aa0a13c95ae949adf7e876c675ce309bae5
Partial-Bug: #1551603
microversion v2.25 will change parameter of os-migrateLive, this patch
adds supports to that changes.
os-migrateLive will abandon disk_over_commit and the default value of
block_migration will be set to `auto`
Depends-on: Ibb0d50f0f7444028ef9d0c294aea41edf0024b31
Implements: blueprint making-live-migration-api-friendly
Change-Id: I01b22593724616bc0a7793c509ecabf095d6927d
In Nova API microversion 2.24 there is a new operation which allows to
abort a running live migration.
This change is to enable this feature at the client side implementing a
new method to call the new nova API:
nova live-migration-abort <server_id> <migration_id>
Implements blueprint: abort-live-migration
Depends-On: I1ff861e54997a069894b542bd764ac3ef1b3dbb2
Change-Id: Ic2ead126e0cf48aa54a083e97cb9d1303a5a9bbd
1. Add two new commands
Add nova client server-migration-list and server-migration-show
2. Bump and old command
Add migration_type field for migration-list command
Partially implements blueprint live-migration-progress-report
Depends-On: Ia92ecbe3c99082e3a34adf4fd29041b1a95ef21e
Change-Id: I071198fa9ba0699383bdebf4fab54714a435e6c3
With the patch sets of request_ids, the *Manager classes return
'DictWithMeta' or 'ListWithMeta' rather than 'dict' or 'list'.
This change adjust conditional statements to use isinstance when
comparing variables. Isinstance supports inheritance type checking
better than type.
The effected subcommands are:
evacuate
interface-list
interface-attach
interface-detach
Change-Id: I0c1291110c1386d2ff027cb149a5aff20019e6f7
Closes-Bug: 1550870
In API microversion 2.22 in Nova there is new ServerMigrations resource
that allows opertators to force on-going live migration to complete:
https://review.openstack.org/#/c/245921/
This patch implements new method in python-novaclient to take advantage
of the new API:
nova live-migration-force-complete <instance_id/name> <migration_id>
Change-Id: I823c20b4e0c7b63e905f564a7dff13d3fb314a26
Implements blueprint pause-vm-during-live-migration
2.19 - Allow the user to set and get the server description. The user will
be able to set the description when creating, rebuilding, or updating
a server, and get the description as part of the server details.
Methods `rebuild` and `create` of novaclient.v2.servers.ServerManager were
not wrapped with `api_versions.wraps` decorator to reduce code and docsting
duplication. Version checks added inside these methods.
Change-Id: I75b804c6edd0cdf02c2cd002d0b5968fec8da545
NOTE: _poll_for_status is a private method, which is used only in shell
module, so we can modify it without backward compatibility.
_poll_for_status is used for various resources with different interfaces.
In case of snapshotting, it works with Image resources, which doesn't have
"fault" attribute in "error" state. To prevent AttributeError, we should take
this into account.
Also, an exception raised by _poll_for_status(InstanceInErrorState) should
not be hardcoded for one type of resource, so this exception is renamed to
ResourceInErrorState. An exception InstanceInDeletedState, which is also
can be raised by _poll_for_status, is not modified, since I don't know cases
when it can be used with resources other than Server.
Change-Id: Ie0ee96999376cbf608caa1cf8521dbef5c939b52
Closes-Bug: #1538073
Bug_description:
Today, in order to specify networking arguments, the nova client
only accept uuid's. It would be nice if we could extend the
client option to allow names to be accepted too.
Solution:
This patch supports provisioning of VM by mentioning network name.
_boot method currently validates for network ID to boot a VM.
Updates:
* new parameter 'net-name' is added
* when 'net-name' is specified network ID is retrieved
* network ID is used for further processing of vm boot request
* if multiple networks with the same name exist then
NoUniqueMatch exception is raised
* help text is updated
DocImpact
Closes-Bug: #1496180
Co-Authored-By: Pavel Kholkin <pkholkin@mirantis.com>
Change-Id: Ifb14a76749901ee106cdb807e38820a2c25e1320
Description of microversion:
Add a new API for triggering crash dump in an instance. Different operation
systems in instance may need different configurations to trigger crash dump.
Note:
- it is hard to write a functional test for this microversion, since it
requires instance in error state
- all possible failed responses already covered by novaclient.exceptions
Nova's change: I6ed777ff637254b4b79417008f9055dd19fc7405
Change-Id: If03b1864bbe7074c720b946fc2700bd5d07debc3
Shell was not extended in original patch[1], which turned on v2.12, since
there was not any support of vif in shell yet.
Since shell entry point for legacy vif was merged[2], we need to add support
for v2.12 in shell too.
[1] - I18cf23847d3b2b01f5a6ffae2ebc4bede54babce
[2] - Ib3078125beb7beaa08a3408486db54e0d10763e6
Change-Id: Ie38d099b2babfd8424c7d15bd3dfe8bd75e51136
With I3f156d5e5df4d9642bb4b0ffac30a6288459ce61 nova introduced
microversion 2.15 which adds two new policies soft-affinty and
soft-anti-affinity for the server-group api.
This patch bumps the nova client microversion support to 2.15.
The novaclient is transparent regarding the policy value of the
server-group api so no further changes are needed. However the
help text of the policies parameter mentioned the possible policies.
This was removed as the current framework does not support providing
different help text for a parameter depending on the microversion.
Implements: blueprint soft-affinity-for-server-group
Change-Id: I739ed1dd3e4c15e28a269c4f980a12a74fb1def0
We have had deprecated command line options in novaclient for a long
time, but no warnings about the deprecations were ever emitted, despite
the help text being suppressed. It would be nice to finally get rid of
those deprecated options. This change sets up the precondition to
accomplish this, by emitting appropriate warnings when a deprecated
option is used.
Note: The "use" text for the deprecated options has been deliberately
chosen to reduce the number of translations required.
Change-Id: Ibe13faa56c5abca97f85f9c5172ef5a5591b5f71
In I54bfa1275e188573c1b95d770d89160a86cdf52c the onSharedStorage
flag is removed from the evacuate API. This patch removes it from
the novaclient as well.
Implements: bp remove-shared-storage-flag-in-evacuate-api
Change-Id: I5ae75fdac226f0246f22a4d5245c1e4952571fc1
Wrong usage of "a/an" in the messages:
"It will be deprecated after an suitable deprecation"
"Delete metadata from an server"
"Get a list of actions performed on an server"
"based on an requests response"
"Get a aggregate by name or ID"
Should be:
"It will be deprecated after a suitable deprecation"
"Delete metadata from a server"
"Get a list of actions performed on a server"
"based on a requests response"
"Get an aggregate by name or ID"
Totally 5 occurrences in python-novaclient base code.
Change-Id: Iabe764f8b547b39431deb34221266695e0e79fa9
Reviewing the import of novaclient 3.1.0 into the CLI Reference (change
Ib39cdfdd563a2a53f0e6de1f8d2dc4f8c4678c15), a few inconsistencies where
found and fixed:
* Missing "." at end of help string
* Inconsistent capitalization of "DEPRECATED, use"
* Inconsistent capitalization of "Set or delete"
* It's IPv4 and IPv6
* It's ID
Change-Id: I425cd6575ca31efd92fc7f0be6192031886fcc41
Currently fixed ip address passed with --nic is not validated.
This patch add the validation to the fixed address.
Change-Id: I032cc9ce9333b723d37e94b81d699cc0d78d36bf
Closes-Bug: #1528455