diff --git a/AUTHORS.rst b/AUTHORS.rst index 5da45fd..abd417b 100644 --- a/AUTHORS.rst +++ b/AUTHORS.rst @@ -12,6 +12,7 @@ Alex Van't Hof alexvh Angelo Gründler plueschopath angelo.gruendler@w1r3.net Boris Feld Lothiraldan bruce-one bruce-one +C. R. Oldham cro cr@saltstack.com Chris Rebert cvrebert chris.rebert@hulu.com Christer Edwards cedwards Dag Viggo Lokøen dagvl dag.viggo@lokoen.org @@ -22,6 +23,7 @@ Elias Probst eliasp Erik Johnson terminalmage erik@saltstack.com Forrest Alvarez gravyboat Geoff Garside geoffgarside geoff@geoffgarside.co.uk +ggillies ggillies Giuseppe Iannello giannello giuseppe.iannello@brokenloop.net Gregory Meno GregMeno gregory.meno@inktank.com Guillaume Derval GuillaumeDerval guillaume@guillaumederval.be diff --git a/ChangeLog b/ChangeLog index 7c709e4..dfa5200 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Version 2014.12.11: + * Enable binary installations on CentOS 7. Thanks ggillies + * Updated the URL for EPEL 7 + Version 2014.10.30: * Apply the forking patch to openSUSE git installations. diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 2260ed6..38e0511 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -17,7 +17,7 @@ # CREATED: 10/15/2012 09:49:37 PM WEST #====================================================================================================================== set -o nounset # Treat unset variables as an error -__ScriptVersion="2014.10.30" +__ScriptVersion="2014.12.11" __ScriptName="bootstrap-salt.sh" #====================================================================================================================== @@ -243,7 +243,7 @@ usage() { -D Show debug output. -c Temporary configuration directory -g Salt repository URL. (default: git://github.com/saltstack/salt.git) - -G Insteady of cloning from git://github.com/saltstack/salt.git, clone from https://github.com/saltstack/salt.git (Usually necessary on systems which have the regular git protocol port blocked, where https usualy is not) + -G Instead of cloning from git://github.com/saltstack/salt.git, clone from https://github.com/saltstack/salt.git (Usually necessary on systems which have the regular git protocol port blocked, where https usually is not) -k Temporary directory holding the minion keys which will pre-seed the master. -s Sleep time used when waiting for daemons to start, restart and when checking @@ -2549,7 +2549,7 @@ __install_epel_repository() { elif [ "$DISTRO_MAJOR_VERSION" -eq 6 ]; then rpm -Uvh --force "http://download.fedoraproject.org/pub/epel/6/${EPEL_ARCH}/epel-release-6-8.noarch.rpm" || return 1 elif [ "$DISTRO_MAJOR_VERSION" -eq 7 ]; then - rpm -Uvh --force "http://download.fedoraproject.org/pub/epel/7/${EPEL_ARCH}/e/epel-release-7-2.noarch.rpm" || return 1 + rpm -Uvh --force "http://download.fedoraproject.org/pub/epel/7/${EPEL_ARCH}/e/epel-release-7-5.noarch.rpm" || return 1 else echoerror "Failed add EPEL repository support." return 1 @@ -2567,7 +2567,7 @@ __install_saltstack_copr_zeromq_repository() { __REPOTYPE="epel" fi wget -O /etc/yum.repos.d/saltstack-zeromq4.repo \ - "https://copr.fedoraproject.org/coprs/saltstack/zeromq4/repo/${__REPOTYPE}-${DISTRO_MAJOR_VERSION}/saltstack-zeromq4-${__REPOTYPE}-${DISTRO_MAJOR_VERSION}.repo" || return 1 + "http://copr.fedoraproject.org/coprs/saltstack/zeromq4/repo/${__REPOTYPE}-${DISTRO_MAJOR_VERSION}/saltstack-zeromq4-${__REPOTYPE}-${DISTRO_MAJOR_VERSION}.repo" || return 1 fi return 0 } @@ -2689,9 +2689,9 @@ install_centos_git_deps() { install_centos_stable_deps || return 1 if [ "$DISTRO_NAME_L" = "oracle_linux" ]; then # try both ways --enablerepo=X disables ALL OTHER REPOS!!!! - yum -y install git || yum -y install git --enablerepo=${_EPEL_REPO} || return 1 + yum install -y git systemd-python || yum install -y git systemd-python --enablerepo=${_EPEL_REPO} || return 1 else - yum -y install git --enablerepo=${_EPEL_REPO} || return 1 + yum install -y git systemd-python --enablerepo=${_EPEL_REPO} || return 1 fi __git_clone_and_checkout || return 1 @@ -2720,6 +2720,7 @@ install_centos_git() { } install_centos_git_post() { + SYSTEMD_RELOAD=$BS_FALSE for fname in minion master syndic api; do # Skip if not meant to be installed @@ -2728,8 +2729,15 @@ install_centos_git_post() { [ $fname = "api" ] && ([ "$_INSTALL_MASTER" -eq $BS_FALSE ] || [ "$(which salt-${fname} 2>/dev/null)" = "" ]) && continue [ $fname = "syndic" ] && [ "$_INSTALL_SYNDIC" -eq $BS_FALSE ] && continue - # While the RPM's use init.d, so will we. - if [ ! -f /etc/init.d/salt-$fname ] || ([ -f /etc/init.d/salt-$fname ] && [ $_FORCE_OVERWRITE -eq $BS_TRUE ]); then + if [ ! -f /usr/lib/systemd/system/salt-${fname}.service ] || ([ -f /usr/lib/systemd/system/salt-${fname}.service ] && [ $_FORCE_OVERWRITE -eq $BS_TRUE ]); then + copyfile "${__SALT_GIT_CHECKOUT_DIR}/pkg/rpm/salt-${fname}.service" /usr/lib/systemd/system/ + + # Skip salt-api since the service should be opt-in and not necessarily started on boot + [ $fname = "api" ] && continue + + /bin/systemctl enable salt-${fname}.service + SYSTEMD_RELOAD=$BS_TRUE + elif [ ! -f /usr/lib/systemd/system/salt-${fname}.service ] && [ ! -f /etc/init.d/salt-$fname ] || ([ -f /etc/init.d/salt-$fname ] && [ $_FORCE_OVERWRITE -eq $BS_TRUE ]); then copyfile "${__SALT_GIT_CHECKOUT_DIR}/pkg/rpm/salt-${fname}" /etc/init.d/ chmod +x /etc/init.d/salt-${fname} @@ -2753,6 +2761,10 @@ install_centos_git_post() { # /sbin/chkconfig salt-${fname} on #fi done + + if [ "$SYSTEMD_RELOAD" -eq $BS_TRUE ]; then + /bin/systemctl daemon-reload + fi } install_centos_restart_daemons() {