From 332dbe851c44543b69e516439baf203c9bebcadc Mon Sep 17 00:00:00 2001 From: zsdc Date: Thu, 20 Feb 2020 10:43:36 +0200 Subject: QEMU image build improvements * Added missed package dependencies (for Debian 10 based builders) * Added additional options, which can be passed to the playbook: * iso_local - path to local ISO file * disk_size - target disk image size * cloud_init - enable or disable Cloud-init integration to an image * cloud_init_ds - set custom list of data sources for Cloud-init * Added a version number and Cloud-init mark to a QCOW2 image name * Cloud-init installation procedure tuned to use packages from a proper one VyOS repository, according to VyOS and Debian version * Added workaround for /etc/network/interfaces to allow Cloud-init initialize network in a native way * Replaced default config file to Jinja2 template * Fixed GRUB installation on UEFI builders - added target i386-pc * Replaced GRUB configuration: * enable both KVM and Serial console for all images (Serial by default) * added password recovery option for all images * added 5 seconds of a timeout to allow select proper menu entry * fixed booting for 1.3 VyOS * Added loop device detach after image build - allows to build images multiple times without exhausting loop device limit * Added fstrim applying for image - theoretically, this may save some space * Enabled compression for QCOW2 image - this reduces image size significantly * Added RAW image deletion after conversion to more accurate cleanup --- vmware.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'vmware.yml') diff --git a/vmware.yml b/vmware.yml index d953ca7..6c6b8b9 100644 --- a/vmware.yml +++ b/vmware.yml @@ -8,6 +8,9 @@ vyos_vmdk_size: 10 vyos_vmware_ova: /tmp/vyos_vmware_image.ova vyos_output_img: "{{ vyos_vmware_ova }}" + cloud_init: "true" + cloud_init_ds_string: "{{ cloud_init_ds | default('OVF,None') }}" + cloud_init_ds_list: "{{ cloud_init_ds_string.split(',') }}" roles: - install-packages - load-modules @@ -22,7 +25,7 @@ - install-config - install-grub - install-persistence-conf - - install-cloud-init + - install-cloud-init-wrapper - unmount-all - install-open-vmdk - vmware-ova -- cgit v1.2.3 From 9fca551d381b1000d47d370dd3618172a1617fb4 Mon Sep 17 00:00:00 2001 From: zsdc Date: Mon, 24 Feb 2020 23:42:19 +0200 Subject: Fixes and additions in QEMU image building * Fixed deleting APT lists from a cache to decrease resulting image size * Added option for creating an archive with files required for boot via PXE * Added option for keeping default user when creating an image with Cloud-init --- README.md | 12 +++++++++ hyperv.yml | 1 + qemu.yml | 2 ++ roles/cleanup-ending/tasks/main.yml | 8 ++++++ roles/create-pxe-archive/tasks/main.yml | 38 +++++++++++++++++++++++++++ roles/install-cloud-init/tasks/main.yml | 2 +- roles/install-config/templates/config.boot.j2 | 2 +- roles/install-packages/tasks/main.yml | 1 + roles/unmount-all/tasks/main.yml | 18 ------------- roles/unmount-pre/tasks/main.yml | 18 +++++++++++++ roles/unmount-pre/tests/inventory | 2 ++ roles/unmount-pre/tests/test.yml | 4 +++ vagrant-libvirt.yml | 1 + vmware.yml | 1 + 14 files changed, 90 insertions(+), 20 deletions(-) create mode 100644 roles/create-pxe-archive/tasks/main.yml create mode 100644 roles/unmount-pre/tasks/main.yml create mode 100644 roles/unmount-pre/tests/inventory create mode 100644 roles/unmount-pre/tests/test.yml (limited to 'vmware.yml') diff --git a/README.md b/README.md index 677cf8a..cfc119f 100644 --- a/README.md +++ b/README.md @@ -87,3 +87,15 @@ You need to copy the ISO image with VyOS to /tmp/vyos.iso before running ansible ``` -e cloud_init_ds=NoCloud,ConfigDrive,None ``` + +- Create an archive with files required to PXE boot (default: false): + + ``` + -e pxe=true + ``` + +- Keep default `vyos` user with password `vyos` in configuration when building an image with Cloud-init (default: false): + + ``` + -e keep_user=true + ``` diff --git a/hyperv.yml b/hyperv.yml index 75871fb..6fb699c 100644 --- a/hyperv.yml +++ b/hyperv.yml @@ -26,6 +26,7 @@ - install-grub - install-persistence-conf - install-cloud-init-wrapper + - unmount-pre - unmount-all - hyperv-vhd - release diff --git a/qemu.yml b/qemu.yml index f5f79b5..86a9e60 100644 --- a/qemu.yml +++ b/qemu.yml @@ -26,6 +26,8 @@ - install-persistence-conf - install-cloud-init-wrapper - fstrim + - unmount-pre + - create-pxe-archive - unmount-all - qemu-qcow2 - cleanup-ending diff --git a/roles/cleanup-ending/tasks/main.yml b/roles/cleanup-ending/tasks/main.yml index 1b2715b..18cea29 100644 --- a/roles/cleanup-ending/tasks/main.yml +++ b/roles/cleanup-ending/tasks/main.yml @@ -2,3 +2,11 @@ file: path: "{{ vyos_raw_img }}" state: absent + +- name: Delete PXE folder + file: + path: "/tmp/vyos-pxe-{{ vyos_version }}{{ ci_tag | default() }}" + state: absent + when: + - pxe is defined + - pxe == "true" diff --git a/roles/create-pxe-archive/tasks/main.yml b/roles/create-pxe-archive/tasks/main.yml new file mode 100644 index 0000000..11dc454 --- /dev/null +++ b/roles/create-pxe-archive/tasks/main.yml @@ -0,0 +1,38 @@ +# Create an archive with files, required for PXE +- name: Create directory for PXE files + become: true + file: + path: "/tmp/vyos-pxe-{{ vyos_version }}{{ ci_tag | default() }}" + state: directory + when: + - pxe is defined + - pxe == "true" + +- name: Save files required for PXE boot + become: true + copy: + src: "{{ vyos_write_root }}/boot/{{ vyos_version }}/{{ item }}" + dest: "/tmp/vyos-pxe-{{ vyos_version }}{{ ci_tag | default() }}/{{ item }}" + with_items: + - initrd.img + - vmlinuz + when: + - pxe is defined + - pxe == "true" + +- name: Create new squashfs image + become: true + command: "mksquashfs {{ vyos_install_root }} /tmp/vyos-pxe-{{ vyos_version }}{{ ci_tag | default() }}/filesystem.squashfs -comp gzip -no-progress -Xcompression-level 9 -e {{ vyos_install_root }}/boot -e {{ vyos_install_root }}/usr/lib/python3/dist-packages/cloudinit/config/cc_vyos.py" + when: + - pxe is defined + - pxe == "true" + +- name: Create an archive with files for PXE + become: true + archive: + path: "/tmp/vyos-pxe-{{ vyos_version }}{{ ci_tag | default() }}" + format: gz + dest: "/tmp/vyos-pxe-{{ vyos_version }}{{ ci_tag | default() }}.tgz" + when: + - pxe is defined + - pxe == "true" diff --git a/roles/install-cloud-init/tasks/main.yml b/roles/install-cloud-init/tasks/main.yml index d894750..39f7293 100644 --- a/roles/install-cloud-init/tasks/main.yml +++ b/roles/install-cloud-init/tasks/main.yml @@ -30,7 +30,7 @@ command: chroot {{ vyos_install_root }} apt-get clean - name: delete apt lists from cache become: true - command: chroot {{ vyos_install_root }} rm -rf /var/lib/apt/lists/* + command: chroot {{ vyos_install_root }} rm -rf /var/lib/apt/lists/ - name: Delete debian.list become: true file: diff --git a/roles/install-config/templates/config.boot.j2 b/roles/install-config/templates/config.boot.j2 index 9b3e8ec..51e95b9 100644 --- a/roles/install-config/templates/config.boot.j2 +++ b/roles/install-config/templates/config.boot.j2 @@ -3,7 +3,7 @@ system { login { user vyos { authentication { -{% if cloud_init == "true" %} +{% if cloud_init == "true" and not ( keep_user is defined and keep_user == "true" ) %} encrypted-password "*" {% else %} encrypted-password "$6$MjV2YvKQ56q$QbL562qhRoyUu8OaqrXagicvcsNpF1HssCY06ZxxghDJkBCfSfTE/4FlFB41xZcd/HqYyVBuRt8Zyq3ozJ0dc." diff --git a/roles/install-packages/tasks/main.yml b/roles/install-packages/tasks/main.yml index 9a143ef..8d526b5 100644 --- a/roles/install-packages/tasks/main.yml +++ b/roles/install-packages/tasks/main.yml @@ -13,4 +13,5 @@ - python-requests - unzip - zlib1g-dev + - squashfs-tools state: present diff --git a/roles/unmount-all/tasks/main.yml b/roles/unmount-all/tasks/main.yml index e097b2b..253ffe9 100644 --- a/roles/unmount-all/tasks/main.yml +++ b/roles/unmount-all/tasks/main.yml @@ -16,24 +16,6 @@ fstype: none state: absent -- name: Unmount {{ vyos_install_root }}/sys, {{ vyos_install_root }}/proc, {{ vyos_install_root }}/dev - become: true - mount: - name: "{{ vyos_install_root }}/{{ item }}" - src: "/{{ item }}" - fstype: none - state: unmounted - with_items: [ 'sys', 'proc', 'dev' ] - -- name: Unmount {{ vyos_install_root }}/sys, {{ vyos_install_root }}/proc, {{ vyos_install_root }}/dev - become: true - mount: - name: "{{ vyos_install_root }}/{{ item }}" - src: "/{{ item }}" - fstype: none - state: absent - with_items: [ 'sys', 'proc', 'dev' ] - - name: Unmount {{ vyos_install_root }} become: true mount: diff --git a/roles/unmount-pre/tasks/main.yml b/roles/unmount-pre/tasks/main.yml new file mode 100644 index 0000000..12c9ae7 --- /dev/null +++ b/roles/unmount-pre/tasks/main.yml @@ -0,0 +1,18 @@ +# Unmount /sys /proc /dev +- name: Unmount {{ vyos_install_root }}/sys, {{ vyos_install_root }}/proc, {{ vyos_install_root }}/dev + become: true + mount: + name: "{{ vyos_install_root }}/{{ item }}" + src: "/{{ item }}" + fstype: none + state: unmounted + with_items: [ 'sys', 'proc', 'dev' ] + +- name: Unmount {{ vyos_install_root }}/sys, {{ vyos_install_root }}/proc, {{ vyos_install_root }}/dev + become: true + mount: + name: "{{ vyos_install_root }}/{{ item }}" + src: "/{{ item }}" + fstype: none + state: absent + with_items: [ 'sys', 'proc', 'dev' ] diff --git a/roles/unmount-pre/tests/inventory b/roles/unmount-pre/tests/inventory new file mode 100644 index 0000000..878877b --- /dev/null +++ b/roles/unmount-pre/tests/inventory @@ -0,0 +1,2 @@ +localhost + diff --git a/roles/unmount-pre/tests/test.yml b/roles/unmount-pre/tests/test.yml new file mode 100644 index 0000000..105c5e6 --- /dev/null +++ b/roles/unmount-pre/tests/test.yml @@ -0,0 +1,4 @@ +--- +- hosts: localhost + roles: + - unmount-pre diff --git a/vagrant-libvirt.yml b/vagrant-libvirt.yml index 81d8e53..e5b9f8a 100644 --- a/vagrant-libvirt.yml +++ b/vagrant-libvirt.yml @@ -22,6 +22,7 @@ - install-config - install-grub - install-persistence-conf + - unmount-pre - unmount-all - vagrant-libvirt-box - release diff --git a/vmware.yml b/vmware.yml index 6c6b8b9..3372b49 100644 --- a/vmware.yml +++ b/vmware.yml @@ -26,6 +26,7 @@ - install-grub - install-persistence-conf - install-cloud-init-wrapper + - unmount-pre - unmount-all - install-open-vmdk - vmware-ova -- cgit v1.2.3 From afca529c30e486e834ad5e98f18bfba5f40710ac Mon Sep 17 00:00:00 2001 From: zsdc Date: Mon, 20 Apr 2020 23:45:01 +0300 Subject: Restored ability to build an OVA image Also: - actualized some variables - added more objects to cleanup to not keep garbage after playbook run - added variable to select default boot console in GRUB --- README.md | 7 +- group_vars/all.yml | 3 +- roles/cleanup-ending/tasks/main.yml | 5 + roles/install-grub/templates/boot/grub/grub.cfg.j2 | 4 + roles/install-open-vmdk/tasks/main.yml | 17 +- roles/vmware-ova/tasks/main.yml | 52 +--- .../vmware-ova/templates/vyos_vmware_image.ovf.j2 | 293 +++++++++++++-------- roles/vmware-ova/vars/main.yml | 1 - vmware.yml | 4 +- 9 files changed, 233 insertions(+), 153 deletions(-) (limited to 'vmware.yml') diff --git a/README.md b/README.md index d4b60fa..dacf670 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,12 @@ sudo apt update sudo apt install -y ansible python ``` +If you want to build an OVA image, you also need `ovftool` from VMware. It should be downloaded from the [VMware site](https://code.vmware.com/tool/ovf). Also, you need a private key to sign an OVA file. It can be generated with the next command: + +``` +openssl req -x509 -nodes -sha256 -days 365 -newkey rsa:1024 -keyout myself.pem -out myself.pem +``` + All other requirements will be installed by ansible-playbook. @@ -29,7 +35,6 @@ You need to copy the ISO image with VyOS to /tmp/vyos.iso before running ansible - VMware ``` - ansible-playbook vmware.yml ansible-playbook vmware.yml -e vyos_vmware_private_key_path=path_to_private_key ``` diff --git a/group_vars/all.yml b/group_vars/all.yml index f718626..41ec804 100644 --- a/group_vars/all.yml +++ b/group_vars/all.yml @@ -2,7 +2,7 @@ ansible_host_key_checking: False vyos_iso_url: "" vyos_iso_local: "{{ iso_local | default('/tmp/vyos.iso') }}" -vyos_key_url: http://packages.vyos.net/vyos-release.gpg +vyos_key_url: https://downloads.vyos.io/vyos-release.gpg vyos_key_local: /tmp/vyos-release.gpg vyos_cd_root: /mnt/cdrom @@ -17,3 +17,4 @@ vyos_root_fstype: ext4 vyos_target_drive: "" vyos_raw_img: /tmp/vyos_raw_image.img +grub_console: "kvm" \ No newline at end of file diff --git a/roles/cleanup-ending/tasks/main.yml b/roles/cleanup-ending/tasks/main.yml index 18cea29..3a84b98 100644 --- a/roles/cleanup-ending/tasks/main.yml +++ b/roles/cleanup-ending/tasks/main.yml @@ -10,3 +10,8 @@ when: - pxe is defined - pxe == "true" + +- name: Delete Release key + file: + path: "{{ vyos_key_local }}" + state: absent diff --git a/roles/install-grub/templates/boot/grub/grub.cfg.j2 b/roles/install-grub/templates/boot/grub/grub.cfg.j2 index 0440442..6cfea8f 100644 --- a/roles/install-grub/templates/boot/grub/grub.cfg.j2 +++ b/roles/install-grub/templates/boot/grub/grub.cfg.j2 @@ -1,4 +1,8 @@ +{% if grub_console == "kvm" %} +set default=0 +{% elif grub_console == "serial" %} set default=1 +{% endif %} set timeout=5 serial --unit=0 terminal_output --append serial diff --git a/roles/install-open-vmdk/tasks/main.yml b/roles/install-open-vmdk/tasks/main.yml index dedece0..8d19da4 100644 --- a/roles/install-open-vmdk/tasks/main.yml +++ b/roles/install-open-vmdk/tasks/main.yml @@ -7,14 +7,27 @@ url: https://github.com/vmware/open-vmdk/archive/master.zip dest: /tmp/master.zip when: stat_result.stat.exists == False -- name: Extract master.zip into /var/lib/foo +- name: Extract master.zip into /tmp unarchive: src: /tmp/master.zip dest: /tmp when: stat_result.stat.exists == False +- name: Build open-vmdk + become: true + make: + chdir: /tmp/open-vmdk-master/vmdk + when: stat_result.stat.exists == False - name: Install open-vmdk become: true make: - chdir: /tmp/open-vmdk-master + chdir: /tmp/open-vmdk-master/vmdk target: install when: stat_result.stat.exists == False +- name: Delete installation directory and archive + file: + path: "{{ item }}" + state: absent + loop: + - "/tmp/open-vmdk-master" + - "/tmp/master.zip" + when: stat_result.stat.exists == False diff --git a/roles/vmware-ova/tasks/main.yml b/roles/vmware-ova/tasks/main.yml index 53c4989..0146a15 100644 --- a/roles/vmware-ova/tasks/main.yml +++ b/roles/vmware-ova/tasks/main.yml @@ -2,6 +2,10 @@ command: qemu-img convert -f raw "{{ vyos_raw_img }}" -O vmdk -o adapter_type=lsilogic "{{ vyos_vmware_tmp_vmdk }}" - name: Fix vmdk with open-vmdk command: vmdk-convert "{{ vyos_vmware_tmp_vmdk }}" "{{ vyos_vmware_vmdk }}" +- name: Delete temporary image + file: + path: "{{ vyos_vmware_tmp_vmdk }}" + state: absent - name: Get vmdk_file_size shell: du --bytes "{{ vyos_vmware_vmdk }}" | cut -f1 register: vmdk_file_size @@ -26,42 +30,14 @@ copy: dest: "{{ vyos_vmware_mf }}" content: "{{ result.stdout }}" -- name: Create OVA without private key +- name: Converting the OVF to signed OVA become: false - archive: - path: - - "{{ vyos_vmware_ovf }}" - - "{{ vyos_vmware_mf }}" - - "{{ vyos_vmware_vmdk }}" - dest: "{{ vyos_vmware_ova }}" - format: tar - when: vyos_vmware_private_key_path is not defined -- name: Sign MF - shell: openssl dgst -sha256 -sign "{{ vyos_vmware_private_key_path }}" -hex "{{ vyos_vmware_mf | basename }}" | sed 's/^RSA-//' - args: - chdir: /tmp - register: signature - when: vyos_vmware_private_key_path is defined -- name: Get certificate - shell: openssl x509 -in "{{ vyos_vmware_private_key_path }}" - register: certificate - when: vyos_vmware_private_key_path is defined -- name: Create cert file for OVA - become: false - copy: - dest: "{{ vyos_vmware_cert }}" - content: | - {{ signature.stdout }} - {{ certificate.stdout }} - when: vyos_vmware_private_key_path is defined -- name: Create OVA with private key - become: false - archive: - path: - - "{{ vyos_vmware_ovf }}" - - "{{ vyos_vmware_mf }}" - - "{{ vyos_vmware_cert }}" - - "{{ vyos_vmware_vmdk }}" - dest: "{{ vyos_vmware_ova }}" - format: tar - when: vyos_vmware_private_key_path is defined + command: "ovftool --compress=9 --privateKey={{ vyos_vmware_private_key_path }} {{ vyos_vmware_ovf }} {{ vyos_vmware_ova }}" +- name: Delete temporary files for VMware + file: + path: "{{ item }}" + state: absent + loop: + - "{{ vyos_vmware_ovf }}" + - "{{ vyos_vmware_mf }}" + - "{{ vyos_vmware_vmdk }}" diff --git a/roles/vmware-ova/templates/vyos_vmware_image.ovf.j2 b/roles/vmware-ova/templates/vyos_vmware_image.ovf.j2 index c3d6145..7f58678 100644 --- a/roles/vmware-ova/templates/vyos_vmware_image.ovf.j2 +++ b/roles/vmware-ova/templates/vyos_vmware_image.ovf.j2 @@ -1,148 +1,223 @@ - + + + The list of logical networks + + WAN network + + + LAN network + + + + List of profiles + + + Minimal hardware profile - 1 vCPU, 512 MB RAM + + + + Medium hardware profile - 4 vCPUs, 16 GB RAM + + + + Large hardware profile - 8 vCPUs, 32 GB RAM + + + + Supported IP assignment schemes + Virtual disk information - + - - The list of logical networks - - The VM Network network - - - + A virtual machine - vyos - - The kind of installed guest operating system + + VyOS is a Linux-based network operating system that provides software-based network routing, firewall, and VPN functionality. + VyOS + Sentrium S.L. + {{ vyos_version }} + https://www.vyos.io + https://sentrium.io/ + + Appliance user Settings + + + The password for the appliance 'vyos' account. Passwords must be at least 8 characters in length. + + + + The public ssh key for the appliance 'vyos' account. + + Appliance IPv4 Network Settings (WAN interface) + + + The host name for this virtual machine. + + + + The IPv4 address. Leave blank if DHCP is desired. + + + + The IPv4 netmask or prefix for this interface. Leave blank if DHCP is desired. + + + + Default gateway address. Leave blank if DHCP is desired. + + + + The domain name server IP Addresses for this VM (comma separated). Leave blank if DHCP is desired. + + + + NTP servers for this VM (comma separated). Leave blank if DHCP is desired. + + Appliance API Settings + + + API key to access the VyOS api. If left blank the api wil not be enabled. + + + + API port to listen on for calls. Leave blank to keep it default '443'. + + + + Enable API debug logging + + + + User-Data, encoded with base64. + + + + VM specific properties + + + + + VyOS + + + The operating system installed + Debian GNU/Linux 8 (64-bit) - - Virtual hardware requirements + + Virtual Hardware Requirements Virtual Hardware Family 0 - vyos - vmx-09 + vmx-11 - + hertz * 10^6 - Number of Virtual CPUs - 1 virtual CPU(s) - 1 + Number of virtual CPUs + 1 virtual CPU + 1 3 1 - - byte * 2^30 + + hertz * 10^6 + Number of virtual CPUs + 4 virtual CPUs + 1 + 3 + 4 + + + hertz * 10^6 + Number of virtual CPUs + 8 virtual CPUs + 1 + 3 + 8 + + + byte * 2^20 Memory Size - 1GB of memory - 2 + 512 MB of memory + 2 4 - 1 + 512 + 512 + + + byte * 2^20 + Memory Size + 16 GB of memory + 2 + 4 + 16384 + 16384 + + + byte * 2^20 + Memory Size + 32 GB of memory + 2 + 4 + 32768 + 32768 - 0 - SCSI Controller - scsiController0 - 3 - lsilogic + 0 + SCSI Controller 0 - VMware Paravirtual SCSI + 3 + VirtualSCSI 6 - 1 - IDE Controller - ideController1 - 4 - 5 + 0 + disk0 + ovf:/disk/vmdisk1 + 4 + 3 + 17 - - true - serial0 - 5 - 21 - + + 0 + IDE Controller 0 + 5 + 5 - + 0 false - cdrom0 - 6 + CD/DVD Drive 1 + 6 5 15 - - 0 - disk0 - ovf:/disk/vmdisk1 + + 7 + true + WAN + NIC representing WAN + WAN 7 - 3 - 17 - - - 2 + vmxnet3 + 10 + + + 8 true - VM Network - VmxNet3 ethernet adapter on "VM Network" - ethernet0 + LAN + NIC representing LAN + LAN 8 - VmxNet3 + vmxnet3 10 - - - - false - video - 9 - 24 - - - false - vmci - 10 - vmware.vmci - 1 - + - - - - + - - VyOS is a Linux-based network operating system that provides software-based network routing, firewall, and VPN functionality. - VyOS - VyOS maintainers and contributors - {{ vyos_version }} - - - Specifies the instance id. This is required and used to determine if the machine should take "first boot" actions - - - Specifies the hostname for the appliance - - - - This field is optional, but indicates that the instance should 'seed' user-data and meta-data from the given url. If set to 'http://tinyurl.com/sm-' is given, meta-data will be pulled from http://tinyurl.com/sm-meta-data and user-data from http://tinyurl.com/sm-user-data. Leave this empty if you do not want to seed from a url. - - - - This field is optional, but indicates that the instance should populate the default user's 'authorized_keys' with this value - - - - In order to fit into a xml attribute, this value is base64 encoded . It will be decoded, and then processed normally as user-data. - - - - - If set, the default user's password will be set to this value to allow password based login. The password will be good for only a single login. If set to the string 'RANDOM' then a random password will be generated, and written to the console. - - - + \ No newline at end of file diff --git a/roles/vmware-ova/vars/main.yml b/roles/vmware-ova/vars/main.yml index 176f25c..598f592 100644 --- a/roles/vmware-ova/vars/main.yml +++ b/roles/vmware-ova/vars/main.yml @@ -2,5 +2,4 @@ vyos_vmware_ovf: /tmp/vyos_vmware_image.ovf vyos_vmware_tmp_vmdk: /tmp/vyos_vmware_image_tmp.vmdk vyos_vmware_mf: /tmp/vyos_vmware_image.mf vyos_vmware_vmdk: /tmp/vyos_vmware_image.vmdk -vyos_vmware_ova: /tmp/vyos_vmware_image.ova vyos_vmware_cert: /tmp/vyos_vmware_image.cert diff --git a/vmware.yml b/vmware.yml index 3372b49..4ec9d8e 100644 --- a/vmware.yml +++ b/vmware.yml @@ -6,7 +6,7 @@ vyos_platform: VMware vyos_format: ova vyos_vmdk_size: 10 - vyos_vmware_ova: /tmp/vyos_vmware_image.ova + vyos_vmware_ova: "/tmp/vyos-{{ vyos_version }}{{ ci_tag | default() }}-vmware.ova" vyos_output_img: "{{ vyos_vmware_ova }}" cloud_init: "true" cloud_init_ds_string: "{{ cloud_init_ds | default('OVF,None') }}" @@ -26,8 +26,10 @@ - install-grub - install-persistence-conf - install-cloud-init-wrapper + - fstrim - unmount-pre - unmount-all - install-open-vmdk - vmware-ova + - cleanup-ending - release -- cgit v1.2.3