CI: Additional disk followup
state present only defines mount in /etc/fstab, does not do the actual mount Need to symlink /var/lib/docker to separate disk, work-dir only templates out dockerfiles and downloaded content Change-Id: I06e262cd48d33ccfc0634589c82dcac80dff51af
This commit is contained in:
parent
a0d758019a
commit
5fe335d143
|
@ -18,6 +18,76 @@
|
||||||
path: "{{ kolla_build_logs_dir }}"
|
path: "{{ kolla_build_logs_dir }}"
|
||||||
state: directory
|
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 pip and setuptools
|
- name: Install Python3 pip and setuptools
|
||||||
package:
|
package:
|
||||||
name:
|
name:
|
||||||
|
@ -115,81 +185,3 @@
|
||||||
path: /run/docker.sock
|
path: /run/docker.sock
|
||||||
mode: 0666
|
mode: 0666
|
||||||
become: true
|
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
|
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
- ../vars/zuul.yml
|
- ../vars/zuul.yml
|
||||||
vars:
|
vars:
|
||||||
tag_suffix: "{{ '-aarch64' if ansible_architecture == 'aarch64' else '' }}"
|
tag_suffix: "{{ '-aarch64' if ansible_architecture == 'aarch64' else '' }}"
|
||||||
kolla_disk: "{{ true if ephemeral_device is defined else false }}"
|
|
||||||
kolla_build_config:
|
kolla_build_config:
|
||||||
DEFAULT:
|
DEFAULT:
|
||||||
debug: true
|
debug: true
|
||||||
|
@ -46,4 +45,4 @@
|
||||||
command: "{{ virtualenv_path }}/bin/kolla-build --template-only --work-dir {{ kolla_build_logs_dir }}/work_dir"
|
command: "{{ virtualenv_path }}/bin/kolla-build --template-only --work-dir {{ kolla_build_logs_dir }}/work_dir"
|
||||||
|
|
||||||
- name: Run kolla-build
|
- name: Run kolla-build
|
||||||
command: "{{ virtualenv_path }}/bin/kolla-build {% if kolla_disk %}--work-dir /mnt/kolla/work_dir{% endif %}"
|
command: "{{ virtualenv_path }}/bin/kolla-build"
|
||||||
|
|
Loading…
Reference in New Issue