summaryrefslogtreecommitdiffstats
path: root/xci
AgeCommit message (Collapse)AuthorFilesLines
2017-10-02xci: scripts: start-new-vm.sh: Use Docker to build OS imagesMarkos Chandras2-104/+85
Use a docker container to build the OS images so we can build images and start new virtual machines on all supported operating systems. This way all developers can now launch a virtual machine to quickly reproduce Jenkins results which should assist with debugging problems. Since the container runs with elevated privileges it's best to ensure that we have exclusive access to devices. Finally, we remove the build-dib-os.sh script which is now part of the container itself. The build image process now becomes more stable since it runs on clean evnironment all the time so the only external factor is the upstream distribution repositories. Change-Id: I6b443192419ee2546a23430f421b152766d16333 Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-10-01xci: file: ansible-role-requirements: Bump SHA for rabbitmq-serverMarkos Chandras1-1/+1
The rabbitmq-server contains some fixes for SUSE so lets just bump this role instead of switching the entire OSA pin SHA so close to the Euphrates release. Change-Id: Ic034ed4bd9e290cadc5336d781b0e24036d5cd46 Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-09-29Check if /etc/ssl/certs exists before creating itTapio Tallgren2-3/+10
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>
2017-09-29Merge changes from topic 'fix-vm-on-jenkins'Markos Chandras5-24/+10
* 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
2017-09-28xci: xci-deploy.sh: Apply workaround for checking db cluster on SUSEMarkos Chandras1-0/+7
The mysql socket path is wrong on SUSE which leads to problems when trying to verify the status of the db cluster. Apply workaround until it's fixed upstream controller00_galera_container-56c89184 | FAILED | rc=1 >> ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory") Change-Id: I23192f4079526ae7820a1db023a097a651a09140 Link: https://review.openstack.org/508154 Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-09-28xci: playbooks: synchronize-time: Fix service name for openSUSEMarkos Chandras1-1/+1
In openSUSE, the chrony service is 'chronyd'. Change-Id: Ifb946b0ba49783108a84dd5b998d9d45f5c9df51 Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-09-28Ensure the pinned versions of components match to the pinned OSAFatih Degirmenci3-2/+240
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>
2017-09-28xci: configure-opnfvhost: Do not run 'remove-folders'Markos Chandras2-22/+0
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>
2017-09-28xci: scripts: build-dib-os.sh: Pin diskimage-builderMarkos Chandras1-1/+1
diskimage-builder does very frequent releases and sometimes things break. There is no particular reason to always fetch the latest version so lets do it in a controlled way after proper testing. Change-Id: Ie9685a9a15fa7fefa1c5ecea49090ac9d92e63ff Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-09-28xci: configure-opnfvhost: Do not check /etc/ssl/certs on SUSEMarkos Chandras1-0/+1
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>
2017-09-28Merge changes from topic 'fix-vm-on-jenkins'Markos Chandras3-17/+38
* changes: xci: scripts: start-new-vm.sh: Fix paths for default XCI test xci: Replace ANSIBLE_VERBOSITY with XCI_ANSIBLE_VERBOSITY xci: scripts: start-new-vm.sh: Print dib output when running on CI xci: scripts: start-new-vm.sh: Use 'unsafe' cache for the clean vm disk xci: xci-deploy.sh: Make sure all local Ansible installations are gone xci: scripts: start-new-vm.sh: Do not allow multiple build-dib-os processes
2017-09-27xci: scripts: start-new-vm.sh: Fix paths for default XCI testMarkos Chandras1-2/+2
The XCI test is located in ~/releng-xci inside the new VM so we need to look there for an existing one or for executing it after the default one has been created and copied to the remote host. Change-Id: Ieb195293da7832bcb5d29c8a28cc3477205f2e5e Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-09-27xci: Replace ANSIBLE_VERBOSITY with XCI_ANSIBLE_VERBOSITYMarkos Chandras2-12/+12
The ANSIBLE_VERBOSITY env variable is actually used internally by Ansible and exporting it actually makes Ansible super verbose even if the variable is empty. This feature is going away in the future so we introduce our own XCI_ANSIBLE_VERBOSITY variable which is simply passed to the command line to control verbosity in a proper and deterministic way. Change-Id: I8a32eeb1a86b4cb0a9872a51bbe9f9624d096e39 Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-09-27xci: scripts: start-new-vm.sh: Print dib output when running on CIMarkos Chandras2-3/+7
Until we are able to fetch the dib images from external resources, we need to build them as part of the job. diskimage-builder can sometimes fail so we need to be able to see the log for debug purposes. Change-Id: Iab8bfba08daa7095cf76537f629c8e7bf6330b17 Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-09-27xci: scripts: start-new-vm.sh: Use 'unsafe' cache for the clean vm diskMarkos Chandras1-1/+1
This is not a production virtual machine and we don't care if we lose data in case it's killed unexpectedly so we can just ignore the 'flush' commands from the guest. This will also improve the overall I/O in the VMs. Change-Id: Ib486a073f667e22f4a1e65a220ac553874f708cc Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-09-27xci: xci-deploy.sh: Make sure all local Ansible installations are goneMarkos Chandras1-1/+8
We need to ensure that all Ansible installations are gone before we install it again so we can ensure that a local or system wide installation will not take precedence over the one we try to install. Change-Id: I9daf66d661697baf63340ba4af1cd58fbd81f143 Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-09-27xci: scripts: start-new-vm.sh: Do not allow multiple build-dib-os processesMarkos Chandras2-3/+13
apt-get is really unhappy when another instance is running and fails with the following error: E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable) E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it? Change-Id: I2fe343fdab8438cb112cce0a4f81c7e3977c55f9 Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-09-27Remove the quotes from the IPManuel Buil1-1/+1
Functest complains that it cannot connect to the installer because it does not understand the ip or hostname. The cause for this is the quotes in the template Change-Id: I75c30b7f1bbcee3f968692b4347ceb13ab1131d2 Signed-off-by: Manuel Buil <mbuil@suse.com>
2017-09-27Merge "xci: scripts: Fix script to run on Jenkins CI"Fatih Degirmenci2-15/+33
2017-09-27Create a role which prepares xci for functestManuel Buil5-3/+65
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>
2017-09-26xci: scripts: Fix script to run on Jenkins CIMarkos Chandras2-15/+33
A couple of tweaks are necessary to get it working with Jenkins - Jenkins jobs could contain the 'xci' string so make the regexp more accurate. - Rename VMs to use a more accurate name - Fix ssh public key location - Create a fresh /etc/hosts since distro may not have one. - Set hostname on VM Change-Id: I332a424bc8b2de98d7b326c192996b7b12c79dd7 Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-09-25xci: file: Update package metadata before installing packagesMarkos Chandras1-0/+3
We may have old or no metadata for packages at all so package installations may fail. As such, lets sync with upstream mirrors before we try to install any packages. Change-Id: I15f73e46d4f0cae2c50d23a92e0f4da83821039e Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-09-25Merge "xci: scripts: Add script to use clean virtual machines for testing"Markos Chandras4-0/+281
2017-09-25Merge "bugfix: Correct the role in aio configure-opnfvhost.yml"Markos Chandras1-0/+1
2017-09-25xci: scripts: Add script to use clean virtual machines for testingMarkos Chandras4-0/+281
These scripts will prepare a clean OS image based on diskimage-builder and launch a new VM with it. The purpose of that is to use this virtual machine as a 'host' to run XCI on it. This way we can ensure that all tests are being executed on the same clean environment which is ideal for reproducing and debugging purposes. We also commit the ssh keypair so we can build it in the image and use it to control the virtual machine without user interaction. Needless to say that this keypair MUST NOT be used for anything else apart from the dib build process. Change-Id: Idec0fc06c82435adc1a4d569b8e578616998de5f Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-09-25bugfix: Correct the role in aio configure-opnfvhost.ymlFatih Degirmenci1-0/+1
Change-Id: Ie70800f6cbc07c505739a870be304d9153941dec Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-09-23Log Horizon URL, admin username and password on console.Taseer Ahmed1-0/+21
Added so that user need not traverse files for these parameters JIRA: RELENG-221 Change-Id: I1c445ea34ef9494d5bef3a6cba0c8d40bacba29f Signed-off-by: Taseer Ahmed <taseer94@gmail.com>
2017-09-22Merge "Install docker and shade on opnfv host"Fatih Degirmenci4-0/+15
2017-09-22Merge "Reduce no of cpus allocated per node"Markos Chandras3-3/+3
2017-09-22Merge changes from topic 'split-variable-creation-to-task'Markos Chandras2-0/+3
* changes: xci: configure-localhost: Do not check /etc/ssl/certs on SUSE xci: xci-deploy.sh: Ensure env_reset is not present
2017-09-22Merge changes from topic 'split-variable-creation-to-task'Markos Chandras2-29/+2
* changes: xci: Move the destroy-env.sh script to xci-deploy.sh xci: provision-vm-nodes.yml: Merge plays
2017-09-22Merge "Override ansible role versions only if OSA version is not master"Markos Chandras1-0/+2
2017-09-22Merge changes from topic 'split-variable-creation-to-task'Markos Chandras5-16/+42
* changes: xci: playbooks: Include distribution var files dynamically bifrost: scripts: Look for virtualbmc on bifrost virtualenv xci: Gain elevated privileges to remove the XCI_DEVEL_ROOT directory xci: Move VM provisioning to xci-deploy.sh
2017-09-22Reduce no of cpus allocated per nodeFatih Degirmenci3-3/+3
Change-Id: I62c167621e2b28a57b1ef7647d105ea73dbb0291 Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-09-22Install docker and shade on opnfv hostFatih Degirmenci4-0/+15
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>
2017-09-22Add the internal_vip(172.29.236.222) to used_ipwutianwei1-0/+1
The IP in used_ip will not be used later otherwise internal_vip may be assigned to lxc container, which will cause issue during deploying Change-Id: I9834dfa9b218b4dd23e20c8d57e05bb806dafa7b Signed-off-by: wutianwei <wutianwei1@huawei.com>
2017-09-21xci: configure-localhost: Do not check /etc/ssl/certs on SUSEMarkos Chandras1-0/+1
/etc/ssl/certs is a symlink so skip this task on SUSE. Change-Id: Ibc188b76f47c4f7d1c5aa452a21e838420d65e6a Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-09-21xci: Move the destroy-env.sh script to xci-deploy.shMarkos Chandras2-16/+2
There is no particular need to execute the bash script using Ansible. Lets move it to the xci-deploy.sh script instead. Change-Id: I0fa91195d9c3647bb4766d76c28892e2f13e1e98 Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-09-21xci: playbooks: Include distribution var files dynamicallyMarkos Chandras3-4/+3
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>
2017-09-21xci: xci-deploy.sh: Ensure env_reset is not presentMarkos Chandras1-0/+2
We are making use of 'sudo -E' to preserve environment variables when using 'sudo' so we need to make sure that we don't use env_reset in the configuration file. Change-Id: I45a818da6c5c090ece67898e54f2dc4ba48cb452 Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-09-21xci: provision-vm-nodes.yml: Merge playsMarkos Chandras1-16/+3
There is no need to have multiple plays executed on a single host group so merge them all together into a single one. Change-Id: Ie190cdecfbdcba48f75b21aa5930e1d9b8392aa0 Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-09-21xci: Gain elevated privileges to remove the XCI_DEVEL_ROOT directoryMarkos Chandras3-1/+30
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>
2017-09-21xci: Move VM provisioning to xci-deploy.shMarkos Chandras2-11/+9
The bifrost-provision.sh script will provision machines using Ansible playbooks. If we run this script in an Ansible playbook, that means that we will run Ansible with Ansible and this can only lead to further confusion when debugging issues. As such, since we already have a script to provision machines, lets use it directly from the xci-deploy.sh script. This also reverts 3f04e1fd72b14420788af64b14c35a5f74727f82 which added virtualenv support in bifrost since that causes more problems than it fixes for the time being. Change-Id: Id82b7c06a2af28b66f64f1966227888227ec276f Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-09-18xci: provision-vm-nodes: Use sudo to remove the XCI directoryMarkos Chandras1-2/+9
Since I00d77e1fc62cccda7920af3469af9d44247780f4 the entire XCI_DEVEL_ROOT is being removed. However, some of the files are owned by root so we need elevated privileges to remove these files and directories Change-Id: Ie10018ded198b922077e38fa5776fca098418192 Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-09-18Merge "Ensure XCI_DEVEL_ROOT is removed"Fatih Degirmenci1-0/+1
2017-09-18Ensure XCI_DEVEL_ROOT is removedFatih Degirmenci1-0/+1
It is important to start with a clean XCI_DEVEL_ROOT in order to ensure the leftovers from the previous deployment doesn't result in successful or failed deployments due to not having it in sync with the latest updates. Change-Id: I00d77e1fc62cccda7920af3469af9d44247780f4 Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-09-17xci: synchronize-time: Install the chrony package and drop Xenial referenceMarkos Chandras2-14/+15
The roles should pull all the packages they need so we need to install the 'chrony' package everywhere and also drop the Xenial reference since there is nothing Ubuntu specific here. Change-Id: I51fb24573c0e884f8a96868e304b23140cc23b41 Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-09-17xci: configure-nfs: Install the NFS server packageMarkos Chandras4-5/+11
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>
2017-09-17xci: configure-nfs: Add SUSE supportMarkos Chandras3-2/+12
Add ability to restart the NFS server on SUSE hosts. Change-Id: Id5f0edb399151c62302b2e36bb9451ed35501d3f Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-09-17xci: configure-network: Add ability to configure network on SUSE hostsMarkos Chandras5-6/+79
Change-Id: I42c6f5f07ac87b5599758947fabe5fce36d44a2e Signed-off-by: Markos Chandras <mchandras@suse.de>