The session object is a cross-client means of standardizing the
transport layer.
Novaclient's HTTPClient object has diverged significantly from other
clients. It is easier to simply replace it if a session is provided. If
a session is provided then users of the library need to be aware that
functions such as authenticate() will no longer have any effect/are in
error because this is no longer managed by nova.
Change-Id: I8f146b878908239d9b6c1c7d6cdc01c7e124f4e5
The name of the section "If you're developer, start here"
has changed in the wiki, now is "If you're a developer".
This commit updates it to correctly refer to the
proper section.
Change-Id: I16fc339292ac5766530f003770bee133170bed67
The client __init__ method takes both a project_id and tenant_id which is
rather confusing as in the Nova API these terms are used interchangeably. The
comment clarifies the difference between a project_id and tenant_id
when using novaclient.
For backwards compatibility reasons we can't really change the names (though for V3
perhaps we should in the future).
Change-Id: I569fe9318335c8d686153b0936205cb190e01ef1
There is a variable which is not defined but used, we should define it
before using. Add a test for get_resource_manager_extra_kwargs_hook
function, and change the exception to a more detail instead broad
'Exception'.
Change-Id: I7a798dad55a65f06ebbe175925a00028940bb168
This change adds the optional parameters: disk bus and device type
to the volume-attach command for the V3 API.
DocImpact
Closes-Bug: #1303875
Change-Id: I4fd07726887d08e5b669139b559bdb2c2d21826e
Add a translation from instance_id to server_id to accommodate
for the adjusted user output.
Closes-Bug: #1324857
Change-Id: Ifaa15f6907b5efae7431eb1741b7fae4b3540a8c
Oslo's version of apiclient fixes a bug where if `human_id` is `None` it
causes `novaclient` to crash, so lets sync it over to fix that bug.
Change-Id: I53f174a1d3356c4038dcbdf88f4f9c4ea179418c
References-Bug: 1288397
There are a few things currently wrong with bash-completion as it stands now:
1) IDs are currently required to be UUIDs. This is an arbitrary limitation
and doesn't make sense for certain kinds of objects, like `Flavors`
where a valid ID could be `performance-16gb`.
2) The code is spread out between Oslo's `Resource` and Novaclient's
`Manager` class. This makes it difficult to improve the code because it
requires changes to two separate projects. We should centralize the
code in Novaclient until the API is stable, then import the code into
Oslo in its entirety, not partially like it is now.
3) The completion code is handled by the `Manager` of which there is one
per Resource-type. In the interest of centralizing this functionality,
we should create a `CompletionCache` class and hang it off of `Client`
of which there is one-per-session.
4) The completion-code currently runs by default even in headless mode
(e.g. novaclient without the shell). It'd be much more efficient to
only write to the completion cache if we're accessing the `Client` from
the novaclient shell. We can make this an option to support third-party
CLI clients that want to use the completion-cache as well.
NOTE:
* The corresponding Oslo patch is here:
https://review.openstack.org/#/c/101376/
* This patch was tested in multithreaded mode to prevent any regression
from:
https://bugs.launchpad.net/python-novaclient/+bug/1213958.
Change-Id: Idada83de103358974b739f81d4f392574f9e1237
Closes-Bug: 1332270
The quota-class-update command wasn't allowing updating quotas for
fixed_ips which is a supported key for the os-quota-class-sets API.
This change adds the support to update qoutas for fixed_ips and updates
the existing test to be more robust in (a) the quota keys it's testing
and (b) the request body it's asserting.
This is a v2-only change since the os-quota-class-sets API was removed
from the nova v3 API in Icehouse.
Closes-Bug: #1330571
Change-Id: Ifcca6d00551619b993b96f05134980a4ca2f2acf
The Nova server will restrict unprivileged user accounts to just
public images, while allowing administrator accounts access to
all. The Nova client shouldn't force the flavor name lookup to
be restricted to just public images, since that breaks the ability
to the flavor name when booting an instance
Fixes bug #1327212
Change-Id: I949aec52660242249b8cba51d77bfdc1acaf31d2
F841 detects local variable is assigned to but never used.
This commit fix the violations and enable F841 in gate.
Change-Id: I52419f5e17db70e511ff2d4d61c85458c958e9c3
Commit 1b15b23b0a629e00913a40c5def42e5ca887071c removed the
os-quota-class-sets v3 API from Nova in Icehouse. This change removes
the corresponding client code.
Closes-Bug: #1331095
Change-Id: Iaa2f4063e0f671da5a54ff89d0f1c1780a2687c4
Fix:
Intially the cli was raising "CommadError" in case the requested
flavor or image were not present.
This error category was not approrpiate as it signifies an error
in the command syntax. When the requested resource (flavour/image)
does not exist, a ResourceNotFound error should be raised. So,
added a new error category "ResourceNotFound" to cater for this
scenario and updated the code to raise this new error.
"nova show <instance_name>" command has also been updated to raise
"ResourceNotFound" error when the requested vm for which details
have to be displayed does not exist.
Closes-Bug: #1258488
Change-Id: If64a087944586ef5792efe3baa62e455b9bbaa07