148 Commits

Author SHA1 Message Date
ZhiQiang Fan
c22cbb6fac [Trivial] change some functions in novaclient/utils.py to public
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
2016-04-27 20:13:45 +08:00
Jenkins
3bed5446d7 Merge "Use common find_server from v2.shell" 2016-04-26 00:48:31 +00:00
xiexs
2b9310eaed Add a note message for reboot
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
2016-04-23 20:29:48 -04:00
Andrey Kurilin
fd23ff9000 Use common find_server from v2.shell
- 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
2016-04-14 12:05:57 +03:00
Matt Riedemann
a602e59806 Deprecate image list/show/delete/update CLIs/APIs
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
2016-04-12 11:57:57 -04:00
Dao Cong Tien
a967e40185 Fix typos in docstrings and comments
Change-Id: Ib94c2b999f8295ec526d4e44883b86ab8b5a0688
2016-04-06 09:36:28 +07:00
Jenkins
0193797fcf Merge "Remove deprecated volume(snapshot) commands/bindings" 2016-04-04 17:30:08 +00:00
Matt Riedemann
a425702689 Remove deprecated volume(snapshot) commands/bindings
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
2016-04-03 14:05:05 -04:00
huangtianhua
31c9e399f2 Using glance 'image-list'/'image-show' in boot help message
Using glance commands instead in boot help message.

Change-Id: I0f20d24a9ab32a80bbbc524e1b5ce754aded1814
2016-03-28 17:40:19 +08:00
Jenkins
5f6d731f93 Merge "aggregate-details changed to aggregate-show" 2016-03-25 19:03:50 +00:00
Jenkins
a4d2d0ce83 Merge "Add changes-since support when list servers" 2016-03-21 14:03:06 +00:00
Jenkins
b154a4828b Merge "Validate shutdown value of --block-device" 2016-03-21 13:59:48 +00:00
abhishek.talwar
bf68a0cf10 aggregate-details changed to aggregate-show
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
2016-03-21 12:44:16 +05:30
Balazs Gibizer
f6bcac4772 Validate shutdown value of --block-device
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
2016-03-16 17:51:00 +01:00
Kevin_Zheng
7cefdd36a6 Add changes-since support when list servers
Nova API supports change-since filter when list servers:
https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/servers.py#L325-L331
but in python-novaclient we don't.
This patch  add the support for change-since when list servers.

Closes-bug: #1551591

depends-on: Ic2f239f634f917a5771b0401a5073546c710c036

Change-Id: I27f2d1e33a56d357e247111b338c93861716cfee
2016-03-16 17:56:21 +08:00
abhishek.talwar
b80d8cb6e6 nova add-secgroup help updated with secgroup id
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
2016-03-09 14:53:43 +05:30
Jenkins
17be772404 Merge "Return a less dramatic message for public flavors." 2016-03-08 01:35:48 +00:00
Sven Anderson
c2ec89d285 Return a less dramatic message for public flavors.
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
2016-03-07 11:35:27 +01:00
Kevin_Zheng
16c36ce79e Use novaclient/utils directly and remove openstack/common (4/4)
We can use novaclient/utils directly and get rid
of openstack/common folder.

This is the last part.

Change-Id: I8103adafde7d8b3a101181366639314740f9a25a
Partial-Bug: #1551603
2016-03-03 09:24:48 +08:00
Kevin_Zheng
49410c06a5 Use novaclient/utils directly and remove openstack/common
We can use novaclient/utils directly and get rid
of openstack/common folder.

This is the third part.

Change-Id: I405044af3912d86da66df05413edfc724bc102d0
Partial-Bug: #1551603
2016-03-03 01:24:05 +00:00
Kevin_Zheng
a787d33eb1 Use novaclient/utils directly and remove openstack/common (2/4)
We can use novaclient/utils directly and get rid
of openstack/common folder.

This is the second part.

Change-Id: I12b03aa0a13c95ae949adf7e876c675ce309bae5
Partial-Bug: #1551603
2016-03-03 01:23:46 +00:00
Jenkins
d56c95de40 Merge "[microversion] Bump to 2.25" 2016-03-02 12:15:34 +00:00
Eli Qiao
ae598280ac [microversion] Bump to 2.25
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
2016-03-02 17:24:17 +08:00
Jenkins
f30f41f13d Merge "Use isinstance instead of type" 2016-03-02 07:57:02 +00:00
Andrea Rosa
77e50cc91b Support for abort an ongoing live migration
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
2016-03-01 13:43:33 +00:00
ShaoHe Feng
e0c7d2c673 Add two server-migration commands and bump migration-list command
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
2016-03-01 12:27:54 +00:00
Cao ShuFeng
5c1acb91f7 Use isinstance instead of type
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
2016-02-28 14:51:51 +08:00
Jenkins
66b4085c9e Merge "Adds missing internationalization for help message" 2016-02-27 01:07:51 +00:00
Pawel Koniszewski
62c76301a2 Support for forcing live migration to complete
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
2016-02-25 13:59:11 +00:00
Bartosz Górski
e43c66a0aa Adds missing internationalization for help message
Change-Id: I676daed583cac49f72593c79e9f79f7c9908a57c
Related-Bug: #1491492
Signed-off-by: Bartosz Górski <bartosz@codilime.com>
2016-02-25 07:05:35 +00:00
Andrey Kurilin
1d1e43957d [microversions] Add support for 2.19
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
2016-02-16 16:20:41 +02:00
Andrey Kurilin
0d0749d39f Make _poll_for_status more user-friendly
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
2016-02-04 20:06:43 +02:00
Jenkins
3c934b0455 Merge "Support to boot a VM with network name" 2016-02-02 12:04:10 +00:00
Pavel Kholkin
15d7b403bb Support to boot a VM with network name
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
2016-01-27 23:08:26 +03:00
Jenkins
5e4318c27e Merge "[microversions] Extend shell with 2.12" 2016-01-27 16:13:44 +00:00
Andrey Kurilin
6cbb22583b [microversions] Add support for 2.17
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
2016-01-25 14:24:49 +02:00
Andrey Kurilin
a54a1d16db [microversions] Extend shell with 2.12
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
2016-01-22 20:26:54 +02:00
Jenkins
8165c771ae Merge "[microversions] Add support for 2.15" 2016-01-21 17:22:59 +00:00
Jenkins
1cf3fa9d77 Merge "[microversions] Add support for 2.14" 2016-01-21 17:22:53 +00:00
Jenkins
c819132c4c Merge "[microversions] Add support for API microversion 2.13" 2016-01-13 19:32:51 +00:00
Balazs Gibizer
7cc26eee72 [microversions] Add support for 2.15
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
2016-01-12 17:30:16 +01:00
Kevin L. Mitchell
08c4b746b2 Add a mechanism to call out deprecated options
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
2016-01-07 11:07:44 -06:00
Jenkins
60997a5997 Merge "Validate the fixed ip address passed with --nic" 2016-01-04 20:11:41 +00:00
Jenkins
1a8937a6cc Merge "Wrong usage of "a/an"" 2016-01-04 13:32:55 +00:00
Jenkins
86a9cc8371 Merge "Fix help strings" 2016-01-04 13:32:43 +00:00
Jenkins
2d96c2c9bb Merge "Cleanup needless code from oslo-incubator" 2016-01-04 13:30:18 +00:00
Balazs Gibizer
5a3956c399 [microversions] Add support for 2.14
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
2015-12-31 12:51:45 +01:00
hgangwx
2283b46a2f Wrong usage of "a/an"
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
2015-12-30 15:05:50 +08:00
Andreas Jaeger
8f320313f3 Fix help strings
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
2015-12-28 08:10:44 +01:00
Zhihai Song
dd6b3cd394 Validate the fixed ip address passed with --nic
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
2015-12-23 15:11:40 +08:00