# See the License for the specific language governing permissions and
# limitations under the License.
---
-- hosts: localhost
+- hosts: jumphost
vars:
boot_modes:
sha256sums_url: "{{ lookup('env', 'SHA256SUMS_URL')|default('https://' ~ host ~ '/' ~ sha256sums_path, true) }}"
workspace: "{{ lookup('env', 'workspace')|default('/tmp/workspace/yardstick', true) }}"
- imgfile: "{{ workspace }}/yardstick-image.img"
raw_imgfile_basename: "yardstick-{{ release }}-server.raw"
environment:
- PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/bin
+ - PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/bin
+ - "{{ proxy_env }}"
tasks:
- group_by:
- package: name=parted state=present
+ - set_fact:
+ imgfile: "{{ workspace }}/yardstick-image.img"
+
- set_fact:
mountdir: "{{ lookup('env', 'mountdir')|default('/mnt/yardstick', true) }}"
- name: convert image to raw
command: "qemu-img convert {{ image_dest }} {{ raw_imgfile }}"
+ - name: resize image to allow for more VNFs
+ 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%"
+
- name: create mknod devices in chroot
command: "mknod -m 0660 /dev/loop{{ item }} b 7 {{ item }}"
args:
- set_fact:
image_fs_type: "{{ blkid_res.stdout.strip() }}"
+ - fail:
+ msg: "We only support ext4 image filesystems because we have to resize"
+ when: image_fs_type != "ext4"
+
+ - name: fsck the image filesystem
+ command: "e2fsck -y -f {{ image_first_partition_device }}"
+
+ - name: resize filesystem to full partition size
+ command: resize2fs {{ image_first_partition_device }}
+
+ - name: fsck the image filesystem
+ command: "e2fsck -y -f {{ image_first_partition_device }}"
- name: make tmp disposable fstab
command: mktemp --tmpdir fake_fstab.XXXXXXXXXX
mode: 0755
when: "target_os == 'Ubuntu'"
- - name: set img_modify_playbook
- set_fact:
- img_modify_playbook: ubuntu_server_cloudimg_modify.yml
-
- - debug:
- var: img_modify_playbook
- verbosity: 2
-
- name: add chroot as host
add_host:
name: "{{ mountdir }}"
- name: include {{ img_modify_playbook }}
include: "{{ img_modify_playbook }}"
+- hosts: localhost
+ tasks:
+ - name: convert image to image file
+ command: "qemu-img convert -c -o compat=0.10 -O qcow2 {{ raw_imgfile }} {{ imgfile }}"
+
- name: run post build tasks
include: post_build_yardstick_image.yml
tasks:
- debug:
- msg: "yardstick image = {{ raw_imgfile }}"
+ msg: "yardstick image = {{ imgfile }}"