Ansible role to manage refstack-client
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Martin Kopec f67babc06b Replace yes by -y when uploading results 3 days ago
defaults Comply with ansible lint 5 days ago
infrared_plugin Comply with ansible lint 5 days ago
tasks Replace yes by -y when uploading results 3 days ago
.ansible-lint Comply with ansible lint 5 days ago
.gitignore Comply with ansible lint 5 days ago
.gitreview Added .gitreview 1 week ago
.pre-commit-config.yaml Comply with ansible lint 5 days ago
.yamllint Comply with ansible lint 5 days ago
.zuul.yaml Comply with ansible lint 5 days ago
LICENSE Comply with ansible lint 5 days ago
README.md Update README 4 days ago
requirements.txt Comply with ansible lint 5 days ago
setup.cfg Comply with ansible lint 5 days ago
setup.py Comply with ansible lint 5 days ago
test-requirements.txt Comply with ansible lint 5 days ago
tox.ini Comply with ansible lint 5 days ago

README.md

ansible-role-refstack-client

About

It’s an ansible playbook for running refstack-client. It can be useful in automation where this role can be included in other playbooks. The role is importable to Infrared as an infrared plugin, so right after Infrared deploys an environment, this role can be executed to ensure the deployment is working by passing refstack tests.

Required Role Variables

Variable name Required Default Type Description
private_key_path True if upload_results is True None String Results are uploaded to the corresponding account.
source_admin_credentials only if accounts_path not defined None String File or command to be sourced for admin credentials.
source_credentials True None String File or command to be sourced: keystonerc_admin/openrc admin admin.

Optional Role Variables

Variable name Required Default Type Description
accounts_path False None String Path to a tempest accounts file.
additional_tempestconf_params False None String Additional arguments to pass for discover-tempest-config tool.
deployer_input False None String Pat to a deployer input file.
dest_dir * False pwd String Local directory where the files will be stored.
download_artifacts False True Bool Whether artifacts should be downloaded to the host or not.
guideline False 2020.06 String Specific guideline.
private_key_path_src * False None String If defined, the key defined by the param is copied to the targeted machine to private_key_path location.
refstack_client_source False ~/.refstack-client String Destination where refstack-client will be cloned.
refstack_client_version False HEAD String Version of refstack-client cloned from git.
server False https://refstack.openstack.org/api String Server url where the results will be uploaded to.
tempest_config_path False None String Destination of tempest configuration file to be used for running refstack tests.
tempest_tag False refstack-client’s default String Tempest will be cloned and checkouted to this specific tag.
test_list False None String A path or an URL to a test list text file containing specific test cases.
upload_results False True Bool Whether results should be uploaded to the server or not.
url_cirros_image False http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img String A path or a link to cirros image.

* it’s a local path, the path on a machine, the playbook is executed from

Example

To run the role from the repository:

$ git clone https://opendev.org/x/ansible-role-refstack-client.git
$ cd ansible-role-refstack-client
$ mkdir roles && ln -s $(pwd) roles/ansible-role-refstack-client

Then create a playbook.yaml:

---
- hosts: localhost
  vars:
    source_credentials: ~/overcloudrc
    source_admin_credentials: ~/overcloudrc_admin
    private_key_path: ~/.ssh/id_rsa
  roles:
    - ansible-role-refstack-client

And run it:

$ ansible-playbook playbook.yaml

Usage with Infrared

Run the following steps to run the plugin:

  1. Install infrared and add ansible-role-refstack-client plugin by providing the url to this repo:
    (infrared)$ ir plugin add https://opendev.org/x/ansible-role-refstack-client.git --src-path infrared_plugin
    
  2. You can verify that the plugin is imported by:
    (infrared)$ ir plugin list
    
  3. Run the plugin:
    (infrared)$ ir ansible-role-refstack-client
    

Example

(infrared)$ ir ansible-role-refstack-client \
                 --source_credentials /home/stack/overcloudrc \
                 --source_admin_credentials /home/stack/overcloudrc \
                 --deployer_input /home/stack/ir-tempest-deployer-input.conf \
                 --private_key_path /home/stack/refstack_key \
                 --private_key_path_src $(pwd)/refstack_key

In the example above tempest_config_path is not defined, so source_admin_credentials is a required parameter because the role will try to generate an accounts.yaml before generating a tempest.conf.