Updated/corrected service_status
This patch updates service_status check, importing what was done in oooq-extras back in 2019[1]. This will allow to actually ensure only tripleo related services are checked. The legacy Docker support is still here in order to allow checking on older releases. This patch also adds some fancy molecule testing. [1] https://review.opendev.org/#/c/637729/ Change-Id: I0b939f2c01324cbdce452d4fd425cbe8e8d676b8 Authored-By: Cedric Jeanneret <cjeanner@redhat.com>
This commit is contained in:
parent
9d84a07807
commit
d633131d60
|
@ -9,6 +9,8 @@ platforms:
|
|||
hostname: centos7
|
||||
image: centos:7
|
||||
pkg_extras: python-setuptools python-enum34 python-netaddr ruby epel-release PyYAML
|
||||
volumes:
|
||||
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
|
||||
easy_install:
|
||||
- pip
|
||||
command: /sbin/init
|
||||
|
@ -21,6 +23,8 @@ platforms:
|
|||
image: centos:8
|
||||
command: /sbin/init
|
||||
pkg_extras: python*-setuptools python*-enum34 python*-netaddr ruby python*-PyYAML
|
||||
volumes:
|
||||
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
|
||||
environment:
|
||||
<<: *env
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ FROM {{ item.image }}
|
|||
{% endif %}
|
||||
|
||||
RUN if [ $(command -v apt-get) ]; then apt-get update && apt-get install -y python sudo bash ca-certificates && apt-get clean; \
|
||||
elif [ $(command -v dnf) ]; then dnf makecache && dnf --assumeyes install sudo python*-devel python*-dnf bash {{ item.pkg_extras | default('') }} && dnf clean all; \
|
||||
elif [ $(command -v dnf) ]; then dnf makecache && dnf --assumeyes install python sudo python-devel python*-dnf bash {{ item.pkg_extras | default('') }} && dnf clean all; \
|
||||
elif [ $(command -v yum) ]; then yum makecache fast && yum install -y python sudo yum-plugin-ovl python-setuptools bash {{ item.pkg_extras | default('') }} && sed -i 's/plugins=0/plugins=1/g' /etc/yum.conf && yum clean all; \
|
||||
elif [ $(command -v zypper) ]; then zypper refresh && zypper install -y python sudo bash python-xml {{ item.pkg_extras | default('') }} && zypper clean -a; \
|
||||
elif [ $(command -v apk) ]; then apk update && apk add --no-cache python sudo bash ca-certificates {{ item.pkg_extras | default('') }}; \
|
|
@ -0,0 +1,59 @@
|
|||
---
|
||||
# Copyright 2019 Red Hat, Inc.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# 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.
|
||||
|
||||
|
||||
- name: Converge
|
||||
hosts: all
|
||||
gather_facts: false
|
||||
become: true
|
||||
|
||||
tasks:
|
||||
- name: "Check containers - docker version, no service"
|
||||
include_role:
|
||||
name: service_status
|
||||
tasks_from: containers.yaml
|
||||
|
||||
- name: "Check containers - docker version, with service"
|
||||
block:
|
||||
- name: Activate docker service
|
||||
service:
|
||||
name: docker
|
||||
state: started
|
||||
enabled: true
|
||||
|
||||
- name: Catch failure
|
||||
block:
|
||||
- name: Run check
|
||||
include_role:
|
||||
name: service_status
|
||||
tasks_from: containers.yaml
|
||||
|
||||
rescue:
|
||||
- name: Clear host errors
|
||||
meta: clear_host_errors
|
||||
|
||||
- name: Test output
|
||||
debug:
|
||||
msg: |
|
||||
Success finding broken containers
|
||||
|
||||
- name: End play
|
||||
meta: end_play
|
||||
|
||||
- name: Fail if this point is reached
|
||||
fail:
|
||||
msg: |
|
||||
Did not find broken containers
|
|
@ -0,0 +1,46 @@
|
|||
---
|
||||
# Copyright 2019 Red Hat, Inc.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# 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.
|
||||
|
||||
|
||||
- name: Converge
|
||||
hosts: all
|
||||
gather_facts: false
|
||||
vars:
|
||||
service_status_podman_opt: '--storage-driver=vfs'
|
||||
|
||||
tasks:
|
||||
- name: Check podman container state
|
||||
block:
|
||||
- name: Detect failed podman containers
|
||||
include_role:
|
||||
name: service_status
|
||||
tasks_from: containers.yaml
|
||||
rescue:
|
||||
- name: Clear host errors
|
||||
meta: clear_host_errors
|
||||
|
||||
- name: Test output
|
||||
debug:
|
||||
msg: |
|
||||
Properly detected failed container
|
||||
|
||||
- name: End play now
|
||||
meta: end_play
|
||||
|
||||
- name: Fail if we get to this point
|
||||
fail:
|
||||
msg: |
|
||||
Did not detect failed container
|
|
@ -9,6 +9,8 @@ platforms:
|
|||
hostname: centos7
|
||||
image: centos:7
|
||||
pkg_extras: python-setuptools python-enum34 python-netaddr ruby epel-release PyYAML
|
||||
volumes:
|
||||
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
|
||||
easy_install:
|
||||
- pip
|
||||
command: /sbin/init
|
||||
|
@ -21,6 +23,8 @@ platforms:
|
|||
image: centos:8
|
||||
command: /sbin/init
|
||||
pkg_extras: python*-setuptools python*-enum34 python*-netaddr ruby python*-PyYAML
|
||||
volumes:
|
||||
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
|
||||
environment:
|
||||
<<: *env
|
||||
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
---
|
||||
# Copyright 2019 Red Hat, Inc.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# 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.
|
||||
|
||||
|
||||
- name: Converge
|
||||
hosts: all
|
||||
gather_facts: false
|
||||
|
||||
tasks:
|
||||
- name: Check service
|
||||
block:
|
||||
- name: Run validation
|
||||
include_role:
|
||||
name: service_status
|
||||
tasks_from: systemd.yaml
|
||||
rescue:
|
||||
- name: Clear errors
|
||||
meta: clear_host_errors
|
||||
|
||||
- name: Test output
|
||||
debug:
|
||||
msg: |
|
||||
Successfully detected failed unit
|
||||
|
||||
- name: End play
|
||||
meta: end_play
|
||||
|
||||
- name: Fail if this point is reached
|
||||
fail:
|
||||
msg: |
|
||||
Did not detect failed unit
|
|
@ -9,6 +9,7 @@ platforms:
|
|||
hostname: centos7
|
||||
image: centos:7
|
||||
pkg_extras: python-setuptools python-enum34 python-netaddr ruby epel-release PyYAML
|
||||
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
|
||||
easy_install:
|
||||
- pip
|
||||
command: /sbin/init
|
||||
|
@ -21,6 +22,8 @@ platforms:
|
|||
image: centos:8
|
||||
command: /sbin/init
|
||||
pkg_extras: python*-setuptools python*-enum34 python*-netaddr ruby python*-PyYAML
|
||||
volumes:
|
||||
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
|
||||
environment:
|
||||
<<: *env
|
||||
|
||||
|
|
Loading…
Reference in New Issue