Roles

configure-unbound

An ansible role to dynamically configure DNS forwarders for the unbound caching service. IPv6 will be preferred when there is a usable IPv6 default route, otherwise IPv4.

Note

This is not a standalone unbound configuration role. Base setup is done during image builds in project-config:nodepool/elements/nodepool-base/finalise.d/89-unbound; here we just do dynamic configuration of forwarders based on the interfaces available on the actual host.

Role Variables

unbound_primary_nameserver_v4
Default: 1.0.0.1 (CloudFlare)

The primary IPv4 nameserver for fowarding requests

unbound_secondary_nameserver_v4
Default: 8.8.8.8 (Google)

The secondary IPv4 nameserver for fowarding requests

unbound_primary_nameserver_v6
Default: 2606:4700:4700::1111 (CloudFlare)

The primary IPv6 nameserver for fowarding requests

unbound_secondary_nameserver_v6
Default: 2001:4860:4860::8888 (Google)

The seconary IPv6 nameserver for fowarding requests

unbound_cache_max_ttl
Default: 86400

Maximum TTL in seconds to keep successful queries cached for.

This TTL will have precedence if the DNS record TTL is higher. For example, a TTL of 90000 would be reduced to 86400.

unbound_cache_min_ttl
Default: 0

Minimum TTL in seconds to keep queries cached for. Note that this is effective for both successful and failed queries.

This TTL will have precedence if the DNS record TTL is lower. For example, a TTL of 60 would be raised to 900.

mirror-info

An ansible role to configure the /etc/ci/mirror_info.sh script

Role Variables

mirror_fqdn

The base host for mirror servers.

submit-log-processor-jobs

A module to submit a log processing job.

This role is a container for an Ansible module which processes a log directory and submits jobs to a log processing gearman queue. The role itself performs no actions, and is intended only to be used by other roles as a dependency to supply the module.

submit-logstash-jobs

Submit a log processing job to the logstash workers.

This role examines all of the files in the log subdirectory of the job work dir and any matching filenames are submitted to the gearman queue for the logstash log processor, along with any tags configured for those filenames.

Role Variables

logstash_gearman_server
Default: logstash.openstack.org

The gearman server to use.

logstash_processor_config
Type: dict

The default file configuration for the logstash parser.

This is a dictionary that contains a single entry:

logstash_processor_config{}.files
Type: list

A list of files to search for in the work/logs/ directory on the executor. Each file will be compared to the entries in this list, and if it matches, a processing job will be submitted to the logstash processing queue, along with the tags for the matching entry. Order is important: the first matcing is used. This field is list of dictionaries, as follows:

logstash_processor_config{}.files[].name

The name of the file to process. This is treated as an unanchored regular expression. To match the full path (underneath work/logs) start and end the string with ^ and $ respectively.

logstash_processor_config{}.files[].tags
Type: list

A list of strings indicating the logstash processing tags associated with this file. These may be used to indicate the file format to the parser.

submit-subunit-jobs

Submit a log processing job to the subunit workers.

This role examines all of the files in the log subdirectory of the job work dir and any matching filenames are submitted to the gearman queue for the subunit log processor.

Role Variables

subunit_gearman_server
Default: logstash.openstack.org

The gearman server to use.

subunit_processor_config
Type: dict

The default file configuration for the subunit parser.

This is a dictionary that contains a single entry:

subunit_processor_config{}.files
Type: list

A list of files to search for in the work/logs/ directory on the executor. Each file will be compared to the entries in this list, and if it matches, a processing job will be submitted to the subunit processing queue, along with the tags for the matching entry. Order is important: the first matcing is used. This field is list of dictionaries, as follows:

subunit_processor_config{}.files[].name

The name of the file to process. This is treated as an unanchored regular expression. To match the full path (underneath work/logs) start and end the string with ^ and $ respectively.

virtualenv-config

Write a configuration file for virtualenv

Generally we do not require any specific virtualenv configuration. However, there are corner cases; such as virtualenv shipping an vendored version of setuptools that needs to be ignored or similar.

The exact action this role is taking may depend on any issues it is working around. See comments inline.

** Role Variables **

write-root-marker

Write the root marker for an AFS publishing job

** Role Variables **

root_marker_dir

The marker file will be placed in this directory.