Build Windows Templates in RHV
This commit is contained in:
@@ -0,0 +1,149 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
---
|
||||
- name: Install dependencies for integration tests
|
||||
hosts: all
|
||||
vars:
|
||||
- rpmdependencies:
|
||||
- git
|
||||
- python3-pip
|
||||
- rsync
|
||||
|
||||
tasks:
|
||||
- name: Install rpm dependencies
|
||||
package:
|
||||
state: present
|
||||
name: "{{ rpmdependencies }}"
|
||||
|
||||
- name: Install Pytest
|
||||
command: "pip3 install pytest"
|
||||
|
||||
|
||||
# Import needed in order to install initscripts dependencies on the remote
|
||||
# system.
|
||||
- import_playbook: "../tests_default_initscripts.yml"
|
||||
|
||||
# Import needed in order to install Network Manager dependencies on the remote
|
||||
# system.
|
||||
- import_playbook: "../tests_default_nm.yml"
|
||||
|
||||
|
||||
- name: Run Pytest tests
|
||||
hosts: all
|
||||
tasks:
|
||||
- block:
|
||||
- name: create tempdir for code to test
|
||||
tempfile:
|
||||
state: directory
|
||||
prefix: lsrtest_
|
||||
register: _rundir
|
||||
|
||||
- name: get tempfile for tar
|
||||
tempfile:
|
||||
prefix: lsrtest_
|
||||
suffix: ".tar"
|
||||
register: temptar
|
||||
delegate_to: localhost
|
||||
|
||||
- include_tasks: ../tasks/get_modules_and_utils_paths.yml
|
||||
|
||||
- name: get tests directory
|
||||
set_fact:
|
||||
tests_directory: "{{ lookup('first_found', params) }}"
|
||||
vars:
|
||||
params:
|
||||
files:
|
||||
- tests
|
||||
- network
|
||||
paths:
|
||||
- "../.."
|
||||
|
||||
# TODO: using tar and copying the file is a workaround for the
|
||||
# synchronize module that does not work in test-harness. Related issue:
|
||||
# https://github.com/linux-system-roles/test-harness/issues/102
|
||||
#
|
||||
- name: Create Tar file
|
||||
command: >
|
||||
tar -cvf {{ temptar.path }} --exclude "*.pyc"
|
||||
--exclude "__pycache__"
|
||||
-C {{ tests_directory | realpath | dirname }}
|
||||
{{ tests_directory | basename }}
|
||||
-C {{ modules_parent_and_dir.stdout_lines[0] }}
|
||||
{{ modules_parent_and_dir.stdout_lines[1] }}
|
||||
-C {{ module_utils_parent_and_dir.stdout_lines[0] }}
|
||||
{{ module_utils_parent_and_dir.stdout_lines[1] }}
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Copy testrepo.tar to the remote system
|
||||
copy:
|
||||
src: "{{ temptar.path }}"
|
||||
dest: "{{ _rundir.path }}"
|
||||
|
||||
- name: Untar testrepo.tar
|
||||
command: tar xf {{ temptar.path | basename }}
|
||||
args:
|
||||
chdir: "{{ _rundir.path }}"
|
||||
|
||||
- file:
|
||||
state: directory
|
||||
path: "{{ _rundir.path }}/ansible"
|
||||
|
||||
- name: Move module_utils to ansible directory
|
||||
shell: |
|
||||
if [ -d {{ _rundir.path }}/module_utils ]; then
|
||||
mv {{ _rundir.path }}/module_utils {{ _rundir.path }}/ansible
|
||||
fi
|
||||
|
||||
- name: Fake out python module directories, primarily for python2
|
||||
shell: |
|
||||
for dir in $(find {{ _rundir.path }} -type d -print); do
|
||||
if [ ! -f "$dir/__init__.py" ]; then
|
||||
touch "$dir/__init__.py"
|
||||
fi
|
||||
done
|
||||
|
||||
- set_fact:
|
||||
_lsr_python_path: "{{
|
||||
_rundir.path ~ '/' ~
|
||||
modules_parent_and_dir.stdout_lines[1] ~ ':' ~ _rundir.path
|
||||
}}"
|
||||
|
||||
- debug:
|
||||
msg: path {{ _lsr_python_path }}
|
||||
- command: ls -alrtFR {{ _rundir.path }}
|
||||
|
||||
- block:
|
||||
- name: Run pytest with nm
|
||||
command: >
|
||||
pytest
|
||||
{{ _rundir.path }}/{{ tests_directory | basename }}/integration/
|
||||
--provider=nm
|
||||
register: playbook_run
|
||||
environment:
|
||||
PYTHONPATH: "{{ _lsr_python_path }}"
|
||||
always:
|
||||
- debug:
|
||||
var: playbook_run.stdout_lines
|
||||
|
||||
- block:
|
||||
- name: Run pytest with initscripts
|
||||
command: >
|
||||
pytest
|
||||
{{ _rundir.path }}/{{ tests_directory | basename }}/integration/
|
||||
--provider=initscripts
|
||||
register: playbook_run
|
||||
environment:
|
||||
PYTHONPATH: "{{ _lsr_python_path }}"
|
||||
always:
|
||||
- debug:
|
||||
var: playbook_run.stdout_lines
|
||||
always:
|
||||
- name: remove local tar file
|
||||
file:
|
||||
state: absent
|
||||
path: "{{ temptar.path }}"
|
||||
delegate_to: localhost
|
||||
|
||||
- name: remove tempdir
|
||||
file:
|
||||
state: absent
|
||||
path: "{{ _rundir.path }}"
|
||||
Reference in New Issue
Block a user