Second run of run_tests.sh script will fail with error:
ln: failed to create symbolic link '/usr/sbin/puppet': File exists
Force symlink creation fixes this issue.
Change-Id: I82622859b096e07c374b532b1fa69b5a335a6ef4
This makes gem binary usage consistent (i.e, r10k) and prevents
encoutering a command not found error.
Change-Id: I3ef01274417cd88403d71af0e6216850d77cc81c
Closes-Bug: #1592113
When running Puppet4, the bin not in $PATH so beaker jobs fail to run
Puppet. Also we use SUDO in OpenStack Infra to run Beaker so we can use
PATH.
This patch is a workaround to make it possible.
Change-Id: Ie25a414f86d9d4b9d60e28d2680a13a503abad8b
PUPPET_VERSION is already used by puppetlabs/beaker and we don't want to
overlap with this variable. So let's rename it to PUPPET_MAJ_VERSION to
avoid strange behaviors when running Beaker jobs.
Change-Id: I74be2eec2be53f59af196f37ee348ff6856af8bc
In order to help be able to determine what part of the script a failure
occurs in, this change adds a print header function and updates the
shell scripts to print some header information for various actions.
Change-Id: I8e622c4d1c9c03aa3dbcb27712a346ce3284003f
This commit just exports PATH when testing against Puppet 4.
Tests pass without this in some environments but is dependent on sudo
configurations, to get tests passing in OpenStack Infra, this is
required.
Change-Id: I04b486fb398aaad1a3333477995ec00a76b9da0b
Those small typos and non-idiom can lead to unexpected behavior, better
fix them now.
Change-Id: I218ba0f3bba832d0929fb52c21f7e66774da494e
Closes-Bug: #1561539
We need to export PUPPET_BASE_PATH otherwise beaker & unit CI jobs will
fail to copy modules in the right path:
mv /modules/openstack-integration /modules/openstack_integration
Change-Id: I1c99de3f99367fb7677977fee4c5cf08afda5977
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
readlink on OSX does not support the -f option. As an alternative, we
can use pwd -P to resolve the path.
Change-Id: Ibaeadea9685f7a9603198ed1a509176cf70f9b21
Closes-Bug: #1506504
* Move out some code from install_modules.sh to have a functions script.
* Update install_modules.sh script to use functions.
Change-Id: Ie87b8eac71d5edb555e9a1637bea84bc9e268497
* Stop setting SElinux as permissive and bring it to 'enforced' again,
since our blocker is fixed [1].
* Run `apt-get update` only in run_tests.sh script. It's the only place
we actually need to run it since beaker jobs already manage that task.
* in run_tests.sh, use $SUDO instead of sudo, to be consistent.
[1] https://bugzilla.redhat.com/show_bug.cgi?id=1249685
Change-Id: Ic3101a0a080b798b334cd2f212ec726f243880b5
RabbitMQ 3.5.5 has a bug [1] that prevent puppetlabs-rabbitmq module to
create permissions:
Could not evaluate: cannot parse line from
list_user_permissions:/usr/sbin/rabbitmqctl: 19: [: Linux: unexpected
operator]
This patch is a workaround to make sure we install the previous stable
version of RabbitMQ (3.5.4). Since puppetlabs-rabbitmq module will only
check if the package is 'installed', it won't try to update it.
[1] https://github.com/rabbitmq/rabbitmq-server/issues/321
Change-Id: I8e0fa8e62e93b62317011fd7c8a2730cd293d4c7
Recently we decided to ensure SELinux was in permissive mode to avoid
package issues. If a user has its node already with SELinux disabld the
call to setenforce 0 would fail with the following issue :
usr/sbin/setenforce: SELinux is disabled
This commit fixes that
Change-Id: Ie42f62325d0f3e863feb7e412e073341e0f04a36
python-cffi is preventing Nova & Keystone to run when SElinux is
enforced.
The bug is reported [1] and RDO team is working on it.
In the meantime, we need to disable SElinux so we can run our CI again.
This patch might be reverted once a fix is released in packaging.
[1] https://bugzilla.redhat.com/show_bug.cgi?id=1249685
Change-Id: I4720ec701cb36f56a9556a124204db32fa8e8434
Since our recent discussion about Ubuntu packaging, we decided to bump
Ubuntu packaging to trusty-proposed/liberty so we can install Liberty in
a better shape than current situation (Staging repo).
This patch installs UCA liberty repository.
It also makes sure `apt-get update` ran before so we are able to install
ubuntu-cloud-keyring package in the gate.
Change-Id: I57e2ddc5d0e228142f8045623ffbde362c0e7f7b
Note: this is a temporary fix and will be reverted once packaging is
fixed upstream.
python-pymysql is a new dependency in Liberty and current OpenStack
packages do not depend on it right now. It's work in progress by
tu
team.
Change-Id: I5d997e27abce98c6edc551350cec27c4611e736f
This reverts commit 8b9db6da8629bd9dfdc70395b2cfe15a3f9d71d6 and applies
some changes to not break Puppet beaker jobs.
* First init of run_tests.sh script that will just run
install_modules.sh script with sudo. The script also makes sure GEM_HOME is set
so we can install r10k from gems and run it later.
* install_modules: make sure to find r10k binary
Change-Id: I24c7494e7c9201915d9aa2bf314a9534ddd27dd5
Make sure there is no puppet modules pre-installed in the image where we
run integration testing by cleaning up the /etc/puppet/modules/*
directory.
Change-Id: I489717356b75b95c1a881b6f3e554cfec66ee6f1
This is a temp fix: currently Puppet CI is broken because it can't find
the path of the script. This patch aims to fix it but it will be changed
again later, we need to change project-config repo.
Change-Id: I1bf3ea6a26be9b79794e048aac125e80a1d858a6
When launching run_tests.sh we need to make sure to call
install_modules.sh.
I've moved it into the tools directory, and installed the modules
local vs global. This is mostly personal preference but avoids puppet
modules conflicts with global /etc/puppet folder.
Change-Id: I77c445a71720e0c8dd4744777c2bc6a0a6663590
Depends-On: I87c12faffab953ad2039d2b9ed9ab420e97ab2b7
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
This repo will be cloned by the puppet modules and used to install
modules in functional tests. The script uses r10k to deploy modules
from the Puppetfile because this is the Puppet Labs recommended way to
manage puppet environments, and it is a popular method among our users.
We install all modules from git, not the forge, because r10k does not
give us dependency resolution so installing from the forge does not buy
us anything. If the modules have stable branches in git, r10k uses the
stable branch as a ref, otherwise it uses a tag (pinning to a specific
release).
If zuul-cloner is available, the script first installs the external
modules with r10k, then extracts the OpenStack modules from the
Puppetfile to install with zuul-cloner. In the future, this part may be
split out into a JJB job.
Note: because r10k purges the modules directory before installing
modules, and this feature cannot be turned off[1], we must run r10k to
install the external modules before running zuul-cloner to install the
OpenStack modules.
[1] https://github.com/puppetlabs/r10k/issues/172
Change-Id: Ide59ef4bdf53a04957e3593815b7514a0e744e0e