congress.datasources.cfgvalidator_driver module

Datasource for configuration options

class congress.datasources.cfgvalidator_driver.ValidatorAgentClient(topic='congress-validator-agent')

Bases: object

RPC Proxy to access the agent from the datasource.

get_config(context, cfg_hash, server)

Retrieves a config from a server given a hash

get_namespace(context, ns_hash, server)

Retrieves an explicit namespace from a server given a hash.

get_template(context, tpl_hash, server)

Retrieves an explicit template from a server given a hash

publish_configs_hashes(context)

Asks for config hashes

publish_templates_hashes(context)

Asks for template hashes

class congress.datasources.cfgvalidator_driver.ValidatorDriver(name=None, args=None)

Bases: congress.datasources.datasource_driver.PollingDataSourceDriver

Driver for the Configuration validation datasource

DS_NAME = 'config'
get_context()

context for RPC. To define

static get_datasource_info()

Gives back a standardized description of the datasource

classmethod get_schema()

Get mapping of table name to column names.

Returns a dictionary mapping tablenames to the list of column names for that table. Both tablenames and columnnames are strings.

poll()

Periodically called to update new info.

Function called periodically to grab new information, compute deltas, and publish those deltas.

process_config(file_hash, config, host)

Manages all translations related to a config file.

Publish tables to PE. :param file_hash: Hash of the configuration file :param config: object representing the configuration :param host: Remote host name :return: True if config was processed

process_config_hashes(hashes, host)

Handles a list of config files hashes and their retrieval.

If the driver can process the parsing and translation of the config, it registers the configs to the driver.

Parameters
  • hashes – A list of config files hashes

  • host – Name of the node hosting theses config files

process_template_hashes(hashes, host)

Handles a list of template hashes and their retrieval.

Uses lock to avoid multiple sending of the same data. :param hashes: A list of templates hashes :param host: Name of the node hosting theses config files

translate_conf(conf, file_id)

Translates a config manager to the datasource state.

Parameters
  • conf – A config manager ConfigOpts, containing the parsed values and the options metadata to read them

  • file_id – Id of the file, which contains the parsed values

translate_file(file_id, host_id, template_id, file_name)

Translates a file infos to FILE table.

Parameters
  • file_id – File ID

  • host_id – Host ID, should reference HOST.ID

  • template_id – Template ID, should reference TEMPLATE.ID

translate_host(host_id, host_name)

Translates a host infos to HOST table.

Parameters
  • host_id – Host ID

  • host_name – A host name

translate_option(option, group_name)

Translates an option metadata to datasource tables.

Modifies tables : OPTION, OPTION_INFO :param option: An IdentifiedOpt object :param group_name: Associated section name

translate_service(host_id, service, version)

Translates a service infos to SERVICE table.

Parameters
  • host_id – Host ID, should reference HOST.ID

  • service – A service name

  • version – A version name, can be None

translate_template_namespace(template_id, name, ns_ids)

Translates a template infos and its namespaces infos.

Modifies tables : TEMPLATE, NAMESPACE and TEMPLATE_NS

Parameters
  • template_id – Template ID

  • name – A template name

  • ns_ids – List of namespace IDs, defining this template, should reference NAMESPACE.ID

translate_type(opt_id, cfg_type)

Translates a type to the appropriate type table.

Parameters
  • opt_id – Option ID, should reference OPTION.ID

  • cfg_type – An oslo ConfigType for the referenced option

translate_value(file_id, option_id, value)

Translates a value to the VALUE table.

If value is a list, a table entry is added for every list item. If value is a dict, a table entry is added for every key-value. :param file_id: File ID, should reference FILE.ID :param option_id: Option ID, should reference OPTION.ID :param value: A value, can be None

class congress.datasources.cfgvalidator_driver.ValidatorDriverEndpoints(driver)

Bases: object

RPC endpoint on the datasource driver for use by the agents

process_configs_hashes(context, **kwargs)

Process the config hashes received from a server

process_templates_hashes(context, **kwargs)

Process the template hashes received from a server