diff --git a/tests/playbooks/pre.yml b/tests/playbooks/pre.yml index 0fbeec3dfc..c5604c3b67 100644 --- a/tests/playbooks/pre.yml +++ b/tests/playbooks/pre.yml @@ -20,6 +20,76 @@ path: "{{ kolla_build_logs_dir }}" state: directory + # On RAX hosts, we have a small root partition and a large, + # unallocated ephemeral device attached at /dev/xvde + - name: Set ephemeral device if /dev/xvde exists + when: ansible_devices["xvde"] is defined + set_fact: + ephemeral_device: "/dev/xvde" + + # On other providers, we have a device called "ephemeral0". + - name: Set ephemeral device by label + when: ephemeral_device is undefined + block: + - name: Get ephemeral0 device node + command: /sbin/blkid -L ephemeral0 + register: ephemeral0 + # rc !=0 is expected + failed_when: False + changed_when: False + + - name: Set ephemeral device if LABEL exists + when: "ephemeral0.rc == 0" + set_fact: + ephemeral_device: "{{ ephemeral0.stdout }}" + + - name: Configure additional disk (if available) + become: true + when: ephemeral_device is defined + block: + - name: Ensure ephemeral device is unmounted + ansible.posix.mount: + name: "{{ ephemeral_device }}" + state: "{{ item }}" + loop: + - unmounted + - absent + + - name: Get existing partitions + community.general.parted: + device: "{{ ephemeral_device }}" + unit: MiB + state: info + register: ephemeral_partitions + + - name: Remove any existing partitions + community.general.parted: + device: "{{ ephemeral_device }}" + number: "{{ item.num }}" + state: absent + loop: "{{ ephemeral_partitions.partitions }}" + + - name: Create filesystem on additional partition + community.general.filesystem: + fstype: ext4 + dev: "{{ ephemeral_device }}" + opts: "-L kolla" + + - name: Ensure /var/lib/docker mountpoint is created + ansible.builtin.file: + path: "/var/lib/docker" + owner: root + group: root + state: directory + mode: 0755 + + - name: Mount additional filesystem + ansible.posix.mount: + path: "/var/lib/docker" + src: "LABEL=kolla" + fstype: ext4 + state: mounted + - name: Install Python3 setuptools and family package: name: diff --git a/tests/playbooks/publish.yml b/tests/playbooks/publish.yml index 4e27086f22..8b24856768 100644 --- a/tests/playbooks/publish.yml +++ b/tests/playbooks/publish.yml @@ -23,6 +23,9 @@ push: yes source: local loop: "{{ docker_host_info.images }}" + register: push_status + until: push_status.failed is false + retries: 5 when: kolla_registry == 'dockerhub' - block: @@ -39,4 +42,7 @@ repository: "quay.io/{{ item.RepoTags.0 }}" source: local loop: "{{ docker_host_info.images }}" + register: push_status + until: push_status.failed is false + retries: 5 when: kolla_registry == 'quay.io'