From 6d10a11de9d388ef18d6e0e6a895ba778d858616 Mon Sep 17 00:00:00 2001 From: jwhitcraft Date: Tue, 20 May 2014 14:22:39 -0400 Subject: [PATCH] Update the Windows provisioner scripts to be the same across the board + include puppet as an option to be installed --- template/windows2012/script/provisioner.bat | 33 ++++++++++++++++--- template/windows2012r2/script/provisioner.bat | 33 ++++++++++++++++--- template/windows7/script/provisioner.bat | 20 +++++++++++ template/windows8/script/provisioner.bat | 33 ++++++++++++++++--- template/windows81/script/provisioner.bat | 33 ++++++++++++++++--- 5 files changed, 136 insertions(+), 16 deletions(-) diff --git a/template/windows2012/script/provisioner.bat b/template/windows2012/script/provisioner.bat index d3e2eb1..830549a 100644 --- a/template/windows2012/script/provisioner.bat +++ b/template/windows2012/script/provisioner.bat @@ -6,7 +6,8 @@ setlocal EnableExtensions EnableDelayedExpansion if not defined TEMP set TEMP=%USERPROFILE%\AppData\Local\Temp if "%PROVISIONER%" == "chef" goto chef -if "%PROVISIONER%" == "provisionless" goto provisionless +if "%PROVISIONER%" == "puppet" goto puppet +if "%PROVISIONER%" == "provisionerless" goto provisionerless echo ==^> ERROR: Unknown provisioner: "%PROVISIONER%" @@ -34,10 +35,34 @@ msiexec /qb /i "%LOCAL_DESTINATION_MSI_PATH%" echo ==^> Cleaning up Chef install del /F /Q "%LOCAL_DESTINATION_MSI_PATH%" -goto :eof +goto finish + +:puppet +:: If TEMP is not defined in this shell instance, define it ourselves +if not defined PROVISIONER_VERSION set PROVISIONER_VERSION=3.6.0 +if "%PROVISIONER_VERSION%" == "latest" set PROVISIONER_VERSION=3.6.0 +set REMOTE_SOURCE_MSI_URL=http://downloads.puppetlabs.com/windows/puppet-!PROVISIONER_VERSION!.msi +set LOCAL_DESTINATION_MSI_PATH=!TEMP!\puppet-!PROVISIONER_VERSION!.msi +set FALLBACK_QUERY_STRING= + +echo ==^> Downloading Puppet client !PROVISIONER_VERSION! +powershell -Command "(New-Object System.Net.WebClient).DownloadFile('!REMOTE_SOURCE_MSI_URL!!FALLBACK_QUERY_STRING!', '"!LOCAL_DESTINATION_MSI_PATH!"')" Installing puppet client !PROVISIONER_VERSION! +msiexec /qb /i "!LOCAL_DESTINATION_MSI_PATH!" + +echo ==^> Cleaning up Puppet install +del /F /Q "!LOCAL_DESTINATION_MSI_PATH!" -:provisionless +goto :finish + +:provisionerless echo ==^> Building box without a provisioner. -goto :eof +goto finish + +:finish + +exit 0 + diff --git a/template/windows2012r2/script/provisioner.bat b/template/windows2012r2/script/provisioner.bat index d3e2eb1..830549a 100644 --- a/template/windows2012r2/script/provisioner.bat +++ b/template/windows2012r2/script/provisioner.bat @@ -6,7 +6,8 @@ setlocal EnableExtensions EnableDelayedExpansion if not defined TEMP set TEMP=%USERPROFILE%\AppData\Local\Temp if "%PROVISIONER%" == "chef" goto chef -if "%PROVISIONER%" == "provisionless" goto provisionless +if "%PROVISIONER%" == "puppet" goto puppet +if "%PROVISIONER%" == "provisionerless" goto provisionerless echo ==^> ERROR: Unknown provisioner: "%PROVISIONER%" @@ -34,10 +35,34 @@ msiexec /qb /i "%LOCAL_DESTINATION_MSI_PATH%" echo ==^> Cleaning up Chef install del /F /Q "%LOCAL_DESTINATION_MSI_PATH%" -goto :eof +goto finish + +:puppet +:: If TEMP is not defined in this shell instance, define it ourselves +if not defined PROVISIONER_VERSION set PROVISIONER_VERSION=3.6.0 +if "%PROVISIONER_VERSION%" == "latest" set PROVISIONER_VERSION=3.6.0 +set REMOTE_SOURCE_MSI_URL=http://downloads.puppetlabs.com/windows/puppet-!PROVISIONER_VERSION!.msi +set LOCAL_DESTINATION_MSI_PATH=!TEMP!\puppet-!PROVISIONER_VERSION!.msi +set FALLBACK_QUERY_STRING= + +echo ==^> Downloading Puppet client !PROVISIONER_VERSION! +powershell -Command "(New-Object System.Net.WebClient).DownloadFile('!REMOTE_SOURCE_MSI_URL!!FALLBACK_QUERY_STRING!', '"!LOCAL_DESTINATION_MSI_PATH!"')" Installing puppet client !PROVISIONER_VERSION! +msiexec /qb /i "!LOCAL_DESTINATION_MSI_PATH!" + +echo ==^> Cleaning up Puppet install +del /F /Q "!LOCAL_DESTINATION_MSI_PATH!" -:provisionless +goto :finish + +:provisionerless echo ==^> Building box without a provisioner. -goto :eof +goto finish + +:finish + +exit 0 + diff --git a/template/windows7/script/provisioner.bat b/template/windows7/script/provisioner.bat index 83a2f17..830549a 100644 --- a/template/windows7/script/provisioner.bat +++ b/template/windows7/script/provisioner.bat @@ -6,6 +6,7 @@ setlocal EnableExtensions EnableDelayedExpansion if not defined TEMP set TEMP=%USERPROFILE%\AppData\Local\Temp if "%PROVISIONER%" == "chef" goto chef +if "%PROVISIONER%" == "puppet" goto puppet if "%PROVISIONER%" == "provisionerless" goto provisionerless echo ==^> ERROR: Unknown provisioner: "%PROVISIONER%" @@ -36,6 +37,25 @@ del /F /Q "%LOCAL_DESTINATION_MSI_PATH%" goto finish +:puppet +:: If TEMP is not defined in this shell instance, define it ourselves +if not defined PROVISIONER_VERSION set PROVISIONER_VERSION=3.6.0 +if "%PROVISIONER_VERSION%" == "latest" set PROVISIONER_VERSION=3.6.0 +set REMOTE_SOURCE_MSI_URL=http://downloads.puppetlabs.com/windows/puppet-!PROVISIONER_VERSION!.msi +set LOCAL_DESTINATION_MSI_PATH=!TEMP!\puppet-!PROVISIONER_VERSION!.msi +set FALLBACK_QUERY_STRING= + +echo ==^> Downloading Puppet client !PROVISIONER_VERSION! +powershell -Command "(New-Object System.Net.WebClient).DownloadFile('!REMOTE_SOURCE_MSI_URL!!FALLBACK_QUERY_STRING!', '"!LOCAL_DESTINATION_MSI_PATH!"')" Installing puppet client !PROVISIONER_VERSION! +msiexec /qb /i "!LOCAL_DESTINATION_MSI_PATH!" + +echo ==^> Cleaning up Puppet install +del /F /Q "!LOCAL_DESTINATION_MSI_PATH!" + +goto :finish + :provisionerless echo ==^> Building box without a provisioner. diff --git a/template/windows8/script/provisioner.bat b/template/windows8/script/provisioner.bat index d3e2eb1..830549a 100644 --- a/template/windows8/script/provisioner.bat +++ b/template/windows8/script/provisioner.bat @@ -6,7 +6,8 @@ setlocal EnableExtensions EnableDelayedExpansion if not defined TEMP set TEMP=%USERPROFILE%\AppData\Local\Temp if "%PROVISIONER%" == "chef" goto chef -if "%PROVISIONER%" == "provisionless" goto provisionless +if "%PROVISIONER%" == "puppet" goto puppet +if "%PROVISIONER%" == "provisionerless" goto provisionerless echo ==^> ERROR: Unknown provisioner: "%PROVISIONER%" @@ -34,10 +35,34 @@ msiexec /qb /i "%LOCAL_DESTINATION_MSI_PATH%" echo ==^> Cleaning up Chef install del /F /Q "%LOCAL_DESTINATION_MSI_PATH%" -goto :eof +goto finish + +:puppet +:: If TEMP is not defined in this shell instance, define it ourselves +if not defined PROVISIONER_VERSION set PROVISIONER_VERSION=3.6.0 +if "%PROVISIONER_VERSION%" == "latest" set PROVISIONER_VERSION=3.6.0 +set REMOTE_SOURCE_MSI_URL=http://downloads.puppetlabs.com/windows/puppet-!PROVISIONER_VERSION!.msi +set LOCAL_DESTINATION_MSI_PATH=!TEMP!\puppet-!PROVISIONER_VERSION!.msi +set FALLBACK_QUERY_STRING= + +echo ==^> Downloading Puppet client !PROVISIONER_VERSION! +powershell -Command "(New-Object System.Net.WebClient).DownloadFile('!REMOTE_SOURCE_MSI_URL!!FALLBACK_QUERY_STRING!', '"!LOCAL_DESTINATION_MSI_PATH!"')" Installing puppet client !PROVISIONER_VERSION! +msiexec /qb /i "!LOCAL_DESTINATION_MSI_PATH!" + +echo ==^> Cleaning up Puppet install +del /F /Q "!LOCAL_DESTINATION_MSI_PATH!" -:provisionless +goto :finish + +:provisionerless echo ==^> Building box without a provisioner. -goto :eof +goto finish + +:finish + +exit 0 + diff --git a/template/windows81/script/provisioner.bat b/template/windows81/script/provisioner.bat index d3e2eb1..830549a 100644 --- a/template/windows81/script/provisioner.bat +++ b/template/windows81/script/provisioner.bat @@ -6,7 +6,8 @@ setlocal EnableExtensions EnableDelayedExpansion if not defined TEMP set TEMP=%USERPROFILE%\AppData\Local\Temp if "%PROVISIONER%" == "chef" goto chef -if "%PROVISIONER%" == "provisionless" goto provisionless +if "%PROVISIONER%" == "puppet" goto puppet +if "%PROVISIONER%" == "provisionerless" goto provisionerless echo ==^> ERROR: Unknown provisioner: "%PROVISIONER%" @@ -34,10 +35,34 @@ msiexec /qb /i "%LOCAL_DESTINATION_MSI_PATH%" echo ==^> Cleaning up Chef install del /F /Q "%LOCAL_DESTINATION_MSI_PATH%" -goto :eof +goto finish + +:puppet +:: If TEMP is not defined in this shell instance, define it ourselves +if not defined PROVISIONER_VERSION set PROVISIONER_VERSION=3.6.0 +if "%PROVISIONER_VERSION%" == "latest" set PROVISIONER_VERSION=3.6.0 +set REMOTE_SOURCE_MSI_URL=http://downloads.puppetlabs.com/windows/puppet-!PROVISIONER_VERSION!.msi +set LOCAL_DESTINATION_MSI_PATH=!TEMP!\puppet-!PROVISIONER_VERSION!.msi +set FALLBACK_QUERY_STRING= + +echo ==^> Downloading Puppet client !PROVISIONER_VERSION! +powershell -Command "(New-Object System.Net.WebClient).DownloadFile('!REMOTE_SOURCE_MSI_URL!!FALLBACK_QUERY_STRING!', '"!LOCAL_DESTINATION_MSI_PATH!"')" Installing puppet client !PROVISIONER_VERSION! +msiexec /qb /i "!LOCAL_DESTINATION_MSI_PATH!" + +echo ==^> Cleaning up Puppet install +del /F /Q "!LOCAL_DESTINATION_MSI_PATH!" -:provisionless +goto :finish + +:provisionerless echo ==^> Building box without a provisioner. -goto :eof +goto finish + +:finish + +exit 0 +