aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/playbooks/pre.yml78
-rw-r--r--tests/playbooks/run.yml3
2 files changed, 80 insertions, 1 deletions
diff --git a/tests/playbooks/pre.yml b/tests/playbooks/pre.yml
index cdbbe35c7..09b60ae34 100644
--- a/tests/playbooks/pre.yml
+++ b/tests/playbooks/pre.yml
@@ -115,3 +115,81 @@
path: /run/docker.sock
mode: 0666
become: true
+
+ # 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 /mnt/kolla mountpoint is created
+ ansible.builtin.file:
+ path: "/mnt/kolla"
+ owner: root
+ group: root
+ state: directory
+ mode: 0755
+
+ - name: Mount additional filesystem
+ ansible.posix.mount:
+ path: "/mnt/kolla"
+ src: "LABEL=kolla"
+ fstype: ext4
+ state: present
+
+ - name: Ensure /mnt/kolla/work_dir directory is created
+ ansible.builtin.file:
+ path: "/mnt/kolla/work_dir"
+ owner: root
+ group: root
+ state: directory
+ mode: 0777
diff --git a/tests/playbooks/run.yml b/tests/playbooks/run.yml
index 7e0b48695..7299b768a 100644
--- a/tests/playbooks/run.yml
+++ b/tests/playbooks/run.yml
@@ -4,6 +4,7 @@
- ../vars/zuul.yml
vars:
tag_suffix: "{{ '-aarch64' if ansible_architecture == 'aarch64' else '' }}"
+ kolla_disk: "{{ true if ephemeral_device is defined else false }}"
kolla_build_config:
DEFAULT:
debug: true
@@ -45,4 +46,4 @@
command: "{{ virtualenv_path }}/bin/kolla-build --template-only --work-dir {{ kolla_build_logs_dir }}/work_dir"
- name: Run kolla-build
- command: "{{ virtualenv_path }}/bin/kolla-build"
+ command: "{{ virtualenv_path }}/bin/kolla-build {% if kolla_disk %}--work-dir /mnt/kolla/work_dir{% endif %}"