Age | Commit message (Collapse) | Author | Files | Lines |
|
The configure-opnfvhost playbook which is used for all flavors except
AIO can also be used for AIO if it's adapted to not configure networking
on the host and also do not fail if there aren't any OSA variables files
available so lets do all that in order to avoid duplicating code across
flavors.
Change-Id: I58379d8b52094294b9349494753ffcdd44982013
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
The OPENSTACK_OSA_PATH only makes sense on localhost. As such, when we
use it on playbooks that operate on remote hosts, the result is not
predictable. However, we rsync the entire releng-xci repository to the
opfnv host so we can make everything predictable by simply clone
everything in advance in the .cache directory. That directory is then
rsync'd to the opnfv host. As such, we can repurpose the
OPENSTACK_OSA_PATH to point to the path into the OPNFV host. Moreover,
all external repositories are being cloned to .cache/repos so we can
eliminate some variables in order to simplify the code. Finally, we
bring back the ability to use an external OSA repository for
development purposes.
Change-Id: Ieef3e22ae2085f6735185634d555cfc0d4b69b39
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
Previously, we used to clone the releng-xci repository under a directory
in /tmp, copy our changes to that repository and then run the
xci-deploy.sh script from it. However, this made things far too complex
for deployers and developers since some playbooks were used from the
local repo whereas others were used from teh /tmp checkout. By running
everything from our local repository simplifies things a lot since we
can directly test our changes and also reduces the code we have in our
playbooks.
Change-Id: If16aa51b2846c170676df82d25cb90e26b1568b2
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
|
|
We are installing the docker package but not checking if it is started
The service name for the three distros is the same but I still added the
variable in each distro variables file to keep best practices
Change-Id: I0c73069ea7edc366e824cf39d14d24d1416fd6c3
Signed-off-by: Manuel Buil <mbuil@suse.com>
|
|
The OPNFV_RELENG_DEV_PATH variable was used to point to a releng-xci
development repository. However, people normally set the current
directory as the development one and they almost always want to
test the current code in XCI. Using an secondary releng-xci tree
as development repo is a very obscure case and it normally complicates
things. As such, let drop this option and always use the current
repository for development purposes.
Change-Id: If111bf29a32a5f6ea28694f191645af0c6a87abc
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
The RUN_TEMPEST global environment has been defined in *user-vars*
but never used in the playbooks. This change pretends to enable the
use of that value.
Change-Id: I49ca092546494c0cdcb015a549828bf79fa5f889
Signed-off-by: Victor Morales <victor.morales@intel.com>
|
|
The flavors may contain deployment specific user_variables.yml files
so we should only copy the generic one in the common tasks and leave
the rest for scenarios to copy them if necessary.
Change-Id: I39e3e090dc40d4f13bb42028a24e8574e19cf6dd
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
|
|
Openstack ansible support to deploy ceph.
The purpose of this patch is to configure the ceph,
just like we configure other openstack components.
The default is to not deploy ceph.
If you want to deploy ceph you just need to
export XCI_CEPH_ENABLED=true before running xci-deploy.sh.
When deployed successfully, the openstack storage will use ceph.
Change-Id: Ifd8d16fdce2914b6316842e72bbfd93228ea059d
Signed-off-by: wutianwei <wutianwei1@huawei.com>
|
|
The new bootstrap-scenarios.yml playbook is aimed to be used by
scenarios to configure themselves right before we proceed with
the bootstrapping. This way we can avoid having scenario specific
stuff into the generic code.
Change-Id: I3026013719a50458c65405439712270f25f569ff
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
OpenStack-Ansible can make use of all the user_*.yml files so scenarios
can make use of this facility to override the default ones we provide
for every flavor. As such, lets copy all the user_*.yml files to the
deployment host.
Change-Id: I5ddce48677f66a3ff3ec127f0fc0163f9f45b200
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
docker-py package is required by the docker_container module in ansible:
http://docs.ansible.com/ansible/latest/docker_container_module.html#docker-container
Change-Id: Ib051ae09c84cfa973ef814852e78626499471d0f
Signed-off-by: Manuel Buil <mbuil@suse.com>
|
|
It is important to have the client installed for the ease of the
users so they can use the client for trying out their new deployment.
Change-Id: I091c1e23ff320cb9fcdb2743998483a6bc1fcdad
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
In CentOS and Suse, /etc/ssl/certs is a symbolic link to
/etc/ssl/pki/tls/certs. The Ansible module "file" will fail if it is asked to
create a directory which is already a symbolic link.
This patch will check if /etc/ssl/certs exists before trying to create it.
The same check is done both on the host and the opnfv guest VM.
Also, /etc/certs is only writable by root, so we need a "become: true" clause
to be able to modify it in localhost (but not in opnvf VM).
Change-Id: Iab6c3c162548f84ad6082829e4a7c2ab63d2cfa0
Signed-off-by: Tapio Tallgren <tapio.tallgren@nokia.com>
|
|
* changes:
xci: xci-deploy.sh: Apply workaround for checking db cluster on SUSE
xci: playbooks: synchronize-time: Fix service name for openSUSE
xci: configure-opnfvhost: Do not run 'remove-folders'
xci: scripts: build-dib-os.sh: Pin diskimage-builder
xci: configure-opnfvhost: Do not check /etc/ssl/certs on SUSE
|
|
The versions for the OpenStack services and global requirements
need to be pinned alongside with the OSA SHA1 and the role versions
to ensure we pinned everything.
This change is required for osa-periodic jobs as well since that
job will use sources-branch-updater.sh script and the script updates
these files to ensure things are pinned correctly.
modified: ansible-role-requirements.yml
modified: global-requirement-pins.txt
modified: playbooks/defaults/repo_packages/openstack_services.yml
modified: releasenotes/notes/glance-init-config-overrides-d1c8c3dcc50c109a.yaml
modified: releasenotes/notes/neutron-init-config-overrides-9d1d2b3b908705ed.yaml
modified: releasenotes/notes/trove-init-config-overrides-a78ed428a32adef8.yaml
By doing this change, we do not need to have any
magic to capture updates to those files. Just updating the files
we keep in xci/file folder will be sufficient and they get copied
over during the playbook execution.
Change-Id: Iae0db22574a0368e896132469a8587d1457ce177
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
The OPNFV node is brand new and it doesn't have any traces
of XCI directories so there is no point in running the
'remove-folders' role.
Change-Id: Ic9b9203cc14abda2dab406de6a5feeef6a1b7e2a
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
This is similar to Ibc188b76f47c4f7d1c5aa452a21e838420d65e6a
/etc/ssl/certs is a symlink so skip this task on SUSE.
Change-Id: Iae38640501748dc3dd802ce795acfaeefd836c97
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
Functest requires xci deployment to have:
- A public neutron network
- A subnet attached to the public neutron network
- The gateway from the subnet attached to one interface
The network and subnet creation are done via a script
instead of using Ansible OpenStack module in order to
get things working asap.
These three tasks are implemented in a role
This patch depends on a pending patch:
https://gerrit.opnfv.org/gerrit/#/c/39517/2
Change-Id: I0635227153087fd9e25b76f0859f82bf48bfb930
Signed-off-by: Manuel Buil <mbuil@suse.com>
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
|
|
|
|
Docker is needed for running tests against the deployment.
Shade is needed for managing OpenStack via Ansible.
This change adds tasks to install docker and shade on opnfv
host if it is run as part of CI.
Users should be free to install these if they want so it is
not installed for them by default.
Change-Id: Idfd0f02312cc5e1b0180ed2408755a8c730b987b
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
This is a continuation of I0a49e2ed8d811bb40a99612462752f8691133e0f
We need to convert these two plays to include the variable files
dynamically similar to the rest of the playbook.
Change-Id: I43203651ccafb03e015bfe4d1b075a7ee96b5adc
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
This is similar to 0927671781f6875926dac2e5f4bb10816e67070c. We need
elevated privileges to remove the XCI_DEVEL_ROOT directory so move this
role to its own play.
Change-Id: Ice4f030eeb28cd24a6166f11a5a792ab3df8880c
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
If OSA version is set to master, we should use the role versions
directly from upstream to ensure we do not cause issues by the
use of wrong role versions.
Change-Id: I26005d23944445bf287384f90c7f2e139224ab23
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
vars_files doesn't support loading files with variables in their names.
As such we add a new task to include these files before running any of
the roles. This fixes warnings like this:
Info: Starting provisining VM nodes using openstack/bifrost
-------------------------------------------------------------------------
No config file found; using defaults
skipping vars_file '../var/{{ ansible_os_family }}.yml' due to an undefined variable
skipping vars_file '../var/{{ ansible_os_family }}.yml' due to an undefined variable
skipping vars_file '../var/{{ ansible_os_family }}.yml' due to an undefined variable
skipping vars_file '../var/{{ ansible_os_family }}.yml' due to an undefined variable
skipping vars_file '../var/{{ ansible_os_family }}.yml' due to an undefined variable
skipping vars_file '../var/{{ ansible_os_family }}.yml' due to an undefined variable
Change-Id: I0a49e2ed8d811bb40a99612462752f8691133e0f
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
Instead of making OSA to generate self signed certs, bring our
own and pass them.
By this way we will be able to trust in that certs, and start
consuming OpenStack easily.
It will also generate proper openrc file to source it and start
consuming the cloud properly.
Change-Id: Ic72a8b05e6efb222926fc5fa0800e033b2dbd22f
Closes-Bug: RELENG-266
Signed-off-by: Yolanda Robla <yroblamo@redhat.com>
|
|
Move the network templates inside the role since it's their only user.
Moreover, remove the arguments when we include the role in playbooks and
move the distro logic to the role itself.
Change-Id: I938686fdb31b9896b9e97339799a0edd4c34bf36
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
These changes are needed as part of migrating xci from releng repo to the releng-xci repo.
They cover:
- README updates
- Re-point configuration from releng/prototypes to releng-xci
The changes have been tested as follows:
- XCI_FLAVOR=aio
- OPENSTACK_OSA_VERSION=adfaa66d6108f87599e0595591b39cad2c8fb658
xci: aio has been installed
real 107m5.310s
user 11m50.180s
sys 4m11.152s
ubuntu@rack-IRA2-SymKloudBlade4:~/releng-xci/xci$
Change-Id: I8fd86c2442ee3a7c6996eedb6510dbc6eebd30b0
Signed-off-by: Dave Urschatz <dave.urschatz@cengn.ca>
|
|
These packages are needed by pw-token-gen.py tool
Change-Id: Ib9d165274449551a469e201da9feeffac5a7a4cf
Signed-off-by: Juan Vidal Allende <juan.vidal.allende@ericsson.com>
|
|
We no longer run everything as root so we need to look for SSH keys
in the appropriate home directory.
Change-Id: Iae1f7eb80059e7d369c8e0c8b6c33c6a4f673f94
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
Putting the host keys in '/' requires root privileges so
it's best if we place them in the same directory like the
rest of the XCI files.
Change-Id: I030ed3d6cbb57bb984a78aeffb4eca2bd5c10bb0
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
When developing XCI features it's useful to be able to use the local
repositories rather than cloning them from git since that makes
it harder to test local modifications against XCI. As such, we add
three new variables which can be used to hold local paths to the
bifrost, releng and openstack-ansible repositories. We are still
cloning the repositories but we then use the 'synchronize' Ansible
module to copy modified files from the local repositories.
Change-Id: I6d593ea48d8b9c51415d9d0848f77a498ef2f486
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
Role requirements file is used during ansible bootstrap on opnfv
host so we must ensure the right ansible role requirements is there
in advance.
Change-Id: I2c5a1edd82a51cbbe1469c31f37b5d638d32ec27
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
Pinned versions used to be used only if XCI_LOOP == 'daily', but it
seems to be required, otherwise this is very likely to fail
Change-Id: I21f638bba75846a58b12373a903d414fa89b4bc6
Signed-off-by: Juan Vidal <juan.vidal.allende@ericsson.com>
|
|
XCI has different jobs/loops to run
- patchset verification jobs (currently bifrost and osa in future)
- periodic jobs (bifrost and osa)
- daily jobs (for OPNFV platform deployment and testing)
The same scripts/playbooks used by XCI will also be used by developers.
We need to do different things depending on the context the scripts
and playbooks are executed.
- periodic jobs will use latest of everything to find working versions
of the components. (periodic osa will use unpinned role requirements
for example)
- daily jobs will use pinned versions in order to bring up the platform
and run OPNFV testing against it. (daily deployment will use pinned
versions and role requirements for example)
- developers might choose to use pinned versions or latest
Depending on what loop we are running, we need to do things differently
in scripts and playbooks. This variable will help us to do this in easy way.
We can of course do pattern matching of the job name but it will not
work if the scripts are used outside of Jenkins.
The default loop for non-Jenkins execution is set to daily as we want
developers to use working versions unless they change it to something
else intentionally.
Change-Id: Iff69c77ae3d9db2c14de1783ce098da9e9f0c83d
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
This patch reflects the fix Tianwei found for the keystone and gnocchi
issues with HA deployment.
https://gerrit.opnfv.org/gerrit/#/c/32367/
The keystone issue should be fixed upstream but until that happens, we
can use the patch here to move us forward.
Previously removed OpenStack services have also been enabled to
try as close deployment as possible to upstream openstack-ansible.
Change-Id: Ib7b1cfe0f363381466b43a3249667c638c09d9fd
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
Incorrectly placed role configure-network causes ansible to skip
the roles at the beginning of the playbook.
Change-Id: Id85e9684eb86acad7c11104b434a319c37e16903
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
Network configuration task and accompanied handler put into a role
and handler is converted to task.
Distro specific var, interface, is introduced to ensure we do not
hardcode the interface which might not be available.
Update the templates accordingly.
Change-Id: I667620fe22c93a9b20a1d8c1b7b0051d7647b591
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
OS family vars_files are currently empty and put there to show
the intend. (kind of TODO)
opnfv.yml holds non-distro and non-flavor specific variables.
Change-Id: I65aff2650257f2df00fd1f0a0638fd1aff596ac4
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
This patch adds the main/common playbooks, files, and templates to
be used for all flavors.
The provisioning and OpenStack installation process will be as below
- provision VMs for flavor using bifrost
- once the VMs are provisioned, configure-localhost.yml playbook will
be run, preparing the localhost in order to ensure the right playbooks
(configure-opnfvhost.yml and configure-targethosts.yml), inventory files
and var files are in place before we proceed with configuring opnfv host.
- after getting the right files for the flavor, opnfv host will be
configured using configure-opnfvhost.yml playbook.
- finally, the target hosts will be configured.
- once the above process is completed, openstack-ansible playbooks will
be run, setting up hosts, infrastructure and OpenStack.
Change-Id: I6e08b2cfdab9627f765e6fc414917b09f953cab2
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|