MNAIO: Make post-install storage provisioning idempotent

The swift and cinder hosts do not use containers for services,
so there is no need to do the current process of shrinking the
volumes. Instead, we ensure that the lxc & machines mounts are
removed, with their respective logical volumes.

When setting up the swift logical volumes, we do not need to
create the mount point directories, because the mount task will
do that for us. As such, we remove that task.

Change-Id: Ibbe6d0fede6b6965415e421161354e311708d113
This commit is contained in:
Jesse Pretorius 2018-08-29 17:12:43 +01:00
parent 7f39e408e3
commit 0e8423d536

@ -288,53 +288,41 @@
- name: Make space for swift and cinder volumes - name: Make space for swift and cinder volumes
hosts: cinder_hosts:swift_hosts hosts: cinder_hosts:swift_hosts
gather_facts: false gather_facts: "{{ gather_facts | default(true) }}"
environment: "{{ deployment_environment_variables | default({}) }}" environment: "{{ deployment_environment_variables | default({}) }}"
tags: tags:
- deploy-vms - deploy-vms
tasks: tasks:
- name: Unmount lxc and machines mounts - name: Unmount unnecessary mounts
mount: mount:
name: "{{ item }}" name: "{{ item }}"
state: unmounted state: absent
with_items: with_items:
- "/var/lib/lxc" - "/var/lib/lxc"
- "/var/lib/machines" - "/var/lib/machines"
register: _remove_mounts
- name: Remove lxc mount directory - name: Remove unnecessary logical volumes
mount:
name: "/var/lib/lxc"
state: absent
- name: Shrink machines00 logical volume
lvol: lvol:
vg: vmvg00 vg: vmvg00
lv: machines00 lv: "{{ item }}"
size: 8192
shrink: yes
force: yes
when:
- default_container_tech | default('lxc') == 'nspawn'
- name: Remove lxc00 logical volume
lvol:
vg: vmvg00
lv: lxc00
force: true force: true
state: absent state: absent
with_items:
- "lxc00"
- "machines00"
register: _remove_lvs
- name: Re-mount machines00 logical volume - name: Reload systemd to remove generated unit files for mount
mount: systemd:
path: /var/lib/machines daemon_reload: yes
src: /dev/mapper/vmvg00-machines00 when:
state: mounted - (_remove_mounts is changed) or (_remove_lvs is changed)
fstype: btrfs
opts: defaults,discard
- name: Setup cinder host volume - name: Setup cinder host volume
hosts: cinder_hosts hosts: cinder_hosts
gather_facts: false gather_facts: "{{ gather_facts | default(true) }}"
environment: "{{ deployment_environment_variables | default({}) }}" environment: "{{ deployment_environment_variables | default({}) }}"
tags: tags:
- deploy-vms - deploy-vms
@ -354,12 +342,12 @@
- name: Setup swift host volume - name: Setup swift host volume
hosts: swift_hosts hosts: swift_hosts
gather_facts: false gather_facts: "{{ gather_facts | default(true) }}"
environment: "{{ deployment_environment_variables | default({}) }}" environment: "{{ deployment_environment_variables | default({}) }}"
tags: tags:
- deploy-vms - deploy-vms
tasks: tasks:
- name: Remove deleteme lv - name: Create swift disk LV's
lvol: lvol:
vg: vmvg00 vg: vmvg00
lv: "{{ item }}" lv: "{{ item }}"
@ -378,18 +366,6 @@
- disk2 - disk2
- disk3 - disk3
- name: Create drive directories
file:
path: "/srv/{{ item }}"
state: directory
owner: "root"
group: "root"
mode: "0755"
with_items:
- disk1
- disk2
- disk3
- name: Mount swift drives - name: Mount swift drives
mount: mount:
name: "/srv/{{ item }}" name: "/srv/{{ item }}"