* server create required --image even when booting the server from a
volume. Change options to require either --image or --volume to
specify the server boot disk. Using --volume currently uses device
'vda' for the block mapping and ignores any other block mappings
given in --block-device-mapping.
* server create and server show are both affected by bug 1378842 where
an excepion was thrown when no image ID was present in the returned
server object, which is the case for a server booted from a volume.
* Fix the remaining assertEqual() order problems in test_server.py
Closes-Bug: 1378842
Closes-Bug: 1383338
Change-Id: I5daebf4e50a765d4920088dfead95b6295af6a4d
Clients that can use ksc Session don't need the old junk to
fake auth anymore:
* compute
* volume
Clients that still need to be fed credentials can pick directly
from the auth object in clientmanager. The _token attribute is
removed, the token can be retrieved from the auth object:
openstackclient/tests/common/test_clientmanager.py
This change will break any plugin that relies on getting a token
from instance._token. They should be updated to use the above, or
preferable, to use keystoneclient.session.Session to create its
HTTP interface object.
Change-Id: I877a29de97a42f85f12a14c274fc003e6fba5135
The files opened for the --files and --user-data options were never
closed, potentially leaking memory in a long-running client. Close
them if they are file objects.
Add a couple of basic tests for server create.
Change-Id: I1658b0caa2d6af17308149cb52196ee28266ddf2
The ksc auth plugins do not have support for the original
token-endpoint (aka token flow) auth where the user supplies
a token (possibly the Keystone admin_token) and an API endpoint.
This is used for bootstrapping Keystone but also has other uses
when a scoped user token is provided.
The api.auth:TokenEndpoint class is required to provide the
same interface methods so all of the special-case code branches
to support token-endpoint can be removed.
Some additional cleanups related to ClientManager and creating
the Compute client also were done to streamline using sessions.
Change-Id: I1a6059afa845a591eff92567ca346c09010a93af
In a cloud with AZs, you can get multiple entries back from the service
catalog - one for each AZ and then one that is AZ agnostic that's tied
to the region. If the region_name is plumbed all the way through, this
works as intended.
Change-Id: I3b365ea306e8111fc80830672ae8080a5d1dc8e0
Non-admin users couldn't list security groups due to the project lookup
failure. That shouldn't stop the listing.
Change-Id: I27f6ff4975b35d1de1c852c8d4e830b83c7dec75
Instead of inline messages, let's create variables instead, as
it's easier to find strings, and mark them for translation.
Change-Id: Ibbcfdbc59d12a0cb4af50f73043d3ff7f3c76f99
Add support for --timing options. Use cliff via a pseudo-command
'Timing' to support multiple outputformats.
If an output format other than the default 'table' is selected
use CSV since the timing data is in list form.
Will pick up timing data for any client object that has a method
similar to novaclient's get_timings().
TODO:
* Stop instantiating all of the clientmanager client objects just
to check for timing data. Descriptor magic required?
Change-Id: I7f1076b7a250fba6a8b24b2ae9353a7f51b792b2
Since novaclient has support to list extensions, we should add
some of the logic to our list extensions command.
Closes-Bug: #1337684
Change-Id: I3074225780142df265a34add03e60c0f7c64c711
So we can update requriements.txt. But fix a couple of easy ones:
* Fix E251 (1 occurrance)
* Fix E131 (1 occurrance)
Change-Id: I62aaa423aa6da9e9f0ca026ec586b51cc6a6df03
There are files containing string format arguments inside
logging messages. Using logging function parameters should
be preferred.
Change-Id: Ic749ac9eb55564ed631d57055a5a4dfc3aebd169
The final find_resource() call errored because servers.create_image()
returns an image ID rather than an Image resource. Reset expectations
and arguments.
Change-Id: I1b9132f66091f9df76198724156acb7a6fb2f6fe
Previously, the help message incorrectly had the
string "IP address to add to server". This should
probably read "IP address to delete".
Change-Id: If592b736448199f84c30e0cbc8110a0a76e2c140
Closes-Bug: #1316877
The attempt to get the data dict out of the keypair resource object uses a
key 'keypair. This is incorrect, no key is required.
Closes-Bug: 1289594
Change-Id: I7887119c1d800d389cb6f63ea7847bea1e25bb52
This fixes some errors and inconsistencies I found reviewing the
help strings:
* Capitalize help strings
* Add missing space between words (in multi-line strings)
* Improve wording
Change-Id: I2fb31ab4191c330146e31c1a9651115a6657769a
* port range was throwing exception for None to/from ports
* ip_range didn't always have cidr causing error
* ip_protocol None at times and looked bad
Closes-Bug #1256935
Change-Id: I451a0f038a3e9646bca3f278c5d6f6d7e3097a83
When using the -v option, displays curl equivalent commands and http
messages exchanged with the nova and cinder API servers. Displays the
same messages as those displayed with the --debug option of
python-novaclient and python-cinderclient.
Implements: blueprint curl-commands-in-debugging-messages for nova and
cinder related calls
Change-Id: Ibc8ef79d874334585b81d652b9c7df9e874fffa9
Allows client libraries to have complete access to the rest of the
OSC ClientManager. In addition, extension libraries can define
global options (for API version options/env vars) and define
versioned API entry points similar to the in-repo commands.
The changes to ClientManager exposed some issues in the existing
object api tests that needed to be cleaned up.
Change-Id: Ic9662edf34c5dd130a2f1a69d2454adefc1f8a95
Add --os-cacert and --verify|--insecure options using the same
sematics as the other project CLIs. --verify is included for
completeness.
Bug: 1236608
Change-Id: I8a116d790db5aa4cb17a2207efedce7cb229eba3