From: Ross Brattain <ross.b.brattain@intel.com>
Date: Tue, 13 Mar 2018 22:10:42 +0000 (-0700)
Subject: yardstick image: use growpart instead of parted
X-Git-Tag: opnfv-6.0.0~64
X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F27%2F53727%2F7;p=yardstick.git

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 <ross.b.brattain@intel.com>
---

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 }}"