X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=ansible%2Fbuild_yardstick_image.yml;h=072c12c666efcfcbea0664818c8611a22f64dbb3;hb=refs%2Fchanges%2F13%2F58713%2F4;hp=45ef94e986443faafb6ba2081d6c92ba9fd97124;hpb=6d7314e986c6359b59198d155a7baa31891e888f;p=yardstick.git diff --git a/ansible/build_yardstick_image.yml b/ansible/build_yardstick_image.yml index 45ef94e98..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,9 +42,16 @@ 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: "{{ workspace }}/yardstick-image.img" + imgfile: "{{ normal_image_file }}" + when: img_property == "normal" + + - set_fact: + imgfile: "{{ nsb_image_file }}" + when: img_property == "nsb" - set_fact: mountdir: "{{ lookup('env', 'mountdir')|default('/mnt/yardstick', true) }}" @@ -49,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 }}" @@ -64,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 }}" @@ -94,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 }}" @@ -104,7 +130,6 @@ tags: mknod_devices - name: find first partition device -# command: kpartx -l "{{ loop_device }}" command: kpartx -l "{{ raw_imgfile }}" register: kpartx_res @@ -197,8 +222,13 @@ nameserver_ip: "{{ ansible_dns.nameservers[0] }}" image_type: vm -- name: include {{ img_modify_playbook }} - include: "{{ img_modify_playbook }}" +- name: include ubuntu_server_cloudimg_modify.yml + include: ubuntu_server_cloudimg_modify.yml + when: img_property == "normal" + +- name: include ubuntu_server_cloudimg_modify_samplevnfs.yml + include: ubuntu_server_cloudimg_modify_samplevnfs.yml + when: img_property == "nsb" - hosts: localhost tasks: