patroni.config module¶
-
class
patroni.config.
Config
(configfile: str, validator: Optional[Callable[[Dict[str, Any]], List[str]]] = <function default_validator>)¶ Bases:
object
This class is responsible for:
- Building and giving access to effective_configuration from: * Config.__DEFAULT_CONFIG – some sane default values * dynamic_configuration – configuration stored in DCS * local_configuration – configuration from config.yml or environment
- Saving and loading dynamic_configuration into ‘patroni.dynamic.json’ file located in local_configuration[‘postgresql’][‘data_dir’] directory. This is necessary to be able to restore dynamic_configuration if DCS was accidentally wiped
- Loading of configuration file in the old format and converting it into new format
- Mimicking some of the dict interfaces to make it possible to work with it as with the old config object.
-
PATRONI_CONFIG_VARIABLE
= 'PATRONI_CONFIGURATION'¶
-
config_file
¶
-
copy
() → Dict[str, Any]¶
-
dynamic_configuration
¶
-
get
(key: str, default: Optional[Any] = None) → Any¶
-
get_global_config
(cluster: Optional[patroni.dcs.Cluster]) → patroni.config.GlobalConfig¶ Instantiate
GlobalConfig
based on input.Use the configuration from provided cluster (the most up-to-date) or from the local cache if cluster.config is not initialized or doesn’t have a valid config. :param cluster: the currently known cluster state from DCS :returns:
GlobalConfig
object
-
reload_local_configuration
() → Optional[bool]¶
-
save_cache
() → None¶
-
set_dynamic_configuration
(configuration: Union[patroni.dcs.ClusterConfig, Dict[str, Any]]) → bool¶
-
class
patroni.config.
GlobalConfig
(config: Dict[str, Any])¶ Bases:
object
A class that wrapps global configuration and provides convinient methods to access/check values.
It is instantiated by calling
Config.global_config()
method which picks either a configuration from providedCluster
object (the most up-to-date) or from the local cache if :class::ClusterConfig is not initialized or doesn’t have a valid config.-
check_mode
(mode: str) → bool¶ Checks whether the certain parameter is enabled.
Parameters: mode – parameter name could be: synchronous_mode, failsafe_mode, pause, check_timeline, and so on Returns: True if mode is enabled in the global configuration.
-
get
(name: str) → Any¶ Gets global configuration value by name.
Parameters: name – parameter name Returns: configuration value or None if it is missing
-
get_int
(name: str, default: int = 0) → int¶ Gets current value from the global configuration and trying to return it as int.
Parameters: - name – name of the parameter
- default – default value if name is not in the configuration or invalid
Returns: currently configured value from the global configuration or default if it is not set or invalid.
-
get_standby_cluster_config
() → Union[Dict[str, Any], Any]¶ Returns: “standby_cluster” configuration.
-
is_paused
¶ True if cluster is in maintenance mode.
Type: returns
-
is_standby_cluster
¶ True if global configuration has a valid “standby_cluster” section.
Type: returns
-
is_synchronous_mode
¶ True if synchronous replication is requested.
Type: returns
-
is_synchronous_mode_strict
¶ True if at least one synchronous node is required.
Type: returns
-
maximum_lag_on_failover
¶ currently configured value from the global configuration or 1048576 if it is not set or invalid.
Type: returns
-
maximum_lag_on_syncnode
¶ currently configured value from the global configuration or -1 if it is not set or invalid.
Type: returns
-
min_synchronous_nodes
¶ the minimal number of synchronous nodes based on whether strict mode is requested or not.
Type: returns
-
primary_start_timeout
¶ currently configured value from the global configuration or 300 if it is not set or invalid.
Type: returns
-
primary_stop_timeout
¶ currently configured value from the global configuration or 300 if it is not set or invalid.
Type: returns
-
synchronous_node_count
¶ currently configured value from the global configuration or 1 if it is not set or invalid.
Type: returns
-
-
patroni.config.
default_validator
(conf: Dict[str, Any]) → List[str]¶
-
patroni.config.
get_global_config
(cluster: Optional[patroni.dcs.Cluster], default: Optional[Dict[str, Any]] = None) → patroni.config.GlobalConfig¶ Instantiates
GlobalConfig
based on the input.Parameters: - cluster – the currently known cluster state from DCS
- default – default configuration, which will be used if there is no valid cluster.config
Returns: GlobalConfig
object