aboutsummaryrefslogtreecommitdiffstats
path: root/ansible/build_yardstick_image.yml
diff options
context:
space:
mode:
Diffstat (limited to 'ansible/build_yardstick_image.yml')
-rw-r--r--ansible/build_yardstick_image.yml26
1 files changed, 23 insertions, 3 deletions
diff --git a/ansible/build_yardstick_image.yml b/ansible/build_yardstick_image.yml
index 7f709873e..072c12c66 100644
--- a/ansible/build_yardstick_image.yml
+++ b/ansible/build_yardstick_image.yml
@@ -30,6 +30,9 @@
workspace: "{{ lookup('env', 'workspace')|default('/tmp/workspace/yardstick', true) }}"
raw_imgfile_basename: "yardstick-{{ release }}-server.raw"
+ growpart_package:
+ RedHat: cloud-utils-growpart
+ Debian: cloud-guest-utils
environment:
- PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/bin
- "{{ proxy_env }}"
@@ -39,6 +42,8 @@
key: image_builder
- package: name=parted state=present
+ - package: name=kpartx state=present
+ - package: name="{{ growpart_package[ansible_os_family] }}" state=present
- set_fact:
imgfile: "{{ normal_image_file }}"
@@ -54,7 +59,7 @@
- set_fact:
raw_imgfile: "{{ workspace }}/{{ raw_imgfile_basename }}"
- # cleanup non-lxd
+ # cleanup non-lxd
- name: unmount all old mount points
mount:
name: "{{ item }}"
@@ -69,6 +74,21 @@
command: kpartx -dv "{{ raw_imgfile }}"
ignore_errors: true
+ - name: Debug dump loop devices
+ command: losetup -a
+ ignore_errors: true
+
+ - name: delete loop devices for image file
+ # use this because kpartx -dv will fail if raw_imgfile was delete
+ # but in theory we could have deleted file still attached to loopback device?
+ # use grep because of // and awk
+ shell: losetup -O NAME,BACK-FILE | grep "{{ raw_imgfile_basename }}" | awk '{ print $1 }' | xargs -l1 losetup -v -d
+ ignore_errors: true
+
+ - name: Debug dump loop devices again
+ command: losetup -a
+ ignore_errors: true
+
- name: delete {{ raw_imgfile }}
file:
path: "{{ raw_imgfile }}"
@@ -99,7 +119,8 @@
command: "qemu-img resize -f raw {{ raw_imgfile }} +2G"
- name: resize parition to allow for more VNFs
- command: "parted -s -a optimal {{ raw_imgfile }} resizepart 1 100%"
+ # use growpart because maybe it handles GPT better than parted
+ command: growpart {{ raw_imgfile }} 1
- name: create mknod devices in chroot
command: "mknod -m 0660 /dev/loop{{ item }} b 7 {{ item }}"
@@ -109,7 +130,6 @@
tags: mknod_devices
- name: find first partition device
-# command: kpartx -l "{{ loop_device }}"
command: kpartx -l "{{ raw_imgfile }}"
register: kpartx_res