WIP: Add support for molecule
Change-Id: Icb3d289333abb392d4b9d31917c2309603b28536 Depends-On: https://review.openstack.org/593369 Signed-off-by: Paul Belanger <pabelanger@redhat.com>
This commit is contained in:
parent
118b914aec
commit
f09977a744
|
@ -0,0 +1,10 @@
|
|||
extends: default
|
||||
|
||||
rules:
|
||||
braces:
|
||||
max-spaces-inside: 1
|
||||
level: error
|
||||
brackets:
|
||||
max-spaces-inside: 1
|
||||
level: error
|
||||
line-length: disable
|
15
.zuul.yaml
15
.zuul.yaml
|
@ -1,11 +1,20 @@
|
|||
---
|
||||
- job:
|
||||
name: ansible-role-zuul-base
|
||||
parent: unittests
|
||||
pre-run: tests/playbooks/pre.yaml
|
||||
run: tests/playbooks/run.yaml
|
||||
post-run: tests/collect-logs.yaml
|
||||
post-run:
|
||||
- tests/playbooks/post.yaml
|
||||
- tests/collect-logs.yaml
|
||||
roles:
|
||||
- zuul: openstack/ansible-role-zuul
|
||||
vars:
|
||||
zuul_file_zuul_executor_service_config_src: etc/systemd/system/override.conf.j2
|
||||
zuul_file_zuul_merger_service_config_src: etc/systemd/system/override.conf.j2
|
||||
zuul_file_zuul_scheduler_service_config_src: etc/systemd/system/override.conf.j2
|
||||
zuul_file_zuul_web_service_config_src: etc/systemd/system/override.conf.j2
|
||||
zuul_user_group: zuul-test
|
||||
zuul_user_name: zuul-test
|
||||
|
||||
# Testing for zuul_install_method: pip
|
||||
- job:
|
||||
|
@ -66,6 +75,7 @@
|
|||
- ansible-role-zuul-src-ubuntu-bionic
|
||||
- ansible-role-zuul-src-ubuntu-xenial
|
||||
- tox-linters
|
||||
- windmill-tox-molecule
|
||||
gate:
|
||||
jobs:
|
||||
- ansible-role-zuul-fedora-latest
|
||||
|
@ -75,3 +85,4 @@
|
|||
- ansible-role-zuul-src-ubuntu-bionic
|
||||
- ansible-role-zuul-src-ubuntu-xenial
|
||||
- tox-linters
|
||||
- windmill-tox-molecule
|
||||
|
|
15
bindep.txt
15
bindep.txt
|
@ -1,16 +1,5 @@
|
|||
# This is a cross-platform list tracking distribution packages needed by tests;
|
||||
# see http://docs.openstack.org/infra/bindep/ for additional information.
|
||||
|
||||
git
|
||||
libffi-dev [platform:dpkg]
|
||||
libffi-devel [platform:rpm]
|
||||
libselinux-python [platform:rpm]
|
||||
libssl-dev [platform:dpkg]
|
||||
openssl-devel [platform:rpm]
|
||||
python2-dnf [platform:fedora]
|
||||
|
||||
# NOTE(pabelanger): This is because of a bug in zuul, when zuul-scheduler starts
|
||||
# it will fail unless it cannot connect to zookeeper. However, zuul should be
|
||||
# smart enough to try forever to connect.
|
||||
zookeeperd [platform:dpkg]
|
||||
zookeeper [platform:fedora]
|
||||
docker.io [test platform:dpkg]
|
||||
docker [test platform:fedora]
|
||||
|
|
|
@ -21,13 +21,13 @@ galaxy_info:
|
|||
license: Apache
|
||||
min_ansible_version: 2.4
|
||||
platforms:
|
||||
- name: Fedora
|
||||
versions:
|
||||
- 27
|
||||
- name: Ubuntu
|
||||
versions:
|
||||
- 16.04
|
||||
- 18.04
|
||||
- name: Fedora
|
||||
versions:
|
||||
- 27
|
||||
- name: Ubuntu
|
||||
versions:
|
||||
- 16.04
|
||||
- 18.04
|
||||
categories:
|
||||
- system
|
||||
- system
|
||||
dependencies: []
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
# Molecule managed
|
||||
|
||||
{% if item.registry is defined %}
|
||||
FROM {{ item.registry.url }}/{{ item.image }}
|
||||
{% else %}
|
||||
FROM {{ item.image }}
|
||||
{% endif %}
|
||||
|
||||
RUN apt-get update && apt-get install -y python sudo bash ca-certificates python-pip python3-pip && apt-get clean;
|
|
@ -0,0 +1,37 @@
|
|||
---
|
||||
dependency:
|
||||
name: galaxy
|
||||
driver:
|
||||
name: docker
|
||||
lint:
|
||||
name: yamllint
|
||||
platforms:
|
||||
- name: ubuntu-bionic
|
||||
image: ubuntu:bionic
|
||||
provisioner:
|
||||
name: ansible
|
||||
config_options:
|
||||
ssh_connection:
|
||||
pipelining: true
|
||||
inventory:
|
||||
group_vars:
|
||||
all:
|
||||
zuul_service_zuul_executor_manage: false
|
||||
zuul_service_zuul_fingergw_manage: false
|
||||
zuul_service_zuul_merger_manage: false
|
||||
zuul_service_zuul_scheduler_manage: false
|
||||
zuul_service_zuul_web_manage: false
|
||||
lint:
|
||||
name: ansible-lint
|
||||
log: true
|
||||
playbooks:
|
||||
converge: ../../tests/playbooks/run.yaml
|
||||
scenario:
|
||||
name: default
|
||||
verifier:
|
||||
name: testinfra
|
||||
directory: ../tests
|
||||
options:
|
||||
verbose: true
|
||||
lint:
|
||||
name: flake8
|
|
@ -0,0 +1,27 @@
|
|||
# Copyright 2018 Red Hat, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
import pytest
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def platform_docker(host):
|
||||
return host.file('/.dockerenv').exists
|
||||
|
||||
|
||||
@pytest.fixture(autouse=True)
|
||||
def skip_platform_docker(request, platform_docker):
|
||||
marker = request.node.get_marker('skip_if_docker')
|
||||
if marker and platform_docker:
|
||||
pytest.skip('Skipping docker')
|
|
@ -0,0 +1,300 @@
|
|||
# Copyright 2018 Red Hat, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
import pytest
|
||||
|
||||
|
||||
def _get_user_and_group(host):
|
||||
user = 'zuul'
|
||||
group = 'zuul'
|
||||
if host.file('/etc/ci/mirror_info.sh').exists:
|
||||
user = 'zuul-test'
|
||||
group = 'zuul-test'
|
||||
|
||||
return user, group
|
||||
|
||||
|
||||
def test_zuul_user(host):
|
||||
user, group = _get_user_and_group(host)
|
||||
|
||||
u = host.user(user)
|
||||
assert u.exists
|
||||
assert u.name == user
|
||||
assert u.group == group
|
||||
assert u.home == '/var/lib/zuul'
|
||||
|
||||
f = host.file('/var/lib/zuul')
|
||||
assert f.exists
|
||||
assert f.is_directory
|
||||
assert f.user == user
|
||||
assert f.group == group
|
||||
# TODO(pabelanger): Validate mode
|
||||
|
||||
|
||||
def test_zuul_config(host):
|
||||
user, group = _get_user_and_group(host)
|
||||
|
||||
f = host.file('/etc/zuul')
|
||||
assert f.exists
|
||||
assert f.is_directory
|
||||
assert f.user == user
|
||||
assert f.group == group
|
||||
# TODO(pabelanger): Validate mode
|
||||
del f
|
||||
|
||||
f = host.file('/etc/zuul/zuul.conf')
|
||||
assert f.exists
|
||||
assert f.is_directory
|
||||
assert f.user == user
|
||||
assert f.group == group
|
||||
assert f.mode == 0o640
|
||||
del f
|
||||
|
||||
f = host.file('/etc/zuul/main.yaml')
|
||||
assert f.exists
|
||||
assert f.is_directory
|
||||
assert f.user == user
|
||||
assert f.group == group
|
||||
assert f.mode == 0o644
|
||||
|
||||
|
||||
def test_zuul_logs_directory(host):
|
||||
user, group = _get_user_and_group(host)
|
||||
|
||||
f = host.file('/var/log/zuul')
|
||||
assert f.exists
|
||||
assert f.is_directory
|
||||
assert f.user == user
|
||||
assert f.group == group
|
||||
assert f.mode == 0o755
|
||||
|
||||
|
||||
def test_zuul_executor_logging_config(host):
|
||||
user, group = _get_user_and_group(host)
|
||||
|
||||
f = host.file('/etc/zuul/executor-logging.conf')
|
||||
assert f.exists
|
||||
assert f.is_file
|
||||
assert f.user == user
|
||||
assert f.group == group
|
||||
assert f.mode == 0o644
|
||||
|
||||
|
||||
def test_zuul_executor_service_config(host):
|
||||
f = host.file('/etc/systemd/system/zuul-executor.service')
|
||||
assert f.exists
|
||||
assert f.is_file
|
||||
assert f.user == 'root'
|
||||
assert f.group == 'root'
|
||||
assert f.mode == 0o644
|
||||
del f
|
||||
|
||||
f = host.file('/etc/systemd/system/zuul-executor.service.d')
|
||||
assert f.exists
|
||||
assert f.is_directory
|
||||
assert f.user == 'root'
|
||||
assert f.group == 'root'
|
||||
assert f.mode == 0o755
|
||||
del f
|
||||
|
||||
f = host.file(
|
||||
'/etc/systemd/system/zuul-executor.service.d/override.conf')
|
||||
assert f.exists
|
||||
assert f.is_file
|
||||
assert f.user == 'root'
|
||||
assert f.group == 'root'
|
||||
assert f.mode == 0o644
|
||||
|
||||
|
||||
@pytest.mark.skip_if_docker()
|
||||
def test_zuul_executor_service(host):
|
||||
service = host.service('zuul-executor')
|
||||
assert service.is_running
|
||||
assert service.is_enabled
|
||||
|
||||
|
||||
def test_zuul_fingergw_logging_config(host):
|
||||
user, group = _get_user_and_group(host)
|
||||
|
||||
f = host.file('/etc/zuul/fingergw-logging.conf')
|
||||
assert f.exists
|
||||
assert f.is_file
|
||||
assert f.user == user
|
||||
assert f.group == group
|
||||
assert f.mode == 0o644
|
||||
|
||||
|
||||
def test_zuul_fingergw_service_config(host):
|
||||
f = host.file('/etc/systemd/system/zuul-fingergw.service')
|
||||
assert f.exists
|
||||
assert f.is_file
|
||||
assert f.user == 'root'
|
||||
assert f.group == 'root'
|
||||
assert f.mode == 0o644
|
||||
del f
|
||||
|
||||
f = host.file('/etc/systemd/system/zuul-fingergw.service.d')
|
||||
assert f.exists
|
||||
assert f.is_directory
|
||||
assert f.user == 'root'
|
||||
assert f.group == 'root'
|
||||
assert f.mode == 0o755
|
||||
del f
|
||||
|
||||
f = host.file(
|
||||
'/etc/systemd/system/zuul-fingergw.service.d/override.conf')
|
||||
assert f.exists
|
||||
assert f.is_file
|
||||
assert f.user == 'root'
|
||||
assert f.group == 'root'
|
||||
assert f.mode == 0o644
|
||||
|
||||
|
||||
@pytest.mark.skip_if_docker()
|
||||
def test_zuul_fingergw_service(host):
|
||||
service = host.service('zuul-fingergw')
|
||||
assert service.is_running
|
||||
assert service.is_enabled
|
||||
|
||||
|
||||
def test_zuul_merger_logging_config(host):
|
||||
user, group = _get_user_and_group(host)
|
||||
|
||||
f = host.file('/etc/zuul/merger-logging.conf')
|
||||
assert f.exists
|
||||
assert f.is_file
|
||||
assert f.user == user
|
||||
assert f.group == group
|
||||
assert f.mode == 0o644
|
||||
|
||||
|
||||
def test_zuul_merger_service_config(host):
|
||||
f = host.file('/etc/systemd/system/zuul-merger.service')
|
||||
assert f.exists
|
||||
assert f.is_file
|
||||
assert f.user == 'root'
|
||||
assert f.group == 'root'
|
||||
assert f.mode == 0o644
|
||||
del f
|
||||
|
||||
f = host.file('/etc/systemd/system/zuul-merger.service.d')
|
||||
assert f.exists
|
||||
assert f.is_directory
|
||||
assert f.user == 'root'
|
||||
assert f.group == 'root'
|
||||
assert f.mode == 0o755
|
||||
del f
|
||||
|
||||
f = host.file(
|
||||
'/etc/systemd/system/zuul-merger.service.d/override.conf')
|
||||
assert f.exists
|
||||
assert f.is_file
|
||||
assert f.user == 'root'
|
||||
assert f.group == 'root'
|
||||
assert f.mode == 0o644
|
||||
|
||||
|
||||
@pytest.mark.skip_if_docker()
|
||||
def test_zuul_merger_service(host):
|
||||
service = host.service('zuul-merger')
|
||||
assert service.is_running
|
||||
assert service.is_enabled
|
||||
|
||||
|
||||
def test_zuul_scheduler_logging_config(host):
|
||||
user, group = _get_user_and_group(host)
|
||||
|
||||
f = host.file('/etc/zuul/scheduler-logging.conf')
|
||||
assert f.exists
|
||||
assert f.is_file
|
||||
assert f.user == user
|
||||
assert f.group == group
|
||||
assert f.mode == 0o644
|
||||
|
||||
|
||||
def test_zuul_scheduler_service_config(host):
|
||||
f = host.file('/etc/systemd/system/zuul-scheduler.service')
|
||||
assert f.exists
|
||||
assert f.is_file
|
||||
assert f.user == 'root'
|
||||
assert f.group == 'root'
|
||||
assert f.mode == 0o644
|
||||
del f
|
||||
|
||||
f = host.file('/etc/systemd/system/zuul-scheduler.service.d')
|
||||
assert f.exists
|
||||
assert f.is_directory
|
||||
assert f.user == 'root'
|
||||
assert f.group == 'root'
|
||||
assert f.mode == 0o755
|
||||
del f
|
||||
|
||||
f = host.file(
|
||||
'/etc/systemd/system/zuul-scheduler.service.d/override.conf')
|
||||
assert f.exists
|
||||
assert f.is_file
|
||||
assert f.user == 'root'
|
||||
assert f.group == 'root'
|
||||
assert f.mode == 0o644
|
||||
|
||||
|
||||
@pytest.mark.skip_if_docker()
|
||||
def test_zuul_scheduler_service(host):
|
||||
service = host.service('zuul-scheduler')
|
||||
assert service.is_running
|
||||
assert service.is_enabled
|
||||
|
||||
|
||||
def test_zuul_web_logging_config(host):
|
||||
user, group = _get_user_and_group(host)
|
||||
|
||||
f = host.file('/etc/zuul/web-logging.conf')
|
||||
assert f.exists
|
||||
assert f.is_file
|
||||
assert f.user == user
|
||||
assert f.group == group
|
||||
assert f.mode == 0o644
|
||||
|
||||
|
||||
def test_zuul_web_service_config(host):
|
||||
f = host.file('/etc/systemd/system/zuul-web.service')
|
||||
assert f.exists
|
||||
assert f.is_file
|
||||
assert f.user == 'root'
|
||||
assert f.group == 'root'
|
||||
assert f.mode == 0o644
|
||||
del f
|
||||
|
||||
f = host.file('/etc/systemd/system/zuul-web.service.d')
|
||||
assert f.exists
|
||||
assert f.is_directory
|
||||
assert f.user == 'root'
|
||||
assert f.group == 'root'
|
||||
assert f.mode == 0o755
|
||||
del f
|
||||
|
||||
f = host.file(
|
||||
'/etc/systemd/system/zuul-web.service.d/override.conf')
|
||||
assert f.exists
|
||||
assert f.is_file
|
||||
assert f.user == 'root'
|
||||
assert f.group == 'root'
|
||||
assert f.mode == 0o644
|
||||
|
||||
|
||||
@pytest.mark.skip_if_docker()
|
||||
def test_zuul_web_service(host):
|
||||
service = host.service('zuul-web')
|
||||
assert service.is_running
|
||||
assert service.is_enabled
|
|
@ -16,7 +16,7 @@
|
|||
become: true
|
||||
pip:
|
||||
executable: "{{ zuul_pip_executable|default(omit) }}"
|
||||
editable : "{{ zuul_pip_editable|default(omit) }}"
|
||||
editable: "{{ zuul_pip_editable|default(omit) }}"
|
||||
extra_args: "{{ zuul_pip_extra_args|default(omit) }}"
|
||||
name: "{{ zuul_pip_name }}"
|
||||
version: "{{ zuul_pip_version|default(omit) }}"
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
# This file is generated by Ansible
|
||||
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
|
||||
#
|
||||
---
|
||||
- tenant:
|
||||
name: example
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
ansible-lint
|
||||
hacking<0.11,>=0.10
|
||||
sphinx>=1.1.2,!=1.2.0,!=1.3b1,<1.3
|
||||
ara
|
||||
docker
|
||||
molecule
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
- hosts: all
|
||||
tasks:
|
||||
- name: Run testinfra validation
|
||||
include_role:
|
||||
name: tox
|
||||
vars:
|
||||
tox_envlist: testinfra
|
||||
tox_install_siblings: false
|
|
@ -15,13 +15,6 @@
|
|||
- hosts: all
|
||||
vars:
|
||||
rolename: ansible-role-zuul
|
||||
zuul_file_zuul_executor_service_config_src: etc/systemd/system/override.conf.j2
|
||||
zuul_file_zuul_merger_service_config_src: etc/systemd/system/override.conf.j2
|
||||
zuul_file_zuul_scheduler_service_config_src: etc/systemd/system/override.conf.j2
|
||||
zuul_file_zuul_web_service_config_src: etc/systemd/system/override.conf.j2
|
||||
zuul_user_name: zuul-test
|
||||
zuul_user_group: zuul-test
|
||||
zuul_pip_executable: pip3
|
||||
|
||||
roles:
|
||||
- "{{ rolename }}"
|
||||
|
@ -57,35 +50,6 @@
|
|||
- zuul_service_zuul_scheduler
|
||||
- zuul_service_zuul_web
|
||||
|
||||
- name: Ensure zuul_user_name is zuul.
|
||||
shell: /usr/bin/getent passwd zuul-test
|
||||
tags: skip_ansible_lint
|
||||
|
||||
- name: Ensure zuul_user_group is zuul.
|
||||
shell: /usr/bin/getent group zuul-test
|
||||
tags: skip_ansible_lint
|
||||
|
||||
- name: Register zuul_user_home_getent.
|
||||
shell: '/usr/bin/getent passwd zuul-test | cut -d: -f6'
|
||||
register: zuul_user_home_getent
|
||||
tags: skip_ansible_lint
|
||||
|
||||
- name: Assert zuul_user_home is /var/lib/zuul.
|
||||
assert:
|
||||
that:
|
||||
- zuul_user_home_getent.stdout == '/var/lib/zuul'
|
||||
|
||||
- name: Register zuul_user_home_stat.
|
||||
stat:
|
||||
path: /var/lib/zuul
|
||||
register: zuul_user_home_stat
|
||||
|
||||
- name: Assert zuul_user_home tests.
|
||||
assert:
|
||||
that:
|
||||
- zuul_user_home_stat.stat.exists
|
||||
- zuul_user_home_stat.stat.isdir
|
||||
|
||||
- name: Register zuul_git_dest_stat.
|
||||
stat:
|
||||
path: /home/zuul/src/git.openstack.org/openstack-infra/zuul
|
||||
|
@ -98,237 +62,3 @@
|
|||
- zuul_git_dest_stat.stat.exists
|
||||
- zuul_git_dest_stat.stat.isdir
|
||||
when: zuul_install_method == 'git'
|
||||
|
||||
- name: Register /etc/zuul/main.yaml
|
||||
stat:
|
||||
path: /etc/zuul/main.yaml
|
||||
register: zuul_main_yaml_stat
|
||||
|
||||
- name: Assert zuul_main_yaml_stat tests.
|
||||
assert:
|
||||
that:
|
||||
- zuul_main_yaml_stat.stat.exists
|
||||
- zuul_main_yaml_stat.stat.isreg
|
||||
- zuul_main_yaml_stat.stat.pw_name == 'zuul-test'
|
||||
- zuul_main_yaml_stat.stat.gr_name == 'zuul-test'
|
||||
- zuul_main_yaml_stat.stat.mode == '0644'
|
||||
|
||||
- name: Register /etc/zuul/zuul.conf
|
||||
stat:
|
||||
path: /etc/zuul/zuul.conf
|
||||
register: zuul_conf_stat
|
||||
|
||||
- name: Assert zuul_conf_stat tests.
|
||||
assert:
|
||||
that:
|
||||
- zuul_conf_stat.stat.exists
|
||||
- zuul_conf_stat.stat.isreg
|
||||
- zuul_conf_stat.stat.pw_name == 'zuul-test'
|
||||
- zuul_conf_stat.stat.gr_name == 'zuul-test'
|
||||
|
||||
- name: Register /etc/zuul/ssl/root-ca.pem
|
||||
stat:
|
||||
path: /etc/zuul/ssl/root-ca.pem
|
||||
register: _zuul_file_gearman_ssl_ca_stat
|
||||
|
||||
- name: Assert _zuul_file_gearman_ssl_ca_stat tests.
|
||||
assert:
|
||||
that:
|
||||
- _zuul_file_gearman_ssl_ca_stat.stat.exists
|
||||
- _zuul_file_gearman_ssl_ca_stat.stat.isreg
|
||||
- _zuul_file_gearman_ssl_ca_stat.stat.pw_name == 'zuul-test'
|
||||
- _zuul_file_gearman_ssl_ca_stat.stat.gr_name == 'zuul-test'
|
||||
- _zuul_file_gearman_ssl_ca_stat.stat.mode == '0644'
|
||||
|
||||
- name: Register /etc/zuul/ssl/client.pem
|
||||
stat:
|
||||
path: /etc/zuul/ssl/client.pem
|
||||
register: _zuul_file_gearman_ssl_cert_stat
|
||||
|
||||
- name: Assert _zuul_file_gearman_ssl_cert_stat tests.
|
||||
assert:
|
||||
that:
|
||||
- _zuul_file_gearman_ssl_cert_stat.stat.exists
|
||||
- _zuul_file_gearman_ssl_cert_stat.stat.isreg
|
||||
- _zuul_file_gearman_ssl_cert_stat.stat.pw_name == 'zuul-test'
|
||||
- _zuul_file_gearman_ssl_cert_stat.stat.gr_name == 'zuul-test'
|
||||
- _zuul_file_gearman_ssl_cert_stat.stat.mode == '0644'
|
||||
|
||||
- name: Register /etc/zuul/ssl/client.key
|
||||
stat:
|
||||
path: /etc/zuul/ssl/client.key
|
||||
register: _zuul_file_gearman_ssl_key_stat
|
||||
|
||||
- name: Assert _zuul_file_gearman_ssl_key_stat tests.
|
||||
assert:
|
||||
that:
|
||||
- _zuul_file_gearman_ssl_key_stat.stat.exists
|
||||
- _zuul_file_gearman_ssl_key_stat.stat.isreg
|
||||
- _zuul_file_gearman_ssl_key_stat.stat.pw_name == 'zuul-test'
|
||||
- _zuul_file_gearman_ssl_key_stat.stat.gr_name == 'zuul-test'
|
||||
- _zuul_file_gearman_ssl_key_stat.stat.mode == '0600'
|
||||
|
||||
- name: Register /etc/systemd/system/zuul-executor.service.d/override.conf
|
||||
stat:
|
||||
path: /etc/systemd/system/zuul-executor.service.d/override.conf
|
||||
register: zuul_executor_service_config_stat
|
||||
|
||||
- name: Assert zuul_executor_service_config_stat tests.
|
||||
assert:
|
||||
that:
|
||||
- zuul_executor_service_config_stat.stat.exists
|
||||
- zuul_executor_service_config_stat.stat.isreg
|
||||
- zuul_executor_service_config_stat.stat.pw_name == 'root'
|
||||
- zuul_executor_service_config_stat.stat.gr_name == 'root'
|
||||
- zuul_executor_service_config_stat.stat.mode == '0644'
|
||||
|
||||
- name: Register /etc/systemd/system/zuul-fingergw.service.d/override.conf
|
||||
stat:
|
||||
path: /etc/systemd/system/zuul-fingergw.service.d/override.conf
|
||||
register: zuul_fingergw_service_config_stat
|
||||
|
||||
- name: Assert zuul_fingergw_service_config_stat tests.
|
||||
assert:
|
||||
that:
|
||||
- zuul_fingergw_service_config_stat.stat.exists
|
||||
- zuul_fingergw_service_config_stat.stat.isreg
|
||||
- zuul_fingergw_service_config_stat.stat.pw_name == 'root'
|
||||
- zuul_fingergw_service_config_stat.stat.gr_name == 'root'
|
||||
- zuul_fingergw_service_config_stat.stat.mode == '0644'
|
||||
|
||||
- name: Register /etc/systemd/system/zuul-merger.service.d/override.conf
|
||||
stat:
|
||||
path: /etc/systemd/system/zuul-merger.service.d/override.conf
|
||||
register: zuul_merger_service_config_stat
|
||||
|
||||
- name: Assert zuul_merger_service_config_stat tests.
|
||||
assert:
|
||||
that:
|
||||
- zuul_merger_service_config_stat.stat.exists
|
||||
- zuul_merger_service_config_stat.stat.isreg
|
||||
- zuul_merger_service_config_stat.stat.pw_name == 'root'
|
||||
- zuul_merger_service_config_stat.stat.gr_name == 'root'
|
||||
- zuul_merger_service_config_stat.stat.mode == '0644'
|
||||
|
||||
- name: Register /etc/systemd/system/zuul-scheduler.service.d/override.conf
|
||||
stat:
|
||||
path: /etc/systemd/system/zuul-scheduler.service.d/override.conf
|
||||
register: zuul_scheduler_service_config_stat
|
||||
|
||||
- name: Assert zuul_scheduler_service_config_stat tests.
|
||||
assert:
|
||||
that:
|
||||
- zuul_scheduler_service_config_stat.stat.exists
|
||||
- zuul_scheduler_service_config_stat.stat.isreg
|
||||
- zuul_scheduler_service_config_stat.stat.pw_name == 'root'
|
||||
- zuul_scheduler_service_config_stat.stat.gr_name == 'root'
|
||||
- zuul_scheduler_service_config_stat.stat.mode == '0644'
|
||||
|
||||
- name: Register /etc/systemd/system/zuul-web.service.d/override.conf
|
||||
stat:
|
||||
path: /etc/systemd/system/zuul-web.service.d/override.conf
|
||||
register: zuul_web_service_config_stat
|
||||
|
||||
- name: Assert zuul_web_service_config_stat tests.
|
||||
assert:
|
||||
that:
|
||||
- zuul_web_service_config_stat.stat.exists
|
||||
- zuul_web_service_config_stat.stat.isreg
|
||||
- zuul_web_service_config_stat.stat.pw_name == 'root'
|
||||
- zuul_web_service_config_stat.stat.gr_name == 'root'
|
||||
- zuul_web_service_config_stat.stat.mode == '0644'
|
||||
|
||||
- name: Register /etc/systemd/system/zuul-executor.service
|
||||
stat:
|
||||
path: /etc/systemd/system/zuul-executor.service
|
||||
register: _zuul_executor_service_systemd_stat
|
||||
|
||||
- name: Assert _zuul_executor_service_systemd_stat tests.
|
||||
assert:
|
||||
that:
|
||||
- _zuul_executor_service_systemd_stat.stat.exists
|
||||
- _zuul_executor_service_systemd_stat.stat.isreg
|
||||
- _zuul_executor_service_systemd_stat.stat.pw_name == 'root'
|
||||
- _zuul_executor_service_systemd_stat.stat.gr_name == 'root'
|
||||
- _zuul_executor_service_systemd_stat.stat.mode == '0644'
|
||||
|
||||
- name: Register /etc/systemd/system/zuul-fingergw.service
|
||||
stat:
|
||||
path: /etc/systemd/system/zuul-fingergw.service
|
||||
register: _zuul_fingergw_service_systemd_stat
|
||||
|
||||
- name: Assert _zuul_fingergw_service_systemd_stat tests.
|
||||
assert:
|
||||
that:
|
||||
- _zuul_fingergw_service_systemd_stat.stat.exists
|
||||
- _zuul_fingergw_service_systemd_stat.stat.isreg
|
||||
- _zuul_fingergw_service_systemd_stat.stat.pw_name == 'root'
|
||||
- _zuul_fingergw_service_systemd_stat.stat.gr_name == 'root'
|
||||
- _zuul_fingergw_service_systemd_stat.stat.mode == '0644'
|
||||
|
||||
- name: Register /etc/systemd/system/zuul-merger.service
|
||||
stat:
|
||||
path: /etc/systemd/system/zuul-merger.service
|
||||
register: _zuul_merger_service_systemd_stat
|
||||
|
||||
- name: Assert _zuul_merger_service_systemd_stat tests.
|
||||
assert:
|
||||
that:
|
||||
- _zuul_merger_service_systemd_stat.stat.exists
|
||||
- _zuul_merger_service_systemd_stat.stat.isreg
|
||||
- _zuul_merger_service_systemd_stat.stat.pw_name == 'root'
|
||||
- _zuul_merger_service_systemd_stat.stat.gr_name == 'root'
|
||||
- _zuul_merger_service_systemd_stat.stat.mode == '0644'
|
||||
|
||||
- name: Register /etc/systemd/system/zuul-scheduler.service
|
||||
stat:
|
||||
path: /etc/systemd/system/zuul-scheduler.service
|
||||
register: _zuul_scheduler_service_systemd_stat
|
||||
|
||||
- name: Assert _zuul_scheduler_service_systemd_stat tests.
|
||||
assert:
|
||||
that:
|
||||
- _zuul_scheduler_service_systemd_stat.stat.exists
|
||||
- _zuul_scheduler_service_systemd_stat.stat.isreg
|
||||
- _zuul_scheduler_service_systemd_stat.stat.pw_name == 'root'
|
||||
- _zuul_scheduler_service_systemd_stat.stat.gr_name == 'root'
|
||||
- _zuul_scheduler_service_systemd_stat.stat.mode == '0644'
|
||||
|
||||
- name: Register /etc/systemd/system/zuul-web.service
|
||||
stat:
|
||||
path: /etc/systemd/system/zuul-web.service
|
||||
register: _zuul_web_service_systemd_stat
|
||||
|
||||
- name: Assert _zuul_web_service_systemd_stat tests.
|
||||
assert:
|
||||
that:
|
||||
- _zuul_web_service_systemd_stat.stat.exists
|
||||
- _zuul_web_service_systemd_stat.stat.isreg
|
||||
- _zuul_web_service_systemd_stat.stat.pw_name == 'root'
|
||||
- _zuul_web_service_systemd_stat.stat.gr_name == 'root'
|
||||
- _zuul_web_service_systemd_stat.stat.mode == '0644'
|
||||
|
||||
- name: Ensure zuul-executor is running.
|
||||
become: yes
|
||||
shell: /usr/sbin/service zuul-executor status
|
||||
tags: skip_ansible_lint
|
||||
|
||||
- name: Ensure zuul-fingergw is running.
|
||||
become: yes
|
||||
shell: /usr/sbin/service zuul-fingergw status
|
||||
tags: skip_ansible_lint
|
||||
|
||||
- name: Ensure zuul-merger is running.
|
||||
become: yes
|
||||
shell: /usr/sbin/service zuul-merger status
|
||||
tags: skip_ansible_lint
|
||||
|
||||
- name: Ensure zuul-scheduler is running.
|
||||
become: yes
|
||||
shell: /usr/sbin/service zuul-scheduler status
|
||||
tags: skip_ansible_lint
|
||||
|
||||
- name: Ensure zuul-web is running.
|
||||
become: yes
|
||||
shell: /usr/sbin/service zuul-web status
|
||||
tags: skip_ansible_lint
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
#!/bin/bash -ex
|
||||
# Copyright 2018 Red Hat, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
# implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
if ! [ $(getent group docker) ]; then
|
||||
sudo groupadd docker
|
||||
fi
|
||||
sudo gpasswd -a ${USER} docker
|
||||
sudo service docker restart
|
32
tox.ini
32
tox.ini
|
@ -4,13 +4,26 @@ envlist = docs,linters
|
|||
skipsdist = True
|
||||
|
||||
[testenv]
|
||||
basepython = python3
|
||||
deps = -r{toxinidir}/requirements.txt
|
||||
-r{toxinidir}/test-requirements.txt
|
||||
|
||||
[testenv:docs]
|
||||
commands = python setup.py build_sphinx
|
||||
|
||||
[testenv:linters]
|
||||
commands =
|
||||
molecule lint
|
||||
|
||||
[testenv:molecule]
|
||||
setenv =
|
||||
ANSIBLE_CALLBACK_PLUGINS = {envsitepackagesdir}/ara/plugins/callbacks
|
||||
commands =
|
||||
molecule test
|
||||
|
||||
[testenv:testinfra]
|
||||
commands =
|
||||
pytest --junit-xml junit.xml --sudo --verbose molecule/tests
|
||||
|
||||
[testenv:venv]
|
||||
commands = {posargs}
|
||||
|
||||
|
@ -20,19 +33,4 @@ commands = {posargs}
|
|||
show-source = True
|
||||
ignore = E123,E125
|
||||
builtins = _
|
||||
exclude=.venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build
|
||||
|
||||
[testenv:linters]
|
||||
setenv =
|
||||
ANSIBLE_ROLES_PATH = ..
|
||||
whitelist_externals = bash
|
||||
commands =
|
||||
# PEP8 Lint Check
|
||||
flake8
|
||||
# Ansible Lint Check
|
||||
bash -c "find . -not -path '*/\.*' -type f -regex '.*.y[a]?ml' -print0 | \
|
||||
xargs -t -n1 -0 ansible-lint"
|
||||
# Ansible Syntax Check
|
||||
bash -c "find tests -type f -regex '.*.y[a]?ml' -print | xargs -t -n1 \
|
||||
ansible-playbook --syntax-check -i tests/inventory \
|
||||
-e rolename=$(basename $(pwd)) > /dev/null"
|
||||
exclude=.venv,.git,.tox,dist,doc,*egg,build
|
||||
|
|
Loading…
Reference in New Issue