From 9c797ea27374018a2335a3fe47d275116b31bdd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Lecour?= Date: Wed, 19 Jul 2017 01:34:13 +0200 Subject: [PATCH] kvm-host: images path is customizable --- kvm-host/README.md | 2 +- kvm-host/defaults/main.yml | 2 ++ kvm-host/tasks/images.yml | 49 +++++++++++++++++++++++++++---------- kvm-host/tasks/main.yml | 2 ++ kvm-host/tasks/packages.yml | 3 ++- 5 files changed, 43 insertions(+), 15 deletions(-) create mode 100644 kvm-host/defaults/main.yml diff --git a/kvm-host/README.md b/kvm-host/README.md index ae6f24ef..15ed4e13 100644 --- a/kvm-host/README.md +++ b/kvm-host/README.md @@ -8,4 +8,4 @@ Everything is in the `tasks/main.yml` file. ## Available variables -There is no variable. +* `kvm_custom_libvirt_images_path`: a custom directory for libvirt images (default: empty) ; diff --git a/kvm-host/defaults/main.yml b/kvm-host/defaults/main.yml new file mode 100644 index 00000000..4c77a2ff --- /dev/null +++ b/kvm-host/defaults/main.yml @@ -0,0 +1,2 @@ +--- +kvm_custom_libvirt_images_path: '' diff --git a/kvm-host/tasks/images.yml b/kvm-host/tasks/images.yml index 00f85759..527eb048 100644 --- a/kvm-host/tasks/images.yml +++ b/kvm-host/tasks/images.yml @@ -1,15 +1,38 @@ --- -- name: Create images directory - file: - path: '/home/images' - state: directory - owner: root - group: libvirt - mode: 02775 -- name: Symlink for libvirt images directory - file: - src: '/home/images' - dest: '/var/lib/libvirt/images' - state: link - force: yes +- block: + - name: "Is {{ kvm_custom_libvirt_images_path }} present ?" + stat: + path: "{{ kvm_custom_libvirt_images_path }}" + check_mode: no + register: kvm_custom_libvirt_images_path_test + + - name: "read the real datadir" + command: readlink -f /var/lib/libvirt/images + changed_when: False + check_mode: no + register: kvm_libvirt_images_current_real_path_test + when: kvm_custom_libvirt_images_path != '' + +- block: + - name: "Move libvirt images to {{ kvm_custom_libvirt_images_path }}" + command: mv /var/lib/libvirt/images {{ kvm_custom_libvirt_images_path }} + args: + creates: "{{ kvm_custom_libvirt_images_path }}" + + - name: Fix owner/group/permissions + file: + path: "{{ kvm_custom_libvirt_images_path }}" + owner: root + group: libvirt + mode: "02775" + + - name: "Symlink {{ kvm_custom_libvirt_images_path }} to /var/lib/libvirt/images" + file: + src: "{{ kvm_custom_libvirt_images_path }}" + dest: '/var/lib/libvirt/images' + state: link + when: + - kvm_custom_libvirt_images_path != '' + - kvm_custom_libvirt_images_path != kvm_libvirt_images_current_real_path_test.stdout + - not kvm_custom_libvirt_images_path_test.stat.exists diff --git a/kvm-host/tasks/main.yml b/kvm-host/tasks/main.yml index c4d6e622..a3ee3556 100644 --- a/kvm-host/tasks/main.yml +++ b/kvm-host/tasks/main.yml @@ -1,4 +1,6 @@ --- + +## TODO: check why it's disabled #- include: ssh.yml - include: packages.yml diff --git a/kvm-host/tasks/packages.yml b/kvm-host/tasks/packages.yml index b4ddd22f..7188239a 100644 --- a/kvm-host/tasks/packages.yml +++ b/kvm-host/tasks/packages.yml @@ -3,9 +3,10 @@ apt: name: "{{ item }}" with_items: - - libvirt-bin - qemu-kvm - netcat-openbsd - bridge-utils - qemu-utils - virtinst + - libvirt-daemon-system + - libvirt-clients