osc_lib package¶
Subpackages¶
- osc_lib.api package
- osc_lib.cli package
- osc_lib.command package
- osc_lib.tests package
- Subpackages
- Submodules
- osc_lib.tests.fakes module
- osc_lib.tests.test_clientmanager module
- osc_lib.tests.test_logs module
- osc_lib.tests.test_shell module
- osc_lib.tests.test_utils module
- osc_lib.tests.utils module
- Module contents
Submodules¶
osc_lib.clientmanager module¶
Manage access to the clients, including authenticating when needed.
-
class
osc_lib.clientmanager.ClientCache(factory)¶ Bases:
objectDescriptor class for caching created client handles.
-
class
osc_lib.clientmanager.ClientManager(cli_options=None, api_version=None, pw_func=None, app_name=None, app_version=None)¶ Bases:
objectManages access to API clients, including authentication.
-
auth_ref¶ Dereference will trigger an auth if it hasn’t already
-
get_configuration()¶
-
get_endpoint_for_service_type(service_type, region_name=None, interface='public')¶ Return the endpoint URL for the service type.
-
is_service_available(service_type)¶ Check if a service type is in the current Service Catalog
-
setup_auth()¶ Set up authentication
This is deferred until authentication is actually attempted because it gets in the way of things that do not require auth.
-
validate_scope()¶
-
osc_lib.exceptions module¶
Exception definitions.
-
exception
osc_lib.exceptions.AuthorizationFailure¶ Bases:
exceptions.Exception
-
exception
osc_lib.exceptions.BadRequest(code, message=None, details=None)¶ Bases:
osc_lib.exceptions.ClientExceptionHTTP 400 - Bad request: you sent some malformed data.
-
http_status= 400¶
-
message= 'Bad request'¶
-
-
exception
osc_lib.exceptions.ClientException(code, message=None, details=None)¶ Bases:
exceptions.ExceptionThe base exception class for all exceptions this library raises.
-
exception
osc_lib.exceptions.CommandError¶ Bases:
exceptions.Exception
-
exception
osc_lib.exceptions.Conflict(code, message=None, details=None)¶ Bases:
osc_lib.exceptions.ClientExceptionHTTP 409 - Conflict
-
http_status= 409¶
-
message= 'Conflict'¶
-
-
exception
osc_lib.exceptions.EndpointNotFound¶ Bases:
exceptions.ExceptionCould not find Service or Region in Service Catalog.
-
exception
osc_lib.exceptions.Forbidden(code, message=None, details=None)¶ Bases:
osc_lib.exceptions.ClientExceptionHTTP 403 - Forbidden: not authorized to access to this resource.
-
http_status= 403¶
-
message= 'Forbidden'¶
-
-
exception
osc_lib.exceptions.HTTPNotImplemented(code, message=None, details=None)¶ Bases:
osc_lib.exceptions.ClientExceptionHTTP 501 - Not Implemented: server does not support this operation.
-
http_status= 501¶
-
message= 'Not Implemented'¶
-
-
exception
osc_lib.exceptions.NoTokenLookupException¶ Bases:
exceptions.ExceptionThis does not support looking up endpoints from an existing token.
-
exception
osc_lib.exceptions.NotFound(code, message=None, details=None)¶ Bases:
osc_lib.exceptions.ClientExceptionHTTP 404 - Not found
-
http_status= 404¶
-
message= 'Not found'¶
-
-
exception
osc_lib.exceptions.OverLimit(code, message=None, details=None)¶ Bases:
osc_lib.exceptions.ClientExceptionHTTP 413 - Over limit: reached the API limits for this time period.
-
http_status= 413¶
-
message= 'Over limit'¶
-
-
exception
osc_lib.exceptions.PluginAttributeError¶ Bases:
exceptions.ExceptionA plugin threw an AttributeError while being lazily loaded.
Bases:
osc_lib.exceptions.ClientExceptionHTTP 401 - Unauthorized: bad credentials.
-
exception
osc_lib.exceptions.UnsupportedVersion¶ Bases:
exceptions.ExceptionThe user is trying to use an unsupported version of the API
osc_lib.i18n module¶
osc_lib.logs module¶
Application logging
-
osc_lib.logs.get_loggers()¶
-
osc_lib.logs.log_level_from_config(config)¶
-
osc_lib.logs.log_level_from_options(options)¶
-
osc_lib.logs.log_level_from_string(level_string)¶
-
osc_lib.logs.set_warning_filter(log_level)¶
osc_lib.session module¶
Subclass of keystoneauth1.session
osc_lib.shell module¶
Command-line interface to the OpenStack APIs
-
class
osc_lib.shell.OpenStackShell(description=None, version=None, command_manager=None, stdin=None, stdout=None, stderr=None, interactive_app_factory=None, deferred_help=False)¶ Bases:
cliff.app.App-
CONSOLE_MESSAGE_FORMAT= '%(levelname)s: %(name)s %(message)s'¶
-
build_option_parser(description, version)¶
-
clean_up(cmd, result, err)¶
-
close_profile()¶
-
configure_logging()¶ Configure logging for the app.
-
init_profile()¶
-
initialize_app(argv)¶ Global app init bits:
- set up API versions
- validate authentication info
- authenticate against Identity if requested
-
interact()¶
-
log= <logging.Logger object>¶
-
prepare_to_run_command(cmd)¶ Set up auth and API versions
-
run(argv)¶
-
run_subcommand(argv)¶
-
timing_data= []¶
-
-
osc_lib.shell.main(argv=None)¶
-
osc_lib.shell.prompt_for_password(prompt=None)¶ Prompt user for a password
Prompt for a password if stdin is a tty.
osc_lib.utils module¶
Common client utilities
-
osc_lib.utils.build_kwargs_dict(arg_name, value)¶ Return a dictionary containing arg_name if value is set.
-
osc_lib.utils.env(*vars, **kwargs)¶ Search for the first defined of possibly many env vars
Returns the first environment variable defined in vars, or returns the default defined in kwargs.
-
osc_lib.utils.find_min_match(items, sort_attr, **kwargs)¶ Find all resources meeting the given minimum constraints
Parameters: - items – A List of objects to consider
- sort_attr – Attribute to sort the resulting list
- kwargs – A dict of attributes and their minimum values
Return type: A list of resources osrted by sort_attr that meet the minimums
-
osc_lib.utils.find_resource(manager, name_or_id, **kwargs)¶ Helper for the _find_* methods.
Parameters: - manager – A client manager class
- name_or_id – The resource we are trying to find
- kwargs – To be used in calling .find()
Return type: The found resource
This method will attempt to find a resource in a variety of ways. Primarily .get() methods will be called with name_or_id as an integer value, and tried again as a string value.
If both fail, then a .find() is attempted, which is essentially calling a .list() function with a ‘name’ query parameter that is set to name_or_id.
Lastly, if any kwargs are passed in, they will be treated as additional query parameters. This is particularly handy in the case of finding resources in a domain.
-
osc_lib.utils.format_dict(data)¶ Return a formatted string of key value pairs
Parameters: data – a dict Return type: a string formatted to key=’value’
-
osc_lib.utils.format_list(data, separator=', ')¶ Return a formatted strings
Parameters: - data – a list of strings
- separator – the separator to use between strings (default: ‘, ‘)
Return type: a string formatted based on separator
-
osc_lib.utils.format_list_of_dicts(data)¶ Return a formatted string of key value pairs for each dict
Parameters: data – a list of dicts Return type: a string formatted to key=’value’ with dicts separated by new line
-
osc_lib.utils.format_size(size)¶ Display size of a resource in a human readable format
Parameters: size (string) – The size of the resource in bytes. Returns: Returns the size in human-friendly format Rtype string: This function converts the size (provided in bytes) of a resource into a human-friendly format such as K, M, G, T, P, E, Z
-
osc_lib.utils.get_client_class(api_name, version, version_map)¶ Returns the client class for the requested API version
Parameters: - api_name – the name of the API, e.g. ‘compute’, ‘image’, etc
- version – the requested API version
- version_map – a dict of client classes keyed by version
Return type: a client class for the requested API version
-
osc_lib.utils.get_dict_properties(item, fields, mixed_case_fields=None, formatters=None)¶ Return a tuple containing the item properties.
Parameters: - item – a single dict resource
- fields – tuple of strings with the desired field names
- mixed_case_fields – tuple of field names to preserve case
- formatters – dictionary mapping field names to callables to format the values
-
osc_lib.utils.get_effective_log_level()¶ Returns the lowest logging level considered by logging handlers
Retrieve and return the smallest log level set among the root logger’s handlers (in case of multiple handlers).
-
osc_lib.utils.get_field(item, field)¶
-
osc_lib.utils.get_item_properties(item, fields, mixed_case_fields=None, formatters=None)¶ Return a tuple containing the item properties.
Parameters: - item – a single item resource (e.g. Server, Project, etc)
- fields – tuple of strings with the desired field names
- mixed_case_fields – tuple of field names to preserve case
- formatters – dictionary mapping field names to callables to format the values
-
osc_lib.utils.get_password(stdin, prompt=None, confirm=True)¶
-
osc_lib.utils.is_ascii(string)¶
-
osc_lib.utils.read_blob_file_contents(blob_file)¶
-
osc_lib.utils.sort_items(items, sort_str)¶ Sort items based on sort keys and sort directions given by sort_str.
Parameters: - items – a list or generator object of items
- sort_str – a string defining the sort rules, the format is ‘<key1>:[direction1],<key2>:[direction2]...’, direction can be ‘asc’ for ascending or ‘desc’ for descending, if direction is not given, it’s ascending by default
Returns: sorted items
-
osc_lib.utils.wait_for_delete(manager, res_id, status_field='status', error_status=['error'], exception_name=['NotFound'], sleep_time=5, timeout=300, callback=None)¶ Wait for resource deletion
Parameters: - manager – the manager from which we can get the resource
- res_id – the resource id to watch
- status_field – the status attribute in the returned resource object, this is used to check for error states while the resource is being deleted
- error_status – a list of status strings for error
- exception_name – a list of exception strings for deleted case
- sleep_time – wait this long between checks (seconds)
- timeout – check until this long (seconds)
- callback – called per sleep cycle, useful to display progress; this function is passed a progress value during each iteration of the wait loop
Return type: True on success, False if the resource has gone to error state or the timeout has been reached
-
osc_lib.utils.wait_for_status(status_f, res_id, status_field='status', success_status=['active'], error_status=['error'], sleep_time=5, callback=None)¶ Wait for status change on a resource during a long-running operation
Parameters: - status_f – a status function that takes a single id argument
- res_id – the resource id to watch
- status_field – the status attribute in the returned resource object
- success_status – a list of status strings for successful completion
- error_status – a list of status strings for error
- sleep_time – wait this long (seconds)
- callback – called per sleep cycle, useful to display progress
Return type: True on success