1369 Commits

Author SHA1 Message Date
Chris Yeoh
db6c58b009 Adds quota usage support for the V3 API
Adds the ability to do a detailed query from the
os-quota-sets V3 API extension. This was an interface
added in V3 to allow for the querying of current quota
usage. Adds a shell command quota-usage which
uses this interface to show current quota usage as well
as the limit.

The absolute limits response was removed from
the limits extension in a9e29b7e9fbe14ab42f24802a6d2a457a6317ba3
and so the corresponding novaclient command is also removed.
The "quota-show-usage" command now shows the same information.

Differences between the V2 and V3 API are described here:
https://wiki.openstack.org/wiki/NovaAPIv2tov3

Partially implements blueprint v3-api

Change-Id: I5db72d42120f4ad7a86fbfce20382988f6bbf5d3
2014-01-08 12:00:53 +08:00
Jenkins
77a9574238 Merge "Code cleanup: use oslo's to_slug() instead of slugify()" 2014-01-07 23:50:50 +00:00
Ken'ichi Ohmichi
d664f0f672 Remove class_name parameter from quota_class
class_name parameter is not used in both Nova v1.1/v3 API.
Nova considers the part of url as class_name.
For example, bar is considered as class_name in the following case:
 curl -i 'http://localhost:8774/v3/os-quota-class-sets/bar' -X PUT ..

This patch removes this unused paramter from quota_class.

Change-Id: Id4eba5b2a17506bc04ea23ef1097ef9cdb9caf8a
2014-01-07 03:52:42 +09:00
Jenkins
2a7caa8bdb Merge "Adds simple tenant usage support for the Nova V3 API" 2014-01-06 07:40:30 +00:00
Jenkins
81e630cbcc Merge "Allow empty response in service-list" 2014-01-05 21:26:17 +00:00
Chris Buccella
3dbab161be Code cleanup: use oslo's to_slug() instead of slugify()
The bash completion code is the sole user of the slugify() function
in utils, which is substantially similar to to_slug() provided in
strutils from oslo.

Change-Id: Ib4eb7e4c0fa0e9bc5c4a0856f6391911d8f8fd3b
Closes-bug: #1266118
2014-01-04 22:56:09 +00:00
Jenkins
ab32e406c8 Merge "Replace some utils.bool_from_str with strutils" 2014-01-03 11:47:28 +00:00
Jenkins
49be47367f Merge "Nova aggregate-details should be more human friendly" 2014-01-02 21:23:06 +00:00
Jenkins
9521c63646 Merge "Expose the rebuild preserve-ephemeral extension" 2014-01-02 21:22:55 +00:00
Matthew Farrellee
669cdc4ffd Replace some utils.bool_from_str with strutils
Instead of using novaclient.utils' bool_from_str, use bool_from_string
from the oslo incubating strutils

Notes:
 0. utils.bool_from_str was strict, only accepted a small set of
    values, while strutils.bool_from_string is not strict by default,
    anything not true is false
 1. bool_from_string accepts on/off, which bool_from_str did not

Change-Id: I04744844b55697819289def081d3c9117ed0713f
2013-12-25 07:22:24 -05:00
Jenkins
708af32f03 Merge "Fix "device" as the optional para on volume-attach" 2013-12-25 01:59:24 +00:00
Clint Byrum
7dc2ff4a49 Allow empty response in service-list
If a user runs 'nova service-list --binary something-weird', where
something-weird is a binary that is not listed the result is a confusing
IndexError. That is because the result is expected to always have at
least one result.

Part of the reason for that is that the fake client does not make it
easy to simulate an empty response in tests. That is why there is no
regression test associated with this bug-fix. That is also why I am
marking thas as Partial-Bug, as this corrects the symptom, but it does
not prevent it from regressing.

Change-Id: I3e6798d63a662c245196b3bf95bb7e1b0ea9c3a4
Partial-Bug: #1260504
2013-12-24 11:38:28 -08:00
Sahid Orentino Ferdjaoui
2c54f5a037 Nova aggregate-details should be more human friendly
'nova aggregate-details' shows Hosts, Availability Zone
and Metadata in the python unicode notation.

+ Adds some tests about aggregates ported from v1 to the
  v3 shell

Change-Id: I69d80b2e76833d78248dee782ae5e53f42a4f4a9
Closes-Bug: #1132961
2013-12-24 12:07:57 +00:00
Jenkins
242ab3ca95 Merge "Removed duplicated import" 2013-12-23 21:14:53 +00:00
Jenkins
13e37ede5b Merge "Adds keypairs support for the Nova V3 API" 2013-12-23 14:16:25 +00:00
Jenkins
287bb0cfcc Merge "Adds certificates support for Nova V3 API" 2013-12-23 14:16:23 +00:00
JUN JIE NAN
7bd5b78b22 Removed duplicated import
sys is imported twice so removed the second import.

Change-Id: I50531edf856d42ec9b10732eff18a97d0cb3e9cc
2013-12-23 10:36:35 +08:00
Jenkins
72f6258556 Merge "Adds aggregates support for Nova V3 API" 2013-12-21 22:58:19 +00:00
Jenkins
865399f72f Merge "Adds hypervisor support for Nova V3 API" 2013-12-21 03:53:20 +00:00
Jenkins
4cff481baa Merge "Adds services support for Nova V3 API" 2013-12-21 03:53:19 +00:00
Jenkins
5b7c7ac046 Merge "Adds second part of quotas support for Nova V3 API" 2013-12-21 03:53:18 +00:00
Jenkins
15e2bca055 Merge "Adding additional tests for novaclient ssh" 2013-12-20 18:58:11 +00:00
Jenkins
9c8fc1a1ad Merge "Adds first part of quotas support for Nova V3 API" 2013-12-20 14:37:21 +00:00
Jenkins
ef364b35bf Merge "Adds availability zone support for Nova V3 API" 2013-12-20 14:35:54 +00:00
Michael Davies
6f7ac333de Adding additional tests for novaclient ssh
There's a few gaps in the testing regime for do_ssh, specifically
around IPv6, specifying identity files, and additional args. This
patch attempts to address these.

Change-Id: I590fd7ffe1e3470c8507d7f7fb2abcfdb6162561
2013-12-20 19:47:59 +10:30
Jenkins
6ba47b96a7 Merge "Adds basic servers support for the Nova V3 API" 2013-12-20 05:07:37 +00:00
huangtianhua
5b773adada Fix "device" as the optional para on volume-attach
Attach a volume to a server without device name, the client returned the
error msg: "error: too few arguments". But for server, we can attach a
volume to a server without the device name.

Change-Id: Ia2743c6e3956cae6591ecd414baf89b0dbcf532b
Closes-Bug: #1257137
2013-12-20 11:34:02 +08:00
Jenkins
606f9ff1c7 Merge "Adds images support for Nova V3 API" 2013-12-19 17:02:25 +00:00
Chris Yeoh
3b5b7b9da3 Adds simple tenant usage support for the Nova V3 API
Adds support and tests for the os-simple-tenant-usage
extension for the Nova V3 API. There are no
differences between the V2 and V3 API and this change
adds the client code to enable the usage command. Note
that with nomenclature change from tenant to project
occuring in Nova there will be a difference between
the V2 and V3 API in the future.

Differences between the V2 and V3 API are described here:
https://wiki.openstack.org/wiki/NovaAPIv2tov3

Partially implements blueprint v3-api

Change-Id: Iddf6211c9c87cbb191d9a5d5a65710b343c30e67
2013-12-19 23:40:40 +10:30
Chris Yeoh
a29b7c7cc7 Adds keypairs support for the Nova V3 API
Adds support and tests for the keypairs extension for
the Nova V3 API. The V3 version of the keypair extension
has been made part of the core V3 API and as a result no longer
has the "os-" prefix in the url.

Differences between the V2 and V3 API are described here:
https://wiki.openstack.org/wiki/NovaAPIv2tov3

Partially implements blueprint v3-api

Change-Id: Id4a77e1e4565f63ecdf7753d3c224975519fc07c
2013-12-19 23:40:00 +10:30
Chris Yeoh
e0d7c49043 Adds certificates support for Nova V3 API
Adds support and tests for the os-certificates extension
for the Nova V3 API

Partially implements blueprint v3-api

Change-Id: I9a75bf04a7047af6c501af2df72de4b8ce3462b0
2013-12-19 23:39:28 +10:30
Chris Yeoh
4c9cc001ba Adds aggregates support for Nova V3 API
Adds support and tests for the os-aggregates extension
for the Nova V3 API.

Partially implements blueprint v3-api

Change-Id: Ibe251f083ea444fb46aac9cc5cf08784b5826ad7
2013-12-19 23:38:56 +10:30
Chris Yeoh
3c46b26666 Adds hypervisor support for Nova V3 API
Adds support and tests for the os-hypervisors extension
for the Nova V3 API.

Note that compared to the V2 API it separates the search
function into search by hypervisor name and a new list
servers by hypervisor as this better first the changes
in the V3 API. The listing of servers by hypervisor command
is preserved, though reworked to use the new interfaces.

Partially implements blueprint v3-api

Change-Id: I472f9acad895dcf842e93d2de27530652f73867e
2013-12-19 23:38:20 +10:30
Chris Yeoh
94b40dd2f8 Adds services support for Nova V3 API
Adds support and tests for the os-services extension
for the Nova V3 API

Partially implements blueprint v3-api

Change-Id: Ic64e465e24a6e840c567677d4f2ea9d63b742ccd
2013-12-19 23:37:23 +10:30
Chris Yeoh
6a9c81843f Adds second part of quotas support for Nova V3 API
Adds support and tests for the os-quota-class-sets
extension for the Nova V3 API. Note that compared to
the V2 version this removes the ability to set quotas
which are not relevant to the V3 API (eg injected file
quotas are not relevant because the os-personalities
extension has been removed).

Partially implements blueprint v3-api

Change-Id: I3e7f36407f2f59737ecbce2c8ce014cef623ecdc
2013-12-19 23:36:35 +10:30
Chris Yeoh
cfd38a7ef6 Adds first part of quotas support for Nova V3 API
Adds support and tests for the os-quotas extension
for the Nova V3 API. Note that compared to the V2
version this removes the ability to set quotas
which are not relevant to the V3 API (eg injected
file quotas are not relevant because the
os-personalities extension has been removed)

Partially implements blueprint v3-api

Change-Id: Ifa1c77428424bedf7fb88ef6d7b3843376799d24
2013-12-19 23:36:00 +10:30
Chris Yeoh
40a1c12828 Adds availability zone support for Nova V3 API
Adds support and tests for the os-availability-zones
extension for the Nova V3 API. Also implements
sorting for zone host display which was applied
to the v1_1 version, but not the v3 version in
I9ab25ef52d6d19b45a39f04cbcde864ee225b4cc

Partially implements blueprint v3-api

Change-Id: I8daa2503a2dc8767e9157bdfa6c9adaedfc8f3c0
2013-12-19 23:35:30 +10:30
Chris Yeoh
1746bbac26 Adds basic servers support for the Nova V3 API
Ports servers support from the v1_1 directory omitting functionality
which is no longer supported directly in the V3 API such as:

- floating ip
- add/remove/list of security groups
- disk config related functionality

Makes the appropriate modifications required for parameter name
changes between the V2 and V3 API

Booting an instance is not yet supported as this will require more
extensive changes as image listing services are no longer proxied
through the Nova V3 API

Partially implements blueprint v3-api

Change-Id: I1116e8d8ebc73176223f4135168cc4ab5d904356
2013-12-19 23:35:01 +10:30
Sean Dague
6ea070d62e add support for nova ssh user@host
the nova ssh command is convenient, but it is lacking some basic
niceties that everyone is used to with ssh, for instance actually
doing user@host to connect to an environment. This adds support
for "nova ssh user@host" to work as one would expect.

The functionality is added to both v1.1 and v3 clients. Tests for
this, and other ssh behavior are added to the v1.1 tree (the v3
test_shell.py has not synced over yet).

Change-Id: Ic4081f85c848507ebdc5e228ac345faf19127168
2013-12-18 18:37:29 -05:00
Sean Dague
7e50eae5ac remove duplicate six import
apparently we had a duplicate import of six, noticed by pyflakes
in my buffer when loading up the file.

Change-Id: I2f5e03d1862711c7214c1e33b4500693aaabf567
2013-12-18 16:15:26 -05:00
JUN JIE NAN
f3d6f1d22c Fixed autodoc can't import/find class error
The right module name should be `novaclient.v1_1.servers' instead of
`novaclient'. Similar fix on `images', `flavors' and `exceptions'.

Removed `ipgroups' and `backup_schedules' since they do not exist any
more.

Closes-Bug: #1056478

Change-Id: Id35f9c275fb36f3651a0bb2b0eb03c43f0aaeec1
2013-12-18 15:56:50 +08:00
Jenkins
ffc479752a Merge "Remove commands not supported by Nova V3 API" 2013-12-17 15:42:02 +00:00
Jenkins
95afa98d14 Merge "Adds agent support for Nova V3 API" 2013-12-17 15:35:07 +00:00
Jenkins
915442404f Merge "Stop using deprecated keyring backends" 2013-12-17 15:31:58 +00:00
Roman Podoliaka
13cf07da40 Expose the rebuild preserve-ephemeral extension
This new extension permits preserving the ephemeral partition if the
Nova hypervisor supports that. This is primarily useful when Cinder is
not available to provide preservation of state while replacing the
image in use. One common situation for that is Nova Baremetal.

DocImpact
Blueprint: baremetal-preserve-ephemeral
Partial-Bug: #1174154
Co-Authored-By: Robert Collins <rbtcollins@hp.com>
Change-Id: Ib1511653904d4f95ab03fb471669175127004582
2013-12-17 14:46:38 +13:00
Joe Gordon
572f9a985e Stop using deprecated keyring backends
keyring.backend.* was deprecated in python-keyring 1.1 and we already
require keyring 1.6.1. This also makes novaclient compatible with python-keyring 3.0
which removes the deprecated paths.

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=728470#10.

Change-Id: I4919ac515e589fddc6044c0cd2f4cbc06c2ec91f
Co-Authored-By: Sebastian Ramacher <sramacher@debian.org>
2013-12-16 15:25:37 -08:00
Chris Yeoh
76f926fc10 Adds images support for Nova V3 API
Adds support for basic image querying from the image server
rather than the Nova API. The Nova V3 API no longer supports
image querying directly, but in order to support convenience
functions such as specifying images by name rather than ID,
it is necessary to have some basic image query support.

image delete and image meta manipulation is no longer supported
by the client as these features can be accessed directly through
the glance client

Partially implements blueprint v3-api

Change-Id: I9050845d631e9dfc2e110327221d154b8924cd65
2013-12-15 22:52:22 +10:30
Chris Yeoh
2e5a5a81c3 Remove commands not supported by Nova V3 API
Remove commands which are no longer supported by the Nova
V3 API and that we will definitely not be proxying to another
service. Removes:

- cloudpipe-list
- cloudpipe-create
- cloudpipe-configure
- coverage-start
- coverage-stop
- coverage-report
- coverage-reset

Partially implements blueprint v3-api

Change-Id: I366cd0233977c1b506d55de280188ecccda8188f
2013-12-15 22:50:02 +10:30
Chris Yeoh
59cf27aa3f Adds agent support for Nova V3 API
Adds support and tests for the os-agents extension
for the Nova V3 API

Partially implements blueprint v3-api

Change-Id: I53f8a1cbab6f4dee10fb823bc51ae90baa97fa7a
2013-12-15 22:45:18 +10:30
Chris Yeoh
72b1862c97 Adds flavor access support for Nova V3 API
Adds the remaining flavors support for the Nova V3 API.

Partially implements blueprint v3-api

Change-Id: I46cdec8999f74af37a9ca4280d123907124bad39
2013-12-15 22:44:09 +10:30