diff --git a/plans/subplans/install.pp b/plans/subplans/install.pp index 5a5ebdad2..1ce008322 100644 --- a/plans/subplans/install.pp +++ b/plans/subplans/install.pp @@ -237,6 +237,8 @@ ) } + run_task('peadm::preinstall', $all_targets) + if $pe_installer_source { $pe_tarball_name = $pe_installer_source.split('/')[-1] $pe_tarball_source = $pe_installer_source diff --git a/tasks/preinstall.json b/tasks/preinstall.json new file mode 100644 index 000000000..41934be7d --- /dev/null +++ b/tasks/preinstall.json @@ -0,0 +1,8 @@ +{ + "puppet_task_version": 1, + "supports_noop": false, + "description": "Installs required packages, and configuration required before PE can be installed.", + "implementations": [ + {"name": "preinstall.sh"} + ] +} diff --git a/tasks/preinstall.sh b/tasks/preinstall.sh new file mode 100644 index 000000000..a3cc8d848 --- /dev/null +++ b/tasks/preinstall.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +# Setup required packages +packages="curl gnupg" +if command -v apt-get >/dev/null 2>&1; then + apt-get update + apt-get install -y ${packages} locales + + # Generate en_US.UTF-8 locale for PuppetDB + if ! locale-gen en_US.UTF-8; then + echo "Failed to generate locale en_US.UTF-8" >&2 + exit 1 + fi +elif command -v yum >/dev/null 2>&1; then + yum install -y ${packages} glibc-langpack-en +else + echo "No supported package manager found (apt-get or yum required)." >&2 + exit 1 +fi + +exit 0