From 744fea0158416a14b08c378db227c50a433d89c4 Mon Sep 17 00:00:00 2001 From: Ross Brattain Date: Tue, 13 Mar 2018 15:10:42 -0700 Subject: yardstick image: use growpart instead of parted parted doesn't handle growing GPT partition correctly, so switch to growpart see https://github.com/opnfv/fuel/blob/master/mcp/scripts/lib.sh#L133 for example If the yardstick image uses GPT then parted complains about the GPT table The warning is "Warning: Not all of the space available to DEVICE appears to be used, you can fix the GPT to use all of the space (an extra 500 blocks) or continue with the current setting?" The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)? echo 'f' to fix the GPT table Instead use growpart JIRA: YARDSTICK-1058 Change-Id: Ib0e90feef1e3766408b4f742036f2a48af942f32 Signed-off-by: Ross Brattain --- ansible/build_yardstick_image.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ansible/build_yardstick_image.yml b/ansible/build_yardstick_image.yml index 7f709873e..c9b6e74e9 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 }}" @@ -99,7 +104,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 }}" -- cgit 1.2.3-korg