Age | Commit message (Collapse) | Author | Files | Lines |
|
In the past, there were cases where the Git mirrors were
out of sync with Gerrit which caused the use of outdated
repos. This change switches all scenarios to Gerrit.
Apart from that, it also aligns the urls across all scenarios.
Change-Id: I5301630a71446df8668f16c81bf26d81bcea8031
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
|
|
add the k8-nosdn-noeature and k8-canal-nofeature roles under scenarios directory
run different roles to configure the k8s-cluster according to the deploy scenario
installer-type:kubespray
deploy-scenario:k8-canal-nofeature
Change-Id: Ia96b01f79fb058e045c5b7d9d9aecb7f15a21e63
Signed-off-by: wutianwei <wutianwei1@huawei.com>
|
|
So far we were building the repo url variable in the odl scenarios. Moving
that logic to ODL role probably makes more sense as it can be reused by all
scenarios.
This patch passes the odl_version to OSA. That variable will be processed by
the ODL role, which will finally generate the repo url variable
deploy-scenario:os-odl-nofeature
installer-type:osa
Change-Id: I0c9da069238348af6d00d8422ca478cb4be4cfad
Signed-off-by: Manuel Buil <mbuil@suse.com>
|
|
This change updates prepare-functest role for testing k8s scenarios
using functest healthcheck. The changes include
- update tasks to skip checking/creation of public gateway which
is needed for OpenStack based scenarios
- update run-functest.sh.j2 template and set the used docker image
name based on FUNCTEST_SUITE_NAME that is going to be used
- update run-functest.sh.j2 template and add commands needed to run
tests using functest-kubernetes-${FUNCTEST_SUITE_NAME} docker image
- update env.j2 to exclude setting the var EXTERNAL_NETWORK which is needed
for OpenStack based scenarios
Apart from updating the the prepare-functest role, a bug has also been fixed
by adding the fetching of xci.env for installer kubespray.
installer-type:kubespray
deploy-scenario:k8-nosdn-nofeature
Change-Id: Ia701db9748ea9509a2dc165341285fb189aa7266
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
|
|
Change-Id: If49cebc6ac6b1a80fbddceaf55a2cf1df299583a
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
|
|
CI_LOOP, NODE_NAME, and BUILD_TAG are needed for logging info to console.
FUNCTEST_MODE and FUNCTEST_SUITE_NAME are important for stating what level
of testing we do for verify and merge jobs.
Change-Id: Iaa5499155b4b94a1cfc6b5c70fe6f8f7417502a6
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
|
|
The hash value for the OpenStack requirements project is consumed
for other projects which can be out of the openstack-ansible scope.
This change creates the OPENSTACK_REQUIREMENTS_VERSION variable using
the openstack_services.yml value as default one.
Change-Id: I4544bcc3f14c107aab8ebba1dced1ba203f07f68
Signed-off-by: Victor Morales <victor.morales@intel.com>
|
|
sfc scenario fails when running the functest snaps-healthcheck.
The reason is a race condition found in ODL Nitrogen.
This race condition is gone in ODL Oxygen. We need latest ODL role
to include the ODL Oxygen version
Depends-On: I59802f467a77ae755886e4cc389c2406e9d17d4c
deploy-scenario:os-odl-sfc
installer-type:osa
Change-Id: I6d575370834eabb1b6a0532f74e1b2fc733e500c
Signed-off-by: Manuel Buil <mbuil@suse.com>
|
|
|
|
|
|
|
|
|
|
|
|
The conditional was wrong since it was being treated as a string
instead of actually evaluating it as a boolean value.
Change-Id: I59802f467a77ae755886e4cc389c2406e9d17d4c
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
deploy-scenario:k8-nosdn-nofeature
installer-type:kubespray
Change-Id: I540eb8bad2f35d7029ae8a2148c431f7664fbad0
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
|
|
This reverts commit 5dc7b76e38019c059cea159769cdb2c37af98ded.
OPENSTACK_OSA_VERSION was removed by this patch and that variable is
needed. By looking at the patch, it seems theat variable was removed
by mistake
Change-Id: I73dc7a7ec393231717f847ff303f9b2f99a00cc0
|
|
synchronize module unsupported parameter "recurse",
it would be failed, when trying to synchronize the directory.
we need change it to "recursive", more information please refer to
http://docs.ansible.com/ansible/devel/modules/synchronize_module.html
Change-Id: If18ce8a3411ba9425dd573f090c5f4e0c41858e0
Signed-off-by: wutianwei <wutianwei1@huawei.com>
|
|
In the OpenStack-Ansible installers we are using the XCI ssl
certificates for the endpoints but in kubespray we are generating them
on the fly. In order to keep both setups as close as possible, we can
use the XCI certificates in kubespray as well.
Change-Id: I1ca55127fe747618205394c02b3d44bb573435f4
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
The tasks for creating and managing the XCI SSL certificates
can be shared between installers so move them to a common file.
Change-Id: I9df82517e737681420429a992aa8d68e78528fd4
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
The jinja templates that are used for networking setup are based on the
openstack-ansible needs, those needs can differ for another installers.
This change propose to make the network configuration depending on the
installer.
Signed-off-by: Victor Morales <victor.morales@intel.com>
Change-Id: Ie805c3c7716393377d4dfcb32ed794cc1039d515
|
|
If we are not in a virtual environment, then VIRTUAL_ENV is going
to be unset and we will fail with the following error:
./scripts/bifrost-provision.sh: line 105: VIRTUAL_ENV: unbound variable
As such, we need to provide a default value if that variable is unset.
We also fix a typo in the _sudo variable.
Change-Id: Ic018716c03ffba6e8e742e34720ea462b85341be
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
Drop the kubespray specific tasks for managing the SSH keys in favor of
the common ones.
Change-Id: Ib8e18fcc14c4c0126cae72740dbb33921a21af6b
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
|
|
|
|
|
|
* changes:
xci: osa: Use Ansible modules to create ssl certificates
xci: osa: Move tasks for managing SSH keys to a new file
|
|
opnfv@linux-r4ap:~$ export LANG="C"
opnfv@linux-r4ap:~$ perl -E exit
opnfv@linux-r4ap:~$ export LANG="c"
opnfv@linux-r4ap:~$ perl -E exit
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_US.UTF-8",
LC_ALL = "",
LANG = "c"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
paste of deploy failing: https://hastebin.com/fufananewa.sql
Change-Id: Id1ef2430887251044700e03fc1f294ad18adf90a
Signed-off-by: agardner <agardner@linuxfoundation.org>
|
|
|
|
(this commit fixes many things because they all need to be submitted
together to unblock the jobs)
Commit 9e1d3d6e62abf5d0da26a296bcd235f37a54d9c6 ("xci: playbooks: Fixes
various ansible-lint warnings") broke public key authentication from
localhost to the OPNFV host because the localhost pubkey was not
appended in the authorized_keys file. The reason for that was that the
task was skipped due to the 'creates' parameter. This is now fixed, by
dropping the check since we always need to append the localhost pubkey.
This is only a temporary solution until we modify kubespray to use the
common file for managing the SSH keys.
This also makes the final 'kubectl' move to /usr/local/bin non-fatal
since future kubespray releases put it there already.
The same commit also broke the k8s-cluster.yml overrides. This is
because the file was never copied across due to the task conditional
being wrong. As such, we fix the conditional to check for the correct
file.
Change-Id: I9cfb29eba50c7fea9df29581ebb015163b8a9754
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
The bootstrap script from the OpenStack-Ansible repository creates
several things in /opt/ansible-runtime and /usr/local/bin so we can
check if the final 'openstack-ansible' symlink exists in order to
report a proper status for that task and even skip if everything
is prepared already.
Change-Id: I4ca3a733746f8d757aa1156b533e4b4de90188e6
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
When bifrost jobs are being executed, the virtual environment hasn't
been prepared yet because that's something that bifrost does later on.
As such, we need to use sudo to install the required dependencies to
avoid the following issue:
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/usr/lib/python2.7/site-packages/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/usr/lib/python2.7/site-packages/pip/req/req_set.py", line 784, in install
**kwargs
File "/usr/lib/python2.7/site-packages/pip/req/req_install.py", line 851, in install
self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
File "/usr/lib/python2.7/site-packages/pip/req/req_install.py", line 1064, in move_wheel_files
isolated=self.isolated,
File "/usr/lib/python2.7/site-packages/pip/wheel.py", line 345, in move_wheel_files
clobber(source, lib_dir, True)
File "/usr/lib/python2.7/site-packages/pip/wheel.py", line 316, in clobber
ensure_dir(destdir)
File "/usr/lib/python2.7/site-packages/pip/utils/__init__.py", line 83, in ensure_dir
os.makedirs(path)
File "/usr/lib64/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/usr/lib/python2.7/site-packages/pbr'
Change-Id: I081884ec18d27af19a053bf5b734f6f3846c60f1
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
Ansible already provides modules to create ssl certificates so we can
use these instead of running the openssl commands directly. Moreover, we
can drop all the tasks which create the ssl directories since there are
being created by the openssl package which also creates the appropriate
symlinks. Finally, there is no need to generate the certificate on
localhost if only the OPNFV host consumes it, so move these steps to
the appropriate playbook.
Change-Id: I0045945c502013be3d76440876e894a44a092690
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
The tasks that manage the SSH keys are common across hosts and
also common across different installers. As such, lets move them
to a new file so we can share them more easily.
Change-Id: If235877394f224a47a2f2b8de748a2330eabcec1
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
* changes:
xci: bootstrap-host: Make active network interface consistent
xci: osa: Simplify tasks for copying OSA configuration files
xci: Use proper Ansible modules to manage SSH keys
|
|
Change-Id: Id448a38567975185b399ab54a34b39edf148a0ac
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
|
|
This change brings the fix for
- cinder haproxy check for ha deployments
- pip related fixes
- fixes for lxc_hosts
Change-Id: I4af64041a4a76c10361456f73577e7c7040edf8a
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
|
|
When we run XCI for the first time, Ansible picks the first active
interface as the default one. However, after we configure all the XCI
bridges etc, and we try to run this role again, Ansible may have changed
its mind about what interface is active and it could default to one of
the bridges. This forces the role to redo the network configuration but
this time the bridges are being attached to bridges so everything goes
terribly wrong after that. The way to solve this would be to add a local
fact about what interface should be considered as the 'real' default one
so subsequent calls to this role to not destroy the network.
This also drops the task which removed the network configuration files
on SUSE platforms since Ansible is smart enough to not touch them if
they are configured properly.
Change-Id: Ic0525e934b1934a40d69e6cf977615ab9b3dac6d
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
We can use a loop to copy all these files instead of multiple tasks.
This simplifies the playbook quite a bit.
Change-Id: I5f0d387ac090d81fc577b5ebeaeb6131e75cffa1
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
We can use the 'user', 'slurp' and 'authorized_key' modules
to manage the various SSH configurations across the hosts instead
of using command line tools.
Change-Id: I2dde4d584fc336e267868607d5a58f5ee2c1feed
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
|
|
|
|
|
|
|
|
It's best to define all the XCI variables before everything else
to ensure that all subsequent bifrost variables are properly
defined.
Change-Id: Id4a9e0c89e8dd32b852cfef6b9bb336c4b75f5a7
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
Commit 0d332a80cf731e5927c81c9f6929a8b83d43cddd ("Add proxy support")
switched the default DNS server to the libvirt bridge. However, we only
need to override the default DNS if we are behind a proxy server.
Change-Id: I7d8fe8c10a1aba2db4a703a81e74ef76fa593d95
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
|
|
Rsync will update modification times on transferred files so Ansible
marks the task as 'changed' all the time even though the source and
destination files are the same. This is confusing for XCI developers
because they may think that there are local changes to the scenarios
which is not always the case. As such, compare the 'checksums' of the
actual files to determine if there are any changes that need to be
copied over. This requires us to turn off the 'archive' option and
use the individual options directly.
This fixes the following problem where in a typical XCI job, all
inbound scenarios appear to have changes which is not true.
Mar 26 15:10:24 TASK [Synchronize local changes to scenarios' master branch] *******************
Mar 26 15:10:24 ok: [localhost] => (item=os-odl-sfc)
Mar 26 15:10:25 changed: [localhost] => (item=os-nosdn-nofeature)
Mar 26 15:10:25 changed: [localhost] => (item=os-odl-nofeature)
Mar 26 15:10:25 changed: [localhost] => (item=k8-nosdn-nofeature)
Mar 26 15:10:26 ok: [localhost] => (item=os-odl-bgpvpn)
Change-Id: I14f446c341a675b286e971f0b5c0be14d04abb9d
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
The ansible-lint tool can help with maintaining consistency across all
the XCI playbooks, so lets introduce it early in the process to capture
common mistakes before the actual XCI deployment is executed. This
however needs to run after all the scenarios repositories have been
cloned and configured.
Change-Id: I28104429e3ac0cdbc48a003b163f4fb8c3acd8a7
Link: https://github.com/willthames/ansible-lint
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
In preparation for adding support for the 'ansible-lint' tool we fix
various problems in our playbooks to make the tool happy before we make
it mandatory.
Some of the problems that are fixed here are
- [ANSIBLE0011] All tasks should be named
- [ANSIBLE0012] Commands should not change things if nothing needs doing
- [ANSIBLE0013] Use shell only when shell functionality is required
- [ANSIBLE0010] Package installs should not use latest
installer-type:osa
deploy-scenario:os-nosdn-nofeature
Change-Id: I66c759d3932a414b81b2846393d2d98ce80c0b6d
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
Commit 07747a53901e550280afb421b6fcbebc8994e93a ("xci: playbooks: Fix
synchronization of external scenarios") fixed copying of external
scenarios but broke internal ones because the regexp was wrong. The
variable was not evaluated properly so nothing was replaced for internal
scenarios. This also fixes a problem when the scenario and the role
names differ so we make sure that the role with the correct name is
created.
Change-Id: Idd7590d972841b5c03286b34757d7325b863c6bf
Signed-off-by: Markos Chandras <mchandras@suse.de>
|