tacker.common.utils module¶
Utilities and helper functions.
-
class
tacker.common.utils.
CooperativeReader
(fd)¶ Bases:
object
An eventlet thread friendly class for reading in image data.
When accessing data either through the iterator or the read method we perform a sleep to allow a co-operative yield. When there is more than one image being uploaded/downloaded this prevents eventlet thread starvation, ie allows all threads to be scheduled periodically rather than having the same thread be continuously active.
-
read
(length=None)¶ Return the requested amount of bytes.
Fetching the next chunk of the underlying iterator when needed. This is replaced with cooperative_read in __init__ if the underlying fd already supports read().
-
-
class
tacker.common.utils.
LimitingReader
(data, limit, exception_class=<class 'tacker.common.exceptions.CSARFileSizeLimitExceeded'>)¶ Bases:
object
Limit Reader to read data past to configured allowed amount.
Reader designed to fail when reading image data past the configured allowable amount.
-
read
(i)¶
-
-
class
tacker.common.utils.
MemoryUnit
¶ Bases:
object
-
UNIT_SIZE_DEFAULT
= 'B'¶
-
UNIT_SIZE_DICT
= {'B': 1, 'GB': 1000000000, 'GiB': 1073741824, 'KiB': 1024, 'MB': 1000000, 'MiB': 1048576, 'TB': 1000000000000, 'TiB': 1099511627776, 'kB': 1000}¶
-
static
convert_unit_size_to_num
(size, unit=None)¶ Convert given size to a number representing given unit.
If unit is None, convert to a number representing UNIT_SIZE_DEFAULT :param size: unit size e.g. 1 TB :param unit: unit to be converted to e.g GB :return: converted number e.g. 1000 for 1 TB size and unit GB
-
static
validate_unit
(unit)¶
-
-
tacker.common.utils.
change_memory_unit
(mem, to)¶ Change the memory value(mem) based on the unit(‘to’) specified.
If the unit is not specified in ‘mem’, by default, it is considered as “MB”. And this method returns only integer.
-
tacker.common.utils.
chunkiter
(fp, chunk_size=65536)¶ Convert iterator to a file-like object.
Return an iterator to a file-like obj which yields fixed size chunks
- Parameters
fp – a file-like object
chunk_size – maximum size of chunk
-
tacker.common.utils.
chunkreadable
(iter, chunk_size=65536)¶ Wrap a readable iterator.
Wrap a readable iterator with a reader yielding chunks of a preferred size, otherwise leave iterator unchanged.
- Parameters
iter – an iter which may also be readable
chunk_size – maximum size of chunk
-
tacker.common.utils.
convert_camelcase_to_snakecase
(request_data)¶ Converts dict keys or list of dict keys from camelCase to snake_case.
Returns a dict with keys or list with dict keys, in snake_case. This method takes care only keys in a dict or dicts in a list. For simple list with string items, the elements which are actual values are ignored during conversion. And property value is not converted when key is additionalParams.
- Parameters
request_data – dict with keys or list with items, in camelCase.
-
tacker.common.utils.
convert_snakecase_to_camelcase
(request_data)¶ Converts dict keys or list of dict keys from snake_case to camelCase.
Returns a dict with keys or list with dict key, in camelCase. This method takes care only keys in a dict or dicts in a list. For simple list with string items, the elements which are actual values are ignored during conversion. Also, Snake case is a notation method that uses underscores to connect words. For that reason, if the initial word of the key in dict starts with ‘_’, this function ignore to convert the key. And property value is not converted when key is additional_params.
- Parameters
request_data – dict with keys or list with items, in snake_case.
- Example:
Before:
[ {"vnf_lcm_op_occ_id" : "uuid"}, { "_links" : { "vnf_lcm_op_occ": {"href": "resource_link"} } } ]
After:
[ {"vnfLcmOpOccId": "uuid"}, { "_links": { "vnfLcmOpOcc": {"href": "resource_link"} } } ]
-
tacker.common.utils.
convert_string_to_snakecase
(name)¶ Converts a string from camelCase to snake_case.
-
tacker.common.utils.
cooperative_iter
(iter)¶ Prevent eventlet thread starvation during iteration
Return an iterator which schedules after each iteration. This can prevent eventlet thread starvation.
- Parameters
iter – an iterator to wrap
-
tacker.common.utils.
cooperative_read
(fd)¶ Prevent eventlet thread starvationafter each read operation.
Wrap a file descriptor’s read with a partial function which schedules after each read. This can prevent eventlet thread starvation.
- Parameters
fd – a file descriptor to wrap
-
tacker.common.utils.
deep_update
(orig_dict, new_dict)¶
-
tacker.common.utils.
deepgetattr
(obj, attr)¶ Recurses through an attribute chain to get the ultimate value.
-
tacker.common.utils.
dict2tuple
(d)¶
-
tacker.common.utils.
expects_func_args
(*args)¶
-
tacker.common.utils.
find_config_file
(options, config_file)¶ Return the first config file found.
We search for the paste config file in the following order: * If –config-file option is used, use that * Search for the configuration files via common cfg directories :retval Full path to config file, or None if no config file found
-
tacker.common.utils.
flatten_dict
(data, prefix='')¶
-
tacker.common.utils.
generate_resource_name
(resource, prefix='tmpl')¶
-
tacker.common.utils.
get_auth_url_v3
(auth_url)¶
-
tacker.common.utils.
get_hostname
()¶
-
tacker.common.utils.
is_url
(url)¶
-
tacker.common.utils.
is_valid_area
(area)¶ Verify that the area attribute is valid.
Area attribute is an area-region pair. The value of this attribute should be a string in the format of “area@region”.
-
tacker.common.utils.
is_valid_ipv4
(address)¶ Verify that address represents a valid IPv4 address.
-
tacker.common.utils.
is_valid_url
(url)¶
-
tacker.common.utils.
is_valid_vlan_tag
(vlan)¶
-
tacker.common.utils.
load_class_by_alias_or_classname
(namespace, name)¶ Load class using stevedore alias or the class name.
Load class using the stevedore driver manager :param namespace: namespace where the alias is defined :param name: alias or class name of the class to be loaded :returns: class if calls can be loaded :raises ImportError: if class cannot be loaded
-
tacker.common.utils.
log_opt_values
(log)¶
-
tacker.common.utils.
none_from_string
(orig_str)¶
-
tacker.common.utils.
str_to_bool
(value)¶ Convert string to Bool
-
tacker.common.utils.
str_to_bytes
(value)¶ Convert string to bytes
-
tacker.common.utils.
str_to_num
(value)¶ Convert a string representation of a number into a numeric type.
-
tacker.common.utils.
subprocess_popen
(args, stdin=None, stdout=None, stderr=None, shell=False, env=None)¶