Zuul CI Roles¶
- apache-logs-conf¶
- Prepare apache configs and logs for staging - Make sure apache config files and log files are available in a linux flavor independent location. Note that this relies on hard links, to the staging directory must be in the same partition where the logs and configs are. - Role Variables - 
stage_dir¶
 Default:{{ ansible_user_dir }}
- The base stage directory. 
 
- 
stage_dir¶
- capture-performance-data¶
- Generate performance logs for staging - Captures usage information from mysql, systemd, apache logs, and other parts of the system and generates a performance.json file in the staging directory. - Role Variables - 
stage_dir¶
 Default:{{ ansible_user_dir }}
- The base stage directory 
 - 
devstack_conf_dir¶
 Default:/opt/stack
- The base devstack destination directory 
 - 
debian_suse_apache_deref_logs¶
- The apache logs found in the debian/suse locations 
 - 
redhat_apache_deref_logs¶
- The apache logs found in the redhat locations 
 
- 
stage_dir¶
- capture-system-logs¶
- Stage a number of system type logs - Stage a number of different logs / reports: - snapshot of iptables - disk space available - pip[2|3] freeze - installed packages (dpkg/rpm) - ceph, openswitch, gluster - coredumps - dns resolver - listen53 - services - unbound.log - deprecation messages - Role Variables - 
stage_dir¶
 Default:{{ ansible_user_dir }}
- The base stage directory. 
 
- 
stage_dir¶
- devstack-ipv6-only-deployments-verification¶
- Verify all addresses in IPv6-only deployments - This role needs to be invoked from a playbook that runs tests. This role verifies the IPv6 settings on the devstack side and that devstack deploys with all addresses being IPv6. This role is invoked before tests are run so that if there is any missing IPv6 setting, deployments can fail the job early. - Role Variables - 
devstack_base_dir¶
 Default:/opt/stack
- The devstack base directory. 
 
- 
devstack_base_dir¶
- devstack-project-conf¶
- Prepare OpenStack project configurations for staging - Prepare all relevant config files for staging. This is helpful to avoid staging the entire /etc. - Role Variables - 
stage_dir¶
 Default:{{ ansible_user_dir }}
- The base stage directory. 
 
- 
stage_dir¶
- export-devstack-journal¶
- Export journal files from devstack services - This performs a number of logging collection services - Export the systemd journal in native format 
- For every devstack service, export logs to text in a file named - screen-*to maintain legacy compatability when devstack services used to run in a screen session and were logged separately.
- Export a syslog-style file with kernel and sudo messages for legacy compatability. 
 - Writes the output to the - logs/subdirectory of- stage_dir.- Role Variables - 
devstack_base_dir¶
 Default:/opt/stack
- The devstack base directory. This is used to obtain the - log-start-timestamp.txt, used to filter the systemd journal.
 - 
stage_dir¶
 Default:{{ ansible_user_dir }}
- The base stage directory. 
 
- fetch-devstack-log-dir¶
- Fetch content from the devstack log directory - Copy logs from every host back to the zuul executor. - Role Variables - 
devstack_base_dir¶
 Default:/opt/stack
- The devstack base directory. 
 
- 
devstack_base_dir¶
- get-devstack-os-environment¶
- Reads the OS_* variables set by devstack through openrc for the specified user and project and exports them as the os_env_vars fact. - WARNING: this role is meant to be used as porting aid for the non-unified python-<service>client jobs which are already around, as those clients do not use clouds.yaml as openstackclient does. When those clients and their jobs are deprecated and removed, or anyway when the new code is able to read from clouds.yaml directly, this role should be removed as well. - Role Variables - 
devstack_base_dir¶
 Default:/opt/stack
- The devstack base directory. 
 - 
openrc_file¶
 Default:{{ devstack_base_dir }}/devstack/openrc
- The location of the generated openrc file. 
 - 
openrc_user¶
 Default:admin
- The user whose credentials should be retrieved. 
 - 
openrc_project¶
 Default:admin
- The project (which openrc_user is part of) whose access data should be retrieved. 
 - 
openrc_enable_export¶
 Default:false
- Set it to true to export os_env_vars. 
 
- 
devstack_base_dir¶
- orchestrate-devstack¶
- Orchestrate a devstack - Runs devstack in a multinode scenario, with one controller node and a group of subnodes. - The reason for this role is so that jobs in other repository may run devstack in their plays with no need for re-implementing the orchestration logic. - The “run-devstack” role is available to run devstack with no orchestration. - This role sets up the controller and CA first, it then pushes CA data to sub-nodes and run devstack there. The only requirement for this role is for the controller inventory_hostname to be “controller” and for all sub-nodes to be defined in a group called “subnode”. - This role needs to be invoked from a playbook that uses a “linear” strategy. - Role Variables - 
devstack_base_dir¶
 Default:/opt/stack
- The devstack base directory. 
 
- 
devstack_base_dir¶
- process-stackviz¶
- Generate stackviz report. - Generate stackviz report using subunit and dstat data, using the stackviz archive embedded in test images. - Role Variables - 
devstack_base_dir¶
 Default:/opt/stack
- The devstack base directory. 
 - 
stage_dir¶
 Default:"{{ ansible_user_dir }}"
- The stage directory where the input data can be found and the output will be produced. 
 - 
zuul_work_dir¶
 Default:{{ devstack_base_dir }}/tempest
- Directory to work in. It has to be a fully qualified path. 
 
- 
devstack_base_dir¶
- run-devstack¶
- Run devstack - Role Variables - 
devstack_base_dir¶
 Default:/opt/stack
- The devstack base directory. 
 
- 
devstack_base_dir¶
- setup-devstack-cache¶
- Set up the devstack cache directory - If the node has a cache of devstack image files, copy it into place. - Role Variables - 
devstack_base_dir¶
 Default:/opt/stack
- The devstack base directory. 
 - 
devstack_cache_dir¶
 Default:/opt/cache
- The directory with the cached files. 
 
- 
devstack_base_dir¶
- setup-devstack-log-dir¶
- Set up the devstack log directory - Create a log directory on the ephemeral disk partition to save space on the root device. - Role Variables - 
devstack_base_dir¶
 Default:/opt/stack
- The devstack base directory. 
 
- 
devstack_base_dir¶
- setup-devstack-source-dirs¶
- Set up the devstack source directories - Ensure that the base directory exists, and then move the source repos into it. - Role Variables - 
devstack_base_dir¶
 Default:/opt/stack
- The devstack base directory. 
 - 
devstack_sources_branch¶
 Default:None
- The target branch to be setup (where available). 
 
- 
devstack_base_dir¶
- setup-stack-user¶
- Set up the stack user - Create the stack user, set up its home directory, and allow it to sudo. - Role Variables - 
devstack_base_dir¶
 Default:/opt/stack
- The devstack base directory. 
 - 
devstack_stack_home_dir¶
 Default:{{ devstack_base_dir }}
- The home directory for the stack user. 
 
- 
devstack_base_dir¶
- setup-tempest-user¶
- Set up the tempest user - Create the tempest user and allow it to sudo. - Role Variables - 
devstack_base_dir¶
 Default:/opt/stack
- The devstack base directory. 
 
- 
devstack_base_dir¶
- start-fresh-logging¶
- Restart logging on all hosts - Restart syslog so that the system logs only include output from the job. - Role Variables - 
devstack_base_dir¶
 Default:/opt/stack
- The devstack base directory. 
 
- 
devstack_base_dir¶
- sync-controller-ceph-conf-and-keys¶
- Sync ceph config and keys between controller and subnodes - Simply copy the contents of /etc/ceph on the controller to subnodes. 
- sync-devstack-data¶
- Sync devstack data for multinode configurations - Sync any data files which include certificates to be used if TLS is enabled. This role must be executed on the controller and it pushes data to all subnodes. - Role Variables - 
devstack_base_dir¶
 Default:/opt/stack
- The devstack base directory. 
 - 
devstack_data_base_dir¶
 Default:{{ devstack_base_dir }}
- The devstack base directory for data/. Useful for example when multiple executions of devstack (i.e. grenade) share the same data directory. 
 
- 
devstack_base_dir¶
- write-devstack-local-conf¶
- Write the local.conf file for use by devstack - Role Variables - 
devstack_base_dir¶
 Default:/opt/stack
- The devstack base directory. 
 - 
devstack_local_conf_path¶
 Default:{{ devstack_base_dir }}/devstack/local.conf
- The path of the local.conf file. 
 - 
devstack_localrc¶
 Type: dict
- A dictionary of variables that should be written to the localrc section of local.conf. The values (which are strings) may contain bash shell variables, and will be ordered so that variables used by later entries appear first. - As a special case, the variable - LIBS_FROM_GITwill be constructed automatically from the projects which appear in the- required-projectslist defined by the job plus the project of the change under test. To instruct devstack to install a library from source rather than pypi, simply add that library to the job’s- required-projectslist. To override the automatically-generated value, set- LIBS_FROM_GITin- devstack_localrcto the desired value.
 - 
devstack_local_conf¶
 Type: dict
- A complex argument consisting of nested dictionaries which combine to form the meta-sections of the local_conf file. The top level is a dictionary of phases, followed by dictionaries of filenames, then sections, which finally contain key-value pairs for the INI file entries in those sections. - The keys in this dictionary are the devstack phases. - 
devstack_local_conf{}.[phase]¶
 Type: dict
- The keys in this dictionary are the filenames for this phase. 
 
- 
devstack_local_conf{}.[phase]¶
 - 
devstack_base_services¶
 Default:{{ base_services | default(omit) }}
 Type: list
- A list of base services which are enabled. Services can be added or removed from this list via the - devstack_servicesvariable. This is ignored if- baseis set to- Falsein- devstack_services.
 - 
devstack_services¶
 Type: dict
- A dictionary mapping service names to boolean values. If the boolean value is - false, a- disable_serviceline will be emitted for the service name. If it is- true, then- enable_servicewill be emitted. All other values are ignored.- The special key - basecan be used to enable or disable the base set of services enabled by default. If- baseis found, it will processed before all other keys. If its value is- Falsea- disable_all_serviceswill be emitted; if its value is- Trueservices from- devstack_base_serviceswill be emitted via- ENABLED_SERVICES.
 - 
devstack_plugins¶
 Type: dict
- A dictionary mapping a plugin name to a git repo location. If the location is a non-empty string, then an - enable_pluginline will be emmitted for the plugin name.- If a plugin declares a dependency on another plugin (via - plugin_requiresin the plugin’s settings file), this role will automatically emit- enable_pluginlines in the correct order.
 - 
tempest_plugins¶
 Type: list
- A list of tempest plugins which are installed alongside tempest. - The list of values will be combined with the base devstack directory and used to populate the - TEMPEST_PLUGINSvariable. If the variable already exists, its value is not changed.
 
- 
devstack_base_dir¶
