patroni.dcs.consul module¶
-
class
patroni.dcs.consul.
Consul
(config: Dict[str, Any])¶ Bases:
patroni.dcs.AbstractDCS
-
adjust_ttl
() → None¶
-
attempt_to_acquire_leader
(**kwargs)¶
-
cancel_initialization
(**kwargs) → Any¶
-
create_session
() → None¶
-
delete_cluster
(**kwargs) → Any¶
-
delete_sync_state
(**kwargs) → Any¶
-
deregister_service
(**kwargs) → Any¶
-
initialize
(**kwargs) → Any¶
-
static
member
(node: Dict[str, str]) → patroni.dcs.Member¶
-
refresh_session
() → bool¶
-
register_service
(**kwargs) → Any¶
-
reload_config
(config: Union[Config, Dict[str, Any]]) → None¶ Load and set relevant values from configuration.
Sets
loop_wait
,ttl
andretry_timeout
properties.Parameters: config – Loaded configuration information object or dictionary of key value pairs.
-
retry
(method: Callable[[...], Any], *args, **kwargs) → Any¶
-
set_config_value
(**kwargs) → Any¶
-
set_failover_value
(**kwargs) → Any¶
-
set_history_value
(**kwargs) → Any¶
-
set_retry_timeout
(retry_timeout: int) → None¶ Set the new value for retry_timeout.
-
set_sync_state_value
(**kwargs) → Any¶
-
set_ttl
(ttl: int) → Optional[bool]¶ Set the new ttl value for DCS keys.
-
take_leader
() → bool¶ Establish a new leader in DCS.
Note
This method should create leader key with value of
_name
andttl
ofttl
.Since it could be called only on initial cluster bootstrap it could create this key regardless, overwriting the key if necessary.
Returns: True
if successfully committed to DCS.
-
touch_member
(**kwargs) → Any¶
-
ttl
¶ Get current
ttl
value.
-
update_service
(**kwargs) → Any¶
-
watch
(leader_version: Optional[int], timeout: float) → bool¶ Sleep if the current node is a leader, otherwise, watch for changes of leader key with a given timeout.
Parameters: - leader_version – version of a leader key.
- timeout – timeout in seconds.
Returns: if
True
this will reschedule the next run of the HA cycle.
-
-
class
patroni.dcs.consul.
ConsulClient
(*args, **kwargs)¶ Bases:
consul.base.Consul
-
connect
(*args, **kwargs) → patroni.dcs.consul.HTTPClient¶
-
http_connect
(*args, **kwargs) → patroni.dcs.consul.HTTPClient¶
-
reload_config
(config: Dict[str, Any]) → None¶
-
-
exception
patroni.dcs.consul.
ConsulError
(value: Any)¶ Bases:
patroni.exceptions.DCSError
-
exception
patroni.dcs.consul.
ConsulInternalError
¶ Bases:
consul.base.ConsulException
An internal Consul server error occurred
-
class
patroni.dcs.consul.
HTTPClient
(host: str = '127.0.0.1', port: int = 8500, token: Optional[str] = None, scheme: str = 'http', verify: bool = True, cert: Optional[str] = None, ca_cert: Optional[str] = None)¶ Bases:
object
-
static
response
(response: urllib3.response.HTTPResponse) → patroni.dcs.consul.Response¶
-
set_read_timeout
(timeout: float) → None¶
-
set_ttl
(ttl: int) → bool¶
-
ttl
¶
-
uri
(path: str, params: Union[None, Dict[str, Any], List[Tuple[str, Any]], Tuple[Tuple[str, Any], ...]] = None) → str¶
-
static
-
exception
patroni.dcs.consul.
InvalidSession
¶ Bases:
consul.base.ConsulException
invalid session
-
exception
patroni.dcs.consul.
InvalidSessionTTL
¶ Bases:
consul.base.ConsulException
Session TTL is too small or too big
-
class
patroni.dcs.consul.
Response
(code, headers, body, content)¶ Bases:
tuple
-
body
¶ Alias for field number 2
-
code
¶ Alias for field number 0
-
content
¶ Alias for field number 3
-
headers
¶ Alias for field number 1
-
-
patroni.dcs.consul.
catch_consul_errors
(func: Callable[[...], Any]) → Callable[[...], Any]¶
-
patroni.dcs.consul.
force_if_last_failed
(func: Callable[[...], Any]) → Callable[[...], Any]¶
-
patroni.dcs.consul.
service_name_from_scope_name
(scope_name: str) → str¶ Translate scope name to service name which can be used in dns.
230 = 253 - len(‘replica.’) - len(‘.service.consul’)