Adding the ability to make test_target configurable
The patch makes test_target parameter for runtest configurable
and can be passed from a pipeline parameter.
Change-Id: Ic2bb01ec018fd8232a656d061540e194cf3e7b92
diff --git a/metadata/service/tempest.yml b/metadata/service/tempest.yml
index 36ab4ec..3db89c5 100644
--- a/metadata/service/tempest.yml
+++ b/metadata/service/tempest.yml
@@ -1,8 +1,11 @@
applications:
- runtest
parameters:
+ _param:
+ tempest_test_target: cfg01*
runtest:
enabled: true
openstack_version: stable/${_param:openstack_version}
tempest:
enabled: true
+ test_target: ${_param:tempest_test_target}
diff --git a/runtest/map.jinja b/runtest/map.jinja
index 10e0419..6e892f8 100644
--- a/runtest/map.jinja
+++ b/runtest/map.jinja
@@ -1,7 +1,6 @@
{% set runtest = salt['grains.filter_by']({
'default': {
- 'pkgs':['python-jsonpath-rw'],
- 'keystonerc': '/root/keystonercv3',
+ 'pkgs':['python-jsonpath-rw']
}
}, grain='os', merge=salt['pillar.get']('runtest'), base='default') %}
@@ -9,6 +8,7 @@
'default': {
'cfg_dir': '/root/',
'cfg_name': 'tempest.conf',
+ 'keystonerc': '/root/keystonercv3'
}
}, grain='os', merge=salt['pillar.get']('runtest', {}).get('tempest', {}), base='default') %}
diff --git a/runtest/put_keystone_file.sls b/runtest/put_keystone_file.sls
index bffbad9..08a4137 100644
--- a/runtest/put_keystone_file.sls
+++ b/runtest/put_keystone_file.sls
@@ -1,9 +1,9 @@
-{%- from "runtest/map.jinja" import runtest with context %}
+{%- from "runtest/map.jinja" import tempest with context %}
{%- set keystone_client_file = salt['mine.get']('*', 'keystonerc_file', 'compound') %}
put_keystone_file:
file.managed:
- - name: {{ runtest.keystonerc }}
+ - name: {{ tempest.keystonerc }}
- contents: '{{ keystone_client_file.values()[0] }}'
diff --git a/runtest/tempest.sls b/runtest/tempest.sls
index cca70d4..6f6d3c9 100644
--- a/runtest/tempest.sls
+++ b/runtest/tempest.sls
@@ -1,54 +1,50 @@
-{%- from "runtest/map.jinja" import runtest with context %}
-{%- if runtest.tempest.get('enabled', False) -%}
+{%- from "runtest/map.jinja" import tempest with context %}
+{%- if tempest.get('enabled', False) -%}
tempest_config_dir:
file.directory:
- - name: {{ runtest.tempest.cfg_dir }}
+ - name: {{ tempest.cfg_dir }}
- makedirs: true
- mode: 755
tempest_config_file:
runtest.tempestconf_present:
- - name: {{ runtest.tempest.cfg_dir }}/{{ runtest.tempest.cfg_name }}
+ - name: {{ tempest.cfg_dir }}/{{ tempest.cfg_name }}
- require:
- file: tempest_config_dir
-{%- if runtest.test_target is defined %}
+{%- if tempest.test_target is defined %}
create_on_target:
salt.function:
- - tgt: {{ runtest.test_target }}
+ - tgt: {{ tempest.test_target }}
- tgt_type: compound
- name: file.mkdir
- arg:
- - {{ runtest.tempest.cfg_dir }}
+ - {{ tempest.cfg_dir }}
copy_to_target:
cmd.run:
- - name: salt-cp {{ runtest.test_target }} {{ runtest.tempest.cfg_dir }}/{{ runtest.tempest.cfg_name }} {{ runtest.tempest.cfg_dir }}/{{ runtest.tempest.cfg_name }}
+ - name: salt-cp {{ tempest.test_target }} {{ tempest.cfg_dir }}/{{ tempest.cfg_name }} {{ tempest.cfg_dir }}/{{ tempest.cfg_name }}
- require:
- salt: create_on_target
-{%- endif -%}
-{%- if runtest.keystonerc_node is defined %}
mine_send_keystonerc_file:
salt.function:
- - tgt: {{ runtest.keystonerc_node }}
+ - tgt: 'I@keystone:server and *01*'
- tgt_type: compound
- name: mine.send
- arg:
- 'keystonerc_file'
- 'mine_function=cmd.shell'
- - 'cat {{ runtest.keystonerc }}'
+ - 'cat {{ tempest.keystonerc }}'
put_keystone_rc_file:
salt.state:
- - tgt: {{ runtest.test_target }}
+ - tgt: {{ tempest.test_target }}
- tgt_type: compound
- sls: runtest.put_keystone_file
- require:
- salt: mine_send_keystonerc_file
+{%- endif %}
{%- endif -%}
-
-{%- endif -%}
-