summaryrefslogtreecommitdiffstats
path: root/xci/playbooks
AgeCommit message (Collapse)AuthorFilesLines
2018-03-13xci: Merge configure-network and syncronize-time rolesMarkos Chandras16-2/+27
Those roles were too small and only used as part of the host bootstrapping process. As such, we merge them into a common 'bootstrap-host' role which can be used to prepare the hosts after the initial deployment Change-Id: Ifc84cf40b98ced91b31aae699dc28e9642380550 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-12Combine vars setting installer type in INSTALLER_TYPEFatih Degirmenci2-8/+8
Change-Id: I330bc036f901d4ba61bc94ee6e085cadf54b4d8b Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-03-10xci: roles: configure-network: Avoid passing empty string to moduleMarkos Chandras1-1/+1
The package module gets upset if we pass it an empty string as a package name Mar 09 15:15:33 TASK [configure-network : Ensure networking packages are present] ************** Mar 09 15:15:49 fatal: [opnfv]: FAILED! => {"changed": false, "failed": true, "msg": "No package matching '' found available, installed or updated", "rc": 126, "results": ["iproute-3.10.0-87.el7.x86_64 providing iproute is already installed", "No package matching '' found available, installed or updated"]} As such, lets pass an existing package for non-Debian distros to make the module happy. Change-Id: Ib1128057097193278cfe50f79daf35332b54e781 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-10xci: OSA: Ensure proper constrains are applied to pip installationsMarkos Chandras2-0/+4
We need to make sure that the pip packages that we install are compatible with the OSA components. Change-Id: I87e80dc9b8fb862d9f9039d835b0908f752de3ca Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-10xci: Move functest required packages to the functest roleMarkos Chandras2-7/+32
The docker packages that we install in the OPNFV VM are needed by functest so add them to the related role. Change-Id: I6ebe76fd030859f757d41ecf20c30ab76888ee9c Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-09Merge "xci: roles: configure-network: Wait for connection when configuring ↵Fatih Degirmenci1-6/+35
the network"
2018-03-09xci: roles: configure-network: Wait for connection when configuring the networkMarkos Chandras1-6/+35
Ansible some times loses connection with the host after we configure its network interface. This shouldn't happen since the host is actually up and running. As a result of which, we need to fire-and-forget the restart of the network service and then try to reach the SSH port. We also need to make sure that all required packages are installed. Finally, we drop the 'ignore_errors' parameter since we really need to know when the networking configuration has failed. Change-Id: I366192737b5c4e01964eaf187396eababbdc808e Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-09xci: Rename provision-vm-nodes playbookMarkos Chandras1-0/+0
The provision-vm-nodes playbook doesn't do any VM provisioning. It basically just bootstraps the bifrost repository so rename it to make it clear what this is about. Change-Id: I1c10bc6135686c5197d553a885412a94312a41bc Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-02-28Be quiet while downloading imagesFatih Degirmenci1-1/+1
Change-Id: I8848d5bae22a408482d51a84636d230d25ca22be Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-02-28functest: Move run-functest.sh execution out of ansibleFatih Degirmenci6-6/+3
Ansible throws out the log at the end of task execution which makes it hard to read. This change renames the role to prepare-functest and then takes the script execution out which will be executed by releng/jjb/xci/xci-run-functest.sh. Change-Id: Icf399ce4f04357814ed7109cd11113a9decddc50 Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-02-25Export CI_LOOP as expected by FunctestCédric Ollivier1-0/+1
CI_LOOP is hardcoded to daily (the common default value) [1]. [1] https://gerrit.opnfv.org/gerrit/#/c/51981/ Change-Id: I15f5d41f7f10a5c8fddcc4a4d303552ef45c5fb2 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2018-02-25Export an new var related to EnergyCédric Ollivier1-0/+1
It conforms with "Unlink Energy from functest utils and constants": https://gerrit.opnfv.org/gerrit/#/c/51943/ Depends-On: Iecd5d49b4d4c961c9dc51e43e54df1fcd4027266 Change-Id: I7c7125ac2fee9a2e8f24dcf060bdaab1b39ae552 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2018-02-22Update the .gitignore in rolesManuel Buil1-1/+1
THe prepare-functest role changed the name but .gitignore is still using the old name Change-Id: I67e962704a62756663abdc721fb8b9a9ac8648a2 Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-02-21xci: roles: configure-network: Determine host NIC from Ansible factsMarkos Chandras6-60/+60
Hardcoding the interface as a variable is very fragile since it varies from host to host. We could use the Ansible facts to find out the interface name and then use that to configure all the VLANs and networking. Change-Id: Ie7e2409d638625b9bede23b6c1fe33dc36f81840 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-02-20xci: playbooks: run-functest: Collect functest resultsMarkos Chandras1-0/+2
Add a new volume to the docker container which will hold the results from the functest run. Change-Id: I70541a8337c9198a97304312adfab74d4dd06b70 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-02-13xci: Bump OpenStack Ansbile SHAsMarkos Chandras1-0/+8
* Bump up upstream SHAs * With these upstream SHAs, OSA installs neutron-agent container on controller node which would require eth12 interface on controller for establishing vlan provider networks. so adding eth12 interface and linking it with br-vlan over br-vlan-veth link. Change-Id: Iaf7cbe6e41dcfd15ec6527c5a50701f2d05eaad8 Signed-off-by: Markos Chandras <mchandras@suse.de> Signed-off-by: Periyasamy Palanisamy <periyasamy.palanisamy@ericsson.com>
2018-02-02Rename Functest credsCédric Ollivier1-1/+1
It follows the change "Rename a common credential file for OS and K8S" which stops forcing OpenStack creds. [1] https://gerrit.opnfv.org/gerrit/#/c/51283/ Change-Id: Ic83a2e696c9ea8821e29e6b3f4e69db25c528a0d Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2018-02-01Merge "Adapt to change in functest"Fatih Degirmenci1-0/+1
2018-01-31Merge "deploy kubernetes in XCI"Fatih Degirmenci1-0/+100
2018-01-31deploy kubernetes in XCIwutianwei1-0/+100
This commit introduces kubespray into XCI. k8s install currently assumes k8s install and OpenStack install cannot coexist. If XCI_INSTALLER is set to "kubespray" and DEPLOY_SCENARIO is set to "k8-nosdn-nofeature" the xci-deploy.sh would install kubernetes instead of OpenStack. The version of kubernetes is beta release v1.9.0 currently according to the master of kubespray it only support the ubuntu now. Opensuse and centos still need to develop and test. This patch create the directory xci/installer/kubespray, the related files of kubespray would be placed to it. The xci/installer/$installer/playbooks/configure-localhost.yml was moved to xci/playbooks/configure-localhost.yml as a common yaml file. You can modify some parameters according your need in xci/installer/kubespray/files/k8s-cluster.yml to deploy cluster. When deploying kubernetes, it would download the kubespray to releng-xci/.cache/repos/kubespray. If your flavor is Ha, it will download haproxy_server and keepalived to xci/playbook/roles, which setup haproxy service for kubernetes. Change-Id: I24d521a735d7ee85fbe5af8c4def65f37586b843 Signed-off-by: wutianwei <wutianwei1@huawei.com>
2018-01-29Adapt to change in functestManuel Buil1-0/+1
Functest requires to read the variable TEST_DB_URL from the env. variables: https://gerrit.opnfv.org/gerrit/#/c/49757/ Change-Id: Idbfc2df989f5b2a8e6ddd2d9a9a70526dd9bf1f4 Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-01-26xci: run-functest: Add required functest packagesMarkos Chandras1-0/+7
The package requirements are the same across distros so we simply hardcode them in the task. Fixes the following problem: fatal: [opnfv]: FAILED! => {"changed": true, "cmd": "/root/run-functest.sh", "delta": "0:00:09.150226", "end": "2018-01-26 14:01:18.758704", "failed": true, "rc": 125, "start": "2018-01-26 1 4:01:09.608478", "stderr": "/root/run-functest.sh: line 14: wget: command not found Change-Id: Ib07acac18f8ece1111ee0706766f32005d0ac1da Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-01-24xci: Integrate functestFatih Degirmenci5-11/+19
This change integrates functest in most easiest and messy way to get it up and running to bring functest into CI. The reason for this is that there are strange failures during functest healthcheck and it is important to look into those rather than beautifying how functest is integrated at this phase. Change-Id: I42e993be4aa15da022fa1e0069338447780f177e Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-01-22Merge "xci: get-opnfv-scenario-requirements.yml: Check if facts are set"Markos Chandras1-2/+5
2018-01-19xci: get-opnfv-scenario-requirements.yml: Check if facts are setMarkos Chandras1-2/+5
When the user selects an invalid combination then some facts may not be set so the deployment may fail in a crypt way like in the following case fatal: [localhost]: FAILED! => {"failed": true, "msg": "The conditional check 'deploy_scenario_installer' failed. The error was: error while evaluating conditional (deploy_scenario_installer): 'deploy_scenario_installer' is undefined\n\nThe error appears to have been in '/home/opnfv/releng-xci/xci/playbooks/get-opnfv-scenario-requirements.yml': line 114, column 11, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n when: item.installer == XCI_INSTALLER\n - set_fact:\n ^ here\n"} Change-Id: I931376d99bb178b15c4a9a71d47b48b01b858e4e Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-01-15Create CentOS networking configurationTapio Tallgren3-0/+48
Change-Id: If8c0de44c313fdc22b1c7443b12d42769035c5b0 Signed-off-by: Tapio Tallgren <tapio.tallgren@nokia.com>
2018-01-15Rename centos.yml to redhat.yml in configure-nfs/varsTapio Tallgren1-0/+0
'redhat' as a ansible_os_family covers both the RedHat distros and CentOS. Change-Id: I2ab56024d2c0f1f40a014a236cfd94ef38daad04 Signed-off-by: Tapio Tallgren <tapio.tallgren@nokia.com>
2018-01-08xci: Rename 'nfvi' to 'installer'Markos Chandras1-9/+9
Using 'installer' to describe the tool that will deploy the foundations of a particular XCI scenario is more appropriate than NFVI which normally describes both the physical and virtual resources needed by an NFV deployment. Change-Id: Ib8b1aac58673bf705ce2ff053574fd10cb390d71 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-01-03xci: Record distribution and NFVI information for scenariosMarkos Chandras1-6/+28
A scenario may only support certain NFVIs or distributions so we need a mapping with all these things so we know what can be tested and where. Change-Id: Ibf1b640b762085f58627e05e1d2ca13edfc4d716 Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-12-22xci: scenarios: Fix location when copying scenarios to rolesMarkos Chandras1-6/+6
The location where we were putting the scenarios was wrong as it was placing them in xci/playbooks/roles/$scenario/$scenario so in the end the Ansible couldn't find the role we were looking for. As a result, the role was never executed. Moreover, we can use the synchronize module instead of the shell which should be both faster and safer. Change-Id: I3d996652bb6a62d23e259da5674d94596dad4d8d Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-12-22xci: playbooks: Copy local changes to scenariosMarkos Chandras1-0/+12
Make sure that any local changes to scenarios are being propagated to the checkouts. This should only happen when we are testing the 'master' branch of the scenario since it may be desirable to test a specific SHA in which case we shouldn't modify the checkout code. Change-Id: I4197f09a3e4d5a54c86905bc556b06e08948fbc2 Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-12-21Fix the parameter of scenario directorieswutianwei1-2/+2
1. the "+" and "'" will be part of the string in the path parameter of ansible. So the directories we create are not right. we need remove these char. 2. it miss the "{{" in ansible variable Change-Id: I30c9804450588c63f5f18c63c1d90cd869fad90e Signed-off-by: wutianwei <wutianwei1@huawei.com>
2017-12-21Merge "xci: OSA: Move all the OSA specific playbooks to the NFVI directory"Markos Chandras5-340/+0
2017-12-21xci: OSA: Move all the OSA specific playbooks to the NFVI directoryMarkos Chandras5-340/+0
Move all the playbooks that only make sense for OpenStack-Ansible deployments to the NFVI/OSA directory where they belong. This further disassociates XCI from OSA. Change-Id: Iab8b6dc81d9025a1d85608a98fb1eee0f1c6a69f Signed-off-by: Markos Chandras <mchandras@suse.de> Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2017-12-21xci: playbooks: Fix conditional for scenario/flavor factMarkos Chandras1-1/+1
We need to use proper jinja2 code to set the fact properly. Change-Id: I903233c0e059edf2af973ea9c08b8bd80795e1a9 Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-12-19Rename variable OPNFV_SCENARIO to DEPLOY_SCENARIOFatih Degirmenci2-8/+8
Rest of the OPNFV projects use the variable DEPLOY_SCENARIO so XCI should be aligned with them as well even though OPNFV_SCENARIO fits better than DEPLOY_SCENARIO. Change-Id: Id48c41fa8a1fa9493cfc7a4906f64b6d8ed27d64 Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2017-12-14Merge "xci: Add flavor information for scenarios"Markos Chandras1-0/+20
2017-12-14xci: Add flavor information for scenariosMarkos Chandras1-0/+20
Scenarios may not support all XCI flavors so record that information per scenario basis. This will resolve failures when we try to deploy a scenario that doesn't support the selected flavor. JIRA: RELENG-338 Change-Id: I5f73b139ee6c1831896aa32147c4dc1368673d92 Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-12-14xci: Drop AIO specific playbookMarkos Chandras1-0/+4
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>
2017-12-14Merge "xci: Fix checkout location for OpenStack-Ansible"Markos Chandras3-37/+38
2017-12-13xci: Fix checkout location for OpenStack-AnsibleMarkos Chandras3-37/+38
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>
2017-12-13xci: Reduce noise during bootstrappingMarkos Chandras1-0/+12
There is too much noise when XCI is cloning repositories, installing packages etc so lets make the console output somewhat more readable. Change-Id: I15667e0349f943ad5488daf0e3cea9336c9166d1 Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-12-12Merge "Move contents of os-nosdn-ovs into os-nosdn-nofeature"Markos Chandras2-12/+32
2017-12-12Move contents of os-nosdn-ovs into os-nosdn-nofeatureFatih Degirmenci2-12/+32
This change fixes the scenario os-nosdn-nofeature by moving directories/files from os-nosdn-ovs to os-nosdn-nofeature. The contents of the files and variables are also either adjusted or removed in order to prevent impacts on CI. Change-Id: Icfde27f413c8f93d097f9f262c8cb1230b7fe59d Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2017-12-12Connect sfc-odl scenario with xciManuel Buil1-0/+4
Change-Id: I5a3f533f61b6572d8070fe5f0a306ef9d418ced8 Signed-off-by: Manuel Buil <mbuil@suse.com>
2017-12-11xci: Use local playbooks for XCI deploymentsMarkos Chandras5-135/+76
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>
2017-12-11xci: playbooks: provision-vm-nodes: Simplify the provision VM playbookMarkos Chandras1-26/+1
The provision-vm-nodes playbook is only responsible for running bifrost to provision the XCI virtual machines. As such, drop all the extra tasks that this playbook performed in order to simplify it. This also drops the XCI_EXTRA_VARS_PATH variable since it had a rather obscure usage and there is not much value in passing inventory information outside of XCI. All these will be handled in the scenarios themselves. Change-Id: If5cb381a3d1e101100eb04478d80fb3045cdfaf8 Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-12-05Merge "xci: Allow variable overrides from external scenarios"Markos Chandras1-1/+3
2017-12-04Merge "xci: playbooks: Copy scenarios instead of symlinking them"Markos Chandras1-5/+3
2017-12-01xci: Allow variable overrides from external scenariosMarkos Chandras1-1/+3
All scenarios are being cloned to XCI_SCENARIOS_CACHE so look there for the various override files. This will allow external scenarios to influence the XCI environment. Change-Id: I39a48ce55baaa29d09737ce6232867ef1165f099 Signed-off-by: Markos Chandras <mchandras@suse.de>