glance.common.utils module¶
System-level utilities and helper functions.
-
class
glance.common.utils.
CooperativeReader
(fd)[source]¶ 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.
-
class
glance.common.utils.
LimitingReader
(data, limit, exception_class=<class 'glance.common.exception.ImageSizeLimitExceeded'>)[source]¶ Bases:
object
Reader designed to fail when reading image data past the configured allowable amount.
-
glance.common.utils.
chunkiter
(fp, chunk_size=65536)[source]¶ 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
-
glance.common.utils.
chunkreadable
(iter, chunk_size=65536)[source]¶ 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
-
glance.common.utils.
cooperative_iter
(iter)[source]¶ Return an iterator which schedules after each iteration. This can prevent eventlet thread starvation.
Parameters: iter – an iterator to wrap
-
glance.common.utils.
cooperative_read
(fd)[source]¶ 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
-
glance.common.utils.
create_mashup_dict
(image_meta)[source]¶ Returns a dictionary-like mashup of the image core properties and the image custom properties from given image metadata.
Parameters: image_meta – metadata of image with core and custom properties
-
glance.common.utils.
evaluate_filter_op
(value, operator, threshold)[source]¶ Evaluate a comparison operator. Designed for use on a comparative-filtering query field.
Parameters: - value – evaluated against the operator, as left side of expression
- operator – any supported filter operation
- threshold – to compare value against, as right side of expression
Raises: InvalidFilterOperatorValue – if an unknown operator is provided
Returns: boolean result of applied comparison
-
glance.common.utils.
get_image_meta_from_headers
(response)[source]¶ Processes HTTP headers from a supplied response that match the x-image-meta and x-image-meta-property and returns a mapping of image metadata and properties
Parameters: response – Response to process
-
glance.common.utils.
get_stores_from_request
(req, body)[source]¶ Processes a supplied request and extract stores from it
Parameters: - req – request to process
- body – request body
Raises: glance_store.UnknownScheme – if a store is not valid
Returns: a list of stores
-
glance.common.utils.
image_meta_to_http_headers
(image_meta)[source]¶ Returns a set of image metadata into a dict of HTTP headers that can be fed to either a Webob Request object or an httplib.HTTP(S)Connection object
Parameters: image_meta – Mapping of image metadata
-
glance.common.utils.
is_valid_hostname
(hostname)[source]¶ Verify whether a hostname (not an FQDN) is valid.
-
glance.common.utils.
no_4byte_params
(f)[source]¶ Checks that no 4 byte unicode characters are allowed in dicts’ keys/values and string’s parameters
-
glance.common.utils.
parse_valid_host_port
(host_port)[source]¶ Given a “host:port” string, attempts to parse it as intelligently as possible to determine if it is valid. This includes IPv6 [host]:port form, IPv4 ip:port form, and hostname:port or fqdn:port form.
Invalid inputs will raise a ValueError, while valid inputs will return a (host, port) tuple where the port will always be of type int.
-
glance.common.utils.
split_filter_op
(expression)[source]¶ Split operator from threshold in an expression. Designed for use on a comparative-filtering query field. When no operator is found, default to an equality comparison.
Parameters: expression – the expression to parse Returns: a tuple (operator, threshold) parsed from expression
-
glance.common.utils.
split_filter_value_for_quotes
(value)[source]¶ Split filter values
Split values by commas and quotes for ‘in’ operator, according api-wg.
-
glance.common.utils.
stash_conf_values
()[source]¶ Make a copy of some of the current global CONF’s settings. Allows determining if any of these values have changed when the config is reloaded.