summaryrefslogtreecommitdiff
path: root/openstackclient/common/utils.py
Commit message (Collapse)AuthorAgeFilesLines
* attempt to find resource by listingSteve Martinelli2015-09-301-2/+18
| | | | | | | | | | | | add a last-ditch effort to find the resource in question by listing all the resources and doing a simply match for name and id. if no match is found then raise an error, if the list call is unsuccessful, raise the same error. we have failed this city. Closes-Bug: #1501362 Change-Id: I0d3d7002e9ac47b17b1ef1a5534406c85b1fc753 (cherry picked from commit 83282bc5e133d8cd1718df524c1fa06add130b8a)
* Additional exception handling for find_resourceSteve Martinelli2015-09-301-7/+11
| | | | | | | | | | | A few things here: 1) we need to check if the client class even has a 'resource_class', in the case of glanceclient, it does not. 2) If everything fails we should print a better error message, rather than a "find" failed, since some clients don't support find. Change-Id: I6277322639e75b1635f9f3d159753efadbce1031 (cherry picked from commit 05f5e043d8cc536c21acb51c5a9e85fac9563f47)
* Use a common decorator to log 'take_action' activationJoshua Harlow2015-09-011-0/+23
| | | | | | | | | Instead of duplicating the same log statement throughout the code, the same logic can be provided by a shared decorator that abstracts away the logging capability and unifies it behind a common function instead. Change-Id: Icc63bced7347c8bbf0299a4c5821425a10892a79
* More minor docs fixesTerryHowe2015-07-191-3/+3
| | | | Change-Id: Ia74b8e14bacb562d9bac29221f511acbab5296df
* Merge "Add --os-endpoint-type cli optional argument"Jenkins2015-07-031-0/+8
|\
| * Add --os-endpoint-type cli optional argumentRoxana Gherle2015-07-021-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | User should be able to specify the endpoint type through a CLI optional argument/ENV variable setting. We will name this new optional argument: --os-endpoint-type (Env: OS_ENDPOINT_TYPE) and based on the value given, the service API will use that specific endpoint type. Possible values: public, admin, internal. DocImpact Closes-Bug: #1454392 Change-Id: Ife3d4e46b44c0ddcd712b1130e27e362545a9a29
* | Enables retrieval of project's parents and subtreeRodrigo Duarte Sousa2015-06-091-2/+2
|/ | | | | | | | | | | | Adds the possibility to retrieve a project and list its parents and subtree in the hierarchy. Co-Authored-By: Rodrigo Duarte <rodrigods@lsd.ufcg.edu.br> Co-Authored-By: Samuel de Medeiros Queiroz <samuel@lsd.ufcg.edu.br> Implements: bp hierarchical-multitenancy Change-Id: I874f6faffc8a2db9d99f12cbe0a69c0a30c0d9df
* Add --wait to server deleteMatt Riedemann2015-05-291-0/+46
| | | | | | | | | | | | | | This allows the server delete command to wait for the server to be deleted (obviously). The wait method is the same model that Tempest uses, i.e. wait for a 404 on server GET (successful deletion), fail if the server went to ERROR status, or fail if a timeout is reached. The default timeout of 300 seconds is also what Tempest uses. Closes-Bug: #1460112 Change-Id: I0e66c400903e82832944d1cad61e7eb30177c3e8
* Merge "Fix error msg in sort_items"Jenkins2015-03-021-1/+7
|\
| * Fix error msg in sort_itemszhiyuan_cai2015-02-111-1/+7
| | | | | | | | | | | | | | | | Include direction users pass in the error msg to help users know which part of the argument is troublesome. Change-Id: I796a85fbf40f6ddf544fb52a61f967e1914abdcc Closes-Bug: #1420732
* | change oslo namespace to avoid warningTerry Howe2015-02-251-1/+1
|/ | | | Change-Id: Ieff86f841623e1ce34b79c66bc5e8b1b239fa3e9
* Add sort support to image listzhiyuan_cai2015-02-061-0/+40
| | | | | | | | | | Add sort support to image list by sorting items in the client side. The parameter syntax follows this spec[1]. [1] https://review.openstack.org/#/c/145544/ Change-Id: I42b487d18f00f937db1938daa46487cea2a896ab Closes-Bug: #1410251
* Add domain parameters to user show for Identity V3Steve Martinelli2014-10-091-3/+25
| | | | | | | | | | | Update `user show` for Identity V3 to account for a domain argument, in doing so, also update `find resource` to be more flexible by allowing **kwargs. Also update `group show` and `project show` since they follow the same logic as a user within a group. Change-Id: Ib828e4dbeb0bd31164396069ce8a64c873179779 Closes-Bug: #1378165
* utils.find_resource does not catch right exceptionwanghong2014-09-241-2/+9
| | | | | | | | | Currently, utils.find_resource catch NotFound exception defined in openstackclient. However, different client libraries raise different exceptions defined in thire own library. Change-Id: Idc40428e30e59f71dbdbfa0555c0066fddc441c2 Closes-Bug: #1371924
* Use oslo.utilsOleksii Chuprykov2014-09-221-1/+2
| | | | | | | | Module `importutils` from common code was graduated to oslo.utils, so it would be great if we reuse this library. Remove unused strutils.py and gettextutils.py Change-Id: Iaae19fc5018d83103e5f15ff76d6da686bfdf5f8
* Merge "Add action 'user password set' for identiy v3"Jenkins2014-09-071-3/+6
|\
| * Add action 'user password set' for identiy v3Mouad Benchchaoui2014-09-071-3/+6
| | | | | | | | | | | | | | | | | | | | | | This new action will allow a user to change their own password by either providing the new password as an argument (--password) or by being prompted to enter the new password. In both cases user will be prompted to enter their current password as required by the v3 API. Closes-Bug: #1337245 Change-Id: I5e1e0fd2b46a4502318da57f7cce2b236fb2d93d
* | Merge "Unordered dicts and lists causes variable results"Jenkins2014-09-071-2/+2
|\ \
| * | Unordered dicts and lists causes variable resultsTerry Howe2014-09-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The unordered dict and lists causes variable results. The user may see different results and tests can fail. Might as well make this more consistent. Change-Id: I7045b40b44cbf3ee0f2ca79c6ea0d279b6d8cfe3
* | | Leverage openstack.common.importutils for import_classAaron Rosen2014-09-061-13/+2
|/ / | | | | | | | | | | | | | | This patch drops the import_utils method from common.utils and leverages it from openstack.common.importutils instead. Change-Id: If7e7383aa742afe44f750f916c0d90d747793150 Closes-bug: 1365273
* | Python 3: remove a useless code to safe_encode()Cyril Roelandt2014-07-041-3/+1
|/ | | | | | | | The safe_encode method returns bytes, so we cannot concatenate its output with text strings. This call does not seem needed after all, so let's just remove it. Change-Id: I6c18427559147d4c732ff7daa6d6006e7e5f6365
* Network CRUDTerry Howe2014-06-241-0/+10
| | | | | | | bp/neutron https://wiki.openstack.org/wiki/OpenStackClient/Commands#Network_2 Change-Id: I89ee083154afa544b03587e84becace36d9d522a
* Fix find_resource for keystone and cinderTerry Howe2014-06-171-13/+0
| | | | | | | | | | | | | | | | | | | The find_resource method had two hacks in in to support cinder and keystone and I have removed those in favor of a monkey patch for cinder. The find_resource method used to attempt to UUID parse the id, but it would do a manager.get anyway. I changed it to skip the UUID parsing. This will make things run minorly faster and it supports LDAP for keystone. The find_resource used to attempt to use display_name=name_or_id when finding. This was a hack for cinder support, but it breaks keystone because keystone totally messes up with the bogus filter and keystone refuses to fix it. Change-Id: I66e45a6341f704900f1d5321a0e70eac3d051665 Closes-Bug: #1306699
* move read_blob_file_contents to utilsSteve Martinelli2014-04-141-0/+10
| | | | | | | | Thinking ahead, a few other upcoming keystone features could benefit from reading contents from a file. Thus, moving the function from policy to utils. Change-Id: I713ab0e5a00c949ad996daf83b775a7c19044888
* Produce a useful error message for NoUniqueMatchTerry Howe2014-03-171-0/+4
| | | | | | | | | Most of the CLIs use a NoUniqueMatch, so produce a useful error message if that happens. Added some tests for find_resource as well. Change-Id: I85ba61d5f6d1be5bd336a1cc4b02501492905f33 Closes-Bug: #1293846
* Add ability to prompt for passwords for user create and setTerry Howe2014-02-211-0/+16
| | | | | | | | | | * Add get_password method to the utilities * Add --password-prompt option * Call the get_password method if a prompt is requested * Various tests Change-Id: I1786ad531e2a2fbcc21b8bc86aac0ccd7985995a Closes-Bug: 1100116
* Displaying curl commands for nova and cinder callsFlorent Flament2014-01-021-0/+14
| | | | | | | | | | | | 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
* Create a new base REST API interfaceDean Troyer2013-08-231-0/+24
| | | | | | | | | | | * restapi module provides basic REST API support * uses dicts rather than Resource classes * JSON serialization/deserialization * log requests in 'curl' format * basic API boilerplate for create/delete/list/set/show verbs * ignore H302 due to urllib import Change-Id: I3cb91e44e631ee19e9f5dea19b6bac5d599d19ce
* Merge "Remove tenant round 3 - other commands"0.2.alpha1Jenkins2013-07-311-1/+1
|\
| * Remove tenant round 3 - other commandsDean Troyer2013-07-311-1/+1
| | | | | | | | | | | | | | Mostly options and help strings: * image, server, project usage, volume Change-Id: I788b0660f8c2daacde53c20a72dd1afc60cf5159
* | Add security group commandsDean Troyer2013-07-291-1/+4
|/ | | | | | | | | | | | | | * Add security group: create, delete, list, set, show * Add server: add secgroup, remove secgroup * Add security group rule: create, delete, list * Add Oslo's strutils and gettextutils * Adds parseractions.RangeAction() to handle option arguments of either a single number or a range of numbers: '--port 25' or '--port 1024:65535' Blueprint: nova-client Change-Id: Iad2de1b273ba29197709fc4c6a1036b4ae99725f
* Add server resize commandDean Troyer2013-07-291-0/+33
| | | | | | | | | | | | * add server resize * update --wait handling for server create, reboot, rebuild * move _wait_for_status to utils Blueprint: nova-client Rebased after https://review.openstack.org/38162 was committed Change-Id: I7a43b996feecadc7628fcfe20cd5b17333762739
* Clean up properties (metadata) formattingDean Troyer2013-07-211-7/+21
| | | | | | | | | | * Reformat default dict output to key='value' using utils.format_dict() * Changes utils.get_item_properties() to pass the specific field to the formatter function rather than the entire resource object, this allows the formatter to handle multiple attributes. * Updates server, volume, volume type commands Change-Id: I90eebf6b84ae200532f09cd925f371598ea54a64
* Finish up v3 role commandsSteve Martinelli2013-07-031-2/+9
| | | | | | | | | | | | * Add remove role * Add --role to group list * Add --role to user list * Fix groups in AddRole() * Remove the tweaks to utils.find_resource for domains; will address that across domains, projects, users and groups in another patch. I want to nail down the structure of these commands and get that into place Change-Id: I8673dd8221ef88978dada5a2833c187026bdb31a
* Fix flake8 errors in anticipation of flake8 patch.Monty Taylor2013-05-141-1/+1
| | | | Change-Id: Ifdc4322b699f2bd91a6900e55695acd3d736568e
* Add fixed-ip and floating-ip commandsDean Troyer2013-04-141-1/+8
| | | | | | | | | | | | Adds: * fixed-ip commands: add, remove * floating-ip commands: add, create, delete, list, remove * floating-ip-poo command: list Also uses NAME_ATTR in the Resource class if present to determine the attribute to be used for searching in utils.find_resource() Change-Id: Ifd8fa60f880fc4050dea182ac24553cc2c4bff15
* Add snapshot support for v1 volumeSteve Martinelli2013-03-081-0/+5
| | | | | | | | rebase again, and change util to look for display_name too minor changes and rebase add create/delete/list/set/show support for snapshot Change-Id: I80261653fa919555a44ddda07b0a827ccd16e5e0
* Upgraded to PEP8 1.3.3 to stay aligned with Nova, etc.Josh Kearney2013-01-311-3/+1
| | | | | | | | Made all the necessary changes to pass new PEP8 standards. Also cleaned up docstrings to conform to the HACKING stanards. Change-Id: Ib8df3030da7a7885655689ab5da0717748c9edbe
* Standardize on a copyright header and ensure all files have them.Josh Kearney2013-01-241-12/+10
| | | | Change-Id: I64812bca01ca655c9cf9239a0daea84907082a29
* Clean up test environment and remove unused imports.Josh Kearney2013-01-221-2/+0
| | | | | | First round of adding more complete unit test coverage. Change-Id: Ic1979c499ca6fcb784892a95954a3527539c4e53
* Adds Glance API v2 support.Josh Kearney2013-01-161-1/+1
| | | | Change-Id: Ib0325e62a7e50aa94e852a73f9a2cb95daa8d5f6
* Add endpoint CRUD commandsDean Troyer2012-05-181-1/+1
| | | | | | * add {create|delete|list|show} endpoint commands Change-Id: Ife9fa789d5818d63288b09687b43d802b1b97858
* Update service commandsDean Troyer2012-05-151-4/+11
| | | | | | | * add {create|delete} service * allow 'service' arg to also search type attribute in show command Change-Id: I992359dc95fab1fbdab0666d5cbb75e44ba6e0f3
* Move get_client_class() to common.utilsDean Troyer2012-05-111-1/+23
| | | | | | * add constants for API_NAME Change-Id: I8ccf72f032227e0a452d96303181549b1b11a5d1
* Add tenant CRUD commandsDean Troyer2012-05-111-0/+24
| | | | | | | | | * add {create|delete|set} tenant commands * move get_XXXX_properties() to common.utils.get_item_properties() add mixed_case_fields as an optional arg Change-Id: I7b3bd9cefb08e39730886b31213cbe422b5a8453
* Add API versioning supportDean Troyer2012-05-101-0/+8
| | | | | | | | | * Specific versions supported are managed in XXXXXX.client.py with a mapping from version to client class. This is based on the scheme that is included in novaclient; none of the other client libs have that capability. Change-Id: I930b197f1189e7f52c3b0096e73e0773cf925542
* Remove printtDean Troyer2012-05-071-54/+0
| | | | | | | | Remove unused common.utils functions prettyprint 0.6 removed printt at the last minute, our references to it turned out to be in unused code; remove it. Change-Id: I38a4d9a169beaecfd53eafc5b10f06201bac0c31
* Set up common utilsDean Troyer2012-04-251-1/+7
|
* Add openstackclient bitsDean Troyer2012-04-191-0/+117