diff --git a/playbooks/common-tasks/os-lxc-container-setup.yml b/playbooks/common-tasks/os-lxc-container-setup.yml index 2c05b23d5b..170628cde9 100644 --- a/playbooks/common-tasks/os-lxc-container-setup.yml +++ b/playbooks/common-tasks/os-lxc-container-setup.yml @@ -124,16 +124,12 @@ tags: - common-lxc -- name: Wait for container ssh - wait_for: - port: "22" - delay: "{{ ssh_delay }}" - search_regex: "OpenSSH" - host: "{{ ansible_host }}" - delegate_to: "{{ physical_host }}" - register: ssh_wait_check - until: ssh_wait_check | success - retries: 3 +- name: Wait for container connectivity + wait_for_connection: + connect_timeout: "{{ lxc_container_wait_params.connect_timeout | default(omit) }}" + delay: "{{ lxc_container_wait_params.delay | default(omit) }}" + sleep: "{{ lxc_container_wait_params.sleep | default(omit) }}" + timeout: "{{ lxc_container_wait_params.timeout | default(omit) }}" when: - (_mc is defined and _mc | changed) or (_ec is defined and _ec | changed) - not is_metal | bool diff --git a/playbooks/inventory/group_vars/all_containers.yml b/playbooks/inventory/group_vars/all_containers.yml index 9b611ea761..e158d7b0d7 100644 --- a/playbooks/inventory/group_vars/all_containers.yml +++ b/playbooks/inventory/group_vars/all_containers.yml @@ -21,3 +21,11 @@ lxc_container_config_list: # Needed by playbooks/common-tasks/os-lxc-container-setup.yml lxc_container_log_path: "/var/log/lxc" +## Parameters provided to the wait_for_connection module after a container +## reboot is triggered by the playbook +lxc_container_wait_params: + # Wait 3 seconds before attempting the first connection + delay: 3 + # Wait 60 seconds for the container to respond + timeout: 60 + diff --git a/playbooks/lxc-containers-create.yml b/playbooks/lxc-containers-create.yml index f1fc4e6e09..1555b499a6 100644 --- a/playbooks/lxc-containers-create.yml +++ b/playbooks/lxc-containers-create.yml @@ -25,13 +25,12 @@ roles: - role: "lxc_container_create" post_tasks: - - name: Wait for ssh to be available - wait_for: - port: "22" - host: "{{ ansible_host | default(inventory_hostname) }}" - search_regex: OpenSSH - delay: 1 - delegate_to: "{{ physical_host }}" + - name: Wait for container connectivity + wait_for_connection: + connect_timeout: "{{ lxc_container_wait_params.connect_timeout | default(omit) }}" + delay: "{{ lxc_container_wait_params.delay | default(omit) }}" + sleep: "{{ lxc_container_wait_params.sleep | default(omit) }}" + timeout: "{{ lxc_container_wait_params.timeout | default(omit) }}" vars: is_metal: "{{ properties.is_metal|default(false) }}" tags: