From 934a3c2651c5a786fe9d3940cee8af3a18e19ff8 Mon Sep 17 00:00:00 2001 From: Jesse Pretorius <jesse.pretorius@rackspace.co.uk> Date: Wed, 29 Aug 2018 13:23:40 +0100 Subject: [PATCH] MNAIO: Default vm_use_snapshot is group_vars Rather than have to default it in tasks all over the place, we default it in group_vars. The default is to enable the feature if file-backed VM's are used. However, if there are no base images available, the set_fact task disables it. If a user wishes to force it not to be used, then an extra-var override is still usable. Change-Id: I5c916244a02a44da831d2a0fefd8e8aafae829b2 --- multi-node-aio/playbooks/deploy-vms.yml | 6 ++---- multi-node-aio/playbooks/group_vars/all.yml | 3 +++ 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/multi-node-aio/playbooks/deploy-vms.yml b/multi-node-aio/playbooks/deploy-vms.yml index c1de1948..04ae039f 100644 --- a/multi-node-aio/playbooks/deploy-vms.yml +++ b/multi-node-aio/playbooks/deploy-vms.yml @@ -93,11 +93,9 @@ patterns: '*-base.img' register: _base_images - - name: Set vm_use_snapshot if it's not defined + - name: Enable/disable vm_use_snapshot based on whether there are base image files set_fact: vm_use_snapshot: "{{ _base_images['matched'] > 0 }}" - when: - - vm_use_snapshot is not defined - name: Clean up base image files if they are not being used file: @@ -132,7 +130,7 @@ name: "{{ hostvars[item]['server_hostname'] }}" command: define xml: >- - {%- if (vm_use_snapshot | default(False)) | bool %} + {%- if vm_use_snapshot | bool %} {{ lookup('file', _virt_pools.pools.default.path | default('/data/images') ~ '/' ~ hostvars[item]['server_hostname'] ~ '.xml') }} {%- else %} {{ lookup('template', 'kvm/kvm-vm.xml.j2') }} diff --git a/multi-node-aio/playbooks/group_vars/all.yml b/multi-node-aio/playbooks/group_vars/all.yml index d30fda0f..9e2afcfb 100644 --- a/multi-node-aio/playbooks/group_vars/all.yml +++ b/multi-node-aio/playbooks/group_vars/all.yml @@ -35,6 +35,9 @@ ipxe_kernel_base_url: "http://boot.ipxe.org" # The timeout for the SSH check to the vm_servers vm_ssh_timeout: 1500 +# Whether to use snapshots (if they are available) for file-backed VM's +vm_use_snapshot: "{{ default_vm_disk_mode == 'file' }}" + # IP address, or domain name of the TFTP server tftp_server: "{{ hostvars[groups['pxe_hosts'][0]]['ansible_host'] | default(ansible_host) }}" # tftp_ssh_key: '' # user defined ssh key, used to access the host