tobiko/infrared_plugin/plugin.spec
Roman Safronov 6bc9c6eff7 Allow custom ubuntu timeouts
Default timeouts of 900 and 1500 seconds which are suitable for
upstream CI are too long for downstream CI causing redundant
15 minutes retries while 2-3 minutes are enough to make a decision
that something went wrong. This patch allows
configuring custom values for ubuntu vm connectivity timeouts.

Change-Id: If33991b0b932d7615f7072a4c2121fde4d5bcdc8
2023-05-18 13:56:48 +00:00

281 lines
10 KiB
Python

---
config:
plugin_type: test
entry_point: main.yaml
subparsers:
tobiko:
description: Deploy, configure and execute Tobiko test cases
include_groups: ["Ansible options", "Inventory", "Common options", "Answers file"]
groups:
- title: Common options
options:
no-become:
type: Flag
help: Forbid roles from escalate tasks execution as superuser
ansible_variable: test_no_become
- title: Topology options
options:
host:
type: Value
help: Target host where test cases are deployed and executed
ansible_variable: test_host
- title: Control flow
options:
stage:
type: Value
ansible_variable: test_stage
- title: Deploy stage
options:
clean:
type: Flag
help: Cleanup directory where test cases will be downloaded
ansible_variable: deploy_clean
git-base:
type: Value
help: Git Url prefix where test projects are fetched from
ansible_variable: git_base
test-dir:
type: Value
help: Test host directory where test cases (and tox.ini file) are found
ansible_variable: test_dir
test-user:
type: Value
help: Test host user that should own tests directory
ansible_variable: test_user
test-group:
type: Value
help: Test host user group that should own tests directory
ansible_variable: test_group
test-repo:
type: Value
help: Git URL from where to download test files
ansible_variable: test_git_repo
test-remote:
type: Value
help: Git remote name to be used for checking out test scripts
ansible_variable: test_git_remote
test-refspec:
type: Value
help: Git refspect to be used for checking out test scripts
ansible_variable: test_git_refspec
test-src-dir:
type: Value
help: Local directory where test cases (and tox.ini file) are found
ansible_variable: test_src_dir
tobiko-dir:
type: Value
help: Test host directory where Tobiko has to be deployed to
ansible_variable: tobiko_dir
tobiko-user:
type: Value
help: Test host user that should own Tobiko directory
ansible_variable: tobiko_user
tobiko-group:
type: Value
help: Test host user group that should own Tobiko directory
ansible_variable: tobiko_group
tobiko-repo:
type: Value
help: Git URL from where to download tobiko files
ansible_variable: tobiko_git_repo
default: 'https://opendev.org/x/tobiko.git'
tobiko-remote:
type: Value
help: Git remote name to be used for checking out test scripts
ansible_variable: tobiko_git_remote
tobiko-refspec:
type: Value
help: Git refspect to be used for checking out Tobiko scripts
ansible_variable: tobiko_git_refspec
tobiko-src-dir:
type: Value
help: Local directory where tobiko scripts are found
required: yes
ansible_variable: tobiko_src_dir
default: '{{ inventory_dir }}/src/tobiko'
openshift-ir-src-dir:
type: Value
help: Local directory where OpenShift InfraRed scripts are deployed from0
ansible_variable: openshift_infrared_src_dir
openshift-ir-dir:
type: Value
help: Remote directory where OpenShift InfraRed scripts are deployed to
ansible_variable: openshift_infrared_dir
openshift-ir-repo:
type: Value
help: Git URL from where to download OpenShift InfraRed files
ansible_variable: openshift_infrared_git_repo
openshift-ir-remote:
type: Value
help: Git remote name to be used for checking out OpenShift InfraRed files
ansible_variable: openshift_infrared_git_remote
openshift-ir-refspec:
type: Value
help: Git refspect to be used for checking out OpenShift InfraRed files
ansible_variable: openshift_infrared_git_refspec
- title: Configure stage
options:
config:
type: Value
help: tobiko.conf file location
ansible_variable: test_conf_file
debug:
type: Value
help: enable/disable verbose log entries in tests results log file
ansible_variable: test_log_debug
default: 'true'
test-case-timeout:
type: Value
help: Test case timeout in seconds
ansible_variable: test_case_timeout
test-runner-timeout:
type: Value
help: Test runner timeout in seconds
ansible_variable: test_runner_timeout
undercloud_host:
type: Value
help: inventory hostname of the undercloud host
ansible_variable: undercloud_hostname
undercloud_ssh_host:
type: Value
help: hostname or IP address to be used to connect to undercloud host
ansible_variable: undercloud_ssh_hostname
undercloud_ssh_key_filename:
type: Value
help: SSH key filename to connect to undercloud host
ansible_variable: undercloud_ssh_key_filename
overcloud-ssh-username:
type: Value
help: user name to be used to connect to TripleO Overcloud hosts
ansible_variable: overcloud_ssh_username
has_external_load_balancer:
type: Bool
help: OSP env was done with an external load balancer
ansible_variable: has_external_load_balancer
- title: Run stage
options:
workflow:
type: Value
help: name of workflow to execute
ansible_variable: test_workflow
failfast:
type: Flag
help: Stop the test run on the first step error or failure
ansible_variable: test_failfast
tox-dir:
type: Value
help: directory from where run tox (typically test_dir)
ansible_variable: tox_dir
tox-command:
type: Value
help: command to be executed for tox (typically tox)
ansible_variable: tox_command
tox-environment:
type: Value
help: envitonment variables to be set when running test cases
ansible_variable: tox_environment
tox-envlist:
type: Value
help: Tox environment names to be executed
ansible_variable: tox_envlist
tox-extra-args:
type: Value
help: extra options to be passed to Tox
ansible_variable: tox_extra_args
tox-python:
type: Value
help: Python interpreter to be used for executing test cases
ansible_variable: tox_python
pytest-addopts:
type: Value
help: Extra options to be passed to PyTest
ansible_variable: pytest_addopts
pytest-markers:
type: Value
help: >
only run tests matching given mark expression.
For example: --pytest-markers 'mark1 and not mark2'.
ansible_variable: pytest_markers
pytest-maxfail:
type: Value
help: Max number of test case failures before aborting
ansible_variable: pytest_maxfail
run-tests-timeout:
type: Value
help: Timeout (in seconds) to interrupt test cases execution
ansible_variable: tox_run_tests_timeout
test-report-dir:
type: Value
help: directory where to store test report files
ansible_variable: test_report_dir
test-report-name:
type: Value
help: prefix used to create report file names
ansible_variable: test_report_name
test-log-file:
type: Value
help: test cases log file
ansible_variable: test_log_file
ignore-test-failures:
type: Flag
help: Ignore test execution errors
ansible_variable: ignore_test_failures
flaky:
type: Flag
help: Ignore flaky test cases
ansible_variable: test_flaky
quota:
type: NestedDict
action: append
ansible_variable: quota
help: |
Configure quota values for different resources
These quotas will be applied to the admin openstack project
Example:
--quota routers=30
--quota secgroups=50
Check "openstack quota set --help" for more information
ceph-rgw:
type: Bool
help: Skip Swift containers healthchecks when CephAdm is deployed
ansible_variable: ceph_rgw
default: False
ubuntu-connection-timeout:
type: Value
help: |
Timeout error is raised if a connection to an ubuntu instance
is not successful before it expires
ansible_variable: ubuntu_connection_timeout
ubuntu-is-reachable-timeout:
type: Value
help: |
Timeout error is raised if an ubuntu instance is not reachable
before it expires
ansible_variable: ubuntu_is_reachable_timeout
- title: Cleanup stage
options:
cleanup-heat-stacks:
type: Flag
help: Cleanup heat stacks created by tobiko
ansible_variable: stacks_cleanup
- title: Collect stage
options:
collect-dir:
type: Value
help: local directory where report files are going to be copied to
ansible_variable: test_collect_dir
default: '{{ inventory_dir }}/{{ test_report_name }}'