Initial commit

This the initial framework for testing, plus playbook to stop / start /
restart zuul.

Change-Id: Ic941dc8517591c7487c1d901ff7cf2ebb7e7e3ff
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
This commit is contained in:
Paul Belanger 2019-01-17 22:18:12 -05:00
parent 9a4982f40b
commit 4a622fe8d8
8 changed files with 152 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.tox

13
.yamllint Normal file
View File

@ -0,0 +1,13 @@
extends: default
ignore: |
.tox
rules:
braces:
max-spaces-inside: 1
level: error
brackets:
max-spaces-inside: 1
level: error
line-length: disable

8
.zuul.d/projects.yaml Normal file
View File

@ -0,0 +1,8 @@
---
- project:
check:
jobs:
- openstack-tox-linters
gate:
jobs:
- openstack-tox-linters

14
bindep.txt Normal file
View File

@ -0,0 +1,14 @@
# This is a cross-platform list tracking distribution packages needed by tests;
# see http://docs.openstack.org/infra/bindep/ for additional information.
dbus
libffi-devel [platform:rpm]
libffi-dev [platform:dpkg]
libselinux-python [platform:rpm]
libssl-dev [platform:dpkg]
openssl-devel [platform:rpm]
python2-dnf [platform:fedora]
python3-devel [platform:rpm]
python3-dev [platform:dpkg]
python-devel [platform:rpm]
python-dev [platform:dpkg]

88
playbooks/zuul/stop.yaml Normal file
View File

@ -0,0 +1,88 @@
# 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.
---
- hosts: zuul-executor
tasks:
- name: stopping zuul-executor
become: true
systemd:
name: zuul-executor
state: stopped
register: result
- name: Wait for (3h10m) to stop zuul-executor
wait_for:
path: "/proc/{{ result.status.MainPID }}/status"
state: absent
timeout: 11400
- hosts: zuul-merger
tasks:
- name: stopping zuul-merger
become: true
systemd:
name: zuul-merger
state: stopped
register: result
- name: Wait for (3h10m) to stop zuul-merger
wait_for:
path: "/proc/{{ result.status.MainPID }}/status"
state: absent
timeout: 11400
- hosts: zuul-web
tasks:
- name: stopping zuul-web
become: true
systemd:
name: zuul-web
state: stopped
register: result
- name: Wait for (3h10m) to stop zuul-web
wait_for:
path: "/proc/{{ result.status.MainPID }}/status"
state: absent
timeout: 11400
- hosts: zuul-fingergw
tasks:
- name: stopping zuul-fingergw
become: true
systemd:
name: zuul-fingergw
state: stopped
register: result
- name: Wait for (3h10m) to stop zuul-fingergw
wait_for:
path: "/proc/{{ result.status.MainPID }}/status"
state: absent
timeout: 11400
- hosts: zuul-scheduler
tasks:
- name: stopping zuul-scheduler
become: true
systemd:
name: zuul-scheduler
state: stopped
register: result
- name: Wait for (3h10m) to stop zuul-scheduler
wait_for:
path: "/proc/{{ result.status.MainPID }}/status"
state: absent
timeout: 11400

1
requirements.txt Normal file
View File

@ -0,0 +1 @@
ansible>=2.4.0

3
test-requirements.txt Normal file
View File

@ -0,0 +1,3 @@
hacking<0.11,>=0.10
ansible-lint
yamllint

24
tox.ini Normal file
View File

@ -0,0 +1,24 @@
[tox]
minversion = 1.4.2
envlist = linters
skipsdist = True
[testenv]
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
[testenv:linters]
basepython = python3
whitelist_externals = bash
commands =
yamllint -s .
flake8
bash -c "ansible-lint -x 405 playbooks/*/*.yaml"
[flake8]
# E123, E125 skipped as they are invalid PEP-8.
show-source = True
ignore = E123,E125
builtins = _
exclude=.venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build