releng-xci.git
7 years agoxci: configure-nfs: Install the NFS server package 29/41629/4
Markos Chandras [Mon, 4 Sep 2017 13:48:24 +0000 (14:48 +0100)]
xci: configure-nfs: Install the NFS server package

We need to explicitly install the nfs server package instead of bundling
it to the dib image since not every node needs it.

Change-Id: I73f59f4ed582359df80ea08712b433537c087aea
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoxci: configure-nfs: Add SUSE support 27/41627/4
Markos Chandras [Mon, 4 Sep 2017 10:41:24 +0000 (11:41 +0100)]
xci: configure-nfs: Add SUSE support

Add ability to restart the NFS server on SUSE hosts.

Change-Id: Id5f0edb399151c62302b2e36bb9451ed35501d3f
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoxci: configure-network: Add ability to configure network on SUSE hosts 23/41623/4
Markos Chandras [Fri, 1 Sep 2017 14:47:23 +0000 (15:47 +0100)]
xci: configure-network: Add ability to configure network on SUSE hosts

Change-Id: I42c6f5f07ac87b5599758947fabe5fce36d44a2e
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoxci: xci-deploy.sh: Allow xci-deploy.sh to run on SUSE hosts 21/41621/2
Markos Chandras [Fri, 1 Sep 2017 09:15:06 +0000 (10:15 +0100)]
xci: xci-deploy.sh: Allow xci-deploy.sh to run on SUSE hosts

SUSE support is slowly being added to XCI.

Change-Id: I1ab6c01d3a33a9b2264992b5e1d202146972743f
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoxci: xci-deploy.sh: Configure dib so VMs match the host 19/41619/2
Markos Chandras [Fri, 1 Sep 2017 09:13:45 +0000 (10:13 +0100)]
xci: xci-deploy.sh: Configure dib so VMs match the host

In preparation for adding SUSE support, we need to configure the dib
build process to build images which match the host's OS.

Change-Id: I4944245d526f916b2033abc5d219fa7a69db54ab
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoVagrantfile: Update base OS before installing XCI 17/41617/2
Markos Chandras [Tue, 5 Sep 2017 08:40:35 +0000 (09:40 +0100)]
Vagrantfile: Update base OS before installing XCI

The Vagrant image may be old and have stale metadata leading to
failures when installing packages. As such, it's best to update
it as soon as possible. This is also inline with the AIO documentation
which suggests to always use an up to date OS.

Change-Id: I43d9f8431e1a6ed877936adc65c54be466b76aff
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoVagrantfile: Bump memory requirements to 16G 15/41615/2
Markos Chandras [Mon, 4 Sep 2017 19:48:07 +0000 (20:48 +0100)]
Vagrantfile: Bump memory requirements to 16G

Apparently 8G is no longer enought to deploy the 'mini'
flavor since the following error occurs:

[14505.101254] Out of memory: Kill process 23666 (qemu-system-x86) score 344 or sacrifice child
[14505.103404] Killed process 23666 (qemu-system-x86) total-vm:5566132kB, anon-rss:3008288kB, file-rss:0kB, shmem-rss:0kB

Change-Id: Iaa21ad367c63bf17a2c999082b5e09fa2e772d67
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoVagrantfile: Add workaround for empty /etc/hosts 13/41613/2
Markos Chandras [Mon, 4 Sep 2017 10:33:50 +0000 (11:33 +0100)]
Vagrantfile: Add workaround for empty /etc/hosts

Due to a bug in Yast2, /etc/hosts may be empty in Vagrant images so
add a workaround for it.

Change-Id: I1da9204a07f33008f9d5f1ec9ce976116e9d7a4c
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoxci: Move Vagrantfile to root directory 11/41611/2
Markos Chandras [Thu, 31 Aug 2017 17:46:07 +0000 (18:46 +0100)]
xci: Move Vagrantfile to root directory

We need access to the entire releng-xci directory so we can use the
OPNFV_RELENG_DEV_PATH variable to use modified files for testing
purposes so we move the Vagrantfile to the root directory.

Change-Id: I941b6f2efff479024ff580c3d58fcdcbadd9aa7f
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoxci: Vagrantfile: Set $HOME/.local/bin to path 09/41609/2
Markos Chandras [Thu, 31 Aug 2017 17:41:06 +0000 (18:41 +0100)]
xci: Vagrantfile: Set $HOME/.local/bin to path

It appears that pip install --user puts files in .local/bin
which may not always be in $PATH.

Change-Id: Ifa9fb3ee448471a00986e7f6f51544a3e436c9e1
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoxci: Vagrantfile: Switch off privilege mode 07/41607/2
Markos Chandras [Thu, 31 Aug 2017 13:10:49 +0000 (14:10 +0100)]
xci: Vagrantfile: Switch off privilege mode

The xci-deploy.sh script should not be run as root.

Change-Id: I8d78d9df218508a72b6e419d16c95739fc1801e0
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoxci: playbooks: Add task for loading distribution variables 83/41783/19
Markos Chandras [Fri, 15 Sep 2017 15:28:42 +0000 (16:28 +0100)]
xci: playbooks: Add task for loading distribution variables

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>
7 years agoxci: env-vars: Bump Ansible version to 2.3.2.0 77/42077/8
Markos Chandras [Fri, 15 Sep 2017 15:48:45 +0000 (16:48 +0100)]
xci: env-vars: Bump Ansible version to 2.3.2.0

Now that bifrost uses virtual env for Ansible we can go ahead and
bump the Ansible version to match the one from OSA so we can make use of
the latest features. Furthremore, we stop passing ANSIBLE_VERBOSITY to
the command line since it's an environment variable so Ansible already
knows about it.

Change-Id: I52d9a211fc0ced1f7830f6945b2943f35d38109b
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agobifrost: Use virtual environment for bifrost 11/42011/2
Markos Chandras [Tue, 12 Sep 2017 21:57:31 +0000 (15:57 -0600)]
bifrost: Use virtual environment for bifrost

bifrost forces us to use an old Ansible version which means we can't
take advantage of new features in XCI playbooks. As such, we move the
entire bifrost step to a virtual environment so we can have a newer
version of Ansible on the host.

Change-Id: I94874d600a29247b7826324cc111901995df90dc
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoDisable strict host key checking for galera cluster check 05/42005/3
Fatih Degirmenci [Thu, 14 Sep 2017 19:11:12 +0000 (13:11 -0600)]
Disable strict host key checking for galera cluster check

The command to check the galera cluster fails due to having strict
host key checking enabled.

This change disables strict host key checking for galera_container
to ensure we can verify if the database cluster is operational.

OSA does this for aio on their gate and put host key checking
configuration to group_vars which we might need to do as well.

Change-Id: Ifc59581d979c71f1db1b87126659470dc85cc2db
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
7 years agoMerge "Generate and use certificates for OSA"
Fatih Degirmenci [Fri, 15 Sep 2017 04:22:56 +0000 (04:22 +0000)]
Merge "Generate and use certificates for OSA"

7 years agoMerge "synchronize-time: Retry if chrony failed due to NTP issues"
Fatih Degirmenci [Thu, 14 Sep 2017 22:19:03 +0000 (22:19 +0000)]
Merge "synchronize-time: Retry if chrony failed due to NTP issues"

7 years agoGenerate and use certificates for OSA 35/39435/16
Yolanda Robla [Wed, 16 Aug 2017 14:28:28 +0000 (16:28 +0200)]
Generate and use certificates for OSA

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>
7 years agosynchronize-time: Retry if chrony failed due to NTP issues 07/42007/1
Markos Chandras [Thu, 14 Sep 2017 19:38:19 +0000 (20:38 +0100)]
synchronize-time: Retry if chrony failed due to NTP issues

chrony randomly fails with the following issue

TASK [synchronize-time : synchronize time]
*************************************
fatal: [controller00]: FAILED! => {"changed": true, "cmd": "chronyc -a 'burst 4/4' && chronyc -a makestep", "delta": "0:00:00.004991", "end":
"2017-09-14 19:30:37.561972", "failed": true, "rc": 1, "start": "2017-09-14 19:30:37.556981", "stderr": "", "stdout": "200 OK\n503 No
such source", "stdout_lines": ["200 OK", "503 No such source"],"warnings": []}

As such, lets retry a few more times before giving up.

Change-Id: I20767bb3031061c03c9ba8dbc65859c7312bfac9
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoMerge "xci: xci-deploy.sh: Do not 'tee' ssh output"
Markos Chandras [Thu, 14 Sep 2017 19:07:02 +0000 (19:07 +0000)]
Merge "xci: xci-deploy.sh: Do not 'tee' ssh output"

7 years agoxci: xci-deploy.sh: Do not 'tee' ssh output 21/41721/9
Markos Chandras [Tue, 12 Sep 2017 15:53:57 +0000 (09:53 -0600)]
xci: xci-deploy.sh: Do not 'tee' ssh output

Using 'tee' to capture 'ssh' command output randomly breaks with the
following error:

tee: standard output: Resource temporarily unavailable

Lets just store the log on the host and copy it back in the end.

Change-Id: I41edac138b8642e8765d5c1e5974b375b5b3203b
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoMerge "xci: SHA bump as of September 5th 2017"
Markos Chandras [Wed, 13 Sep 2017 16:52:32 +0000 (16:52 +0000)]
Merge "xci: SHA bump as of September 5th 2017"

7 years agoMerge "xci: scripts: Update wording for comments"
Markos Chandras [Wed, 13 Sep 2017 16:52:26 +0000 (16:52 +0000)]
Merge "xci: scripts: Update wording for comments"

7 years agoAdd ~/.local/bin to PATH if it is not there already 29/39729/5
Tapio Tallgren [Mon, 21 Aug 2017 07:39:38 +0000 (10:39 +0300)]
Add ~/.local/bin to PATH if it is not there already

Change-Id: Ie9481ce8ec891313b613d824a8f8943e706884f7
Signed-off-by: Tapio Tallgren <tapio.tallgren@nokia.com>
7 years agoxci: SHA bump as of September 5th 2017 05/41605/1
Markos Chandras [Thu, 31 Aug 2017 11:34:35 +0000 (12:34 +0100)]
xci: SHA bump as of September 5th 2017

The SHA bump is required for SUSE support.

Change-Id: If21e7658ee2ee967c458c08d186b5c1d07b5d93c
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoxci: scripts: Update wording for comments 03/41603/1
Markos Chandras [Thu, 31 Aug 2017 11:33:51 +0000 (12:33 +0100)]
xci: scripts: Update wording for comments

Update wording so it matches the upstream one and minimize the
noise on a-r-r updates.

Change-Id: I216c1ee1ac4f24ab2c5a382bfe5e2aacf324024a
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agobugfix: Add symlinks for interface files for additional hosts 75/40975/2
Fatih Degirmenci [Mon, 4 Sep 2017 07:44:44 +0000 (09:44 +0200)]
bugfix: Add symlinks for interface files for additional hosts

This is a temporary fix to get noha and ha flavors working.
We should normally use bifrost inventory and have templates for
opnfv, controller, and compute groups rather than per host basis.
But since that is still pending to be done, this change tries to
make sure what we have now continues working.

Change-Id: I9132c474754f4d11d1b9e4b1288b449703994db8
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
7 years agoMerge "cinder: Bring in the fix for cinder online migrations command"
Fatih Degirmenci [Thu, 31 Aug 2017 19:32:54 +0000 (19:32 +0000)]
Merge "cinder: Bring in the fix for cinder online migrations command"

7 years agoMerge "keepalived: Bring in the fix for iteritems for python3"
Fatih Degirmenci [Thu, 31 Aug 2017 12:35:09 +0000 (12:35 +0000)]
Merge "keepalived: Bring in the fix for iteritems for python3"

7 years agoMerge changes from topic 'initial-multi-distro-support'
Markos Chandras [Thu, 31 Aug 2017 12:22:23 +0000 (12:22 +0000)]
Merge changes from topic 'initial-multi-distro-support'

* changes:
  xci: playbooks: configure-nfs: Prepare for multi-distro support
  xci: playbooks: configure-network: Prepare for multi-distro support

7 years agoMerge "xci: Vagrantfile: Add openSUSE Leap 42.2 and 42.3 support"
Markos Chandras [Thu, 31 Aug 2017 11:52:06 +0000 (11:52 +0000)]
Merge "xci: Vagrantfile: Add openSUSE Leap 42.2 and 42.3 support"

7 years agocinder: Bring in the fix for cinder online migrations command 15/40715/5
Fatih Degirmenci [Wed, 30 Aug 2017 21:52:38 +0000 (23:52 +0200)]
cinder: Bring in the fix for cinder online migrations command

This change fixes the bug with cinder online migration command by moving
osa version to commit 691c59 and moving the cinder role version to
commit 96160f. [1][2]

The issue appears when the flavor is set to ha.

[1] https://review.openstack.org/gitweb?p=openstack/openstack-ansible.git;a=commit;h=691c59f25e5d271c670c24d12e8d60fa422441e1
[2] https://review.openstack.org/gitweb?p=openstack/openstack-ansible-os_cinder.git;a=commit;h=96160f084d89355ba62980b1ebbedf0eef7c7b20

Change-Id: I5339d1fd00a1b108f09c1221e5a3cbecc2f35182
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
7 years agoAdd note to explain how role versions can be adjusted 79/39679/4
Fatih Degirmenci [Sun, 20 Aug 2017 21:31:32 +0000 (23:31 +0200)]
Add note to explain how role versions can be adjusted

The OSA version can be overriden by users to move to a later
version of it (such as master).

This change adds cautionary note to README to explain what
they can do in this situation.

Change-Id: I3e4943c2c4af10001b07ffd289bd300bb5f80244
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
7 years agokeepalived: Bring in the fix for iteritems for python3 13/40713/3
Fatih Degirmenci [Wed, 30 Aug 2017 20:47:55 +0000 (22:47 +0200)]
keepalived: Bring in the fix for iteritems for python3

This change moves the keepalived role version to commit b13e08 in
order to bring the fix applied in upstream, switching from iteritems
to items for python3. [1]

The flavor ha is enabled back due to incorporating the fix to xci and
the note in README.rst is removed as well.

https://github.com/evrardjp/ansible-keepalived/commit/b13e0840b09154a6d2470f71fea8eaa968525c5b

Change-Id: I6e03f579f1107475f4b4adf54699fc4f924beec3
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
7 years agoDisable tempest playbook 49/40349/1
Fatih Degirmenci [Mon, 28 Aug 2017 08:15:40 +0000 (10:15 +0200)]
Disable tempest playbook

download.cirros-cloud.net is having trouble and failing patchset
verification jobs.

Apart from that, we are switching to healtcheck tests using OPNFV
test framework so this patch fixes the current issue and prepares
for the future.

Change-Id: I593d3b2424250f12c8f32701007e97408e72e40d
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
7 years agoxci: playbooks: configure-nfs: Prepare for multi-distro support 21/40121/5
Markos Chandras [Thu, 24 Aug 2017 12:50:55 +0000 (13:50 +0100)]
xci: playbooks: configure-nfs: Prepare for multi-distro support

There is nothing Ubuntu specific in this role apart from the nfs server
service name. As such we remove the block statement and make the service
name configurable in order to prepare for multidistribution support.

Change-Id: I3c8202315fc49b5e5afc2a0d03eaf80d83db5f4c
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoxci: playbooks: configure-network: Prepare for multi-distro support 19/40119/3
Markos Chandras [Thu, 24 Aug 2017 12:33:38 +0000 (13:33 +0100)]
xci: playbooks: configure-network: Prepare for multi-distro support

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>
7 years agoxci: Vagrantfile: Add openSUSE Leap 42.2 and 42.3 support 17/40117/1
Markos Chandras [Thu, 24 Aug 2017 11:58:29 +0000 (12:58 +0100)]
xci: Vagrantfile: Add openSUSE Leap 42.2 and 42.3 support

Add support for testing the XCI in the latest openSUSE Leap releases.

Change-Id: I9b649b7076e031b162a10a976debf305299cf4f7
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoxci: Bump OSA SHA to Pre-Pike 41/39641/10
Fatih Degirmenci [Fri, 18 Aug 2017 22:13:29 +0000 (00:13 +0200)]
xci: Bump OSA SHA to Pre-Pike

This change bumps osa sha to 4d39f2cc. [1] The reason for going to a later
osa sha is to include ODL and Tacker commits in upstream to ease the work
done for ODL and SFC scenarios. However, this osa sha seems to be having
issues with the flavor ha so the users should be aware of the problems
which is added into the readme as known issue and the flavor is disabled
in xci-deploy.sh.

Another reason to bump sha right now is that upstream changed a lot during
last 2 months and waiting longer will probably result in more changes, making
it harder to move to a later osa sha even harder.

Other changes included by this change are

- update ansible role requirements to move to shas pinned by upstream for pike.
- add odl and tacker roles into ansible role requirements.
- update how aio is deployed due to removal of an upstream script. (this could
perhaps have been done in a better way but the time pressure required this to
be fixed in the way as proposed.)
- ensure facts are gathered for all the hosts and containers before
running setup-infrastructure.yml playbook.
- stop grepping for failed in the log of setup-hosts.yml playbook due
to existence of rescue block in rabbitmq_cluster_create.yml [2].
- reduce the resource needs by updating the user_variables that are
based on upstream osa gate which uses aio. The values for none-aio xci
flavors will be adjusted in a separate change once the sha bump is complete.
- fix a bug in ha-vars.

[1] https://review.openstack.org/gitweb?p=openstack/openstack-ansible.git;a=commit;h=4d39f2cc29417153780210fc0bb86223387e9968
[2] https://review.openstack.org/gitweb?p=openstack/openstack-ansible-rabbitmq_server.git;a=blob;f=tasks/rabbitmq_cluster_create.yml;h=4aaad5adafa42684c0d791b49539069fe1b45635;hb=HEAD#l24

Change-Id: Ia7fc495e315e4a41359641f8be4b3c8bbf7b61fa
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
7 years agoxci: Update the repo directory structure 29/39629/2
Fatih Degirmenci [Fri, 18 Aug 2017 20:32:58 +0000 (22:32 +0200)]
xci: Update the repo directory structure

This patch
- removes obsolete openstack-ansible and puppet-infracloud directories
- adds upstream directory to keep the contributions that are pending to
be accepted by upstream in order to have progress in OPNFV. In a perfect
world, one should expect to have nothing in this directory so the items
in this folder are short-lived.
- adds prototypes directory to keep stuff that hasn't been discussed to be
part of XCI and to share ideas and trials with the rest of the community.

Change-Id: I12afe7050ff2b0ac457d4b16d21dfd7df6ac84c9
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
7 years agoMerge "prototypes: bifrost: destroy-env: Always destroy XCI VMs"
Markos Chandras [Fri, 18 Aug 2017 05:02:50 +0000 (05:02 +0000)]
Merge "prototypes: bifrost: destroy-env: Always destroy XCI VMs"

7 years agoprototypes: bifrost: destroy-env: Always destroy XCI VMs 53/39153/2
Markos Chandras [Wed, 26 Jul 2017 10:25:22 +0000 (11:25 +0100)]
prototypes: bifrost: destroy-env: Always destroy XCI VMs

It's possible that a previous run failed before registering the VMs
to the vbmc. As such, consulting the vbmc to retrieve the VM names will
return nothing and no VM will be deleted. As such, it's best to get
the VMs from the currently XCI profile and make sure they are really
gone.

Change-Id: If11265655f42c8a1c7627c9139ac0cbfc002b1fe
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoMerge "Refactor releng/prototypes/xci to releng-xci/xci in the code"
Fatih Degirmenci [Thu, 17 Aug 2017 11:27:00 +0000 (11:27 +0000)]
Merge "Refactor releng/prototypes/xci to releng-xci/xci in the code"

7 years agoMerge "bifrost: scripts: Disable selinux on Centos7"
Markos Chandras [Thu, 17 Aug 2017 10:24:38 +0000 (10:24 +0000)]
Merge "bifrost: scripts: Disable selinux on Centos7"

7 years agoMerge "prototypes: xci: xci-deploy.sh: Only allow XCI on Ubuntu"
Markos Chandras [Thu, 17 Aug 2017 10:24:18 +0000 (10:24 +0000)]
Merge "prototypes: xci: xci-deploy.sh: Only allow XCI on Ubuntu"

7 years agoMerge "prototypes: xci: config: Allow users to set VM specs"
Markos Chandras [Thu, 17 Aug 2017 10:24:14 +0000 (10:24 +0000)]
Merge "prototypes: xci: config: Allow users to set VM specs"

7 years agoprototypes: xci: xci-deploy.sh: Only allow XCI on Ubuntu 57/39257/2
Markos Chandras [Tue, 25 Jul 2017 16:18:23 +0000 (17:18 +0100)]
prototypes: xci: xci-deploy.sh: Only allow XCI on Ubuntu

There is no support for openSUSE or CentOS right now yet the
script runs happily on these hosts until it breaks in horrible
ways. The only place we explicitly ask for Ubuntu hosts is the wiki
which can easily be missed by newcomers. As such, modify the script
to only run on Ubuntu hosts.

Change-Id: If9b355da51367fc95948a2b12a7f6c4d6b3bbbbf
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoprototypes: xci: config: Allow users to set VM specs 55/39255/2
Markos Chandras [Wed, 26 Jul 2017 11:01:33 +0000 (12:01 +0100)]
prototypes: xci: config: Allow users to set VM specs

The default VM spec may not be good enough for every host
so allow users to override the default VM_* variables.

Change-Id: Ie846620ab81b7fedcbe4b23da735379ab75d3cc2
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoRefactor releng/prototypes/xci to releng-xci/xci in the code 71/39171/3
Dave Urschatz [Sat, 12 Aug 2017 17:56:19 +0000 (13:56 -0400)]
Refactor releng/prototypes/xci to releng-xci/xci in the code

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>
7 years agobifrost: scripts: Disable selinux on Centos7 85/39385/1
Markos Chandras [Wed, 16 Aug 2017 05:19:34 +0000 (06:19 +0100)]
bifrost: scripts: Disable selinux on Centos7

We are seeing issues with selinux enabled from time to time. Having
selinux enabled has proven to be rather unstable and Centos7 not being
a gate on upstream bifrost does not help in fully testing this scenario.
As such, the best we can do right now is to disable selinux until Centos7
becomes a gate upstream.

Change-Id: I93a3414cfebc3c3ef4ac063c8e623f36f615455f
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoxci: Vagrantfile: Add Vagrantfile to simplify testing 59/39259/3
Markos Chandras [Tue, 25 Jul 2017 14:10:15 +0000 (15:10 +0100)]
xci: Vagrantfile: Add Vagrantfile to simplify testing

Add a Vagrantfile based on the upstream AIO one which can be used to
easily test XCI without modifying the host.

Change-Id: Icced4ff4cd80c43d4b0cec2282629fedaf44cb8c
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoInitial .gitignore and .gitreview
Trevor Bramwell [Fri, 11 Aug 2017 19:58:31 +0000 (12:58 -0700)]
Initial .gitignore and .gitreview

Change-Id: I71280521df7727747daf47b662356292164a076e
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
7 years agoprototypes: bifrost: Do not use tmpfs for dib builds
Markos Chandras [Mon, 17 Jul 2017 20:06:25 +0000 (21:06 +0100)]
prototypes: bifrost: Do not use tmpfs for dib builds

Using tmpfs seems somewhat unstable. For example the following
error is observed on openSUSE hosts

ERROR: failed to umount the /tmp/dib_image.RJBbahUd tmpfs

As such, we set the dib_notmpfs variable to 'true' which mimics what
upstream OpenStack scripts are doing already in
project-config:tools/build-image.sh

Change-Id: If050ab70303b3556fc1880a956f0ba1505d62050
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoFix missing python packages for password generation
Juan Vidal Allende [Tue, 11 Jul 2017 16:30:02 +0000 (18:30 +0200)]
Fix missing python packages for password generation

These packages are needed by pw-token-gen.py tool

Change-Id: Ib9d165274449551a469e201da9feeffac5a7a4cf
Signed-off-by: Juan Vidal Allende <juan.vidal.allende@ericsson.com>
7 years agoprototypes: xci: xci-deploy: Set default value for devel parameters
Markos Chandras [Wed, 5 Jul 2017 14:06:49 +0000 (15:06 +0100)]
prototypes: xci: xci-deploy: Set default value for devel parameters

Commit 68412ffc734e ("prototypes: xci: xci-deploy.sh: Append trailing
slash for rsync vars") modified xci-deploy.sh script to append a
trailing slash to the devel variables but it broke the script when
one of these variables was not set (since we run with 'set -eu') with
the following error:

./xci-deploy.sh: line 45: !local_user_var: unbound variable

Fixes: I0103b754585931fa1dcd3966c52d7e4a8f2f63f6
Change-Id: Ic2465ff07348b61e74e191516425cd10d80c1fce
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoprototypes: xci: xci-deploy.sh: Append trailing slash for rsync vars
Markos Chandras [Mon, 3 Jul 2017 21:24:41 +0000 (22:24 +0100)]
prototypes: xci: xci-deploy.sh: Append trailing slash for rsync vars

The 'synchronize' Ansible module uses rsync and for that we need
to indicate that we want to copy the contents of the development path
and not the development path itself. As such we need to ensure that a
trailing slash is always appended to the user variables but we need to
also ensure that we will not end up with double slashes.

Change-Id: I0103b754585931fa1dcd3966c52d7e4a8f2f63f6
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoxci: Fix README for setting dev path instructions
Fatih Degirmenci [Mon, 3 Jul 2017 18:29:22 +0000 (20:29 +0200)]
xci: Fix README for setting dev path instructions

Change-Id: I56c727c242b6826f87a64246b6b4736a637c1abe
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
7 years agoprototypes: xci: scripts: Update SHA dates
Markos Chandras [Mon, 3 Jul 2017 08:37:17 +0000 (09:37 +0100)]
prototypes: xci: scripts: Update SHA dates

Update the dates in the pinned-versions file whenever we update
the SHAs.

Change-Id: I23ebd90a3fc688a7501fcb2d32217357f8c31657
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoprototypes: xci: update-osa-version-files: Add support for updating bifrost SHAs
Markos Chandras [Thu, 29 Jun 2017 08:46:32 +0000 (09:46 +0100)]
prototypes: xci: update-osa-version-files: Add support for updating bifrost SHAs

Add a second optional argument to update the bifrost SHA instead of
doing this bit manually.

Change-Id: I0fab8745ae08ad4f54a2a1f5b0b7a64fde4b8295
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoprototypes: xci: Update SHAs for OSA and its roles
Markos Chandras [Thu, 29 Jun 2017 07:03:12 +0000 (08:03 +0100)]
prototypes: xci: Update SHAs for OSA and its roles

This also updates the second (pre_release) argument of
'update_ansible_role_requirements' from 'false' to 'true' so that
non-openstack roles can be updated as well.

Change-Id: Id424499f44c9b51c02d56e5d93580faeea50ad12
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoTalk about development mode for XCI
Yolanda Robla [Fri, 2 Jun 2017 12:37:54 +0000 (14:37 +0200)]
Talk about development mode for XCI

Explain the usage of OPNFV_RELENG_DEV_PATH

Change-Id: I19e3946c9ea78a6bb0521818b58af297a396d80d

7 years agoprototypes: xci: config: Update bifrost SHA
Markos Chandras [Fri, 16 Jun 2017 09:47:51 +0000 (10:47 +0100)]
prototypes: xci: config: Update bifrost SHA

Update bifrost SHA to 7c9bb5e07c6bc3b42c9a9e8457e5eef511075b38
which is the current HEAD on 16th of June 2017.

Change-Id: I91cd98221fda7a1dd689abbfbf07474bd8aac4e1
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoprototypes: xci: scripts: Add update-osa-version-files.sh script
Markos Chandras [Thu, 15 Jun 2017 13:13:33 +0000 (14:13 +0100)]
prototypes: xci: scripts: Add update-osa-version-files.sh script

Add new prototypes/xci/scripts/update-osa-version-files.sh which can be
used to update the XCI ansible-role-requirements.yml file as well as the
OSA pinned SHA string. This file is using the upstream
'sources-branch-updater-lib.sh' library from the openstack-ansible
repository.

Change-Id: I51b88c50cb2bffe0cf1b7aa054a5b237103fd92f
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoprototypes: xci: Add 'ansible-hardening' role to the requirements file
Markos Chandras [Tue, 13 Jun 2017 09:32:39 +0000 (10:32 +0100)]
prototypes: xci: Add 'ansible-hardening' role to the requirements file

Upstream commit 2798cf403c47d165cd8d34d7888990dce1f827f8 ("Use new
ansible-hardening role") added the new 'ansible-hardening' role to the
ansible-role-requirements.yml file and as such we also need to take that
into consideration. The sha hash does not matter much at this point
since it will be fixed the next time we tag all the roles.

Change-Id: I5444af948e2b83de49863e7e28f3918fed88c90d
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoDefine an extra vars path and copy into playbooks
Yolanda Robla [Fri, 2 Jun 2017 16:31:31 +0000 (18:31 +0200)]
Define an extra vars path and copy into playbooks

This will allow to define the XCI_EXTRA_VARS_PATH, that can
contain group_vars/all (or any other valid files), and those
will be copied inside releng and bifrost playbooks.

Change-Id: I95e4b0bfb67f26bfa1eb10c97096784eb7f3a87a
Signed-Off-By: Yolanda Robla <yroblamo@redhat.com>
7 years agoExplain the need of having an ssh key
Yolanda Robla [Thu, 1 Jun 2017 14:40:38 +0000 (16:40 +0200)]
Explain the need of having an ssh key

In order for XCI to work, the user needs to have a ssh key. Explain
that on the README and show the command to generate it.

Change-Id: I517e15de15ba1b09977dbd62881bc2625c8b2833

7 years agoprototypes: xci: Make CLEAN_DIB_IMAGES variable configurable
Markos Chandras [Thu, 1 Jun 2017 13:11:23 +0000 (14:11 +0100)]
prototypes: xci: Make CLEAN_DIB_IMAGES variable configurable

The CLEAN_DIB_IMAGES variable determines whether the /httpboot
or /tftpboot directories will be removed before running the xci-deploy
script. This forces XCI to re-create the target OS images. We moved
this variable from env-vars to user-vars since this is something that
users normally want to tweak in their deployments.

Change-Id: Ia48bd63979e3837aab7e47c906c2501e7c7dd0e1
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoprototypes: bifrost: Switch Ubuntu targets to Xenial (16.04)
Markos Chandras [Thu, 1 Jun 2017 10:20:41 +0000 (11:20 +0100)]
prototypes: bifrost: Switch Ubuntu targets to Xenial (16.04)

Switch default target OS to Ubuntu Xenial (16.04) which is also
the version which is supported by OpenStack Ansible.

Change-Id: I73adc6472b0fb572177e1508cf831b4d3190245c
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoFix ansible installation for non-root
Yolanda Robla [Thu, 1 Jun 2017 09:25:01 +0000 (11:25 +0200)]
Fix ansible installation for non-root

Currently ansible was set to be installed with pip, but
this fails for non-root user. Instead of that, execute
pip with --user flag, so we don't need root permissions and it
is only installed for the current user.

Change-Id: Ib37a2a3866b4b48aca834b894cdd128ee63b31d6

7 years agoRemove sudo usage from xci-deploy
Yolanda Robla [Thu, 1 Jun 2017 09:10:11 +0000 (11:10 +0200)]
Remove sudo usage from xci-deploy

The script was refactored to don't need sudo on the
latest versions, and the documentation is still referencing it.

Change-Id: I7064317ab7b756a78638f7474f2944472d3a4ba2

7 years agoprototypes: xci: Look for SSH keys in $HOME directory
Markos Chandras [Wed, 10 May 2017 15:48:20 +0000 (16:48 +0100)]
prototypes: xci: Look for SSH keys in $HOME directory

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>
7 years agoprototypes: xci: Move host keys away from / directory
Markos Chandras [Wed, 10 May 2017 10:37:38 +0000 (11:37 +0100)]
prototypes: xci: Move host keys away from / directory

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>
7 years agoprototypes: xci: Add ability to use local repositories for testing
Markos Chandras [Tue, 9 May 2017 20:20:59 +0000 (21:20 +0100)]
prototypes: xci: Add ability to use local repositories for testing

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>
7 years agoprototypes: bifrost: Remove OPNFV specific group_vars file
Markos Chandras [Tue, 9 May 2017 15:55:37 +0000 (16:55 +0100)]
prototypes: bifrost: Remove OPNFV specific group_vars file

The only reason we had this file was because we had to define our own
'ssh_public_key_path' variable to look in the /root directory since we
were running everything as root. Since we are now moving away from this
approach, this file is not needed anymore.

Change-Id: Ic938c4c8c877c95ce261721dc32fc5147081e236
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoprototypes: xci: configure-localhost: Use 'connection: local'
Markos Chandras [Wed, 10 May 2017 10:39:35 +0000 (11:39 +0100)]
prototypes: xci: configure-localhost: Use 'connection: local'

Since we are operating on localhost, there is no need to do that via ssh
so we use 'connection: local' instead. Moreover, we do not need to
execute everything as root so we drop the remote user directive.

Change-Id: Ib2127edad29e2da1cd1beebf42cb8f0d278ce3ad
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoprototypes: xci: provision-vm-nodes: Do not provision VMs as root.
Markos Chandras [Tue, 9 May 2017 14:41:22 +0000 (15:41 +0100)]
prototypes: xci: provision-vm-nodes: Do not provision VMs as root.

There is no need to provision VM nodes as root. The only thing that we
need to run as root is the destroy-env.sh script and for that we move
it to its own play so we can use Ansible's become directive. Moreover,
since this playbook operates on localhost we can use 'connection: local'
so we don't have to execute everything via ssh and possibly speed up
the whole process.

Change-Id: Ia9efd5f30e95385b5cf193dde352f93551846c0e
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoprototypes: xci: user-vars: Move root directory away from /opt
Markos Chandras [Tue, 9 May 2017 14:37:24 +0000 (15:37 +0100)]
prototypes: xci: user-vars: Move root directory away from /opt

Having everything in the /opt implies root privileges. However, xci
should work as normal user and as such we use the /tmp directory as
the root directory.

Change-Id: I985ded289208e1de53ad0ba878afd5bfd745c3fd
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoprototypes: xci: xci-deploy: Do not use sudo when connecting to remote hosts
Markos Chandras [Wed, 10 May 2017 16:14:22 +0000 (17:14 +0100)]
prototypes: xci: xci-deploy: Do not use sudo when connecting to remote hosts

In preparation for running xci-deploy as normal user, we do not need to
gain elevated privileges in order to connect to remote hosts. SSH keys
will be placed in user's ssh directory so we can ssh as normal user.

Change-Id: Ieb705515ec191955a646839e8f195d089df184bd
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoprototypes: xci: Do not require root privileges in xci-deploy
Markos Chandras [Tue, 9 May 2017 14:14:46 +0000 (15:14 +0100)]
prototypes: xci: Do not require root privileges in xci-deploy

There is no good reason to run the script as root. If elevated
privileges are required then we will do it on a per case basis.

Change-Id: I7195fb3a0026ea20ce04e0b652dd3c1c56ca5741
Signed-off-by: Markos Chandras <mchandras@suse.de>
7 years agoprototypes: bifrost: Write clouds.yaml file for regular users
Markos Chandras [Mon, 8 May 2017 10:28:50 +0000 (11:28 +0100)]
prototypes: bifrost: Write clouds.yaml file for regular users

This is similar to commit 6769ae9bcbf6 ("prototypes: bifrost: Add
keystone roles"). In preparation for running the bifrost jobs as normal
user we need to write a clouds.yaml file to users home directory.
This is similar to the bifrost upstream testing playbook.

Change-Id: Iae4bc73906649707667925280a19282ec5c93998

7 years agoprototypes: xci: Make sure Ansible dependencies are installed
Markos Chandras [Mon, 8 May 2017 09:08:00 +0000 (10:08 +0100)]
prototypes: xci: Make sure Ansible dependencies are installed

'pip install ansible' is not enough on newly installed hosts which may
lack the necessary build tools to install Ansible's dependencies. As
such, we add a script similar to the bifrost/scripts/install-deps.sh
one to pull in all the necessary distro-specific packages so Ansible
and it's dependencies can be installed from scratch.

Change-Id: I4b1e74644db9ace451ad763e4c54f1a3a43214fd

7 years agoprototypes: bifrost: Add keystone roles
Markos Chandras [Wed, 3 May 2017 18:36:23 +0000 (19:36 +0100)]
prototypes: bifrost: Add keystone roles

The os_client_config Ansible module used by all the ironic-* roles
depends on the keystone roles so we need to make use of them even
though they do not affect the end result. This fixes the following
OPNFV CI problem due to not having a clouds.yaml file present to
be consumed by the os_client_config Ansible module.

fatal: [controller00]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result"}
An exception occurred during task execution. The full traceback is:
Traceback (most recent call last):
  File "/tmp/ansible_ApkCUQ/ansible_module_os_client_config.py", line 75, in <module>
    main()
  File "/tmp/ansible_ApkCUQ/ansible_module_os_client_config.py", line 63, in main
    for cloud in config.get_all_clouds():
  File "/usr/lib/python2.7/site-packages/os_client_config/config.py", line 798, in get_all_clouds
    cloud, region_name=region['name']))
  File "/usr/lib/python2.7/site-packages/os_client_config/config.py", line 1071, in get_one_cloud
    auth_plugin = loader.load_from_options(**config['auth'])
  File "/usr/lib/python2.7/site-packages/keystoneauth1/loading/base.py", line 162, in load_from_options
    raise exceptions.MissingRequiredOptions(missing_required)
keystoneauth1.exceptions.auth_plugins.MissingRequiredOptions: Auth plugin requires parameters which were not given: auth_url
fatal: [opnfv]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result"}

Moreover, we cleanup the ~/openstack directory which may contain some
bifrost artifacts such as a clouds.yaml file.

Finally, we use 'sudo -H' because for the keystone roles we need the HOME
variable to be set properly.

Change-Id: I45b08bd33dd8ea9505fe10eb4b2b10956b3b683c

7 years agoxci: Ensure ansible is bootstrapped as last step
Fatih Degirmenci [Tue, 25 Apr 2017 09:39:31 +0000 (11:39 +0200)]
xci: Ensure ansible is bootstrapped as last step

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>
7 years agoxci: Always use pinned versions of openstack-ansible-requirements
Juan Vidal [Tue, 25 Apr 2017 09:16:02 +0000 (11:16 +0200)]
xci: Always use pinned versions of openstack-ansible-requirements

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>
7 years agoxci: Fix nfs server ip for glance
Fatih Degirmenci [Tue, 18 Apr 2017 12:27:31 +0000 (14:27 +0200)]
xci: Fix nfs server ip for glance

Change-Id: Iebb9945bfd9cad9ebfda127f130542f4a6334aec
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
7 years agoxci: Merge configure-targethosts.yml playbooks into one
Fatih Degirmenci [Tue, 18 Apr 2017 09:49:19 +0000 (11:49 +0200)]
xci: Merge configure-targethosts.yml playbooks into one

They are exactly same now after moving nfs to compute00.

Change-Id: I9d9d2f037aa3684ba130ae0a4f9aef2e733f2d2e
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
7 years agoxci: Change cinder backend and move nfs to compute00
Fatih Degirmenci [Tue, 18 Apr 2017 08:53:21 +0000 (10:53 +0200)]
xci: Change cinder backend and move nfs to compute00

This change
- switches cinder backend from lvm to nfs as examplified in [1].
- moves nfs shares from compute01 to compute00 in order to merge
configure-targethosts.yml playbook in upcoming change.
- updates openstack_user_config.yml to reflect the switch to nfs
and move of nfs server to compute00.
- removes exports file due to switching to lineinfile module.

[1] https://docs.openstack.org/project-deploy-guide/openstack-ansible/draft/app-config-prod.html

Change-Id: I0715c98a89ab124256e3857c1047e374f261e39b
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
7 years agoxci: Force sync time
Fatih Degirmenci [Tue, 18 Apr 2017 08:37:37 +0000 (10:37 +0200)]
xci: Force sync time

For some reason, when the nodes are provisioned, they are out
of sync time-wise. This prevents neutron agents on compute nodes
from starting and then everything fails.

This change restarts chrony after the network configuration is updated
and the nodes have internet access and force synchs time on nodes.

Change-Id: Ib27b1fa0313223b52fa2e6229d5a179581d62686
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
7 years agoxci: Fix network configuration
Fatih Degirmenci [Tue, 18 Apr 2017 08:04:48 +0000 (10:04 +0200)]
xci: Fix network configuration

This change
- sets static IP for controller nodes' vxlan bridges as stated
in osa documentation: compute and network hosts must have an IP [1]
- configures IPs for controller nodes' vxlan bridges.
- removes the additional vlan ip from compute nodes as it seems to
be there for all in one.
- removes glean.rules as they mess with the network configuration once
the network changes are applied.
- removes the contents of interfaces.d as osa populates config for
lxc bridges and includes this config in interfaces file thus all the
files in interfaces.d must be removed in order not to mess with the
network configuration.
- updates modules appropriately.

[1] https://docs.openstack.org/project-deploy-guide/openstack-ansible/draft/app-config-prod.html

Change-Id: I84d5f07216c8d0246da06080fb0ed19f917d6637
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
7 years agoxci: Fix images directory permissions
Fatih Degirmenci [Sat, 8 Apr 2017 18:52:02 +0000 (20:52 +0200)]
xci: Fix images directory permissions

Change-Id: Ibc1b9662bb9865c0e309128327d620324ddca85c
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
7 years agoxci: Exclude aodh, ceilometer, and gnocchi from deployments
Fatih Degirmenci [Thu, 6 Apr 2017 17:46:36 +0000 (10:46 -0700)]
xci: Exclude aodh, ceilometer, and gnocchi from deployments

Aodh is broken on the master branch due to use of conflicting
sqlAlhcemy package, causing issues during osa repo_build.

This patch disables aodh and the related services ceilometer
and gnocchi since the reason for us to have these 2 is to get
aodh.

See the failure from
https://build.opnfv.org/ci/job/xci-deploy-virtual-xenial-daily-master/26/consoleFull

Change-Id: Ic6b74328cf1692b5e26c5f30b3eb3799240c7117
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
7 years agoxci: Log info about provisioned VMs to console
Fatih Degirmenci [Wed, 5 Apr 2017 16:40:07 +0000 (09:40 -0700)]
xci: Log info about provisioned VMs to console

Change-Id: If29aaf0be6ddd860450eeb10432fe75e12b1d03b
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
7 years agoxci: SHA bump as of April 4
Fatih Degirmenci [Tue, 4 Apr 2017 16:04:32 +0000 (09:04 -0700)]
xci: SHA bump as of April 4

The bifrost, osa, and ansible role requirements sha1s are bumped
based on the HEAD of the master of the projects on April 4.

designate is also disabled based on the comment the osa commit
mentions.

https://review.openstack.org/gitweb?p=openstack/openstack-ansible.git;a=commit;h=d9e1330c7ff9d72a604b6b4f3af765f66a01b30e

Change-Id: Ib47515490c799d3b1d2b4b319277c8900cd37328
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
7 years agoxci: Introduce XCI_LOOP variable to control what to do properly
Fatih Degirmenci [Tue, 4 Apr 2017 16:18:54 +0000 (09:18 -0700)]
xci: Introduce XCI_LOOP variable to control what to do properly

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>
7 years agoxci: Fix the haproxy service and gnocchi db sync problem
Fatih Degirmenci [Fri, 31 Mar 2017 20:55:45 +0000 (22:55 +0200)]
xci: Fix the haproxy service and gnocchi db sync problem

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>
7 years agoxci: Adjust and fix jobs and scripts
Fatih Degirmenci [Sun, 2 Apr 2017 17:08:41 +0000 (10:08 -0700)]
xci: Adjust and fix jobs and scripts

This change
- fixes GIT_BASE in jobs
- adjusts build blockers
- fixes where the flavor vars should be sourced from
- sources flavor vars for bifrost periodic jobs
- renames the xcimaster node to opnfv to be consistent
- removes obsolete xci-provision.sh script
- enable additional openstack services including tempest to
  ensure the deployment is sane

Change-Id: Ifdce1da52d68a26c2b87e1bd3b1996ec119d8d90
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
7 years agoxci: Start developer documentation
Fatih Degirmenci [Fri, 31 Mar 2017 21:06:47 +0000 (23:06 +0200)]
xci: Start developer documentation

Change-Id: Ib5200372a44ee6a22b45c2105b3729d362eacb1d
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
7 years agoxci: Configure daily job to use xci scripts
Fatih Degirmenci [Fri, 31 Mar 2017 19:13:31 +0000 (21:13 +0200)]
xci: Configure daily job to use xci scripts

Daily jobs are now switched to using xci-deploy.sh script together
with the environment variables, playbooks, and so on.

These jobs do not set any version for any of the component as
the point with these jobs is to test the platform itself, not the
tools.

DIB related stuff is still left as parameters to deploy job for SUSE
and CentOS jobs so we can override what is set by xci depending
on the distro.

Change-Id: I5a5292e6bae8fdd052858108db409e8d495fbf24
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
7 years agoxci: Update main script and readme
Fatih Degirmenci [Fri, 31 Mar 2017 15:54:33 +0000 (17:54 +0200)]
xci: Update main script and readme

This change
- updates the main script to run the playbooks
- creates the initial version of the readme file

Change-Id: I4110433bce541a5d9645f34457f9e1b1ee93df19
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
7 years agoxci: Create playbook to destroy, create and provision VM nodes
Fatih Degirmenci [Fri, 31 Mar 2017 13:02:16 +0000 (15:02 +0200)]
xci: Create playbook to destroy, create and provision VM nodes

This change moves preparation (cloning repos, combining opnfv/bifrost
with openstack/bifrost), destroying and creating VM nodes from the
script into a separate playbook.

This requires the host to have ansible installed. The version of ansible
to install using pip currently matches to what bifrost uses but it is
hardcoded and needs to be fixed properly.

The reason for having this as a playbook to simplify the script and
increase the reuse. This playbook will be used for
- developer sandbox
- periodic bifrost jobs to run against latest on given branch and
promoting bifrost sha1 to pin later on
- daily jobs to run using pinned versions of bifrost

Change-Id: I033f12290dfea19d4c74be80eea7203211c0369e
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>