The newer version of six (1.4.1) provides six.StringIO which
is a fake file object for textual data. It's an alias for StringIO.StringIO
in python2 and io.StringIO in Python3.
Use the fake object where approiate.
Change-Id: I364001933b4f2305ac27b293a9a4a3fec36c8a49
Signed-off-by: Chuck Short <chuck.short@canonical.com>
In tempest, some tests use delete() method of each resource class
(Server, SecurityGroup, etc.) for cleaning up when each test finishes.
Now we are adding some tests, which create a Flavor instance, to tempest
and we need the delete() method of Flavor class.
Fixes bug #1218156
Change-Id: I210d62aa45510858346315046cf57ea7b1de7b7b
Add new arguments and syntax for booting from a block device mapping
that use the new os-block-device-mapping-v2-boot extension. These
allow to:
* boot from an image, volume or snapshot (--image, --boot-volume, --snapshot)
* attach any type of block device (--block-device).
* attach an swap disk on boot (--swap).
* attach an ephemeral disk on boot (--ephemeral).
blueprint: improve-block-device-handling
DocImpact
Change-Id: I1aadeafed82b3bd1febcf0d1c3e64b258d6abeda
Administrator cannot use the flavor name in arguments of
"nova flavor-access-add" and "nova flavor-access-remove".
This patch fixes this problem.
Change-Id: I68b267dc071382f1978efc2088cd8e837455e8b4
Related-Bug: #1205298
This patch adds support for the assisted volume snapshots API extension.
This is used by Cinder to ask Nova to perform a volume snapshot on its
behalf. It's required when the volume is actually file backed (like
qcow2) and the hypervisor needs to be involved in the snapshot
operation.
Required for blueprint qemu-assisted-snapshots
Change-Id: I50ee9bf92c8de98528638d1724fe35e07bed729e
Bug 1209242
nova-api has supported pagination for long. A marker and limit
option could be passed to nova-api to get a slice of instances.
It makes sense to enable this feature in novaclient, so that
horizon could use it for pagination supporting. Modification to
shell.py would be submitted in a separate patch.
Further change will also pass 'sort_key' and 'sort_dir' to
nova-api, as long as nova supports this.
This is part of blueprint support-pagination-for-instance-list
Change-Id: Ieb5f2c1eb31b9f7e95b62b51ea7dc338e3970d04
This is already available in nova but not exposed via client.
* novaclient/v1_1/servers.py:
New interface to list security groups of an instance.
* novaclient/v1_1/shell.py:
New sub command list-secgroup.
* novaclient/tests/v1_1/fakes.py,
novaclient/tests/v1_1/test_servers.py,
novaclient/tests/v1_1/test_shell.py:
Add corresponding tests.
Implements: blueprint servers-list-secgroup
Change-Id: I505bcffdbb15b84bfd73cae5ef5a8fb9c69bd7b9
Python3 reorganized the standard library and moved several functions
to different modules. Six provides a consistent interface
to them through the fake six.moves module.
However, the urlparse, urllib2, etc modules have been combined
into one module which Six does not support so we do it via
py3kcompat.
Modules such as StringIO and CStringIO have been removed
completely so we use the io module.
Change-Id: I53adac11b634de2c710fc39def36bcec96366710
Signed-off-by: Chuck Short <chuck.short@canonical.com>
This command lets Admin's list migrations by applying filters
Implements: blueprint list-resizes-through-admin-api
Change-Id: I587c62dab537186cfc8b387fbc46cdb56fb9976c
Administrator cannot use the flavor name in arguments of
"nova flavor-access-add" and "nova flavor-access-remove"
in following conditions.
1. The flavor is non-public.
2. The falvor doesn't belong administrator's tenant.
This patch fixes this problem.
Change-Id: Ic5e3222d0ff62667e003a61e6a94e85833da5d11
Fixes: bug #1205298
Add client support for swap_volume, which allows swapping a volume
currently attached to an instance with a different volume which is not
attached. The contents of the old volume will be copied onto the new
volume. This was added in nova commit
8f51b120b430c7c21399256f37e1d8f75d030484.
Change-Id: I98323d594617c1c435e403d9f3ddc4ff4fa74da6
Allow servers to be created, resized, and rebuilt with the disk_config
option:
http://api.openstack.org/api-ref.html#ext-os-disk-config
There is a separate extension that exists for disk config already, but
it only works via the novaclient CLI interface, not via programmatic use
of python-novaclient as a library.
assert changes in tests/v1_1/fakes allow for other data in rebuild
and resize requests.
Change-Id: I8051ffb8747cf5c67b0199d22fbbe80306b01499
Changed host-actions to GET from POST for reboot, startup
and shutdown, as per nova-api reference documentation.
Change-Id: I863b75960b2e427fd9384a336727132ca3c130c6
Fixes: bug #1206425
Implements blueprint user-quota-related-client-api
This patch adds user arguments to the following subcommands:
* quota-show
* quota-update
* quota-delete
Change-Id: I6556de366a758f7550e9b26357f231666caae419
Use /resources instead of /resources/detail to resolve
the resource ID by the name and load the details of the
resource in a separate step. This reduces the overhead
to resolve the resource ID and results in a better runtime
performance.
This patch does not solve the issue that the name resolving
takes place on the client side. For solving this issue new
Nova API methods are necessary.
fixes bug #1202179
Change-Id: Ib753b1d090cb74b2d137c68f6899dad4ae2ec1ca
Bug 1195670
Nova supports force_delete or restore instance in the API level,
thus it makes sense to support this feature in novaclient.
Change-Id: I7cc3d2d2a7ab8dfe043176a3ea97c10deae683c9
Fixes #Bug 1202920
This patch adds name arguments to the following subcommands:
* hypervisor-show
* hypervisor-uptime
Change-Id: I9adfb699775d2d8f8ca45a7a28621e634bc03055
utils.find_resource() uses manager.get() as part of converting Resource
names to IDs. AggregatesManager had get_details() instead of get().
Add AggregatesManager.get(), leaving .get_details() in place for backward
API compatibility.
Bug: 1200341
Change-Id: I7d238bbe43e1760e31f1a9ba783c668246f20844
When the block-device parameters skip volume_size,
don't set it. Setting to an empty volume_size
would be invalid as it has to be an integer,
and Nova API will reject the request if api validation
is implemented. (proposed e.g. at
https://review.openstack.org/#/c/34749/)
Fixes bug LP #1199539
Change-Id: I7ab518886abf8d449caf1c70563a79a990d7765e
'nova start' and 'nova stop' actually send request with 'os-start'
and 'os-stop', instead of 'start' and 'stop'.
Change-Id: I1472e1b648dae8f3b281a113adb60421a00e5a48
In cases where the respective authentication methods return
non-NoneTypes, (e.g., HTTP 305 redirects) they would get dropped
on the floor previously.
This patch set splits the test_auth_redirect unit test into two
nearly-identical unit tests to exercise the different code paths.
Without the patch, the test_v2_auth_redirect unit test fails with
an HTTP 401 error
Change-Id: I2018bc5b73ce86d6d5383958375d5dbbde2e763c
Fixes: Bug 1197191
Adds cli option to allow users to give reason
for service-disable. Also adds disabled reason
as a column in service list, so any disabled service
can be seen with reason.
A recent nova change that allows disable-log-reason
allows users to provide reason for disabling service.
This just adds the cli option for the method.
Blueprint record-reason-for-disabling-service
Change-Id: If263788c34279d6b4c568d5e0320448d2ff67a12
Tenant names are not necessarily unique for a User, so the client
should also allow authentication by tenant_id
If both ID and Name are specificed then use the ID
Fixes bug 1195454
Change-Id: Ib62aabc3702db88f02259cd721f9efb31404bcb7
In .testr.conf, we reference OS_STDOUT_CAPTURE / OS_STDERR_CAPTURE
while in novaclient/tests/utils.py we reference OS_STDOUT_NOCAPTURE
and OS_STDERR_NOCAPTURE. This change brings things more in line
with nova project by referencing OS_STDOUT_CAPTURE / OS_STDERR_CAPTURE
in both locations.
Change-Id: I22efdec84bef78e99d1d95303cadade6011d76a2
Fixes: bug #1192997
The currently proposed Hacking check H103
compares the license boilerplate header in
source files with a known good version.
Fix up the syntactical-only mismatches with
that check.
Change-Id: Ie8861b9ded858aabb4cebbe9db656e8cccc9efed