oio.conscience package
Subpackages
- oio.conscience.checker package
- oio.conscience.stats package
- Submodules
- oio.conscience.stats.base module
- oio.conscience.stats.beanstalkd module
- oio.conscience.stats.http module
- oio.conscience.stats.meta module
- oio.conscience.stats.proxy module
- oio.conscience.stats.rawx module
- oio.conscience.stats.system module
- oio.conscience.stats.volume module
- Module contents
Submodules
oio.conscience.agent module
-
class
oio.conscience.agent.ConscienceAgent(conf)[source] Bases:
oio.common.daemon.Daemon-
init_watchers(services)[source]
-
load_services()[source]
-
run(*args, **kwargs)[source]
-
stop()[source]
-
stop_watchers()[source]
-
-
class
oio.conscience.agent.ServiceWatcher(conf, service, **kwargs)[source] Bases:
object-
check()[source] Perform the registered checks on the service until any of them fails of the end of the list is reached.
-
get_stats()[source] Update service definition with all configured stats
-
init_checkers(service)[source]
-
init_stats(service)[source] Initialize service stat fetchers
-
register()[source]
-
start()[source]
-
stop()[source]
-
watch()[source]
-
-
oio.conscience.agent.load_modules(group_name)[source]
oio.conscience.client module
-
class
oio.conscience.client.ConscienceClient(conf, service_id_max_age=60, **kwargs)[source] Bases:
oio.common.client.ProxyClientConscience client. Some calls are actually redirected to LbClient.
-
all_services(type_, full=False, **kwargs)[source] Get the list of all services of a specific type.
Parameters: - type (str) – the type of services to get (ex: ‘rawx’)
- full – whether to get all metrics for each service
Returns: the list of all services of the specified type.
Return type: list of dict objects, each containing at least - ‘addr’ (str), - ‘id’ (str), - ‘score’ (int), - ‘tags’ (dict).
-
deregister(service_definitions, **kwargs)[source]
-
flush(srv_type)[source]
-
get_service_definition(srv_type, srv_id, score=None, tags=None)[source]
-
info()[source]
-
lb Get an instance of LbClient.
-
local_services()[source]
-
lock_score(srv_or_list)[source] Lock the score of a service.
Parameters: srv_or_list (dict or list of dict.) – dictionary containing: - ‘addr’: the service address, - ‘type’: the service type, - ‘score’: optional, the score to set the service to.
-
next_instance(pool, **kwargs)[source] Get the next service instance from the specified pool
-
next_instances(pool, **kwargs)[source] Get the next service instances from the specified pool.
Parameters: - size (int) – number of services to get
- slot (str) – comma-separated list of slots to poll
-
poll(pool, **kwargs)[source] Get a set of services from a predefined pool.
Parameters: - avoid (list) – service IDs that must be avoided
- known (list) – service IDs that are already known
-
register(service_definitions, **kwargs)[source]
-
resolve(srv_type, service_id)[source]
-
resolve_service_id(service_type, service_id, check_format=True)[source] Returns: Service address corresponding to the service ID
-
resolve_url(service_type, url)[source] Returns: Resolved URL of a service using a service ID
-
service_types()[source]
-
unlock_score(srv_or_list)[source] Unlock the score of a service, let the Conscience compute it.
Parameters: srv_or_list (dict or list of dict.) – dictionary containing: - ‘addr’: the service address, - ‘type’: the service type,
-
-
class
oio.conscience.client.LbClient(conf, **kwargs)[source] Bases:
oio.common.client.ProxyClientSimple load balancer client
-
create_pool(pool, targets, force=False, options=None, **kwargs)[source] Create a service pool on the local proxy.
Parameters: - pool (str) – a name for the pool
- targets – a list of tuples like (1, “rawx-usa”, “rawx”, …)
- force – if the pool already exists, overwrite it
- options (dict) – options for the pool
Raises: Conflict – if a pool with same name already exists
-
next_instance(pool, **kwargs)[source] Get the next service instance from the specified pool
-
next_instances(pool, size=None, **kwargs)[source] Get the next service instances from the specified pool.
Parameters: size (int) – number of services to get
-
poll(pool, **kwargs)[source] Get a set of services from a predefined pool.
Parameters: - avoid (list) – service IDs that must be avoided
- known (list) – service IDs that are already known
-