From e7559e24ddbefc1fc1a1caad93d0cbc8c1acac77 Mon Sep 17 00:00:00 2001 From: Corey Hemminger Date: Wed, 22 Feb 2023 23:22:12 -0600 Subject: [PATCH] updates and fixes for box builds (#1466) --- .github/workflows/ci.yml | 139 ++++++++++- .github/workflows/packer-builds.yml | 230 ------------------ .github/workflows/pkr-bld-amazonlinux-x64.yml | 45 ++++ .github/workflows/pkr-bld-hyperv-x64.yml | 84 +++++++ .github/workflows/pkr-bld-parallels-arm64.yml | 69 ++++++ .github/workflows/pkr-bld-parallels-x64.yml | 82 +++++++ .github/workflows/pkr-bld-qemu-arm64.yml | 69 ++++++ .github/workflows/pkr-bld-qemu-x64.yml | 84 +++++++ .../workflows/pkr-bld-virtualbox-arm64.yml | 69 ++++++ .github/workflows/pkr-bld-virtualbox-x64.yml | 82 +++++++ .github/workflows/pkr-bld-vmware-arm64.yml | 69 ++++++ .github/workflows/pkr-bld-vmware-x64.yml | 82 +++++++ .gitignore | 2 +- .mdlrc | 2 +- AMZ_build_virtualbox-ovf.sh | 10 +- CHANGELOG.md | 82 +++++++ README.md | 6 +- .../almalinux/almalinux-8-aarch64.pkrvars.hcl | 5 +- .../almalinux/almalinux-8-x86_64.pkrvars.hcl | 7 +- .../almalinux/almalinux-9-aarch64.pkrvars.hcl | 5 +- .../almalinux/almalinux-9-x86_64.pkrvars.hcl | 5 +- .../amazonlinux-2-x86_64.pkrvars.hcl | 5 +- .../centos/centos-7-aarch64.pkrvars.hcl | 7 +- os_pkrvars/centos/centos-7-x86_64.pkrvars.hcl | 3 +- .../centos-stream-8-aarch64.pkrvars.hcl | 5 +- .../centos/centos-stream-8-x86_64.pkrvars.hcl | 3 +- .../centos-stream-9-aarch64.pkrvars.hcl | 7 +- .../centos/centos-stream-9-x86_64.pkrvars.hcl | 5 +- .../debian/debian-10-aarch64.pkrvars.hcl | 2 +- .../debian/debian-10-x86_64.pkrvars.hcl | 2 +- .../debian/debian-11-aarch64.pkrvars.hcl | 2 +- .../debian/debian-11-x86_64.pkrvars.hcl | 2 +- .../fedora/fedora-36-aarch64.pkrvars.hcl | 2 +- .../fedora/fedora-36-x86_64.pkrvars.hcl | 2 +- .../fedora/fedora-37-aarch64.pkrvars.hcl | 2 +- .../fedora/fedora-37-x86_64.pkrvars.hcl | 2 +- .../freebsd/freebsd-12-x86_64.pkrvars.hcl | 2 +- .../freebsd/freebsd-13-x86_64.pkrvars.hcl | 2 +- .../oraclelinux-7-aarch64.pkrvars.hcl | 3 +- .../oraclelinux-7-x86_64.pkrvars.hcl | 3 +- .../oraclelinux-8-aarch64.pkrvars.hcl | 3 +- .../oraclelinux-8-x86_64.pkrvars.hcl | 3 +- .../oraclelinux-9-aarch64.pkrvars.hcl | 3 +- .../oraclelinux-9-x86_64.pkrvars.hcl | 3 +- os_pkrvars/rhel/rhel-7-aarch64.pkrvars.hcl | 1 - os_pkrvars/rhel/rhel-7-x86_64.pkrvars.hcl | 1 - os_pkrvars/rhel/rhel-8-aarch64.pkrvars.hcl | 1 - os_pkrvars/rhel/rhel-8-x86_64.pkrvars.hcl | 1 - os_pkrvars/rhel/rhel-9-aarch64.pkrvars.hcl | 1 - os_pkrvars/rhel/rhel-9-x86_64.pkrvars.hcl | 1 - .../rockylinux-8-aarch64.pkrvars.hcl | 5 +- .../rockylinux-8-x86_64.pkrvars.hcl | 5 +- .../rockylinux-9-aarch64.pkrvars.hcl | 5 +- .../rockylinux-9-x86_64.pkrvars.hcl | 5 +- .../scientificlinux-7-x86_64.pkrvars.hcl | 1 - .../springdalelinux-7-x86_64.pkrvars.hcl | 1 - .../springdalelinux-8-x86_64.pkrvars.hcl | 1 - .../springdalelinux-9-x86_64.pkrvars.hcl | 1 - .../ubuntu/ubuntu-18.04-aarch64.pkrvars.hcl | 10 + .../ubuntu/ubuntu-18.04-x86_64.pkrvars.hcl | 1 - .../ubuntu/ubuntu-20.04-aarch64.pkrvars.hcl | 3 +- .../ubuntu/ubuntu-20.04-x86_64.pkrvars.hcl | 3 +- .../ubuntu/ubuntu-22.04-aarch64.pkrvars.hcl | 3 +- .../ubuntu/ubuntu-22.04-x86_64.pkrvars.hcl | 1 - .../ubuntu/ubuntu-22.10-aarch64.pkrvars.hcl | 1 - .../ubuntu/ubuntu-22.10-x86_64.pkrvars.hcl | 1 - .../windows/windows-10gen2-x86_64.pkrvars.hcl | 3 +- .../windows/windows-11-x86_64.pkrvars.hcl | 1 - .../windows/windows-11gen2-x86_64.pkrvars.hcl | 3 +- packer_templates/http/fedora/ks.cfg | 8 + .../http/ubuntu/preseed-hyperv.cfg | 2 +- packer_templates/http/ubuntu/user-data | 3 +- packer_templates/pkr-builder.pkr.hcl | 20 +- packer_templates/pkr-sources.pkr.hcl | 40 ++- packer_templates/pkr-variables.pkr.hcl | 32 ++- .../scripts/_common/parallels-rhel.sh | 47 ++++ packer_templates/scripts/_common/parallels.sh | 9 +- .../scripts/_common/vmware_fedora.sh | 3 +- .../scripts/_common/vmware_rhel.sh | 5 +- .../scripts/debian/cleanup_debian.sh | 5 +- .../scripts/fedora/cleanup_dnf.sh | 5 +- packer_templates/scripts/rhel/cleanup_dnf.sh | 5 +- packer_templates/scripts/rhel/cleanup_yum.sh | 5 +- packer_templates/scripts/rhel/update_dnf.sh | 2 +- packer_templates/scripts/rhel/update_yum.sh | 2 +- packer_templates/scripts/suse/cleanup_suse.sh | 5 +- .../scripts/suse/unsupported-modules_suse.sh | 2 +- .../scripts/ubuntu/cleanup_ubuntu.sh | 5 +- packer_templates/scripts/windows/optimize.ps1 | 6 +- .../provision-guest-tools-qemu-kvm.ps1 | 54 ---- .../scripts/windows/provision-vmwaretools.ps1 | 41 ---- .../scripts/windows/provision.ps1 | 22 +- 92 files changed, 1181 insertions(+), 508 deletions(-) delete mode 100644 .github/workflows/packer-builds.yml create mode 100644 .github/workflows/pkr-bld-amazonlinux-x64.yml create mode 100644 .github/workflows/pkr-bld-hyperv-x64.yml create mode 100644 .github/workflows/pkr-bld-parallels-arm64.yml create mode 100644 .github/workflows/pkr-bld-parallels-x64.yml create mode 100644 .github/workflows/pkr-bld-qemu-arm64.yml create mode 100644 .github/workflows/pkr-bld-qemu-x64.yml create mode 100644 .github/workflows/pkr-bld-virtualbox-arm64.yml create mode 100644 .github/workflows/pkr-bld-virtualbox-x64.yml create mode 100644 .github/workflows/pkr-bld-vmware-arm64.yml create mode 100644 .github/workflows/pkr-bld-vmware-x64.yml create mode 100644 os_pkrvars/ubuntu/ubuntu-18.04-aarch64.pkrvars.hcl create mode 100644 packer_templates/scripts/_common/parallels-rhel.sh delete mode 100644 packer_templates/scripts/windows/provision-guest-tools-qemu-kvm.ps1 delete mode 100644 packer_templates/scripts/windows/provision-vmwaretools.ps1 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a3c27a2de..6aa5b000e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -32,16 +32,124 @@ jobs: uses: chef/github-workflows/.github/workflows/packer-lint.yml@main secrets: inherit - packer-builds: - needs: - - yaml-lint - - json-lint - - xml-lint - - powershell-lint - - shellcheck-lint - - packer-iso-check - - packer-lint - uses: ./.github/workflows/packer-builds.yml + pkr-bld-amazonlinux-x64: +# needs: +# - yaml-lint +# - json-lint +# - xml-lint +# - powershell-lint +# - shellcheck-lint +# - packer-iso-check +# - packer-lint + uses: ./.github/workflows/pkr-bld-amazonlinux-x64.yml + secrets: inherit + + # pkr-bld-virtualbox-arm64: + # # needs: + # # - yaml-lint + # # - json-lint + # # - xml-lint + # # - powershell-lint + # # - shellcheck-lint + # # - packer-iso-check + # # - packer-lint + # uses: ./.github/workflows/pkr-bld-virtualbox-arm64.yml + # secrets: inherit + + pkr-bld-virtualbox-x64: + # needs: + # - yaml-lint + # - json-lint + # - xml-lint + # - powershell-lint + # - shellcheck-lint + # - packer-iso-check + # - packer-lint + uses: ./.github/workflows/pkr-bld-virtualbox-x64.yml + secrets: inherit + + # pkr-bld-parallels-arm64: + # # needs: + # # - yaml-lint + # # - json-lint + # # - xml-lint + # # - powershell-lint + # # - shellcheck-lint + # # - packer-iso-check + # # - packer-lint + # uses: ./.github/workflows/pkr-bld-parallels-arm64.yml + # secrets: inherit + + pkr-bld-parallels-x64: + # needs: + # - yaml-lint + # - json-lint + # - xml-lint + # - powershell-lint + # - shellcheck-lint + # - packer-iso-check + # - packer-lint + uses: ./.github/workflows/pkr-bld-parallels-x64.yml + secrets: inherit + + # pkr-bld-vmware-arm64: + # # needs: + # # - yaml-lint + # # - json-lint + # # - xml-lint + # # - powershell-lint + # # - shellcheck-lint + # # - packer-iso-check + # # - packer-lint + # uses: ./.github/workflows/pkr-bld-vmware-arm64.yml + # secrets: inherit + + pkr-bld-vmware-x64: + # needs: + # - yaml-lint + # - json-lint + # - xml-lint + # - powershell-lint + # - shellcheck-lint + # - packer-iso-check + # - packer-lint + uses: ./.github/workflows/pkr-bld-vmware-x64.yml + secrets: inherit + + pkr-bld-hyperv-x64: + # needs: + # - yaml-lint + # - json-lint + # - xml-lint + # - powershell-lint + # - shellcheck-lint + # - packer-iso-check + # - packer-lint + uses: ./.github/workflows/pkr-bld-hyperv-x64.yml + secrets: inherit + +# pkr-bld-qemu-arm64: +# # needs: +# # - yaml-lint +# # - json-lint +# # - xml-lint +# # - powershell-lint +# # - shellcheck-lint +# # - packer-iso-check +# # - packer-lint +# uses: ./.github/workflows/pkr-bld-qemu-arm64.yml +# secrets: inherit + + pkr-bld-qemu-x64: + # needs: + # - yaml-lint + # - json-lint + # - xml-lint + # - powershell-lint + # - shellcheck-lint + # - packer-iso-check + # - packer-lint + uses: ./.github/workflows/pkr-bld-qemu-x64.yml secrets: inherit check_jobs_pass: @@ -55,7 +163,16 @@ jobs: - shellcheck-lint # - packer-iso-check # - packer-lint - # - packer-builds # Skipping for now until all builds are working + # - pkr-bld-amazonlinux-x64 + # - pkr-bld-hyperv-x64 + # - pkr-bld-parallels-arm64 + # - pkr-bld-parallels-x64 + # - pkr-bld-qemu-arm64 + # - pkr-bld-qemu-x64 + # - pkr-bld-virtualbox-arm64 + # - pkr-bld-virtualbox-x64 + # - pkr-bld-vmware-arm64 + # - pkr-bld-vmware-x64 runs-on: Ubuntu-latest steps: - name: Decide whether the needed jobs succeeded or failed diff --git a/.github/workflows/packer-builds.yml b/.github/workflows/packer-builds.yml deleted file mode 100644 index ece212fe7..000000000 --- a/.github/workflows/packer-builds.yml +++ /dev/null @@ -1,230 +0,0 @@ ---- -on: - workflow_call: - secrets: - PACKER_GITHUB_API_TOKEN: - required: true - -jobs: - builds-x86_64: - runs-on: macos-latest - strategy: - fail-fast: false - matrix: - os: - - almalinux-8 - - almalinux-9 - - centos-7 - - centos-stream-8 - - centos-stream-9 - - debian-10 - - debian-11 - - fedora-36 - - fedora-37 - - freebsd-12 - - freebsd-13 - - opensuse-leap-15 - - oraclelinux-7 - - oraclelinux-8 - - oraclelinux-9 - - rockylinux-8 - - rockylinux-9 - - scientificlinux-7 - - springdalelinux-7 - - springdalelinux-8 - - springdalelinux-9 - - ubuntu-18.04 - - ubuntu-20.04 - - ubuntu-22.04 - - ubuntu-22.10 - - windows-10 - - windows-11 - - windows-2012r2 - - windows-2016 - - windows-2019 - - windows-2022 - provider: - - qemu - - virtualbox-iso - exclude: - - os: centos-stream-9 - provider: virtualbox-iso - steps: - - name: Checkout - uses: actions/checkout@main - - name: Pull Change list - id: changed-files - uses: collin-miller/git-changesets@master - - name: Verify Changed files - id: verify-changed-files - run: | - echo '${{ steps.changed-files.outputs.added_modified }}' > changed.txt - if grep ".*\.pkrvars.hcl" changed.txt; then - echo "files_changed=true" >> $GITHUB_OUTPUT - else - echo "files_changed=false" >> $GITHUB_OUTPUT - fi - - name: Setup Packer - if: steps.verify-changed-files.outputs.files_changed == 'true' - uses: hashicorp/setup-packer@main - with: - version: latest - - name: Packer Init - if: steps.verify-changed-files.outputs.files_changed == 'true' - env: - PACKER_GITHUB_API_TOKEN: "${{ secrets.PACKER_GITHUB_API_TOKEN }}" - run: packer init -upgrade packer_templates - - name: Packer build - if: steps.verify-changed-files.outputs.files_changed == 'true' - run: packer build -only=${{ matrix.provider }}.vm -var "qemu_accelerator=hvf" -var-file=os_pkrvars/$(echo ${{ matrix.os }} | cut -d "-" -f 1)/"${{ matrix.os }}-x86_64.pkrvars.hcl" packer_templates - - name: Upload build artifact - uses: actions/upload-artifact@main - with: - name: vagrant-boxes - path: | - builds/*.box - retention-days: 10 - - builds-aarch64: - runs-on: self-hosted - strategy: - fail-fast: false - matrix: - os: - - almalinux-8 - - almalinux-9 - - centos-7 - - centos-stream-8 - - centos-stream-9 - - debian-10 - - debian-11 - - fedora-36 - - fedora-37 - - oraclelinux-7 - - oraclelinux-8 - - oraclelinux-9 - - rockylinux-8 - - rockylinux-9 - - ubuntu-20.04 - - ubuntu-22.04 - - ubuntu-22.10 - provider: - - parallels-iso - # - qemu - # - virtualbox-iso - # - vmware-iso - steps: - - name: Checkout - uses: actions/checkout@main - - name: Pull Change list - id: changed-files - uses: collin-miller/git-changesets@master - - name: Verify Changed files - id: verify-changed-files - run: | - echo '${{ steps.changed-files.outputs.added_modified }}' > changed.txt - if grep ".*\.pkrvars.hcl" changed.txt; then - echo "files_changed=true" >> $GITHUB_OUTPUT - else - echo "files_changed=false" >> $GITHUB_OUTPUT - fi - - name: Setup Packer - if: steps.verify-changed-files.outputs.files_changed == 'true' - uses: hashicorp/setup-packer@main - with: - version: latest - - name: Packer Init - if: steps.verify-changed-files.outputs.files_changed == 'true' - env: - PACKER_GITHUB_API_TOKEN: "${{ secrets.PACKER_GITHUB_API_TOKEN }}" - run: packer init -upgrade packer_templates - - name: Packer build - if: steps.verify-changed-files.outputs.files_changed == 'true' - run: packer build -only=${{ matrix.provider }}.vm -var "qemu_accelerator=hvf" -var-file=os_pkrvars/$(echo ${{ matrix.os }} | cut -d "-" -f 1)/"${{ matrix.os }}-aarch64.pkrvars.hcl" packer_templates - - name: Upload build artifact - uses: actions/upload-artifact@v3 - with: - name: vagrant-boxes - path: | - builds - !builds/packer-*/* - !build/.gitkeep - retention-days: 10 - -# builds-x86_64-hyperv: -# runs-on: windows-latest -# strategy: -# fail-fast: false -# matrix: -# os: -# - almalinux-8 -# - almalinux-9 -# - centos-7 -# - centos-stream-8 -# - centos-stream-9 -# - debian-10 -# - debian-11 -# - fedora-36 -# - fedora-37 -# - freebsd-12 -# - freebsd-13 -# - opensuse-leap-15 -# - oraclelinux-7 -# - oraclelinux-8 -# - oraclelinux-9 -# - rockylinux-8 -# - rockylinux-9 -# - scientificlinux-7 -# - springdalelinux-7 -# - springdalelinux-8 -# - springdalelinux-9 -# - ubuntu-18.04 -# - ubuntu-20.04 -# - ubuntu-22.04 -# - ubuntu-22.10 -# - windows-10 -# - windows-11 -# - windows-2012r2 -# - windows-2016 -# - windows-2019 -# - windows-2022 -# provider: -# - hyperv-iso -# -# steps: -# - name: Checkout -# uses: actions/checkout@main -# - name: Pull Change list -# id: changed-files -# uses: collin-miller/git-changesets@master -# - name: Verify Changed files -# id: verify-changed-files -# run: | -# echo '${{ steps.changed-files.outputs.added_modified }}' > changed.txt -# if grep ".*\.pkrvars.hcl" changed.txt; then -# echo "files_changed=true" >> $GITHUB_OUTPUT -# else -# echo "files_changed=false" >> $GITHUB_OUTPUT -# fi -# - name: Setup Packer -# if: steps.verify-changed-files.outputs.files_changed == 'true' -# uses: hashicorp/setup-packer@main -# with: -# version: latest -# - name: Packer Init -# if: steps.verify-changed-files.outputs.files_changed == 'true' -# env: -# PACKER_GITHUB_API_TOKEN: "${{ secrets.PACKER_GITHUB_API_TOKEN }}" -# run: packer init -upgrade packer_templates -# - name: Packer build -# if: steps.verify-changed-files.outputs.files_changed == 'true' -# run: packer build -only=${{ matrix.provider }}.vm -var "qemu_accelerator=whpx" -var-file=os_pkrvars/$(echo ${{ matrix.os }} | cut -d "-" -f 1)/"${{ matrix.os }}-x86_64.pkrvars.hcl" packer_templates -# - name: Upload build artifact -# uses: actions/upload-artifact@main -# with: -# name: vagrant-boxes -# path: | -# builds -# !builds/packer-*/* -# !build/.gitkeep -# retention-days: 10 diff --git a/.github/workflows/pkr-bld-amazonlinux-x64.yml b/.github/workflows/pkr-bld-amazonlinux-x64.yml new file mode 100644 index 000000000..49f6342f8 --- /dev/null +++ b/.github/workflows/pkr-bld-amazonlinux-x64.yml @@ -0,0 +1,45 @@ +--- +on: + workflow_call: + secrets: + PACKER_GITHUB_API_TOKEN: + required: true + +jobs: + x86_64: + runs-on: [self-hosted, X64, virtualbox] + steps: + - name: Checkout + uses: actions/checkout@main + - name: Pull Change list + id: changed-files + uses: collin-miller/git-changesets@master + - name: Verify Changed files + id: verify-changed-files + run: | + echo '${{ steps.changed-files.outputs.added_modified }}' > changed.txt + if grep ".*\.pkrvars.hcl" changed.txt; then + echo "files_changed=true" >> $GITHUB_OUTPUT + else + echo "files_changed=false" >> $GITHUB_OUTPUT + fi + - name: Setup Packer + if: steps.verify-changed-files.outputs.files_changed == 'true' + uses: hashicorp/setup-packer@main + with: + version: latest + - name: Packer Init + if: steps.verify-changed-files.outputs.files_changed == 'true' + env: + PACKER_GITHUB_API_TOKEN: "${{ secrets.PACKER_GITHUB_API_TOKEN }}" + run: packer init -upgrade packer_templates + - name: Packer build + if: steps.verify-changed-files.outputs.files_changed == 'true' + run: ./AMZ_build_virtualbox-ovf.sh + - name: Upload build artifact + uses: actions/upload-artifact@main + with: + name: "${{ matrix.os }}-virtualbox-x86_64.box" + path: | + builds/*.box + retention-days: 10 diff --git a/.github/workflows/pkr-bld-hyperv-x64.yml b/.github/workflows/pkr-bld-hyperv-x64.yml new file mode 100644 index 000000000..acc926d76 --- /dev/null +++ b/.github/workflows/pkr-bld-hyperv-x64.yml @@ -0,0 +1,84 @@ +--- +on: + workflow_call: + secrets: + PACKER_GITHUB_API_TOKEN: + required: true + +jobs: + x86_64: + runs-on: [self-hosted, X64, hyperv] + strategy: + fail-fast: false + matrix: + os: + - almalinux-8 + - almalinux-9 + - centos-7 + - centos-stream-8 + - centos-stream-9 + - debian-10 + - debian-11 + - fedora-36 + - fedora-37 + - freebsd-12 + - freebsd-13 + - opensuse-leap-15 + - oraclelinux-7 + - oraclelinux-8 + - oraclelinux-9 + - rockylinux-8 + - rockylinux-9 + - scientificlinux-7 + - springdalelinux-7 + - springdalelinux-8 + - springdalelinux-9 + - ubuntu-18.04 + - ubuntu-20.04 + - ubuntu-22.04 + - ubuntu-22.10 + - windows-10 + - windows-10gen2 + - windows-11 + - windows-11gen2 + - windows-2012r2 + - windows-2016 + - windows-2019 + - windows-2022 + provider: + - hyperv-iso + steps: + - name: Checkout + uses: actions/checkout@main +# - name: Pull Change list +# id: changed-files +# uses: collin-miller/git-changesets@master +# - name: Verify Changed files +# id: verify-changed-files +# run: | +# echo '${{ steps.changed-files.outputs.added_modified }}' > changed.txt +# if grep ".*\.pkrvars.hcl" changed.txt; then +# echo "files_changed=true" >> $GITHUB_OUTPUT +# else +# echo "files_changed=false" >> $GITHUB_OUTPUT +# fi + - name: Setup Packer +# if: steps.verify-changed-files.outputs.files_changed == 'true' + uses: hashicorp/setup-packer@main + with: + version: latest + - name: Packer Init +# if: steps.verify-changed-files.outputs.files_changed == 'true' + env: + PACKER_GITHUB_API_TOKEN: "${{ secrets.PACKER_GITHUB_API_TOKEN }}" + run: packer init -upgrade packer_templates + - name: Packer build +# if: steps.verify-changed-files.outputs.files_changed == 'true' + run: packer build -timestamp-ui -only="${{ matrix.provider }}.vm" -var-file="os_pkrvars/$("${{ matrix.os }}".Split('-')[0])/${{ matrix.os }}-x86_64.pkrvars.hcl" packer_templates + - name: Upload build artifact + uses: actions/upload-artifact@main + with: + name: "${{ matrix.os }}-hyperv-x86_64.box" + path: | + builds/*.box + retention-days: 10 diff --git a/.github/workflows/pkr-bld-parallels-arm64.yml b/.github/workflows/pkr-bld-parallels-arm64.yml new file mode 100644 index 000000000..09a9d7e50 --- /dev/null +++ b/.github/workflows/pkr-bld-parallels-arm64.yml @@ -0,0 +1,69 @@ +--- +on: + workflow_call: + secrets: + PACKER_GITHUB_API_TOKEN: + required: true + +jobs: + aarch64: + runs-on: [self-hosted, ARM64, parallels] + strategy: + fail-fast: false + matrix: + os: + - almalinux-8 + - almalinux-9 + - centos-7 + - centos-stream-8 + - centos-stream-9 + - debian-10 + - debian-11 + - fedora-36 + - fedora-37 + - oraclelinux-7 + - oraclelinux-8 + - oraclelinux-9 + - rockylinux-8 + - rockylinux-9 + - ubuntu-18.04 + - ubuntu-20.04 + - ubuntu-22.04 + - ubuntu-22.10 + provider: + - parallels-iso + steps: + - name: Checkout + uses: actions/checkout@main + - name: Pull Change list + id: changed-files + uses: collin-miller/git-changesets@master + - name: Verify Changed files + id: verify-changed-files + run: | + echo '${{ steps.changed-files.outputs.added_modified }}' > changed.txt + if grep ".*\.pkrvars.hcl" changed.txt; then + echo "files_changed=true" >> $GITHUB_OUTPUT + else + echo "files_changed=false" >> $GITHUB_OUTPUT + fi + - name: Setup Packer + if: steps.verify-changed-files.outputs.files_changed == 'true' + uses: hashicorp/setup-packer@main + with: + version: latest + - name: Packer Init + if: steps.verify-changed-files.outputs.files_changed == 'true' + env: + PACKER_GITHUB_API_TOKEN: "${{ secrets.PACKER_GITHUB_API_TOKEN }}" + run: packer init -upgrade packer_templates + - name: Packer build + if: steps.verify-changed-files.outputs.files_changed == 'true' + run: packer build -timestamp-ui -only=${{ matrix.provider }}.vm -var-file=os_pkrvars/$(echo ${{ matrix.os }} | cut -d "-" -f 1)/"${{ matrix.os }}-aarch64.pkrvars.hcl" packer_templates + - name: Upload build artifact + uses: actions/upload-artifact@v3 + with: + name: "${{ matrix.os }}-parallels-aarch64.box" + path: | + builds/*.box + retention-days: 10 diff --git a/.github/workflows/pkr-bld-parallels-x64.yml b/.github/workflows/pkr-bld-parallels-x64.yml new file mode 100644 index 000000000..2af687438 --- /dev/null +++ b/.github/workflows/pkr-bld-parallels-x64.yml @@ -0,0 +1,82 @@ +--- +on: + workflow_call: + secrets: + PACKER_GITHUB_API_TOKEN: + required: true + +jobs: + x86_64: + runs-on: [self-hosted, X64, parallels] + strategy: + fail-fast: false + matrix: + os: + - almalinux-8 + - almalinux-9 + - centos-7 + - centos-stream-8 + - centos-stream-9 + - debian-10 + - debian-11 + - fedora-36 + - fedora-37 + - freebsd-12 + - freebsd-13 + - opensuse-leap-15 + - oraclelinux-7 + - oraclelinux-8 + - oraclelinux-9 + - rockylinux-8 + - rockylinux-9 + - scientificlinux-7 + - springdalelinux-7 + - springdalelinux-8 + - springdalelinux-9 + - ubuntu-18.04 + - ubuntu-20.04 + - ubuntu-22.04 + - ubuntu-22.10 + - windows-10 + - windows-11 + - windows-2012r2 + - windows-2016 + - windows-2019 + - windows-2022 + provider: + - parallels-iso + steps: + - name: Checkout + uses: actions/checkout@main + - name: Pull Change list + id: changed-files + uses: collin-miller/git-changesets@master + - name: Verify Changed files + id: verify-changed-files + run: | + echo '${{ steps.changed-files.outputs.added_modified }}' > changed.txt + if grep ".*\.pkrvars.hcl" changed.txt; then + echo "files_changed=true" >> $GITHUB_OUTPUT + else + echo "files_changed=false" >> $GITHUB_OUTPUT + fi + - name: Setup Packer + if: steps.verify-changed-files.outputs.files_changed == 'true' + uses: hashicorp/setup-packer@main + with: + version: latest + - name: Packer Init + if: steps.verify-changed-files.outputs.files_changed == 'true' + env: + PACKER_GITHUB_API_TOKEN: "${{ secrets.PACKER_GITHUB_API_TOKEN }}" + run: packer init -upgrade packer_templates + - name: Packer build + if: steps.verify-changed-files.outputs.files_changed == 'true' + run: packer build -timestamp-ui -only=${{ matrix.provider }}.vm -var-file=os_pkrvars/$(echo ${{ matrix.os }} | cut -d "-" -f 1)/"${{ matrix.os }}-x86_64.pkrvars.hcl" packer_templates + - name: Upload build artifact + uses: actions/upload-artifact@v3 + with: + name: "${{ matrix.os }}-parallels-x86_64.box" + path: | + builds/*.box + retention-days: 10 diff --git a/.github/workflows/pkr-bld-qemu-arm64.yml b/.github/workflows/pkr-bld-qemu-arm64.yml new file mode 100644 index 000000000..a8b6d5338 --- /dev/null +++ b/.github/workflows/pkr-bld-qemu-arm64.yml @@ -0,0 +1,69 @@ +--- +on: + workflow_call: + secrets: + PACKER_GITHUB_API_TOKEN: + required: true + +jobs: + aarch64: + runs-on: [self-hosted, ARM64, qemu] + strategy: + fail-fast: false + matrix: + os: + - almalinux-8 + - almalinux-9 + - centos-7 + - centos-stream-8 + - centos-stream-9 + - debian-10 + - debian-11 + - fedora-36 + - fedora-37 + - oraclelinux-7 + - oraclelinux-8 + - oraclelinux-9 + - rockylinux-8 + - rockylinux-9 + - ubuntu-18.04 + - ubuntu-20.04 + - ubuntu-22.04 + - ubuntu-22.10 + provider: + - qemu + steps: + - name: Checkout + uses: actions/checkout@main + - name: Pull Change list + id: changed-files + uses: collin-miller/git-changesets@master + - name: Verify Changed files + id: verify-changed-files + run: | + echo '${{ steps.changed-files.outputs.added_modified }}' > changed.txt + if grep ".*\.pkrvars.hcl" changed.txt; then + echo "files_changed=true" >> $GITHUB_OUTPUT + else + echo "files_changed=false" >> $GITHUB_OUTPUT + fi + - name: Setup Packer + if: steps.verify-changed-files.outputs.files_changed == 'true' + uses: hashicorp/setup-packer@main + with: + version: latest + - name: Packer Init + if: steps.verify-changed-files.outputs.files_changed == 'true' + env: + PACKER_GITHUB_API_TOKEN: "${{ secrets.PACKER_GITHUB_API_TOKEN }}" + run: packer init -upgrade packer_templates + - name: Packer build + if: steps.verify-changed-files.outputs.files_changed == 'true' + run: packer build -timestamp-ui -only=${{ matrix.provider }}.vm -var "qemu_accelerator=hvf" -var-file=os_pkrvars/$(echo ${{ matrix.os }} | cut -d "-" -f 1)/"${{ matrix.os }}-aarch64.pkrvars.hcl" packer_templates + - name: Upload build artifact + uses: actions/upload-artifact@v3 + with: + name: "${{ matrix.os }}-qemu-aarch64.box" + path: | + builds/*.box + retention-days: 10 diff --git a/.github/workflows/pkr-bld-qemu-x64.yml b/.github/workflows/pkr-bld-qemu-x64.yml new file mode 100644 index 000000000..1625605ad --- /dev/null +++ b/.github/workflows/pkr-bld-qemu-x64.yml @@ -0,0 +1,84 @@ +--- +on: + workflow_call: + secrets: + PACKER_GITHUB_API_TOKEN: + required: true + +jobs: + x86_64: + runs-on: [self-hosted, X64, qemu] + strategy: + fail-fast: false + matrix: + os: + - almalinux-8 + - almalinux-9 + - centos-7 + - centos-stream-8 + - centos-stream-9 + - debian-10 + - debian-11 + - fedora-36 + - fedora-37 + - freebsd-12 + - freebsd-13 + - opensuse-leap-15 + - oraclelinux-7 + - oraclelinux-8 + - oraclelinux-9 + - rockylinux-8 + - rockylinux-9 + - scientificlinux-7 + - springdalelinux-7 + - springdalelinux-8 + - springdalelinux-9 + - ubuntu-18.04 + - ubuntu-20.04 + - ubuntu-22.04 + - ubuntu-22.10 + - windows-10 + - windows-11 + - windows-2012r2 + - windows-2016 + - windows-2019 + - windows-2022 + provider: + - qemu + steps: + - name: Checkout + uses: actions/checkout@main + - name: Pull Change list + id: changed-files + uses: collin-miller/git-changesets@master + - name: Verify Changed files + id: verify-changed-files + run: | + echo '${{ steps.changed-files.outputs.added_modified }}' > changed.txt + if grep ".*\.pkrvars.hcl" changed.txt; then + echo "files_changed=true" >> $GITHUB_OUTPUT + else + echo "files_changed=false" >> $GITHUB_OUTPUT + fi + - name: Download virtio-win.iso + run: curl https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.229-1/virtio-win.iso -o packer_templates/win_answer_files/virtio-win.iso + - name: Setup Packer + if: steps.verify-changed-files.outputs.files_changed == 'true' + uses: hashicorp/setup-packer@main + with: + version: latest + - name: Packer Init + if: steps.verify-changed-files.outputs.files_changed == 'true' + env: + PACKER_GITHUB_API_TOKEN: "${{ secrets.PACKER_GITHUB_API_TOKEN }}" + run: packer init -upgrade packer_templates + - name: Packer build + if: steps.verify-changed-files.outputs.files_changed == 'true' + run: packer build -timestamp-ui -only=${{ matrix.provider }}.vm -var "qemu_accelerator=hvf" -var-file=os_pkrvars/$(echo ${{ matrix.os }} | cut -d "-" -f 1)/"${{ matrix.os }}-x86_64.pkrvars.hcl" packer_templates + - name: Upload build artifact + uses: actions/upload-artifact@main + with: + name: "${{ matrix.os }}-qemu-x86_64.box" + path: | + builds/*.box + retention-days: 10 diff --git a/.github/workflows/pkr-bld-virtualbox-arm64.yml b/.github/workflows/pkr-bld-virtualbox-arm64.yml new file mode 100644 index 000000000..48f6651f6 --- /dev/null +++ b/.github/workflows/pkr-bld-virtualbox-arm64.yml @@ -0,0 +1,69 @@ +--- +on: + workflow_call: + secrets: + PACKER_GITHUB_API_TOKEN: + required: true + +jobs: + aarch64: + runs-on: [self-hosted, ARM64, virtualbox] + strategy: + fail-fast: false + matrix: + os: + - almalinux-8 + - almalinux-9 + - centos-7 + - centos-stream-8 + - centos-stream-9 + - debian-10 + - debian-11 + - fedora-36 + - fedora-37 + - oraclelinux-7 + - oraclelinux-8 + - oraclelinux-9 + - rockylinux-8 + - rockylinux-9 + - ubuntu-18.04 + - ubuntu-20.04 + - ubuntu-22.04 + - ubuntu-22.10 + provider: + - virtualbox-iso + steps: + - name: Checkout + uses: actions/checkout@main + - name: Pull Change list + id: changed-files + uses: collin-miller/git-changesets@master + - name: Verify Changed files + id: verify-changed-files + run: | + echo '${{ steps.changed-files.outputs.added_modified }}' > changed.txt + if grep ".*\.pkrvars.hcl" changed.txt; then + echo "files_changed=true" >> $GITHUB_OUTPUT + else + echo "files_changed=false" >> $GITHUB_OUTPUT + fi + - name: Setup Packer + if: steps.verify-changed-files.outputs.files_changed == 'true' + uses: hashicorp/setup-packer@main + with: + version: latest + - name: Packer Init + if: steps.verify-changed-files.outputs.files_changed == 'true' + env: + PACKER_GITHUB_API_TOKEN: "${{ secrets.PACKER_GITHUB_API_TOKEN }}" + run: packer init -upgrade packer_templates + - name: Packer build + if: steps.verify-changed-files.outputs.files_changed == 'true' + run: packer build -timestamp-ui -only=${{ matrix.provider }}.vm -var-file=os_pkrvars/$(echo ${{ matrix.os }} | cut -d "-" -f 1)/"${{ matrix.os }}-aarch64.pkrvars.hcl" packer_templates + - name: Upload build artifact + uses: actions/upload-artifact@main + with: + name: "${{ matrix.os }}-virtualbox-aarch64.box" + path: | + builds/*.box + retention-days: 10 diff --git a/.github/workflows/pkr-bld-virtualbox-x64.yml b/.github/workflows/pkr-bld-virtualbox-x64.yml new file mode 100644 index 000000000..8b581833f --- /dev/null +++ b/.github/workflows/pkr-bld-virtualbox-x64.yml @@ -0,0 +1,82 @@ +--- +on: + workflow_call: + secrets: + PACKER_GITHUB_API_TOKEN: + required: true + +jobs: + x86_64: + runs-on: [self-hosted, X64, virtualbox] + strategy: + fail-fast: false + matrix: + os: + - almalinux-8 + - almalinux-9 + - centos-7 + - centos-stream-8 + - centos-stream-9 + - debian-10 + - debian-11 + - fedora-36 + - fedora-37 + - freebsd-12 + - freebsd-13 + - opensuse-leap-15 + - oraclelinux-7 + - oraclelinux-8 + - oraclelinux-9 + - rockylinux-8 + - rockylinux-9 + - scientificlinux-7 + - springdalelinux-7 + - springdalelinux-8 + - springdalelinux-9 + - ubuntu-18.04 + - ubuntu-20.04 + - ubuntu-22.04 + - ubuntu-22.10 + - windows-10 + - windows-11 + - windows-2012r2 + - windows-2016 + - windows-2019 + - windows-2022 + provider: + - virtualbox-iso + steps: + - name: Checkout + uses: actions/checkout@main + - name: Pull Change list + id: changed-files + uses: collin-miller/git-changesets@master + - name: Verify Changed files + id: verify-changed-files + run: | + echo '${{ steps.changed-files.outputs.added_modified }}' > changed.txt + if grep ".*\.pkrvars.hcl" changed.txt; then + echo "files_changed=true" >> $GITHUB_OUTPUT + else + echo "files_changed=false" >> $GITHUB_OUTPUT + fi + - name: Setup Packer + if: steps.verify-changed-files.outputs.files_changed == 'true' + uses: hashicorp/setup-packer@main + with: + version: latest + - name: Packer Init + if: steps.verify-changed-files.outputs.files_changed == 'true' + env: + PACKER_GITHUB_API_TOKEN: "${{ secrets.PACKER_GITHUB_API_TOKEN }}" + run: packer init -upgrade packer_templates + - name: Packer build + if: steps.verify-changed-files.outputs.files_changed == 'true' + run: packer build -timestamp-ui -only=${{ matrix.provider }}.vm -var-file=os_pkrvars/$(echo ${{ matrix.os }} | cut -d "-" -f 1)/"${{ matrix.os }}-x86_64.pkrvars.hcl" packer_templates + - name: Upload build artifact + uses: actions/upload-artifact@main + with: + name: "${{ matrix.os }}-virtualbox-x86_64.box" + path: | + builds/*.box + retention-days: 10 diff --git a/.github/workflows/pkr-bld-vmware-arm64.yml b/.github/workflows/pkr-bld-vmware-arm64.yml new file mode 100644 index 000000000..0c6bfaf6f --- /dev/null +++ b/.github/workflows/pkr-bld-vmware-arm64.yml @@ -0,0 +1,69 @@ +--- +on: + workflow_call: + secrets: + PACKER_GITHUB_API_TOKEN: + required: true + +jobs: + aarch64: + runs-on: [self-hosted, ARM64, vmware-fusion] + strategy: + fail-fast: false + matrix: + os: + - almalinux-8 + - almalinux-9 + - centos-7 + - centos-stream-8 + - centos-stream-9 + - debian-10 + - debian-11 + - fedora-36 + - fedora-37 + - oraclelinux-7 + - oraclelinux-8 + - oraclelinux-9 + - rockylinux-8 + - rockylinux-9 + - ubuntu-18.04 + - ubuntu-20.04 + - ubuntu-22.04 + - ubuntu-22.10 + provider: + - vmware-iso + steps: + - name: Checkout + uses: actions/checkout@main + - name: Pull Change list + id: changed-files + uses: collin-miller/git-changesets@master + - name: Verify Changed files + id: verify-changed-files + run: | + echo '${{ steps.changed-files.outputs.added_modified }}' > changed.txt + if grep ".*\.pkrvars.hcl" changed.txt; then + echo "files_changed=true" >> $GITHUB_OUTPUT + else + echo "files_changed=false" >> $GITHUB_OUTPUT + fi + - name: Setup Packer + if: steps.verify-changed-files.outputs.files_changed == 'true' + uses: hashicorp/setup-packer@main + with: + version: latest + - name: Packer Init + if: steps.verify-changed-files.outputs.files_changed == 'true' + env: + PACKER_GITHUB_API_TOKEN: "${{ secrets.PACKER_GITHUB_API_TOKEN }}" + run: packer init -upgrade packer_templates + - name: Packer build + if: steps.verify-changed-files.outputs.files_changed == 'true' + run: packer build -timestamp-ui -only=${{ matrix.provider }}.vm -var-file=os_pkrvars/$(echo ${{ matrix.os }} | cut -d "-" -f 1)/"${{ matrix.os }}-aarch64.pkrvars.hcl" packer_templates + - name: Upload build artifact + uses: actions/upload-artifact@v3 + with: + name: "${{ matrix.os }}-vmware-aarch64.box" + path: | + builds/*.box + retention-days: 10 diff --git a/.github/workflows/pkr-bld-vmware-x64.yml b/.github/workflows/pkr-bld-vmware-x64.yml new file mode 100644 index 000000000..e97262588 --- /dev/null +++ b/.github/workflows/pkr-bld-vmware-x64.yml @@ -0,0 +1,82 @@ +--- +on: + workflow_call: + secrets: + PACKER_GITHUB_API_TOKEN: + required: true + +jobs: + x86_64: + runs-on: [self-hosted, X64, vmware-fusion] + strategy: + fail-fast: false + matrix: + os: + - almalinux-8 + - almalinux-9 + - centos-7 + - centos-stream-8 + - centos-stream-9 + - debian-10 + - debian-11 + - fedora-36 + - fedora-37 + - freebsd-12 + - freebsd-13 + - opensuse-leap-15 + - oraclelinux-7 + - oraclelinux-8 + - oraclelinux-9 + - rockylinux-8 + - rockylinux-9 + - scientificlinux-7 + - springdalelinux-7 + - springdalelinux-8 + - springdalelinux-9 + - ubuntu-18.04 + - ubuntu-20.04 + - ubuntu-22.04 + - ubuntu-22.10 + - windows-10 + - windows-11 + - windows-2012r2 + - windows-2016 + - windows-2019 + - windows-2022 + provider: + - vmware-iso + steps: + - name: Checkout + uses: actions/checkout@main + - name: Pull Change list + id: changed-files + uses: collin-miller/git-changesets@master + - name: Verify Changed files + id: verify-changed-files + run: | + echo '${{ steps.changed-files.outputs.added_modified }}' > changed.txt + if grep ".*\.pkrvars.hcl" changed.txt; then + echo "files_changed=true" >> $GITHUB_OUTPUT + else + echo "files_changed=false" >> $GITHUB_OUTPUT + fi + - name: Setup Packer + if: steps.verify-changed-files.outputs.files_changed == 'true' + uses: hashicorp/setup-packer@main + with: + version: latest + - name: Packer Init + if: steps.verify-changed-files.outputs.files_changed == 'true' + env: + PACKER_GITHUB_API_TOKEN: "${{ secrets.PACKER_GITHUB_API_TOKEN }}" + run: packer init -upgrade packer_templates + - name: Packer build + if: steps.verify-changed-files.outputs.files_changed == 'true' + run: packer build -timestamp-ui -only=${{ matrix.provider }}.vm -var-file=os_pkrvars/$(echo ${{ matrix.os }} | cut -d "-" -f 1)/"${{ matrix.os }}-x86_64.pkrvars.hcl" packer_templates + - name: Upload build artifact + uses: actions/upload-artifact@v3 + with: + name: "${{ matrix.os }}-vmware-x86_64.box" + path: | + builds/*.box + retention-days: 10 diff --git a/.gitignore b/.gitignore index 7f457c5cc..5f4b6dddd 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,7 @@ *.vdi *.log virtualfloppy.vfd -packer_cache +packer_cache/ packer.log .DS_Store Gemfile.lock diff --git a/.mdlrc b/.mdlrc index f9c9a2dd7..295c24970 100644 --- a/.mdlrc +++ b/.mdlrc @@ -1 +1 @@ -rules "~MD007", "~MD013", "~MD024" +rules "~MD007", "~MD013", "~MD024", "~MD033" diff --git a/AMZ_build_virtualbox-ovf.sh b/AMZ_build_virtualbox-ovf.sh index dd683a7d5..aff63234e 100755 --- a/AMZ_build_virtualbox-ovf.sh +++ b/AMZ_build_virtualbox-ovf.sh @@ -20,10 +20,10 @@ if [ ! -f "$AMZDIR"/amazon.vdi ]; then fi echo "Cleaning up old files" -rm "$AMZDIR"/*.iso "$AMZDIR"/*.ovf "$AMZDIR"/*.vmdk +rm -f "$AMZDIR"/*.iso "$AMZDIR"/*.ovf "$AMZDIR"/*.vmdk echo "Creating ISO" -hdiutil makehybrid -o "$AMZDIR"/seed.iso -hfs -joliet -iso -default-volume-name cidata seed_iso +hdiutil makehybrid -o "$AMZDIR"/seed.iso -hfs -joliet -iso -default-volume-name cidata "$AMZDIR"/../amz_seed_iso VM="AmazonLinuxBento" echo Powering off and deleting any existing VMs named $VM @@ -59,7 +59,9 @@ echo Deleting the VM vboxmanage unregistervm $VM --delete echo starting packer build of amazonlinux -if packer build -only=virtualbox-ovf.amazonlinux -var-file="$SCRIPT_RELATIVE_DIR"/os_pkrvars/amazonlinux/amazonlinux-2-x86_64.pkrvars.hcl "$SCRIPT_RELATIVE_DIR"/packer_templates; then +if packer build -timestamp-ui -only=virtualbox-ovf.amazonlinux -var-file="$AMZDIR"/../../os_pkrvars/amazonlinux/amazonlinux-2-x86_64.pkrvars.hcl "$AMZDIR"/../../packer_templates; then echo "Cleaning up files" - rm "$AMZDIR"/*.ovf "$AMZDIR"/*.vmdk "$AMZDIR"/*.iso + rm -f "$AMZDIR"/*.ovf "$AMZDIR"/*.vmdk "$AMZDIR"/*.iso +else + exit 1 fi diff --git a/CHANGELOG.md b/CHANGELOG.md index af6540a9e..e654dd7e3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,87 @@ # Change Log +## Working Builds + +***Note:** +Markdown table generated at + +| | hyperv
x86_64 | parallels
x86_64 | parallels
aarch64 | qemu
x86_64 | qemu
aarch64 | virtualbox
x86_64 | virtualbox
aarch64 | vmware
x86_64 | vmware
aarch64 | +|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:| +| almalinux-8 | | x | | x | | x | | x | | +| almalinux-9 | | x | | | | x | | x | | +| amazonlinux-2 | | na | na | na | na | x | | na | na | +| amazonlinux-2022 | na | na | na | na | na | na | na | na | na | +| centos-7 | | x | | x | | x | | x | | +| centos-stream-8 | | x | | x | | x | | x | | +| centos-stream-9 | | | | | | x | | x | | +| debian-10 | | | | | | x | | x | | +| debian-11 | | x | | | | x | | x | | +| fedora-36 | | x | | x | | x | | x | | +| fedora-37 | | x | | x | | x | | x | | +| freebsd-12 | | | na | | na | x | na | | na | +| freebsd-13 | | | na | | na | x | na | | na | +| opensuse-leap-15 | | | na | | na | | na | x | na | +| oraclelinux-7 | | x | | x | | x | | x | | +| oraclelinux-8 | | | | x | | x | | x | | +| oraclelinux-9 | | x | | | | x | | x | | +| rhel-7 | | | | | | | | | | +| rhel-8 | | | | | | | | | | +| rhel-9 | | | | | | | | | | +| rockylinux-8 | | x | | x | | x | | x | | +| rockylinux-9 | | x | | | | x | | x | | +| scientificlinux-7 | | x | na | | na | x | na | x | na | +| sles-12 | | | na | | na | | na | | na | +| sles-13 | | | na | | na | | na | | na | +| solaris-11 | | | na | | na | | na | | na | +| springdalelinux-7 | | x | na | x | na | | na | | na | +| springdalelinux-8 | | x | na | x | na | x | na | x | na | +| springdalelinux-9 | | x | na | | na | x | na | x | na | +| ubuntu-18.04 | | x | | | | x | | x | | +| ubuntu-20.04 | | | | | | | | | | +| ubuntu-22.04 | | x | | x | | x | | | | +| ubuntu-22.10 | | x | | x | | x | | x | | +| ubuntu-23.04 | na | na | na | na | na | na | na | na | na | +| windows-10 | x | x | na | | na | x | na | | na | +| windows-10gen2 | | na | na | na | na | na | na | na | na | +| windows-11 | x | x | na | | na | x | na | | na | +| windows-11gen2 | | na | na | na | na | na | na | na | na | +| windows-2012r2 | | x | na | | na | x | na | | na | +| windows-2016 | x | x | na | | na | x | na | x | na | +| windows-2019 | x | x | na | | na | x | na | | na | +| windows-2022 | x | x | na | | na | x | na | | na | + +## [unreleased] (2023-02-22) + +## [v202302.22.0] (2023-02-22) + +### New Platforms + +- Ubuntu 18.04 aarch64 + +### Fixes and updates + +- fixed Ubuntu aarch64 builds +- various box fixes as found +- added qemu pipeline builds +- added hyperv pipeline builds +- added vmware pipeline builds + +### Todo + +- Fix failing builds +- Add more Virtualization providers to build pipelines + - vmware + - aarch64 - vmware plugin has issues with fusion 13 + - virtualbox + - aarch64 - Vbox Beta support currently +- Finish removal of deprecated chef-solo provider to powershell provider for windows +- migrate from http directory for hosting files to cd_files in source templates + - This makes all builds compatable with hyper-v gen 2 which removes floppy disk capability + - This also makes things universal for Virtualbox 6.1 to 7.x due to latter requiring extra config for guests on NAT to be able to connect to host +- Update pipelines to only run on updated pkrvars files +- Create CD pipeline to upload vagrant boxes after PR is merged +- Create CD pipeline to build and upload new versions of vagrant boxes once every 3 months with the latest patches + ## [v202301.19.0] (2023-01-19) ### Notes diff --git a/README.md b/README.md index 9372d80a6..b98fdb680 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Bento is a project that encapsulates [Packer](https://www.packer.io/) templates ***NOTE:** -- Virutalbox 7.x requires extra config to allow nat network to connect to the host. To use uncomment lines #154 and #155 in bento/packer_templates/pkr-variables.pkr.hcl +- Virutalbox 6.x requires disabling nat config that allows vbox 7.x guests to connect to the host. To use comment out lines #161 and #162 in bento/packer_templates/pkr-variables.pkr.hcl or add variable `vboxmanage = []` to os_pkrvars files. - When running packer build command the output directory is relative to the working directory the command is currently running in. Suggest running packer build commands from bento root directory for build working files to be placed in bento/builds/(build_name) directory by default. If the output_directory variable isn't overwritten a directory called builds/(build_name) will be created in the current working directory that you are running the command from ## Using Public Boxes @@ -85,7 +85,7 @@ If the build is successful, your box files will be in the `builds` directory at #### KVM/qemu support for Windows -You must download [the iso image with the Windows drivers for paravirtualized KVM/qemu hardware](https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso). You can do this from the command line: `wget -nv -nc https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso -O virtio-win.iso`. +You must download [the iso image with the Windows drivers for paravirtualized KVM/qemu hardware](https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso). You can do this from the command line: `wget -nv -nc https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso -O virtio-win.iso` and place it in the packer_templates/win_answer_files/ directory. You can use the following sample command to build a KVM/qemu Windows box: @@ -156,7 +156,7 @@ These basebox templates were converted from [veewee](https://github.com/jedi4eve - Author: Corey Hemminger ([corey.hemminger@progress.com](mailto:corey.hemminger@progress.com)) ```text -Copyright 2012-2022, Progress Software, Inc. () +Copyright 2012-2023, Progress Software, Inc. () Copyright 2011-2012, Tim Dysinger () Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/os_pkrvars/almalinux/almalinux-8-aarch64.pkrvars.hcl b/os_pkrvars/almalinux/almalinux-8-aarch64.pkrvars.hcl index 136f4a0fc..235f83d83 100644 --- a/os_pkrvars/almalinux/almalinux-8-aarch64.pkrvars.hcl +++ b/os_pkrvars/almalinux/almalinux-8-aarch64.pkrvars.hcl @@ -1,10 +1,9 @@ os_name = "almalinux" os_version = "8.7" os_arch = "aarch64" -iso_url = "https://repo.almalinux.org/almalinux/8/isos/aarch64/AlmaLinux-8.7-aarch64-dvd.iso" +iso_url = "https://repo.almalinux.org/almalinux/8/isos/aarch64/AlmaLinux-8.7-update-1-aarch64-minimal.iso" iso_checksum = "file:https://repo.almalinux.org/almalinux/8/isos/aarch64/CHECKSUM" parallels_guest_os_type = "centos" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" -boot_command = ["e inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/8ks.cfg x"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] +boot_command = ["e inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/8ks.cfg x"] diff --git a/os_pkrvars/almalinux/almalinux-8-x86_64.pkrvars.hcl b/os_pkrvars/almalinux/almalinux-8-x86_64.pkrvars.hcl index a08fc7b7d..4063af098 100644 --- a/os_pkrvars/almalinux/almalinux-8-x86_64.pkrvars.hcl +++ b/os_pkrvars/almalinux/almalinux-8-x86_64.pkrvars.hcl @@ -1,10 +1,9 @@ os_name = "almalinux" os_version = "8.7" os_arch = "x86_64" -iso_url = "https://repo.almalinux.org/almalinux/8/isos/x86_64/AlmaLinux-8.7-x86_64-dvd.iso" -iso_checksum = "b95ddf9d56a849cc8eb4b95dd2321c13af637d3379b91f5d96c39e96fb4403b3" +iso_url = "https://repo.almalinux.org/almalinux/8/isos/x86_64/AlmaLinux-8.7-update-1-x86_64-minimal.iso" +iso_checksum = "file:https://repo.almalinux.org/almalinux/8/isos/x86_64/CHECKSUM" parallels_guest_os_type = "centos" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" -boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/8ks.cfg"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] +boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/8ks.cfg"] diff --git a/os_pkrvars/almalinux/almalinux-9-aarch64.pkrvars.hcl b/os_pkrvars/almalinux/almalinux-9-aarch64.pkrvars.hcl index 1de42577c..9f15caaad 100644 --- a/os_pkrvars/almalinux/almalinux-9-aarch64.pkrvars.hcl +++ b/os_pkrvars/almalinux/almalinux-9-aarch64.pkrvars.hcl @@ -2,9 +2,8 @@ os_name = "almalinux" os_version = "9.1" os_arch = "aarch64" iso_url = "https://repo.almalinux.org/almalinux/9/isos/aarch64/AlmaLinux-9.1-aarch64-dvd.iso" -iso_checksum = "a6f0fb355b9c82f13a95f3f02e19b0f07906a7e0f27e3bca144338ebac9abf40" +iso_checksum = "file:https://repo.almalinux.org/almalinux/9/isos/aarch64/CHECKSUM" parallels_guest_os_type = "centos" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" -boot_command = ["e inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/9ks.cfgx"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] +boot_command = ["e inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/9ks.cfg x"] diff --git a/os_pkrvars/almalinux/almalinux-9-x86_64.pkrvars.hcl b/os_pkrvars/almalinux/almalinux-9-x86_64.pkrvars.hcl index 017d333ca..8430665d0 100644 --- a/os_pkrvars/almalinux/almalinux-9-x86_64.pkrvars.hcl +++ b/os_pkrvars/almalinux/almalinux-9-x86_64.pkrvars.hcl @@ -2,9 +2,8 @@ os_name = "almalinux" os_version = "9.1" os_arch = "x86_64" iso_url = "https://repo.almalinux.org/almalinux/9/isos/x86_64/AlmaLinux-9.1-x86_64-dvd.iso" -iso_checksum = "2a44e3f8a012c132da19b9aae2bf949e20b116f0a2a7ac3eca111972f4ac952f" +iso_checksum = "file:https://repo.almalinux.org/almalinux/9/isos/x86_64/CHECKSUM" parallels_guest_os_type = "centos" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" -boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/9ks.cfg"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] +boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/9ks.cfg"] diff --git a/os_pkrvars/amazonlinux/amazonlinux-2-x86_64.pkrvars.hcl b/os_pkrvars/amazonlinux/amazonlinux-2-x86_64.pkrvars.hcl index e70713af9..4707acc7d 100644 --- a/os_pkrvars/amazonlinux/amazonlinux-2-x86_64.pkrvars.hcl +++ b/os_pkrvars/amazonlinux/amazonlinux-2-x86_64.pkrvars.hcl @@ -11,7 +11,10 @@ vboxmanage = [ "{{ .Name }}", "--memory", "2048", - "--cpus", "2", + "--cpus", + "2", + "--audio", + "none", "--nat-localhostreachable1", "on", ] diff --git a/os_pkrvars/centos/centos-7-aarch64.pkrvars.hcl b/os_pkrvars/centos/centos-7-aarch64.pkrvars.hcl index f443470c3..44bbeecc6 100644 --- a/os_pkrvars/centos/centos-7-aarch64.pkrvars.hcl +++ b/os_pkrvars/centos/centos-7-aarch64.pkrvars.hcl @@ -1,10 +1,9 @@ os_name = "centos" os_version = "7.9" os_arch = "aarch64" -iso_url = "https://quantum-mirror.hu/mirrors/pub/centos-altarch/7.9.2009/isos/aarch64/CentOS-7-aarch64-Everything-2009.iso" -iso_checksum = "b898822822fd5ffacc8da074adcd6b882ac0f73a269111b15871e16c2ce9d774" +iso_url = "https://quantum-mirror.hu/mirrors/pub/centos-altarch/7.9.2009/isos/aarch64/CentOS-7-aarch64-Minimal-2009.iso" +iso_checksum = "1bef71329e51f9bed12349aa026b3fe0c4bb27db729399a3f9addae22848da9b" parallels_guest_os_type = "centos" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" -boot_command = ["e text ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/7ks.cfg x"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] +boot_command = ["e text ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/7ks.cfg x"] diff --git a/os_pkrvars/centos/centos-7-x86_64.pkrvars.hcl b/os_pkrvars/centos/centos-7-x86_64.pkrvars.hcl index 3035da8a4..867d24baf 100644 --- a/os_pkrvars/centos/centos-7-x86_64.pkrvars.hcl +++ b/os_pkrvars/centos/centos-7-x86_64.pkrvars.hcl @@ -6,5 +6,4 @@ iso_checksum = "07b94e6b1a0b0260b94c83d6bb76b26bf7a310dc78d7a9c743280 parallels_guest_os_type = "centos" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" -boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/7ks.cfg"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] +boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/7ks.cfg"] diff --git a/os_pkrvars/centos/centos-stream-8-aarch64.pkrvars.hcl b/os_pkrvars/centos/centos-stream-8-aarch64.pkrvars.hcl index 9127ff5c6..6733e37c8 100644 --- a/os_pkrvars/centos/centos-stream-8-aarch64.pkrvars.hcl +++ b/os_pkrvars/centos/centos-stream-8-aarch64.pkrvars.hcl @@ -1,10 +1,9 @@ os_name = "centos-stream" os_version = "8" os_arch = "aarch64" -iso_url = "http://mirrors.kernel.org/centos/8-stream/isos/aarch64/CentOS-Stream-8-aarch64-latest-dvd1.iso" +iso_url = "https://mirrors.edge.kernel.org/centos/8-stream/isos/aarch64/CentOS-Stream-8-aarch64-latest-boot.iso" iso_checksum = "file:https://mirrors.edge.kernel.org/centos/8-stream/isos/aarch64/CHECKSUM" parallels_guest_os_type = "centos" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" -boot_command = ["e inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/8ks.cfg x"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] +boot_command = ["e inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/8ks.cfg x"] diff --git a/os_pkrvars/centos/centos-stream-8-x86_64.pkrvars.hcl b/os_pkrvars/centos/centos-stream-8-x86_64.pkrvars.hcl index d93a3e100..c2bfab5e4 100644 --- a/os_pkrvars/centos/centos-stream-8-x86_64.pkrvars.hcl +++ b/os_pkrvars/centos/centos-stream-8-x86_64.pkrvars.hcl @@ -6,5 +6,4 @@ iso_checksum = "file:https://mirrors.edge.kernel.org/centos/8-stream/ parallels_guest_os_type = "centos" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" -boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/8ks.cfg"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] +boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/8ks.cfg"] diff --git a/os_pkrvars/centos/centos-stream-9-aarch64.pkrvars.hcl b/os_pkrvars/centos/centos-stream-9-aarch64.pkrvars.hcl index 73718c793..7e3ed350c 100644 --- a/os_pkrvars/centos/centos-stream-9-aarch64.pkrvars.hcl +++ b/os_pkrvars/centos/centos-stream-9-aarch64.pkrvars.hcl @@ -1,10 +1,9 @@ os_name = "centos-stream" os_version = "9" os_arch = "aarch64" -iso_url = "http://mirror.stream.centos.org/9-stream/BaseOS/aarch64/iso/CentOS-Stream-9-latest-aarch64-dvd1.iso" -iso_checksum = "file:http://mirror.stream.centos.org/9-stream/BaseOS/aarch64/iso/CentOS-Stream-9-latest-aarch64-dvd1.iso.SHA256SUM" +iso_url = "https://mirror.stream.centos.org/9-stream/BaseOS/aarch64/iso/CentOS-Stream-9-latest-aarch64-dvd1.iso" +iso_checksum = "file:https://mirror.stream.centos.org/9-stream/BaseOS/aarch64/iso/CentOS-Stream-9-latest-aarch64-dvd1.iso.SHA256SUM" parallels_guest_os_type = "centos" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" -boot_command = ["e inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/9ks.cfg x"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] +boot_command = ["e inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/9ks.cfg x"] diff --git a/os_pkrvars/centos/centos-stream-9-x86_64.pkrvars.hcl b/os_pkrvars/centos/centos-stream-9-x86_64.pkrvars.hcl index 3a7786d99..b8eff55a4 100644 --- a/os_pkrvars/centos/centos-stream-9-x86_64.pkrvars.hcl +++ b/os_pkrvars/centos/centos-stream-9-x86_64.pkrvars.hcl @@ -1,10 +1,9 @@ os_name = "centos-stream" os_version = "9" os_arch = "x86_64" -iso_url = "http://mirror.stream.centos.org/9-stream/BaseOS/x86_64/iso/CentOS-Stream-9-latest-x86_64-dvd1.iso" -iso_checksum = "file:http://mirror.stream.centos.org/9-stream/BaseOS/x86_64/iso/CentOS-Stream-9-latest-x86_64-dvd1.iso.SHA256SUM" +iso_url = "https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/iso/CentOS-Stream-9-latest-x86_64-dvd1.iso" +iso_checksum = "file:https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/iso/CentOS-Stream-9-latest-x86_64-dvd1.iso.SHA256SUM" parallels_guest_os_type = "centos" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/9ks.cfg"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] diff --git a/os_pkrvars/debian/debian-10-aarch64.pkrvars.hcl b/os_pkrvars/debian/debian-10-aarch64.pkrvars.hcl index db55a8a8d..860f4348b 100644 --- a/os_pkrvars/debian/debian-10-aarch64.pkrvars.hcl +++ b/os_pkrvars/debian/debian-10-aarch64.pkrvars.hcl @@ -6,4 +6,4 @@ iso_checksum = "5c6f6df5febf691e95c08b630db3b1c13b9c5b3d19ea4b1515207 parallels_guest_os_type = "debian" vbox_guest_os_type = "Debian_64" vmware_guest_os_type = "debian-64" -boot_command = ["einstall preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/debian/preseed.cfg debian-installer=en_US.UTF-8 auto locale=en_US.UTF-8 kbd-chooser/method=us keyboard-configuration/xkb-keymap=us netcfg/get_hostname={{ .Name }} netcfg/get_domain=vagrantup.com fb=false debconf/frontend=noninteractive console-setup/ask_detect=false console-keymaps-at/keymap=us grub-installer/bootdev=/dev/sda "] +boot_command = ["einstall preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/debian/preseed.cfg debian-installer=en_US.UTF-8 auto locale=en_US.UTF-8 kbd-chooser/method=us keyboard-configuration/xkb-keymap=us netcfg/get_hostname={{ .Name }} netcfg/get_domain=vagrantup.com fb=false debconf/frontend=noninteractive console-setup/ask_detect=false console-keymaps-at/keymap=us grub-installer/bootdev=/dev/sda "] diff --git a/os_pkrvars/debian/debian-10-x86_64.pkrvars.hcl b/os_pkrvars/debian/debian-10-x86_64.pkrvars.hcl index bf00eb1b3..fe00bae06 100644 --- a/os_pkrvars/debian/debian-10-x86_64.pkrvars.hcl +++ b/os_pkrvars/debian/debian-10-x86_64.pkrvars.hcl @@ -6,4 +6,4 @@ iso_checksum = "07d493c305aa5313e767181af5ef2c2b2758a4a3f57e78fb4a4fc parallels_guest_os_type = "debian" vbox_guest_os_type = "Debian_64" vmware_guest_os_type = "debian-64" -boot_command = ["auto preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/debian/preseed.cfg netcfg/get_hostname={{ .Name }}"] +boot_command = ["auto preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/debian/preseed.cfg netcfg/get_hostname={{ .Name }}"] diff --git a/os_pkrvars/debian/debian-11-aarch64.pkrvars.hcl b/os_pkrvars/debian/debian-11-aarch64.pkrvars.hcl index 242e09f98..8be501084 100644 --- a/os_pkrvars/debian/debian-11-aarch64.pkrvars.hcl +++ b/os_pkrvars/debian/debian-11-aarch64.pkrvars.hcl @@ -6,4 +6,4 @@ iso_checksum = "b27ff768c10808518790d72d670c5588cdc60cf8934ef92773a89 parallels_guest_os_type = "debian" vbox_guest_os_type = "Debian_64" vmware_guest_os_type = "debian-64" -boot_command = ["einstall preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/debian/preseed.cfg debian-installer=en_US.UTF-8 auto locale=en_US.UTF-8 kbd-chooser/method=us keyboard-configuration/xkb-keymap=us netcfg/get_hostname={{ .Name }} netcfg/get_domain=vagrantup.com fb=false debconf/frontend=noninteractive console-setup/ask_detect=false console-keymaps-at/keymap=us grub-installer/bootdev=/dev/sda "] +boot_command = ["einstall preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/debian/preseed.cfg debian-installer=en_US.UTF-8 auto locale=en_US.UTF-8 kbd-chooser/method=us keyboard-configuration/xkb-keymap=us netcfg/get_hostname={{ .Name }} netcfg/get_domain=vagrantup.com fb=false debconf/frontend=noninteractive console-setup/ask_detect=false console-keymaps-at/keymap=us grub-installer/bootdev=/dev/sda "] diff --git a/os_pkrvars/debian/debian-11-x86_64.pkrvars.hcl b/os_pkrvars/debian/debian-11-x86_64.pkrvars.hcl index f1b9cf2cf..495ed8828 100644 --- a/os_pkrvars/debian/debian-11-x86_64.pkrvars.hcl +++ b/os_pkrvars/debian/debian-11-x86_64.pkrvars.hcl @@ -6,4 +6,4 @@ iso_checksum = "55f6f49b32d3797621297a9481a6cc3e21b3142f57d8e1279412f parallels_guest_os_type = "debian" vbox_guest_os_type = "Debian_64" vmware_guest_os_type = "debian-64" -boot_command = ["auto preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/debian/preseed.cfg netcfg/get_hostname={{ .Name }}"] +boot_command = ["auto preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/debian/preseed.cfg netcfg/get_hostname={{ .Name }}"] diff --git a/os_pkrvars/fedora/fedora-36-aarch64.pkrvars.hcl b/os_pkrvars/fedora/fedora-36-aarch64.pkrvars.hcl index ea90c94b9..86239aea4 100644 --- a/os_pkrvars/fedora/fedora-36-aarch64.pkrvars.hcl +++ b/os_pkrvars/fedora/fedora-36-aarch64.pkrvars.hcl @@ -6,4 +6,4 @@ iso_checksum = "sha256:0ab4000575ff8b258576750ecf4ca39b266f0c88cab5fe parallels_guest_os_type = "fedora-core" vbox_guest_os_type = "Fedora_64" vmware_guest_os_type = "fedora-64" -boot_command = ["e inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/fedora/ks.cfg"] +boot_command = ["e inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/fedora/ks.cfg"] diff --git a/os_pkrvars/fedora/fedora-36-x86_64.pkrvars.hcl b/os_pkrvars/fedora/fedora-36-x86_64.pkrvars.hcl index 638ef6c83..634f6a26c 100644 --- a/os_pkrvars/fedora/fedora-36-x86_64.pkrvars.hcl +++ b/os_pkrvars/fedora/fedora-36-x86_64.pkrvars.hcl @@ -6,4 +6,4 @@ iso_checksum = "sha256:5edaf708a52687b09f9810c2b6d2a3432edac1b18f4d8c parallels_guest_os_type = "fedora-core" vbox_guest_os_type = "Fedora_64" vmware_guest_os_type = "fedora-64" -boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/fedora/ks.cfg"] +boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/fedora/ks.cfg"] diff --git a/os_pkrvars/fedora/fedora-37-aarch64.pkrvars.hcl b/os_pkrvars/fedora/fedora-37-aarch64.pkrvars.hcl index 8ee47f2a1..86daf9c6e 100644 --- a/os_pkrvars/fedora/fedora-37-aarch64.pkrvars.hcl +++ b/os_pkrvars/fedora/fedora-37-aarch64.pkrvars.hcl @@ -6,4 +6,4 @@ iso_checksum = "sha256:1c2deba876bd2da3a429b1b0cd5e294508b8379b299913 parallels_guest_os_type = "fedora-core" vbox_guest_os_type = "Fedora_64" vmware_guest_os_type = "fedora-64" -boot_command = ["e inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/fedora/ks.cfg"] +boot_command = ["e inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/fedora/ks.cfg"] diff --git a/os_pkrvars/fedora/fedora-37-x86_64.pkrvars.hcl b/os_pkrvars/fedora/fedora-37-x86_64.pkrvars.hcl index 161cb2975..a304f86c4 100644 --- a/os_pkrvars/fedora/fedora-37-x86_64.pkrvars.hcl +++ b/os_pkrvars/fedora/fedora-37-x86_64.pkrvars.hcl @@ -6,4 +6,4 @@ iso_checksum = "sha256:0a4de5157af47b41a07a53726cd62ffabd04d5c1a4afec parallels_guest_os_type = "fedora-core" vbox_guest_os_type = "Fedora_64" vmware_guest_os_type = "fedora-64" -boot_command = ["e inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/fedora/ks.cfg"] +boot_command = ["e inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/fedora/ks.cfg"] diff --git a/os_pkrvars/freebsd/freebsd-12-x86_64.pkrvars.hcl b/os_pkrvars/freebsd/freebsd-12-x86_64.pkrvars.hcl index 3c1057dc2..4053f8bf1 100644 --- a/os_pkrvars/freebsd/freebsd-12-x86_64.pkrvars.hcl +++ b/os_pkrvars/freebsd/freebsd-12-x86_64.pkrvars.hcl @@ -6,4 +6,4 @@ iso_checksum = "606435637b76991f96df68f561badf03266f3d5452e9f72ed9b13 parallels_guest_os_type = "freebsd" vbox_guest_os_type = "FreeBSD_64" vmware_guest_os_type = "freedsd-64" -boot_command = ["boot -s/bin/shmdmfs -s 100m md1 /tmpmdmfs -s 100m md2 /mntdhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/freebsd/installerconfig \u0026\u0026 bsdinstall script /tmp/installerconfig"] +boot_command = ["boot -s/bin/shmdmfs -s 100m md1 /tmpmdmfs -s 100m md2 /mntdhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/freebsd/installerconfig \u0026\u0026 bsdinstall script /tmp/installerconfig"] diff --git a/os_pkrvars/freebsd/freebsd-13-x86_64.pkrvars.hcl b/os_pkrvars/freebsd/freebsd-13-x86_64.pkrvars.hcl index 45a638ca3..e7fc62048 100644 --- a/os_pkrvars/freebsd/freebsd-13-x86_64.pkrvars.hcl +++ b/os_pkrvars/freebsd/freebsd-13-x86_64.pkrvars.hcl @@ -6,4 +6,4 @@ iso_checksum = "697d81653fa246b921ddfcf1d15562c55249cc727b11fa3e47f47 parallels_guest_os_type = "freebsd" vbox_guest_os_type = "FreeBSD_64" vmware_guest_os_type = "freedsd-64" -boot_command = ["boot -s/bin/shmdmfs -s 100m md1 /tmpmdmfs -s 100m md2 /mntdhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/freebsd/installerconfig && bsdinstall script /tmp/installerconfig"] +boot_command = ["boot -s/bin/shmdmfs -s 100m md1 /tmpmdmfs -s 100m md2 /mntdhclient -p /tmp/dhclient.em0.pid -l /tmp/dhclient.lease.em0 em0fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/freebsd/installerconfig && bsdinstall script /tmp/installerconfig"] diff --git a/os_pkrvars/oraclelinux/oraclelinux-7-aarch64.pkrvars.hcl b/os_pkrvars/oraclelinux/oraclelinux-7-aarch64.pkrvars.hcl index 8dbec2587..bf32714d0 100644 --- a/os_pkrvars/oraclelinux/oraclelinux-7-aarch64.pkrvars.hcl +++ b/os_pkrvars/oraclelinux/oraclelinux-7-aarch64.pkrvars.hcl @@ -6,5 +6,4 @@ iso_checksum = "fd2c1b1e26858576534f6e6c4cf000a15cd81bec010dad5e827b2 parallels_guest_os_type = "centos" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" -boot_command = ["e text ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/7ks.cfg x"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] +boot_command = ["e text ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/7ks.cfg x"] diff --git a/os_pkrvars/oraclelinux/oraclelinux-7-x86_64.pkrvars.hcl b/os_pkrvars/oraclelinux/oraclelinux-7-x86_64.pkrvars.hcl index cee7d9eb8..6bd8977ad 100644 --- a/os_pkrvars/oraclelinux/oraclelinux-7-x86_64.pkrvars.hcl +++ b/os_pkrvars/oraclelinux/oraclelinux-7-x86_64.pkrvars.hcl @@ -6,5 +6,4 @@ iso_checksum = "dc2782bfd92b4c060cf8006fbc6e18036c27f599eebf3584a1a2a parallels_guest_os_type = "centos" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" -boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/7ks.cfg"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] +boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/7ks.cfg"] diff --git a/os_pkrvars/oraclelinux/oraclelinux-8-aarch64.pkrvars.hcl b/os_pkrvars/oraclelinux/oraclelinux-8-aarch64.pkrvars.hcl index 0d278fd4a..d9085068a 100644 --- a/os_pkrvars/oraclelinux/oraclelinux-8-aarch64.pkrvars.hcl +++ b/os_pkrvars/oraclelinux/oraclelinux-8-aarch64.pkrvars.hcl @@ -6,5 +6,4 @@ iso_checksum = "420000aa561e833d8dc9576815d068fb5b15fd9fb826a0d9c1277 parallels_guest_os_type = "centos" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" -boot_command = ["e inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/8ks.cfg x"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] +boot_command = ["e inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/8ks.cfg x"] diff --git a/os_pkrvars/oraclelinux/oraclelinux-8-x86_64.pkrvars.hcl b/os_pkrvars/oraclelinux/oraclelinux-8-x86_64.pkrvars.hcl index 0468a3bf9..bbfea5fff 100644 --- a/os_pkrvars/oraclelinux/oraclelinux-8-x86_64.pkrvars.hcl +++ b/os_pkrvars/oraclelinux/oraclelinux-8-x86_64.pkrvars.hcl @@ -6,5 +6,4 @@ iso_checksum = "dd6ede6c0597189b7dffb800b32835002bd95f19c254734aeb58f parallels_guest_os_type = "centos" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" -boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/8ks.cfg"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] +boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/8ks.cfg"] diff --git a/os_pkrvars/oraclelinux/oraclelinux-9-aarch64.pkrvars.hcl b/os_pkrvars/oraclelinux/oraclelinux-9-aarch64.pkrvars.hcl index 2e6e64fba..256517d79 100644 --- a/os_pkrvars/oraclelinux/oraclelinux-9-aarch64.pkrvars.hcl +++ b/os_pkrvars/oraclelinux/oraclelinux-9-aarch64.pkrvars.hcl @@ -6,5 +6,4 @@ iso_checksum = "3dc4578f53ceb1010f8236b3356f2441ec3f9e840fa60522e470d parallels_guest_os_type = "centos" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" -boot_command = ["e inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/9ks.cfg x"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] +boot_command = ["e inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/9ks.cfg x"] diff --git a/os_pkrvars/oraclelinux/oraclelinux-9-x86_64.pkrvars.hcl b/os_pkrvars/oraclelinux/oraclelinux-9-x86_64.pkrvars.hcl index 6f5ce533e..dd4cc14ce 100644 --- a/os_pkrvars/oraclelinux/oraclelinux-9-x86_64.pkrvars.hcl +++ b/os_pkrvars/oraclelinux/oraclelinux-9-x86_64.pkrvars.hcl @@ -6,5 +6,4 @@ iso_checksum = "a46ac0b717881a2673c7dc981b3219f6dea747e3d6bd18908fcb8 parallels_guest_os_type = "centos" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" -boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/9ks.cfg"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] +boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/9ks.cfg"] diff --git a/os_pkrvars/rhel/rhel-7-aarch64.pkrvars.hcl b/os_pkrvars/rhel/rhel-7-aarch64.pkrvars.hcl index 79133599b..692d2f395 100644 --- a/os_pkrvars/rhel/rhel-7-aarch64.pkrvars.hcl +++ b/os_pkrvars/rhel/rhel-7-aarch64.pkrvars.hcl @@ -7,4 +7,3 @@ parallels_guest_os_type = "rhel" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/7ks.cfg"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] diff --git a/os_pkrvars/rhel/rhel-7-x86_64.pkrvars.hcl b/os_pkrvars/rhel/rhel-7-x86_64.pkrvars.hcl index 5cf17ef6d..4b37d60bc 100644 --- a/os_pkrvars/rhel/rhel-7-x86_64.pkrvars.hcl +++ b/os_pkrvars/rhel/rhel-7-x86_64.pkrvars.hcl @@ -7,4 +7,3 @@ parallels_guest_os_type = "rhel" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/7ks.cfg"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] diff --git a/os_pkrvars/rhel/rhel-8-aarch64.pkrvars.hcl b/os_pkrvars/rhel/rhel-8-aarch64.pkrvars.hcl index 60eb62773..0563b97e9 100644 --- a/os_pkrvars/rhel/rhel-8-aarch64.pkrvars.hcl +++ b/os_pkrvars/rhel/rhel-8-aarch64.pkrvars.hcl @@ -7,4 +7,3 @@ parallels_guest_os_type = "rhel" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/8ks.cfg"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] diff --git a/os_pkrvars/rhel/rhel-8-x86_64.pkrvars.hcl b/os_pkrvars/rhel/rhel-8-x86_64.pkrvars.hcl index 257d0419a..4f37b78de 100644 --- a/os_pkrvars/rhel/rhel-8-x86_64.pkrvars.hcl +++ b/os_pkrvars/rhel/rhel-8-x86_64.pkrvars.hcl @@ -7,4 +7,3 @@ parallels_guest_os_type = "rhel" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/8ks.cfg"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] diff --git a/os_pkrvars/rhel/rhel-9-aarch64.pkrvars.hcl b/os_pkrvars/rhel/rhel-9-aarch64.pkrvars.hcl index bead13c30..e3d632afd 100644 --- a/os_pkrvars/rhel/rhel-9-aarch64.pkrvars.hcl +++ b/os_pkrvars/rhel/rhel-9-aarch64.pkrvars.hcl @@ -7,4 +7,3 @@ parallels_guest_os_type = "rhel" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/9ks.cfg"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] diff --git a/os_pkrvars/rhel/rhel-9-x86_64.pkrvars.hcl b/os_pkrvars/rhel/rhel-9-x86_64.pkrvars.hcl index 6f96ca240..61e6f486c 100644 --- a/os_pkrvars/rhel/rhel-9-x86_64.pkrvars.hcl +++ b/os_pkrvars/rhel/rhel-9-x86_64.pkrvars.hcl @@ -7,4 +7,3 @@ parallels_guest_os_type = "rhel" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/9ks.cfg"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] diff --git a/os_pkrvars/rockylinux/rockylinux-8-aarch64.pkrvars.hcl b/os_pkrvars/rockylinux/rockylinux-8-aarch64.pkrvars.hcl index 5a131590e..1220b87cc 100644 --- a/os_pkrvars/rockylinux/rockylinux-8-aarch64.pkrvars.hcl +++ b/os_pkrvars/rockylinux/rockylinux-8-aarch64.pkrvars.hcl @@ -1,10 +1,9 @@ os_name = "rockylinux" os_version = "8.7" os_arch = "aarch64" -iso_url = "https://download.rockylinux.org/pub/rocky/8/isos/aarch64/Rocky-8.7-aarch64-dvd1.iso" +iso_url = "https://download.rockylinux.org/pub/rocky/8/isos/aarch64/Rocky-aarch64-minimal.iso" iso_checksum = "file:https://download.rockylinux.org/pub/rocky/8/isos/aarch64/CHECKSUM" parallels_guest_os_type = "centos" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" -boot_command = ["e inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/8ks.cfg x"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] +boot_command = ["e inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/8ks.cfg x"] diff --git a/os_pkrvars/rockylinux/rockylinux-8-x86_64.pkrvars.hcl b/os_pkrvars/rockylinux/rockylinux-8-x86_64.pkrvars.hcl index 9281d817e..5aee7c315 100644 --- a/os_pkrvars/rockylinux/rockylinux-8-x86_64.pkrvars.hcl +++ b/os_pkrvars/rockylinux/rockylinux-8-x86_64.pkrvars.hcl @@ -1,10 +1,9 @@ os_name = "rockylinux" os_version = "8.7" os_arch = "x86_64" -iso_url = "http://download.rockylinux.org/pub/rocky/8.7/isos/x86_64/Rocky-8.7-x86_64-dvd1.iso" +iso_url = "https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-x86_64-minimal.iso" iso_checksum = "file:https://download.rockylinux.org/pub/rocky/8.7/isos/x86_64/CHECKSUM" parallels_guest_os_type = "centos" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" -boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/8ks.cfg"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] +boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/8ks.cfg"] diff --git a/os_pkrvars/rockylinux/rockylinux-9-aarch64.pkrvars.hcl b/os_pkrvars/rockylinux/rockylinux-9-aarch64.pkrvars.hcl index 224bb8732..4e808920b 100644 --- a/os_pkrvars/rockylinux/rockylinux-9-aarch64.pkrvars.hcl +++ b/os_pkrvars/rockylinux/rockylinux-9-aarch64.pkrvars.hcl @@ -1,10 +1,9 @@ os_name = "rockylinux" os_version = "9.1" os_arch = "aarch64" -iso_url = "https://download.rockylinux.org/pub/rocky/9/isos/aarch64/Rocky-9.1-aarch64-dvd.iso" +iso_url = "https://download.rockylinux.org/pub/rocky/9/isos/aarch64/Rocky-aarch64-minimal.iso" iso_checksum = "file:https://download.rockylinux.org/pub/rocky/9/isos/aarch64/CHECKSUM" parallels_guest_os_type = "centos" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" -boot_command = ["e inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/9ks.cfg x"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] +boot_command = ["e inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/9ks.cfg x"] diff --git a/os_pkrvars/rockylinux/rockylinux-9-x86_64.pkrvars.hcl b/os_pkrvars/rockylinux/rockylinux-9-x86_64.pkrvars.hcl index 816325fa9..2644ead37 100644 --- a/os_pkrvars/rockylinux/rockylinux-9-x86_64.pkrvars.hcl +++ b/os_pkrvars/rockylinux/rockylinux-9-x86_64.pkrvars.hcl @@ -2,9 +2,8 @@ os_name = "rockylinux" os_version = "9.1" os_arch = "x86_64" iso_url = "https://download.rockylinux.org/pub/rocky/9.1/isos/x86_64/Rocky-9.1-x86_64-dvd.iso" -iso_checksum = "file:https://download.rockylinux.org/pub/rocky/9.1/isos/x86_64/Rocky-9.1-x86_64-dvd.iso.CHECKSUM" +iso_checksum = "file:https://download.rockylinux.org/pub/rocky/9.1/isos/x86_64/CHECKSUM" parallels_guest_os_type = "centos" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" -boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/9ks.cfg"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] +boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/9ks.cfg"] diff --git a/os_pkrvars/scientificlinux/scientificlinux-7-x86_64.pkrvars.hcl b/os_pkrvars/scientificlinux/scientificlinux-7-x86_64.pkrvars.hcl index 6a018f251..37eebacd1 100644 --- a/os_pkrvars/scientificlinux/scientificlinux-7-x86_64.pkrvars.hcl +++ b/os_pkrvars/scientificlinux/scientificlinux-7-x86_64.pkrvars.hcl @@ -7,4 +7,3 @@ parallels_guest_os_type = "centos" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/rhel/7ks.cfg"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] diff --git a/os_pkrvars/springdalelinux/springdalelinux-7-x86_64.pkrvars.hcl b/os_pkrvars/springdalelinux/springdalelinux-7-x86_64.pkrvars.hcl index bf2f6871a..09e5f1725 100644 --- a/os_pkrvars/springdalelinux/springdalelinux-7-x86_64.pkrvars.hcl +++ b/os_pkrvars/springdalelinux/springdalelinux-7-x86_64.pkrvars.hcl @@ -7,4 +7,3 @@ parallels_guest_os_type = "centos" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/springdalelinux/7ks.cfg"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] diff --git a/os_pkrvars/springdalelinux/springdalelinux-8-x86_64.pkrvars.hcl b/os_pkrvars/springdalelinux/springdalelinux-8-x86_64.pkrvars.hcl index 013dcffe6..1d2ee7fe5 100644 --- a/os_pkrvars/springdalelinux/springdalelinux-8-x86_64.pkrvars.hcl +++ b/os_pkrvars/springdalelinux/springdalelinux-8-x86_64.pkrvars.hcl @@ -7,4 +7,3 @@ parallels_guest_os_type = "centos" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/springdalelinux/8ks.cfg"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] diff --git a/os_pkrvars/springdalelinux/springdalelinux-9-x86_64.pkrvars.hcl b/os_pkrvars/springdalelinux/springdalelinux-9-x86_64.pkrvars.hcl index cbf79dcfb..0768a7e18 100644 --- a/os_pkrvars/springdalelinux/springdalelinux-9-x86_64.pkrvars.hcl +++ b/os_pkrvars/springdalelinux/springdalelinux-9-x86_64.pkrvars.hcl @@ -7,4 +7,3 @@ parallels_guest_os_type = "centos" vbox_guest_os_type = "RedHat_64" vmware_guest_os_type = "centos-64" boot_command = [" inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/springdalelinux/9ks.cfg"] -boot_command_hyperv = [" text ks=hd:fd0:/ks.cfg"] diff --git a/os_pkrvars/ubuntu/ubuntu-18.04-aarch64.pkrvars.hcl b/os_pkrvars/ubuntu/ubuntu-18.04-aarch64.pkrvars.hcl new file mode 100644 index 000000000..a56af4daa --- /dev/null +++ b/os_pkrvars/ubuntu/ubuntu-18.04-aarch64.pkrvars.hcl @@ -0,0 +1,10 @@ +os_name = "ubuntu" +os_version = "18.04" +os_arch = "aarch64" +iso_url = "https://cdimage.ubuntu.com/releases/18.04.6/release/ubuntu-18.04.6-server-arm64.iso" +iso_checksum = "0a20ef21181a36588f8fb670cc63e8d326fa6e715b526543d300a68de389055f" +hyperv_generation = 2 +parallels_guest_os_type = "ubuntu" +vbox_guest_os_type = "Ubuntu_64" +vmware_guest_os_type = "ubuntu-64" +boot_command = ["e", "", "", "", "", "auto console-setup/ask_detect=false", " console-setup/layoutcode=us", " console-setup/modelcode=pc105", " debconf/frontend=noninteractive", " debian-installer=en_US.UTF-8", " fb=false", " initrd=/install/initrd.gz", " kbd-chooser/method=us", " keyboard-configuration/layout=USA", " keyboard-configuration/variant=USA", " locale=en_US.UTF-8", " netcfg/get_hostname=vagrant", " grub-installer/bootdev=/dev/sda", " noapic", " preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/ubuntu/preseed.cfg", " ---", ""] diff --git a/os_pkrvars/ubuntu/ubuntu-18.04-x86_64.pkrvars.hcl b/os_pkrvars/ubuntu/ubuntu-18.04-x86_64.pkrvars.hcl index 19b779e2e..192ee7b38 100644 --- a/os_pkrvars/ubuntu/ubuntu-18.04-x86_64.pkrvars.hcl +++ b/os_pkrvars/ubuntu/ubuntu-18.04-x86_64.pkrvars.hcl @@ -8,4 +8,3 @@ parallels_guest_os_type = "ubuntu" vbox_guest_os_type = "Ubuntu_64" vmware_guest_os_type = "ubuntu-64" boot_command = ["", "", "", "/install/vmlinuz auto console-setup/ask_detect=false", " console-setup/layoutcode=us", " console-setup/modelcode=pc105", " debconf/frontend=noninteractive", " debian-installer=en_US.UTF-8", " fb=false", " initrd=/install/initrd.gz", " kbd-chooser/method=us", " keyboard-configuration/layout=USA", " keyboard-configuration/variant=USA", " locale=en_US.UTF-8", " netcfg/get_hostname=vagrant", " grub-installer/bootdev=/dev/sda", " noapic", " preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/ubuntu/preseed.cfg", " ---", ""] -boot_command_hyperv = ["set gfxpayload=1024x768linux /install/vmlinuz preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/ubuntu/preseed-hyperv.cfg debian-installer=en_US.UTF-8 auto locale=en_US.UTF-8 kbd-chooser/method=us hostname={{ .Name }} fb=false debconf/frontend=noninteractive keyboard-configuration/modelcode=SKIP keyboard-configuration/layout=USA keyboard-configuration/variant=USA console-setup/ask_detect=false initrd /install/initrd.gzboot"] diff --git a/os_pkrvars/ubuntu/ubuntu-20.04-aarch64.pkrvars.hcl b/os_pkrvars/ubuntu/ubuntu-20.04-aarch64.pkrvars.hcl index 2b7286d20..3a32db59d 100644 --- a/os_pkrvars/ubuntu/ubuntu-20.04-aarch64.pkrvars.hcl +++ b/os_pkrvars/ubuntu/ubuntu-20.04-aarch64.pkrvars.hcl @@ -7,5 +7,4 @@ hyperv_generation = 2 parallels_guest_os_type = "ubuntu" vbox_guest_os_type = "Ubuntu_64" vmware_guest_os_type = "ubuntu-64" -boot_command = ["linux /casper/vmlinuz quiet autoinstall ds='nocloud-net;s=http://{{.HTTPIP}}:{{.HTTPPort}}/ubuntu/'initrd /casper/initrdboot"] -boot_command_hyperv = ["linux /casper/vmlinuz quiet autoinstall ds='nocloud-net;s=http://{{.HTTPIP}}:{{.HTTPPort}}/ubuntu/'initrd /casper/initrdboot"] +boot_command = ["linux /casper/vmlinuz quiet autoinstall ds='nocloud-net;s=http://{{.HTTPIP}}:{{.HTTPPort}}/ubuntu/'initrd /casper/initrdboot"] diff --git a/os_pkrvars/ubuntu/ubuntu-20.04-x86_64.pkrvars.hcl b/os_pkrvars/ubuntu/ubuntu-20.04-x86_64.pkrvars.hcl index dd041c5b6..40cc14d9a 100644 --- a/os_pkrvars/ubuntu/ubuntu-20.04-x86_64.pkrvars.hcl +++ b/os_pkrvars/ubuntu/ubuntu-20.04-x86_64.pkrvars.hcl @@ -7,5 +7,4 @@ hyperv_generation = 2 parallels_guest_os_type = "ubuntu" vbox_guest_os_type = "Ubuntu_64" vmware_guest_os_type = "ubuntu-64" -boot_command = ["", "", "", "", "", "", " autoinstall", " ds=nocloud-net;s=http://{{.HTTPIP}}:{{.HTTPPort}}/ubuntu/", " ---", ""] -boot_command_hyperv = ["", "", "", "", "", "", " autoinstall", " ds=nocloud-net;s=http://{{.HTTPIP}}:{{.HTTPPort}}/ubuntu/", " ---", ""] +boot_command = ["", "", "", "", "", "", " autoinstall", " ds=nocloud-net\\;s=http://{{.HTTPIP}}:{{.HTTPPort}}/ubuntu/", " ---", ""] diff --git a/os_pkrvars/ubuntu/ubuntu-22.04-aarch64.pkrvars.hcl b/os_pkrvars/ubuntu/ubuntu-22.04-aarch64.pkrvars.hcl index 07ffcf5d8..40dac8936 100644 --- a/os_pkrvars/ubuntu/ubuntu-22.04-aarch64.pkrvars.hcl +++ b/os_pkrvars/ubuntu/ubuntu-22.04-aarch64.pkrvars.hcl @@ -7,5 +7,4 @@ hyperv_generation = 2 parallels_guest_os_type = "ubuntu" vbox_guest_os_type = "Ubuntu_64" vmware_guest_os_type = "ubuntu-64" -boot_command = ["linux /casper/vmlinuz quiet autoinstall ds='nocloud-net;s=http://{{.HTTPIP}}:{{.HTTPPort}}/ubuntu/'initrd /casper/initrdboot"] -boot_command_hyperv = ["linux /casper/vmlinuz quiet autoinstall ds='nocloud-net;s=http://{{.HTTPIP}}:{{.HTTPPort}}/ubuntu/'initrd /casper/initrdboot"] +boot_command = ["e autoinstall ds=nocloud-net\\;s=http://{{.HTTPIP}}:{{.HTTPPort}}/ubuntu/"] diff --git a/os_pkrvars/ubuntu/ubuntu-22.04-x86_64.pkrvars.hcl b/os_pkrvars/ubuntu/ubuntu-22.04-x86_64.pkrvars.hcl index 987aea74a..47fb44d0b 100644 --- a/os_pkrvars/ubuntu/ubuntu-22.04-x86_64.pkrvars.hcl +++ b/os_pkrvars/ubuntu/ubuntu-22.04-x86_64.pkrvars.hcl @@ -8,4 +8,3 @@ parallels_guest_os_type = "ubuntu" vbox_guest_os_type = "Ubuntu_64" vmware_guest_os_type = "ubuntu-64" boot_command = ["cset gfxpayload=keeplinux /casper/vmlinuz quiet autoinstall ds=nocloud-net\\;s=http://{{.HTTPIP}}:{{.HTTPPort}}/ubuntu/ ---initrd /casper/initrdboot"] -boot_command_hyperv = ["cset gfxpayload=keeplinux /casper/vmlinuz quiet autoinstall ds=nocloud-net\\;s=http://{{.HTTPIP}}:{{.HTTPPort}}/ubuntu/ ---initrd /casper/initrdboot"] diff --git a/os_pkrvars/ubuntu/ubuntu-22.10-aarch64.pkrvars.hcl b/os_pkrvars/ubuntu/ubuntu-22.10-aarch64.pkrvars.hcl index a67150462..c594dd1c6 100644 --- a/os_pkrvars/ubuntu/ubuntu-22.10-aarch64.pkrvars.hcl +++ b/os_pkrvars/ubuntu/ubuntu-22.10-aarch64.pkrvars.hcl @@ -8,4 +8,3 @@ parallels_guest_os_type = "ubuntu" vbox_guest_os_type = "Ubuntu_64" vmware_guest_os_type = "ubuntu-64" boot_command = ["e autoinstall ds=nocloud-net\\;s=http://{{.HTTPIP}}:{{.HTTPPort}}/ubuntu/"] -boot_command_hyperv = ["e autoinstall ds=nocloud-net\\;s=http://{{.HTTPIP}}:{{.HTTPPort}}/ubuntu/"] diff --git a/os_pkrvars/ubuntu/ubuntu-22.10-x86_64.pkrvars.hcl b/os_pkrvars/ubuntu/ubuntu-22.10-x86_64.pkrvars.hcl index 4ea529502..22f4168dd 100644 --- a/os_pkrvars/ubuntu/ubuntu-22.10-x86_64.pkrvars.hcl +++ b/os_pkrvars/ubuntu/ubuntu-22.10-x86_64.pkrvars.hcl @@ -8,4 +8,3 @@ parallels_guest_os_type = "ubuntu" vbox_guest_os_type = "Ubuntu_64" vmware_guest_os_type = "ubuntu-64" boot_command = ["e autoinstall ds=nocloud-net\\;s=http://{{.HTTPIP}}:{{.HTTPPort}}/ubuntu/"] -boot_command_hyperv = ["e autoinstall ds=nocloud-net\\;s=http://{{.HTTPIP}}:{{.HTTPPort}}/ubuntu/"] diff --git a/os_pkrvars/windows/windows-10gen2-x86_64.pkrvars.hcl b/os_pkrvars/windows/windows-10gen2-x86_64.pkrvars.hcl index 0cf64362d..a7ea6ea53 100644 --- a/os_pkrvars/windows/windows-10gen2-x86_64.pkrvars.hcl +++ b/os_pkrvars/windows/windows-10gen2-x86_64.pkrvars.hcl @@ -7,7 +7,6 @@ iso_checksum = "ef7312733a9f5d7d51cfa04ac497671995674ca5e1058d5164d60 parallels_guest_os_type = "win-10" vbox_guest_os_type = "Windows10_64" vmware_guest_os_type = "windows9srv-64" -boot_command = ["aaaaaaa"] -boot_command_hyperv = ["aaaaaaa"] +boot_command = ["aaaaaaa"] hyperv_generation = 2 sources_enabled = ["source.hyperv-iso.vm", "source.qemu.vm"] diff --git a/os_pkrvars/windows/windows-11-x86_64.pkrvars.hcl b/os_pkrvars/windows/windows-11-x86_64.pkrvars.hcl index b29a3bff6..fce6018c0 100644 --- a/os_pkrvars/windows/windows-11-x86_64.pkrvars.hcl +++ b/os_pkrvars/windows/windows-11-x86_64.pkrvars.hcl @@ -8,5 +8,4 @@ iso_checksum = "sha256:e8b1d2a1a85a09b4bf6154084a8be8e3c814894a15a7bc parallels_guest_os_type = "win-11" vbox_guest_os_type = "Windows11_64" vmware_guest_os_type = "windows9srv-64" -boot_command_hyperv = ["reg add HKLM\\SYSTEM\\Setup\\LabConfig /t REG_DWORD /v BypassTPMCheck /d 1reg add HKLM\\SYSTEM\\Setup\\LabConfig /t REG_DWORD /v BypassSecureBootCheck /d 1exit"] boot_command = ["reg add HKLM\\SYSTEM\\Setup\\LabConfig /t REG_DWORD /v BypassTPMCheck /d 1reg add HKLM\\SYSTEM\\Setup\\LabConfig /t REG_DWORD /v BypassSecureBootCheck /d 1exit"] diff --git a/os_pkrvars/windows/windows-11gen2-x86_64.pkrvars.hcl b/os_pkrvars/windows/windows-11gen2-x86_64.pkrvars.hcl index ca44a0cac..37c72aaab 100644 --- a/os_pkrvars/windows/windows-11gen2-x86_64.pkrvars.hcl +++ b/os_pkrvars/windows/windows-11gen2-x86_64.pkrvars.hcl @@ -9,6 +9,5 @@ parallels_guest_os_type = "win-11" vbox_guest_os_type = "Windows11_64" vmware_guest_os_type = "windows9srv-64" hyperv_generation = 2 -boot_command_hyperv = ["aaaaaaa"] -boot_command = ["aaaaaaa"] +boot_command = ["aaaaaaa"] sources_enabled = ["source.hyperv-iso.vm", "source.qemu.vm"] diff --git a/packer_templates/http/fedora/ks.cfg b/packer_templates/http/fedora/ks.cfg index 6d4aa6441..f31e5330c 100644 --- a/packer_templates/http/fedora/ks.cfg +++ b/packer_templates/http/fedora/ks.cfg @@ -22,6 +22,7 @@ wget nfs-utils net-tools rsync +dkms -plymouth -plymouth-core-libs -fedora-release-notes @@ -36,4 +37,11 @@ rsync echo 'Defaults:vagrant !requiretty' > /etc/sudoers.d/vagrant echo '%vagrant ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers.d/vagrant chmod 440 /etc/sudoers.d/vagrant + +# Enable hyper-v daemons only if using hyper-v virtualization +if [ $(virt-what) == "hyperv" ]; then +dnf -y install hyperv-daemons cifs-utils +systemctl enable hypervvssd +systemctl enable hypervkvpd +fi %end diff --git a/packer_templates/http/ubuntu/preseed-hyperv.cfg b/packer_templates/http/ubuntu/preseed-hyperv.cfg index 9d9f6dec7..6b40fbd7d 100755 --- a/packer_templates/http/ubuntu/preseed-hyperv.cfg +++ b/packer_templates/http/ubuntu/preseed-hyperv.cfg @@ -27,7 +27,7 @@ d-i passwd/user-uid string 1000 d-i passwd/user-password password vagrant d-i passwd/user-password-again password vagrant d-i passwd/username string vagrant -d-i pkgsel/include string openssh-server ntp linux-tools-$(uname -r) linux-cloud-tools-$(uname -r) linux-cloud-tools-common cifs-utils software-properties-common ifupdown +d-i pkgsel/include string openssh-server ntp dkms linux-tools-$(uname -r) linux-cloud-tools-$(uname -r) linux-cloud-tools-common cifs-utils software-properties-common ifupdown d-i pkgsel/install-language-support boolean false d-i pkgsel/update-policy select none d-i pkgsel/upgrade select full-upgrade diff --git a/packer_templates/http/ubuntu/user-data b/packer_templates/http/ubuntu/user-data index a6a096122..df9c1b033 100644 --- a/packer_templates/http/ubuntu/user-data +++ b/packer_templates/http/ubuntu/user-data @@ -15,4 +15,5 @@ autoinstall: late-commands: - 'sed -i "s/dhcp4: true/&\n dhcp-identifier: mac/" /target/etc/netplan/00-installer-config.yaml' - echo 'vagrant ALL=(ALL) NOPASSWD:ALL' > /target/etc/sudoers.d/vagrant - + # Enable hyper-v daemons only if using hyper-v virtualization + - if [ $(virt-what) == "hyperv" ]; then apt-get update && apt-get install -y hyperv-daemons linux-tools-$(uname -r) linux-cloud-tools-$(uname -r) linux-cloud-tools-common cifs-utils && systemctl enable hypervvssd && systemctl enable hypervkvpd && systemctl start hypervvssd && systemctl start hypervkvpd; fi diff --git a/packer_templates/pkr-builder.pkr.hcl b/packer_templates/pkr-builder.pkr.hcl index bc7c4f44c..c586f3ada 100644 --- a/packer_templates/pkr-builder.pkr.hcl +++ b/packer_templates/pkr-builder.pkr.hcl @@ -5,10 +5,6 @@ packer { version = ">= 1.0.0" source = "github.com/hashicorp/hyperv" } - inspec = { - version = ">= 0.0.1" - source = "github.com/hashicorp/inspec" - } parallels = { version = ">= 1.0.1" source = "github.com/hashicorp/parallels" @@ -27,7 +23,7 @@ packer { } vmware = { version = ">= 0.0.1" - source = "github.com/hashicorp/vmware" + source = "github.com/stromweld/vmware" # TODO: switching to stromweld repo for fix to vmware tools for fusion 13 till official fix is in place https://github.com/hashicorp/packer-plugin-vmware/issues/109 } windows-update = { version = ">= 0.14.1" @@ -41,28 +37,24 @@ locals { substr(var.os_version, 0, 2) == "10" || substr(var.os_version, 0, 2) == "11" ? [ # "${path.root}/scripts/windows/base_setup.ps1", + "${path.root}/scripts/windows/provision.ps1", "${path.root}/scripts/windows/disable-windows-updates.ps1", "${path.root}/scripts/windows/disable-windows-defender.ps1", "${path.root}/scripts/windows/remove-one-drive.ps1", "${path.root}/scripts/windows/remove-apps.ps1", "${path.root}/scripts/windows/virtualbox-prevent-vboxsrv-resolution-delay.ps1", - "${path.root}/scripts/windows/provision-guest-tools-qemu-kvm.ps1", - "${path.root}/scripts/windows/provision-vmwaretools.ps1", "${path.root}/scripts/windows/provision-winrm.ps1", - "${path.root}/scripts/windows/provision.ps1", "${path.root}/scripts/windows/enable-remote-desktop.ps1", "${path.root}/scripts/windows/eject-media.ps1" ] : [ # "${path.root}/scripts/windows/base_setup.ps1", + "${path.root}/scripts/windows/provision.ps1", "${path.root}/scripts/windows/disable-windows-updates.ps1", "${path.root}/scripts/windows/disable-windows-defender.ps1", "${path.root}/scripts/windows/remove-one-drive.ps1", # "${path.root}/scripts/windows/remove-apps.ps1", "${path.root}/scripts/windows/virtualbox-prevent-vboxsrv-resolution-delay.ps1", - "${path.root}/scripts/windows/provision-guest-tools-qemu-kvm.ps1", - "${path.root}/scripts/windows/provision-vmwaretools.ps1", "${path.root}/scripts/windows/provision-winrm.ps1", - "${path.root}/scripts/windows/provision.ps1", "${path.root}/scripts/windows/enable-remote-desktop.ps1", "${path.root}/scripts/windows/eject-media.ps1" ] @@ -125,7 +117,7 @@ locals { "${path.root}/scripts/_common/sshd.sh", "${path.root}/scripts/_common/virtualbox.sh", "${path.root}/scripts/_common/vmware_fedora.sh", - "${path.root}/scripts/_common/parallels.sh", + "${path.root}/scripts/_common/parallels-rhel.sh", "${path.root}/scripts/_common/vagrant.sh", "${path.root}/scripts/fedora/real-tmp_fedora.sh", "${path.root}/scripts/fedora/cleanup_dnf.sh", @@ -144,7 +136,7 @@ locals { "${path.root}/scripts/_common/vagrant.sh", "${path.root}/scripts/_common/virtualbox.sh", "${path.root}/scripts/_common/vmware_rhel.sh", - "${path.root}/scripts/_common/parallels.sh", + "${path.root}/scripts/_common/parallels-rhel.sh", "${path.root}/scripts/rhel/cleanup_yum.sh", "${path.root}/scripts/_common/minimize.sh" ] : [ @@ -154,7 +146,7 @@ locals { "${path.root}/scripts/_common/vagrant.sh", "${path.root}/scripts/_common/virtualbox.sh", "${path.root}/scripts/_common/vmware_rhel.sh", - "${path.root}/scripts/_common/parallels.sh", + "${path.root}/scripts/_common/parallels-rhel.sh", "${path.root}/scripts/rhel/cleanup_dnf.sh", "${path.root}/scripts/_common/minimize.sh" ] diff --git a/packer_templates/pkr-sources.pkr.hcl b/packer_templates/pkr-sources.pkr.hcl index c57e84ae2..d36be65da 100644 --- a/packer_templates/pkr-sources.pkr.hcl +++ b/packer_templates/pkr-sources.pkr.hcl @@ -29,23 +29,22 @@ locals { ) : var.parallels_prlctl # qemu + qemu_binary = var.qemu_binary == null ? "qemu-system-${var.os_arch}" : var.qemu_binary + qemu_machine_type = var.qemu_machine_type == null ? ( + var.os_arch == "aarch64" ? "virt" : "q35" + ) : var.qemu_machine_type qemuargs = var.qemuargs == null ? ( var.hyperv_generation == 2 && var.is_windows ? [ - ["-m", "${local.memory}"], - ["-smp", "2"], ["-bios", "/usr/share/OVMF/OVMF_CODE.fd"], - ["-display", "none"] ] : ( var.is_windows ? [ - ["-m", "${local.memory}"], - ["-smp", "2"], - ["-drive", "file=~/virtio-win.iso,media=cdrom,index=3"], + ["-drive", "file=${path.root}/win_answer_files/virtio-win.iso,media=cdrom,index=3"], ["-drive", "file=${path.root}/../builds/packer-${var.os_name}-${var.os_version}-${var.os_arch}-qemu/{{ .Name }},if=virtio,cache=writeback,discard=ignore,format=qcow2,index=1"], - ["-display", "none"] - ] : [ - ["-m", "${local.memory}"], - ["-display", "none"] - ] + ] : ( + var.os_arch == "aarch64" ? [ + ["-boot", "strict=off"] + ] : null + ) ) ) : var.qemuargs @@ -60,7 +59,7 @@ locals { var.is_windows && var.hyperv_generation == 1 ? "attach" : "upload" ) : var.vbox_guest_additions_mode - # virtualbox-ovg + # virtualbox-ovf vbox_source = var.vbox_source == null ? ( var.os_name == "amazonlinux" ? "${path.root}/amz_working_files/amazon2.ovf" : null ) : var.vbox_source @@ -69,16 +68,10 @@ locals { vmware_disk_adapter_type = var.vmware_disk_adapter_type == null ? ( var.is_windows ? "lsisas1068" : null ) : var.vmware_disk_adapter_type - vmware_tools_upload_flavor = var.vmware_tools_upload_flavor == null ? ( - var.is_windows ? "windows" : null - ) : var.vmware_tools_upload_flavor - vmware_tools_upload_path = var.vmware_tools_upload_path == null ? ( - var.is_windows ? "c:/Windows/Temp/vmware.iso" : null - ) : var.vmware_tools_upload_path # Source block common boot_wait = var.boot_wait == null ? ( - var.is_windows ? "60s" : "5s" + var.is_windows ? "60s" : "10s" ) : var.boot_wait cd_files = var.cd_files == null ? ( var.hyperv_generation == 2 && var.is_windows ? [ @@ -120,7 +113,7 @@ source "hyperv-iso" "vm" { generation = var.hyperv_generation guest_additions_mode = var.hyperv_guest_additions_mode switch_name = var.hyperv_switch_name - boot_command = var.boot_command_hyperv + boot_command = var.boot_command boot_wait = local.boot_wait cpus = var.cpus communicator = local.communicator @@ -173,6 +166,9 @@ source "parallels-iso" "vm" { } source "qemu" "vm" { accelerator = var.qemu_accelerator + display = var.headless ? "none" : var.qemu_display + machine_type = local.qemu_machine_type + qemu_binary = local.qemu_binary qemuargs = local.qemuargs boot_command = var.boot_command boot_wait = local.boot_wait @@ -251,8 +247,8 @@ source "virtualbox-ovf" "amazonlinux" { source "vmware-iso" "vm" { guest_os_type = var.vmware_guest_os_type disk_adapter_type = local.vmware_disk_adapter_type - tools_upload_flavor = local.vmware_tools_upload_flavor - tools_upload_path = local.vmware_tools_upload_path + tools_upload_flavor = var.vmware_tools_upload_flavor + tools_upload_path = var.vmware_tools_upload_path version = var.vmware_version vmx_data = var.vmware_vmx_data vmx_remove_ethernet_interfaces = var.vmware_vmx_remove_ethernet_interfaces diff --git a/packer_templates/pkr-variables.pkr.hcl b/packer_templates/pkr-variables.pkr.hcl index 88d1a7b01..b21992509 100644 --- a/packer_templates/pkr-variables.pkr.hcl +++ b/packer_templates/pkr-variables.pkr.hcl @@ -49,11 +49,6 @@ variable "sources_enabled" { # Source block provider specific variables # hyperv-iso -variable "boot_command_hyperv" { - type = list(string) - default = null - description = "Commands to pass to gui session to initiate automated install" -} variable "hyperv_enable_dynamic_memory" { type = bool default = null @@ -104,6 +99,18 @@ variable "qemu_accelerator" { type = string default = null } +variable "qemu_binary" { + type = string + default = null +} +variable "qemu_display" { + type = string + default = "none" +} +variable "qemu_machine_type" { + type = string + default = null +} variable "qemuargs" { type = list(list(string)) default = null @@ -151,8 +158,8 @@ variable "vboxmanage" { "{{.Name}}", "--audio", "none", - # "--nat-localhostreachable1", - # "on", + "--nat-localhostreachable1", + "on", ] ] } @@ -161,7 +168,7 @@ variable "virtualbox_version_file" { default = ".vbox_version" } -# virtualbox-ovg +# virtualbox-ovf variable "vbox_source" { type = string default = null @@ -187,11 +194,14 @@ variable "vmware_tools_upload_path" { } variable "vmware_version" { type = number - default = 19 + default = 20 } variable "vmware_vmx_data" { - type = map(string) - default = null + type = map(string) + default = { + "cpuid.coresPerSocket" = "1" + "ethernet0.pciSlotNumber" = "32" + } } variable "vmware_vmx_remove_ethernet_interfaces" { type = bool diff --git a/packer_templates/scripts/_common/parallels-rhel.sh b/packer_templates/scripts/_common/parallels-rhel.sh new file mode 100644 index 000000000..fde6f59fb --- /dev/null +++ b/packer_templates/scripts/_common/parallels-rhel.sh @@ -0,0 +1,47 @@ +#!/bin/sh -eux + +# set a default HOME_DIR environment variable if not set +HOME_DIR="${HOME_DIR:-/home/vagrant}"; + +case "$PACKER_BUILDER_TYPE" in +parallels-iso|parallels-pvm) + major_version="$(sed 's/^.\+ release \([.0-9]\+\).*/\1/' /etc/redhat-release | awk -F. '{print $1}')" + # make sure we use dnf on EL 8+ + if [ "$major_version" -ge 8 ]; then + dnf -y install checkpolicy selinux-policy-devel gcc kernel-devel kernel-headers make + else + yum -y install checkpolicy selinux-policy-devel gcc kernel-devel kernel-headers make + fi + + mkdir -p /tmp/parallels; + if [ "$(uname -m)" = "aarch64" ] ; then + mount -o loop "$HOME_DIR"/prl-tools-lin-arm.iso /tmp/parallels; + else + mount -o loop "$HOME_DIR"/prl-tools-lin.iso /tmp/parallels; + fi + VER="$(cat /tmp/parallels/version)"; + + echo "Parallels Tools Version: $VER"; + + /tmp/parallels/install --install-unattended-with-deps \ + || (code="$?"; \ + echo "Parallels tools installation exited $code, attempting" \ + "to output /var/log/parallels-tools-install.log"; \ + cat /var/log/parallels-tools-install.log; \ + exit $code); + umount /tmp/parallels; + rm -rf /tmp/parallels; + rm -f "$HOME_DIR"/*.iso; + + # Parallels Tools for Linux includes native auto-mount script, + # which causes losing some of Vagrant-relative shared folders. + # So, we should disable this behavior. + # https://github.com/Parallels/vagrant-parallels/issues/325#issuecomment-418727113 + # TODO: verify this is fixed in latest version of parallels + # auto_mount_script='/usr/bin/prlfsmountd' + # if [ -f "${auto_mount_script}" ]; then + # printf '#!/bin/sh\n # Shared folders auto-mount is disabled by Vagrant' > "${auto_mount_script}" + # fi + + ;; +esac diff --git a/packer_templates/scripts/_common/parallels.sh b/packer_templates/scripts/_common/parallels.sh index 5ee69146f..def4f01aa 100644 --- a/packer_templates/scripts/_common/parallels.sh +++ b/packer_templates/scripts/_common/parallels.sh @@ -29,10 +29,11 @@ parallels-iso|parallels-pvm) # which causes losing some of Vagrant-relative shared folders. # So, we should disable this behavior. # https://github.com/Parallels/vagrant-parallels/issues/325#issuecomment-418727113 - auto_mount_script='/usr/bin/prlfsmountd' - if [ -f "${auto_mount_script}" ]; then - printf '#!/bin/sh\n # Shared folders auto-mount is disabled by Vagrant' > "${auto_mount_script}" - fi + # TODO: verify this is fixed in latest version of parallels + # auto_mount_script='/usr/bin/prlfsmountd' + # if [ -f "${auto_mount_script}" ]; then + # printf '#!/bin/sh\n # Shared folders auto-mount is disabled by Vagrant' > "${auto_mount_script}" + # fi ;; esac diff --git a/packer_templates/scripts/_common/vmware_fedora.sh b/packer_templates/scripts/_common/vmware_fedora.sh index ce11d25bf..8e02760c6 100644 --- a/packer_templates/scripts/_common/vmware_fedora.sh +++ b/packer_templates/scripts/_common/vmware_fedora.sh @@ -4,7 +4,6 @@ case "$PACKER_BUILDER_TYPE" in vmware-iso|vmware-vmx) dnf install -y open-vm-tools - mkdir /mnt/hgfs; systemctl enable vmtoolsd systemctl start vmtoolsd -esac \ No newline at end of file +esac diff --git a/packer_templates/scripts/_common/vmware_rhel.sh b/packer_templates/scripts/_common/vmware_rhel.sh index 75b2a4961..835230df6 100644 --- a/packer_templates/scripts/_common/vmware_rhel.sh +++ b/packer_templates/scripts/_common/vmware_rhel.sh @@ -5,9 +5,6 @@ HOME_DIR="${HOME_DIR:-/home/vagrant}"; case "$PACKER_BUILDER_TYPE" in vmware-iso|vmware-vmx) - - #!/bin/sh -eux - # determine the major EL version we're runninng major_version="$(sed 's/^.\+ release \([.0-9]\+\).*/\1/' /etc/redhat-release | awk -F. '{print $1}')"; @@ -15,7 +12,7 @@ vmware-iso|vmware-vmx) if [ "$major_version" -ge 8 ]; then dnf -y install open-vm-tools else - yum -y insttall open-vm-tools + yum -y install open-vm-tools fi ;; esac diff --git a/packer_templates/scripts/debian/cleanup_debian.sh b/packer_templates/scripts/debian/cleanup_debian.sh index b13df2bf6..c99bf448a 100644 --- a/packer_templates/scripts/debian/cleanup_debian.sh +++ b/packer_templates/scripts/debian/cleanup_debian.sh @@ -49,7 +49,10 @@ find /var/log -type f -exec truncate --size=0 {} \; echo "blank netplan machine-id (DUID) so machines get unique ID generated on boot" truncate -s 0 /etc/machine-id -truncate -s 0 /var/lib/dbus/machine-id # if not symlinked to "/etc/machine-id" +if test -f /var/lib/dbus/machine-id +then + truncate -s 0 /var/lib/dbus/machine-id # if not symlinked to "/etc/machine-id" +fi echo "remove the contents of /tmp and /var/tmp" rm -rf /tmp/* /var/tmp/* diff --git a/packer_templates/scripts/fedora/cleanup_dnf.sh b/packer_templates/scripts/fedora/cleanup_dnf.sh index b3b106d7f..8757cedaf 100644 --- a/packer_templates/scripts/fedora/cleanup_dnf.sh +++ b/packer_templates/scripts/fedora/cleanup_dnf.sh @@ -38,7 +38,10 @@ rm -f /var/lib/systemd/random-seed echo "Wipe netplan machine-id (DUID) so machines get unique ID generated on boot" truncate -s 0 /etc/machine-id -truncate -s 0 /var/lib/dbus/machine-id # if not symlinked to "/etc/machine-id" +if test -f /var/lib/dbus/machine-id +then + truncate -s 0 /var/lib/dbus/machine-id # if not symlinked to "/etc/machine-id" +fi echo "Clear the history so our install commands aren't there" rm -f /root/.wget-hsts diff --git a/packer_templates/scripts/rhel/cleanup_dnf.sh b/packer_templates/scripts/rhel/cleanup_dnf.sh index e84e35f14..2fa9737d8 100644 --- a/packer_templates/scripts/rhel/cleanup_dnf.sh +++ b/packer_templates/scripts/rhel/cleanup_dnf.sh @@ -52,7 +52,10 @@ rm -f /var/lib/systemd/random-seed echo "Wipe netplan machine-id (DUID) so machines get unique ID generated on boot" truncate -s 0 /etc/machine-id -truncate -s 0 /var/lib/dbus/machine-id # if not symlinked to "/etc/machine-id" +if test -f /var/lib/dbus/machine-id +then + truncate -s 0 /var/lib/dbus/machine-id # if not symlinked to "/etc/machine-id" +fi echo "Clear the history so our install commands aren't there" rm -f /root/.wget-hsts diff --git a/packer_templates/scripts/rhel/cleanup_yum.sh b/packer_templates/scripts/rhel/cleanup_yum.sh index eef2f11b4..6dd7cf34e 100644 --- a/packer_templates/scripts/rhel/cleanup_yum.sh +++ b/packer_templates/scripts/rhel/cleanup_yum.sh @@ -52,7 +52,10 @@ rm -f /var/lib/systemd/random-seed echo "Wipe netplan machine-id (DUID) so machines get unique ID generated on boot" truncate -s 0 /etc/machine-id -truncate -s 0 /var/lib/dbus/machine-id # if not symlinked to "/etc/machine-id" +if test -f /var/lib/dbus/machine-id +then + truncate -s 0 /var/lib/dbus/machine-id # if not symlinked to "/etc/machine-id" +fi echo "Clear the history so our install commands aren't there" rm -f /root/.wget-hsts diff --git a/packer_templates/scripts/rhel/update_dnf.sh b/packer_templates/scripts/rhel/update_dnf.sh index 856c12b35..62c95df90 100644 --- a/packer_templates/scripts/rhel/update_dnf.sh +++ b/packer_templates/scripts/rhel/update_dnf.sh @@ -1,7 +1,7 @@ #!/bin/sh -eux # update all packages -dnf -y upgrade +dnf -y upgrade --skip-broken reboot; sleep 60; diff --git a/packer_templates/scripts/rhel/update_yum.sh b/packer_templates/scripts/rhel/update_yum.sh index 32e26334f..d3ef300c5 100644 --- a/packer_templates/scripts/rhel/update_yum.sh +++ b/packer_templates/scripts/rhel/update_yum.sh @@ -1,5 +1,5 @@ #!/bin/sh -eux -yum -y upgrade; +yum -y upgrade --skip-broken; reboot; sleep 60; diff --git a/packer_templates/scripts/suse/cleanup_suse.sh b/packer_templates/scripts/suse/cleanup_suse.sh index d1b31d053..9100c3e16 100644 --- a/packer_templates/scripts/suse/cleanup_suse.sh +++ b/packer_templates/scripts/suse/cleanup_suse.sh @@ -19,7 +19,10 @@ rm -rf /tmp/* /var/tmp/* echo "blank netplan machine-id (DUID) so machines get unique ID generated on boot" truncate -s 0 /etc/machine-id -truncate -s 0 /var/lib/dbus/machine-id # if not symlinked to "/etc/machine-id" +if test -f /var/lib/dbus/machine-id +then + truncate -s 0 /var/lib/dbus/machine-id # if not symlinked to "/etc/machine-id" +fi echo "force a new random seed to be generated" rm -f /var/lib/systemd/random-seed diff --git a/packer_templates/scripts/suse/unsupported-modules_suse.sh b/packer_templates/scripts/suse/unsupported-modules_suse.sh index 8fa7e032b..e62773ec0 100644 --- a/packer_templates/scripts/suse/unsupported-modules_suse.sh +++ b/packer_templates/scripts/suse/unsupported-modules_suse.sh @@ -1,4 +1,4 @@ #!/bin/sh # Enable unsupported kernel modules, so vboxguest can install -sed -i -e 's#^allow_unsupported_modules 0#allow_unsupported_modules 1#' /etc/modprobe.d/10-unsupported-modules.conf +echo 'allow_unsupported_modules 1' > /etc/modprobe.d/10-unsupported-modules.conf diff --git a/packer_templates/scripts/ubuntu/cleanup_ubuntu.sh b/packer_templates/scripts/ubuntu/cleanup_ubuntu.sh index c5c68e2df..91f05656c 100644 --- a/packer_templates/scripts/ubuntu/cleanup_ubuntu.sh +++ b/packer_templates/scripts/ubuntu/cleanup_ubuntu.sh @@ -90,7 +90,10 @@ find /var/log -type f -exec truncate --size=0 {} \; echo "blank netplan machine-id (DUID) so machines get unique ID generated on boot" truncate -s 0 /etc/machine-id -truncate -s 0 /var/lib/dbus/machine-id # if not symlinked to "/etc/machine-id" +if test -f /var/lib/dbus/machine-id +then + truncate -s 0 /var/lib/dbus/machine-id # if not symlinked to "/etc/machine-id" +fi echo "remove the contents of /tmp and /var/tmp" rm -rf /tmp/* /var/tmp/* diff --git a/packer_templates/scripts/windows/optimize.ps1 b/packer_templates/scripts/windows/optimize.ps1 index 6f2cb7e14..86877e667 100644 --- a/packer_templates/scripts/windows/optimize.ps1 +++ b/packer_templates/scripts/windows/optimize.ps1 @@ -155,7 +155,11 @@ Stop-ServiceForReal BITS # Background Intelligent Transfer Service } catch { Write-Host "Ignoring taking ownership of temporary files error: $_" } - Remove-Item $_ -Exclude 'packer-*' -Recurse -Force -ErrorAction SilentlyContinue | Out-Null + try { + Remove-Item $_ -Exclude 'packer-*' -Recurse -Force -ErrorAction SilentlyContinue | Out-Null + } catch { + Write-Host "Ignoring failure to remove files error: $_" + } } diff --git a/packer_templates/scripts/windows/provision-guest-tools-qemu-kvm.ps1 b/packer_templates/scripts/windows/provision-guest-tools-qemu-kvm.ps1 deleted file mode 100644 index 379827cf6..000000000 --- a/packer_templates/scripts/windows/provision-guest-tools-qemu-kvm.ps1 +++ /dev/null @@ -1,54 +0,0 @@ -#MIT License -# -#Copyright (c) 2017 Rui Lopes -# -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: -# -#The above copyright notice and this permission notice shall be included in all -#copies or substantial portions of the Software. -# -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -#SOFTWARE. - -Set-StrictMode -Version Latest -$ProgressPreference = 'SilentlyContinue' -$ErrorActionPreference = 'Stop' -trap { - Write-Host - Write-Host "ERROR: $_" - ($_.ScriptStackTrace -split '\r?\n') -replace '^(.*)$','ERROR: $1' | Write-Host - ($_.Exception.ToString() -split '\r?\n') -replace '^(.*)$','ERROR EXCEPTION: $1' | Write-Host - Write-Host - Write-Host 'Sleeping for 60m to give you time to look around the virtual machine before self-destruction...' - Start-Sleep -Seconds (60*60) - Exit 1 -} - -$systemVendor = (Get-CimInstance -ClassName Win32_ComputerSystemProduct -Property Vendor).Vendor -if ($systemVendor -eq 'QEMU') { - # qemu-kvm. - $guestToolsUrl = "http://$env:PACKER_HTTP_ADDR/drivers/virtio-win-guest-tools.exe" - $guestTools = "$env:TEMP\$(Split-Path -Leaf $guestToolsUrl)" - $guestToolsLog = "$guestTools.log" - Write-Host "Downloading the guest tools from $guestToolsUrl..." - Invoke-WebRequest $guestToolsUrl -OutFile $guestTools - Write-Host 'Installing the guest tools...' - &$guestTools /install /norestart /quiet /log $guestToolsLog | Out-String -Stream - if ($LASTEXITCODE) { - throw "failed to install guest tools with exit code $LASTEXITCODE" - } - Write-Host "Done installing the guest tools." -} else { - Write-Host "Not QEMU machine exiting" - Exit 0 -} diff --git a/packer_templates/scripts/windows/provision-vmwaretools.ps1 b/packer_templates/scripts/windows/provision-vmwaretools.ps1 deleted file mode 100644 index 707a16cf2..000000000 --- a/packer_templates/scripts/windows/provision-vmwaretools.ps1 +++ /dev/null @@ -1,41 +0,0 @@ -#MIT License -# -#Copyright (c) 2017 Rui Lopes -# -#Permission is hereby granted, free of charge, to any person obtaining a copy -#of this software and associated documentation files (the "Software"), to deal -#in the Software without restriction, including without limitation the rights -#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -#copies of the Software, and to permit persons to whom the Software is -#furnished to do so, subject to the following conditions: -# -#The above copyright notice and this permission notice shall be included in all -#copies or substantial portions of the Software. -# -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -#SOFTWARE. - -Set-StrictMode -Version Latest -$ProgressPreference = 'SilentlyContinue' -$ErrorActionPreference = 'Stop' -trap { - Write-Host - Write-Output "ERROR: $_" - Write-Output (($_.ScriptStackTrace -split '\r?\n') -replace '^(.*)$','ERROR: $1') - Write-Host 'Sleeping for 60m to give you time to look around the virtual machine before self-destruction...' - Start-Sleep -Seconds (60*60) - Exit 1 -} - -$systemVendor = (Get-CimInstance -ClassName Win32_ComputerSystemProduct -Property Vendor).Vendor -if ($systemVendor -eq 'VMware, Inc.') { - Write-Output 'Installing VMware Tools...' - # silent install without rebooting. - E:\setup64.exe /s /v '/qn reboot=r' ` - | Out-String -Stream -} diff --git a/packer_templates/scripts/windows/provision.ps1 b/packer_templates/scripts/windows/provision.ps1 index f7b761e2d..1fd0979ed 100644 --- a/packer_templates/scripts/windows/provision.ps1 +++ b/packer_templates/scripts/windows/provision.ps1 @@ -59,7 +59,15 @@ Add-Type -A System.IO.Compression.FileSystem # install Guest Additions. $systemVendor = (Get-CimInstance -ClassName Win32_ComputerSystemProduct -Property Vendor).Vendor if ($systemVendor -eq 'QEMU') { - # do nothing. this was installed in provision-guest-tools-qemu-kvm.ps1. + $guestToolsPath = "e:\drivers\virtio-win-guest-tools.exe" + $guestTools = "$env:TEMP\$(Split-Path -Leaf $guestToolsPath)" + $guestToolsLog = "$guestTools.log" + Write-Host 'Installing the guest tools...' + &$guestTools /install /norestart /quiet /log $guestToolsLog | Out-String -Stream + if ($LASTEXITCODE) { + throw "failed to install guest tools with exit code $LASTEXITCODE" + } + Write-Host "Done installing the guest tools." } elseif ($systemVendor -eq 'innotek GmbH') { Write-Host 'Importing the Oracle (for VirtualBox) certificate as a Trusted Publisher...' E:\cert\VBoxCertUtil.exe add-trusted-publisher E:\cert\vbox-sha1.cer @@ -75,9 +83,17 @@ if ($systemVendor -eq 'QEMU') { } elseif ($systemVendor -eq 'Microsoft Corporation') { # do nothing. Hyper-V enlightments are already bundled with Windows. } elseif ($systemVendor -eq 'VMware, Inc.') { - # do nothing. VMware Tools were already installed by provision-vmtools.ps1 (executed from autounattend.xml). + Write-Output 'Installing VMware Tools...' + # silent install without rebooting. + E:\setup64.exe /s /v '/qn reboot=r'| Out-String -Stream +} elseif ($systemVendor -eq 'Parallels Software International Inc.') { + Write-Host 'Installing the Parallels Tools for Guest VM...' + E:\PTAgent.exe /install_silent | Out-String -Stream + if ($LASTEXITCODE) { + throw "failed to install with exit code $LASTEXITCODE. Check the logs at C:\Program Files\Oracle\VirtualBox Guest Additions\install.log." + } } else { - throw "Cannot install Guest Additions: Unsupported system ($systemVendor)." + Write-Host "Cannot install Guest Additions: Unsupported system ($systemVendor)." } Write-Host 'Setting the vagrant account properties...'