You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
2.8 KiB
YAML
90 lines
2.8 KiB
YAML
# https://github.com/dw/mitogen/issues/655
|
|
# Spins up a Centos8 container and runs the wait_for_connection test inside of it
|
|
# Doing it this way because the shutdown command causes issues in our tests
|
|
# since things are ran on localhost; Azure DevOps loses connection and fails
|
|
# TODO: do we want to install docker a different way to be able to do this for other tests too
|
|
---
|
|
# this should only run on our Mac hosts
|
|
- name: regression/issue_655_wait_for_connection_error.yml
|
|
hosts: target
|
|
any_errors_fatal: True
|
|
gather_facts: yes
|
|
become: no
|
|
tasks:
|
|
- name: set up test container and run tests inside it
|
|
block:
|
|
- name: install deps
|
|
homebrew:
|
|
name:
|
|
- podman
|
|
state: present
|
|
|
|
- name: start machine
|
|
command:
|
|
cmd: "{{ item.cmd }}"
|
|
loop:
|
|
- cmd: podman machine init
|
|
- cmd: podman machine start
|
|
- cmd: podman info
|
|
timeout: 300
|
|
register: podman_machine
|
|
|
|
- debug:
|
|
var: podman_machine
|
|
|
|
# python bindings (docker_container) aren't working on this host, so gonna shell out
|
|
- name: create container
|
|
command:
|
|
cmd: podman run --name testMitogen -d --rm centos:8 bash -c "sleep infinity & wait"
|
|
|
|
- name: add container to inventory
|
|
add_host:
|
|
name: testMitogen
|
|
ansible_connection: podman
|
|
ansible_user: root
|
|
changed_when: false
|
|
environment:
|
|
PATH: /usr/local/bin/:{{ ansible_env.PATH }}
|
|
|
|
- name: run tests
|
|
block:
|
|
# to repro the issue, will create /var/run/reboot-required
|
|
- name: create test file
|
|
file:
|
|
path: /var/run/reboot-required
|
|
state: touch
|
|
|
|
- name: Check if reboot is required
|
|
stat:
|
|
path: /var/run/reboot-required
|
|
register: reboot_required
|
|
|
|
- name: Reboot server
|
|
shell: sleep 2 && shutdown -r now "Ansible updates triggered"
|
|
async: 1
|
|
poll: 0
|
|
when: reboot_required.stat.exists == True
|
|
|
|
- name: Wait 300 seconds for server to become available
|
|
wait_for_connection:
|
|
delay: 30
|
|
timeout: 300
|
|
when: reboot_required.stat.exists == True
|
|
|
|
- name: cleanup test file
|
|
file:
|
|
path: /var/run/reboot-required
|
|
state: absent
|
|
delegate_to: testMitogen
|
|
environment:
|
|
PATH: /usr/local/bin/:{{ ansible_env.PATH }}
|
|
|
|
- name: remove test container
|
|
command:
|
|
cmd: "{{ item.cmd }}"
|
|
loop:
|
|
- cmd: podman stop testMitogen
|
|
- cmd: podman machine stop
|
|
tags:
|
|
- issue_655
|