Round 1 of Puppet 4 support
This commit puts in place the ability to run puppet-openstack-integation against Pupept 4 by making release files and paths dynamic based off an environment variable, PUPPET_VERSION. Configurability is required because of the way Puppet 4 is installed, as an all-in-one package known as "PC1" or "puppet-agent" which includes Ruby, Facter 3, and other dependencies. Change-Id: Id3af52f4938378a5a620765321cecd547e079660
This commit is contained in:
parent
48ceac8795
commit
8d1005bc16
@ -7,7 +7,7 @@ if [ ! -z ${GEM_HOME} ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
export SCRIPT_DIR=$(cd `dirname $0` && pwd -P)
|
export SCRIPT_DIR=$(cd `dirname $0` && pwd -P)
|
||||||
export PUPPETFILE_DIR=${PUPPETFILE_DIR:-/etc/puppet/modules}
|
export PUPPETFILE_DIR=${PUPPETFILE_DIR:-${PUPPET_BASE_PATH}/modules}
|
||||||
source $SCRIPT_DIR/functions
|
source $SCRIPT_DIR/functions
|
||||||
|
|
||||||
gem install r10k --no-ri --no-rdoc
|
gem install r10k --no-ri --no-rdoc
|
||||||
|
@ -11,7 +11,7 @@ if [ ! -z ${GEM_HOME} ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
export SCRIPT_DIR=$(cd `dirname $0` && pwd -P)
|
export SCRIPT_DIR=$(cd `dirname $0` && pwd -P)
|
||||||
export PUPPETFILE_DIR=${PUPPETFILE_DIR:-/etc/puppet/modules}
|
export PUPPETFILE_DIR=${PUPPETFILE_DIR:-${PUPPET_BASE_PATH}/modules}
|
||||||
source $SCRIPT_DIR/functions
|
source $SCRIPT_DIR/functions
|
||||||
|
|
||||||
install_modules
|
install_modules
|
||||||
|
31
run_tests.sh
31
run_tests.sh
@ -13,12 +13,25 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
|
export PUPPET_VERSION=${PUPPET_VERSION:-3}
|
||||||
export SCENARIO=${SCENARIO:-scenario001}
|
export SCENARIO=${SCENARIO:-scenario001}
|
||||||
export MANAGE_PUPPET_MODULES=${MANAGE_PUPPET_MODULES:-true}
|
export MANAGE_PUPPET_MODULES=${MANAGE_PUPPET_MODULES:-true}
|
||||||
export MANAGE_REPOS=${MANAGE_REPOS:-true}
|
export MANAGE_REPOS=${MANAGE_REPOS:-true}
|
||||||
export PUPPET_ARGS=${PUPPET_ARGS:-}
|
export PUPPET_ARGS=${PUPPET_ARGS:-}
|
||||||
export SCRIPT_DIR=$(cd `dirname $0` && pwd -P)
|
export SCRIPT_DIR=$(cd `dirname $0` && pwd -P)
|
||||||
source $SCRIPT_DIR/functions
|
|
||||||
|
if [ $PUPPET_VERSION == 4 ]; then
|
||||||
|
export PATH=${PATH}:/opt/puppetlabs/bin
|
||||||
|
export PUPPET_RELEASE_FILE=puppetlabs-release-pc1
|
||||||
|
export PUPPET_BASE_PATH=/etc/puppetlabs/code
|
||||||
|
export PUPPET_PKG=puppet-agent
|
||||||
|
else
|
||||||
|
export PUPPET_RELEASE_FILE=puppetlabs-release
|
||||||
|
export PUPPET_BASE_PATH=/etc/puppet
|
||||||
|
export PUPPET_PKG=puppet
|
||||||
|
fi
|
||||||
|
|
||||||
|
source ${SCRIPT_DIR}/functions
|
||||||
|
|
||||||
if [ ! -f fixtures/${SCENARIO}.pp ]; then
|
if [ ! -f fixtures/${SCENARIO}.pp ]; then
|
||||||
echo "fixtures/${SCENARIO}.pp file does not exist. Please define a valid scenario."
|
echo "fixtures/${SCENARIO}.pp file does not exist. Please define a valid scenario."
|
||||||
@ -56,24 +69,24 @@ function run_puppet() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if uses_debs; then
|
if uses_debs; then
|
||||||
if dpkg -l puppetlabs-release >/dev/null 2>&1; then
|
if dpkg -l $PUPPET_RELEASE_FILE >/dev/null 2>&1; then
|
||||||
$SUDO apt-get purge -y puppetlabs-release
|
$SUDO apt-get purge -y $PUPPET_RELEASE_FILE
|
||||||
fi
|
fi
|
||||||
$SUDO rm -f /tmp/puppet.deb
|
$SUDO rm -f /tmp/puppet.deb
|
||||||
|
|
||||||
wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb -O /tmp/puppet.deb
|
wget http://apt.puppetlabs.com/${PUPPET_RELEASE_FILE}-trusty.deb -O /tmp/puppet.deb
|
||||||
$SUDO dpkg -i /tmp/puppet.deb
|
$SUDO dpkg -i /tmp/puppet.deb
|
||||||
$SUDO apt-get update
|
$SUDO apt-get update
|
||||||
$SUDO apt-get install -y dstat puppet
|
$SUDO apt-get install -y dstat ${PUPPET_PKG}
|
||||||
elif is_fedora; then
|
elif is_fedora; then
|
||||||
if rpm --quiet -q puppetlabs-release; then
|
if rpm --quiet -q $PUPPET_RELEASE_FILE; then
|
||||||
$SUDO rpm -e puppetlabs-release
|
$SUDO rpm -e $PUPPET_RELEASE_FILE
|
||||||
fi
|
fi
|
||||||
$SUDO rm -f /tmp/puppet.rpm
|
$SUDO rm -f /tmp/puppet.rpm
|
||||||
|
|
||||||
wget https://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm -O /tmp/puppet.rpm
|
wget http://yum.puppetlabs.com/${PUPPET_RELEASE_FILE}-el-7.noarch.rpm -O /tmp/puppet.rpm
|
||||||
$SUDO rpm -ivh /tmp/puppet.rpm
|
$SUDO rpm -ivh /tmp/puppet.rpm
|
||||||
$SUDO yum install -y dstat puppet
|
$SUDO yum install -y dstat ${PUPPET_PKG}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# use dstat to monitor system activity during integration testing
|
# use dstat to monitor system activity during integration testing
|
||||||
|
Loading…
Reference in New Issue
Block a user