Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix TLS 1.2 issue when downloading files in "old" windows #264

Merged
merged 1 commit into from
Mar 14, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ env:
VAGRANT_CLOUD_TOKEN: ${{ secrets.VAGRANT_CLOUD_TOKEN }}
# Needed for Packer when calling ansible (https://github.com/ansible/ansible/issues/32499)
OBJC_DISABLE_INITIALIZE_FORK_SAFETY: YES
ACCELERATOR: hvf

jobs:
build-boxes:
Expand Down
29 changes: 15 additions & 14 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ export PACKER_CACHE_DIR=${PACKER_CACHE_DIR:-/var/tmp/packer_cache}
export VIRTIO_WIN_ISO_URL=${VIRTIO_WIN_ISO_URL:-https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso}
export VIRTIO_WIN_ISO=${VIRTIO_WIN_ISO:-${PACKER_CACHE_DIR}/$(basename "${VIRTIO_WIN_ISO_URL}")}
export VIRTIO_WIN_ISO_DIR=${VIRTIO_WIN_ISO_DIR:-${PACKER_CACHE_DIR}/virtio-win}
# Do not use any GUI X11 windows
export HEADLESS=${HEADLESS:-true}
# Packer binary
export PACKER_BINARY=${PACKER_BINARY:-packer}
# Directory where all the images will be stored
Expand Down Expand Up @@ -75,23 +73,25 @@ cmdline() {
fi

for BUILD in ${BUILDS}; do
# Packer command line parameters
export PACKER_CMD_PARAMS=("build" "-color=false" "-var" "headless=true")
export PACKER_VAGRANT_PROVIDER="${BUILD##*-}"
export NAME="${BUILD%-*}"
MY_NAME=$(echo "${NAME}" | awk -F '-' '{ print $1 }')
export MY_NAME

case ${PACKER_VAGRANT_PROVIDER} in
libvirt )
export PACKER_BUILDER_TYPE="qemu"
# Qemu Accelerator - use kvm for Linux and hvf for MacOS
if [[ $(uname) = "Darwin" ]]; then
export ACCELERATOR=${ACCELERATOR:-hvf}
PACKER_CMD_PARAMS+=("-only=qemu" "-var" "accelerator=hvf")
elif [[ $(uname) = "Linux" ]]; then
export ACCELERATOR=${ACCELERATOR:-kvm}
PACKER_CMD_PARAMS+=("-only=qemu" "-var" "accelerator=kvm")
fi

;;
virtualbox )
export PACKER_BUILDER_TYPE="virtualbox-iso"
PACKER_CMD_PARAMS+=("-only=virtualbox-iso")
;;
*)
echo -e "\n\n*** Unsupported PACKER_VAGRANT_PROVIDER: \"${PACKER_VAGRANT_PROVIDER}\" used from \"${BUILD}\""
Expand All @@ -103,7 +103,7 @@ cmdline() {
test -d "${PACKER_IMAGES_OUTPUT_DIR}" || mkdir -v "${PACKER_IMAGES_OUTPUT_DIR}"
test -d "${LOGDIR}" || mkdir -v "${LOGDIR}"

echo -e "\n\n*** ${MY_NAME} | ${NAME} | ${BUILD} - ${PACKER_VAGRANT_PROVIDER}/${PACKER_BUILDER_TYPE}"
echo -e "\n\n*** ${MY_NAME} | ${NAME} | ${BUILD} - ${PACKER_VAGRANT_PROVIDER}"

case ${NAME} in
*centos*)
Expand All @@ -113,8 +113,8 @@ cmdline() {
export CENTOS_TAG
export CENTOS_TYPE="NetInstall"
ISO_CHECKSUM=$(curl -s "ftp://ftp.cvut.cz/centos/${CENTOS_VERSION}/isos/x86_64/sha256sum.txt" | awk "/CentOS-${CENTOS_VERSION}-x86_64-${CENTOS_TYPE}-${CENTOS_TAG}.iso/ { print \$1 }")
export PACKER_FILE="${MY_NAME}-${CENTOS_VERSION}.json"
echo "* NAME: ${NAME}, CENTOS_VERSION: ${CENTOS_VERSION}, CENTOS_TAG: ${CENTOS_TAG}, CENTOS_TYPE: ${CENTOS_TYPE}, PACKER_FILE: ${PACKER_FILE}"
PACKER_CMD_PARAMS+=("${MY_NAME}-${CENTOS_VERSION}.json")
echo "* NAME: ${NAME}, CENTOS_VERSION: ${CENTOS_VERSION}, CENTOS_TAG: ${CENTOS_TAG}, CENTOS_TYPE: ${CENTOS_TYPE}"
;;
*ubuntu*)
UBUNTU_TYPE=$(echo "${NAME}" | awk -F '-' '{ print $3 }')
Expand All @@ -130,14 +130,14 @@ cmdline() {
export UBUNTU_IMAGES_URL=http://archive.ubuntu.com/ubuntu/dists/${UBUNTU_CODENAME}/main/installer-amd64/current/images
fi
ISO_CHECKSUM=$(curl -s "${UBUNTU_IMAGES_URL}/SHA256SUMS" | awk '/.\/netboot\/mini.iso/ { print $1 }')
export PACKER_FILE="${MY_NAME}-${UBUNTU_TYPE}.json"
echo "* NAME: ${NAME}, UBUNTU_TYPE: ${UBUNTU_TYPE}, PACKER_FILE: ${PACKER_FILE}, UBUNTU_IMAGES_URL: ${UBUNTU_IMAGES_URL}"
PACKER_CMD_PARAMS+=("${MY_NAME}-${UBUNTU_TYPE}.json")
echo "* NAME: ${NAME}, UBUNTU_TYPE: ${UBUNTU_TYPE}, UBUNTU_IMAGES_URL: ${UBUNTU_IMAGES_URL}"
;;
*windows*)
export WINDOWS_ARCH="x64"
WINDOWS_VERSION=$(echo "${NAME}" | sed -n -e 's/.*-\([0-9][0-9][0-9][0-9]\)[_-].*/\1/p' -e 's/.*-\([0-9][0-9]\)-.*/\1/p')
export WINDOWS_VERSION
export PACKER_FILE="${MY_NAME}.json"
PACKER_CMD_PARAMS+=("${MY_NAME}.json")
WINDOWS_EDITION=$(echo "${NAME}" | awk -F - '{ print $(NF-2) }')
export WINDOWS_EDITION

Expand All @@ -164,7 +164,7 @@ cmdline() {
;;
esac

echo "* NAME: ${NAME}, WINDOWS_ARCH: ${WINDOWS_ARCH}, WINDOWS_VERSION: ${WINDOWS_VERSION}, WINDOWS_EDITION: ${WINDOWS_EDITION}, PACKER_FILE: ${PACKER_FILE}"
echo "* NAME: ${NAME}, WINDOWS_ARCH: ${WINDOWS_ARCH}, WINDOWS_VERSION: ${WINDOWS_VERSION}, WINDOWS_EDITION: ${WINDOWS_EDITION}"
ISO_CHECKSUM=$(awk "/$(basename ${ISO_URL})/ { print \$1 }" win_iso.sha256)
if [[ ${PACKER_VAGRANT_PROVIDER} = "libvirt" ]]; then
test -f "${VIRTIO_WIN_ISO}" || curl -sL "${VIRTIO_WIN_ISO_URL}" --output "${VIRTIO_WIN_ISO}"
Expand All @@ -188,7 +188,8 @@ cmdline() {

packer_build() {
if [[ ! -f "${PACKER_IMAGES_OUTPUT_DIR}/${BUILD}.box" ]]; then
${PACKER_BINARY} build -only="${PACKER_BUILDER_TYPE}" -color=false -var "headless=${HEADLESS}" -var "accelerator=${ACCELERATOR}" "${PACKER_FILE}" 2>&1 | tee "${LOGDIR}/${BUILD}-packer.log"
echo "*** Running packer with params: ${PACKER_CMD_PARAMS[*]}"
${PACKER_BINARY} "${PACKER_CMD_PARAMS[@]}" 2>&1 | tee "${LOGDIR}/${BUILD}-packer.log"
ln -rfs "${PACKER_CACHE_DIR}/$(echo -n "${ISO_CHECKSUM}" | sha1sum | awk '{ print $1 }').iso" "${PACKER_CACHE_DIR}/${NAME}.iso"
else
echo -e "\n* File ${PACKER_IMAGES_OUTPUT_DIR}/${BUILD}.box already exists. Skipping....\n";
Expand Down
3 changes: 2 additions & 1 deletion my_windows.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
"disk_size": "{{ user `disk_size` }}",
"floppy_files": [
"{{ user `autounattend` }}",
"scripts/win-common/fixnetwork.ps1",
"scripts/win-common/ConfigureRemotingForAnsible.ps1",
"scripts/win-common/fixnetwork.ps1",
"scripts/win-common/unattend.xml",
"scripts/win-common/sysprep.bat"
],
Expand Down Expand Up @@ -39,6 +39,7 @@
"disk_size": "{{ user `disk_size` }}",
"floppy_files": [
"{{ user `autounattend` }}",
"scripts/win-common/ConfigureRemotingForAnsible.ps1",
"scripts/win-common/fixnetwork.ps1",
"scripts/win-common/unattend.xml",
"scripts/win-common/sysprep.bat"
Expand Down
3 changes: 2 additions & 1 deletion windows.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
"disk_size": "{{ user `disk_size` }}",
"floppy_files": [
"{{ user `autounattend` }}",
"scripts/win-common/fixnetwork.ps1",
"scripts/win-common/ConfigureRemotingForAnsible.ps1",
"scripts/win-common/fixnetwork.ps1",
"scripts/win-common/unattend.xml",
"scripts/win-common/sysprep.bat"
],
Expand Down Expand Up @@ -42,6 +42,7 @@
"disk_size": "{{ user `disk_size` }}",
"floppy_files": [
"{{ user `autounattend` }}",
"scripts/win-common/ConfigureRemotingForAnsible.ps1",
"scripts/win-common/fixnetwork.ps1",
"scripts/win-common/unattend.xml",
"scripts/win-common/sysprep.bat"
Expand Down