Ansible roles

ansible-role-weirdo-common

This role centralizes common tasks used across different roles for the WeIRDO project.

Role variables

For default values, see `defaults/main.yml`_

  • base_packages: A list of packages to install by default
  • debug_packages: A list of packages meant for debug purposes to install by default
  • job_name: Name of the job (defaults to Jenkins-provided environment variable)
  • build_numer: Build number of the job (defaults to Jenkins-provided environment variable)
  • log_root: Root directory where the debug logs will be sent to
  • log_destination: Subdirectory where the debug logs will be sent to
  • log_paths: Log paths to recover by default
  • debug_commands: Hash of debug commands that will be run and output to log files

Included tasks

  • logs: Recovers basic logs by default
  • packages: Ensures required dependencies are installed
  • setup: Sets up log directory, configures sysstat
  • rescue: Task that gets included in rescue blocks to notify different handlers

Dependencies

ansible-role-ci-centos to be installed as ci-centos when the role ci-centos is used to provision nodes.

Example playbook

- name: Run packstack scenario001 tests
  hosts: openstack_nodes
  force_handlers: True
  roles:
    - role: "common"
    - { role: "packstack", test: "scenario001" }
    - { role: "common", action: "logs" }

ansible-role-weirdo-puppet-openstack

This role provides an implementation of the puppet-openstack-integration gate jobs for the WeIRDO project.

Supported gate jobs

  • gate-puppet-openstack-integration-scenario001-dsvm-centos7
  • gate-puppet-openstack-integration-scenario002-dsvm-centos7
  • gate-puppet-openstack-integration-scenario003-dsvm-centos7

Role variables

For default values, see `defaults/main.yml`_

  • project: Name of the project, analogous to the role name
  • openstack_release: Name of the OpenStack release to select which trunk repository to use by default
  • version: Version/tag/branch of puppet-openstack-integration to clone
  • manage_repos: Whether puppet-openstack-integration should manage repository setup
  • repository: URL to the puppet-openstack-integration repository
  • clone_path: Path where puppet-openstack-integration will be cloned
  • delorean_url: URL to the delorean repository .repo file.
  • delorean_deps_url: URL to the delorean-deps repository .repo file.
  • copy_puppet_logs_url: URL to the copy_puppet_logs.sh script for puppet-openstack-integration log retrieval
  • puppet_workspace: Path where puppet-openstack-integration should believe the jenkins workspace is at
  • required_packages: Required packaged dependencies to install prior to running the tests
  • gem_packages: Required packaged gems to install prior to running the tests

Included tasks

  • repositories: Ensures required repositories are setup
  • packages: Ensures required dependencies are installed
  • setup: Clones the puppet-openstack-integration repository and prepares log retrieval
  • logs: Retrieves logs with the copy_puppet_logs.sh script
  • run: Runs the integration tests

Dependencies

ansible-role-weirdo-common to be installed as common

Example playbook

- name: Run puppet-openstack-integration scenario001 tests
  hosts: openstack_nodes
  force_handlers: True
  roles:
    - { role: "puppet-openstack", test: "scenario001" }

ansible-role-weirdo-packstack

This role provides an implementation of the Packstack gate jobs for the WeIRDO project.

Supported gate jobs

  • gate-packstack-integration-scenario001-tempest-dsvm-centos7
  • gate-packstack-integration-scenario002-tempest-dsvm-centos7
  • gate-packstack-integration-scenario003-tempest-dsvm-centos7

Role variables

For default values, see `defaults/main.yml`_

  • project: Name of the project, analogous to the role name
  • openstack_release: Name of the OpenStack release to select which trunk repository to use by default
  • version: Version/tag/branch of Packstack to clone
  • repository: URL to the Packstack repository
  • clone_path: Path where Packstack will be cloned
  • install_from_source: Whether Packstack should be installed from source or from packages
  • delorean_url: URL to the delorean repository .repo file.
  • delorean_deps_url: URL to the delorean-deps repository .repo file.
  • packstack_workspace: Path where Packstack should believe the jenkins workspace is at

Included tasks

  • setup: Clones the Packstack repository and prepares log retrieval
  • run: Runs the integration tests

Dependencies

ansible-role-weirdo-common to be installed as common

Example playbook

- name: Run packstack scenario001 tests
  hosts: openstack_nodes
  force_handlers: True
  roles:
    - { role: "packstack", test: "scenario001" }