summaryrefslogtreecommitdiffstats
path: root/xci
AgeCommit message (Collapse)AuthorFilesLines
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-23xci: osa: configure-opnvhost: Set time in the opnfv nodeMarkos Chandras1-0/+2
Set the time properly in the opnfv node like we do for the target hosts Change-Id: I97d9f875dbb37db3cedd87e5915bc5b5f9a7a0ad Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-02-23xci: scripts: start-new-vm.sh: Disable nested virtualization in clean VMMarkos Chandras1-0/+3
When using the clean VM for the tests, we will end up with 3 levels of virtualization when functest is executed (1st level = clean vm, 2nd level = compute node, 3rd level = functest VMs). This makes the functest VM terribly slow leading to all sorts of random failures. It appears that KVM can't handle this case, so we need to switch to the QEMU interpreter instead which is slower but functional. This only affects the Jenkins jobs, so deployments on baremetal will still use 2 levels of nested KVM virtualization which should work fine. Change-Id: If274129fbf347526982ac4cf577d216173eb4d1b Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-02-23xci: scripts: start-new-vm: Set pipefail optionMarkos Chandras1-0/+1
In commit I75a8cb8c05957bb205e63210d6cafaf54d989f32 the 'ts' utility was added in order to print timestamps for deployment. However, this breaks the exit code since 'pipefail' was not set so every job was returning 'success'. Change-Id: Ia5f47ea96a4a5be9ed0664f5c7100accc30cde51 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-02-23xci: Switch default CPU model to 'host-model'Markos Chandras1-1/+1
From upstream docs: 'The host-model mode is essentially a shortcut to copying host CPU definition from capabilities XML into domain XML. Since the CPU definition is copied just before starting a domain, exactly the same XML can be used on different hosts while still providing the best guest CPU each host supports' It's probably safer to use that instead of 'host-passthrough' so we can get a CPU (both for main VM and the nested ones) that libvirt understands. Moreover, it's important to present a CPU that the guest OS understands as well. Change-Id: I25a8ff0e8635df9804c793d184f048cc86059ce0 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-02-23XCI: k8s: Add support for CentOS distrowutianwei4-12/+20
Kubespray already supports the CentOS distribution so make the necessary changes to allow it to work in XCI. Change-Id: I3cf1db055a5fd563b107b46456bc3e18eeafb3ab Co-authored-by: Markos Chandras <mchandras@suse.de> Signed-off-by: wutianwei <wutianwei1@huawei.com>
2018-02-22Merge "xci: osa: Do not wipe cinder volumes"Fatih Degirmenci3-0/+3
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-22xci: config: env-vars: Allow git urls overridesMarkos Chandras1-7/+11
It's useful to be able to pick alternative git repositories for the deployment. This facilitates testing in-flight features or simply save some bandwidth by keeping internal mirrors. Change-Id: I3eb2e48da1e91f6a52bb3ba14c22f0902c6cd777 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-02-21xci: osa: Do not wipe cinder volumesMarkos Chandras3-0/+3
When a volume is removed, cinder will fill the entire disk with 0s. This can slow down the volume removal process. Since we do not care what happens with the volume after it's being removed, we don't need to wipe it at all. Change-Id: I5ef1b01a18cdf2694252b450ca4f1c6a37090f71 Link: https://docs.openstack.org/cinder/latest/sample_config.html Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-02-21xci: roles: configure-network: Determine host NIC from Ansible factsMarkos Chandras10-64/+61
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-21Correct the BIFROST_IRONIC_VERSION variableDimitrios Markou1-1/+1
By mistake the BIFROST_IRONIC_VERSION variable was written BIFROST_IRONIC_CLIENT_VERSION Change-Id: Ie35a4938a2fb38c633dd149c1d18f1da20a4e82a Signed-off-by: Dimitrios Markou <mardim@intracom-telecom.com>
2018-02-21Merge "xci: xci-deploy.sh: Calculate and print the total deployment time"Markos Chandras2-1/+7
2018-02-21Merge "xci: playbooks: run-functest: Collect functest results"Markos Chandras1-0/+2
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-20xci: Switch VM disk cache to 'unsafe' and use 'iothreads' for I/OMarkos Chandras5-6/+2
According to the docs[1] "writeback: This mode causes the hypervisor to interact with the disk image file or block device with neither O_DSYNC nor O_DIRECT semantics. The host page cache is used and writes are reported to the guest as completed when they are placed in the host page cache. The normal page cache management will handle commitment to the storage device. Additionally, the guest's virtual storage adapter is informed of the writeback cache, so the guest would be expected to send down flush commands as needed to manage data integrity. Analogous to a raid controller with RAM cache." and "writeback: This mode informs the guest of the presence of a write cache, and relies on the guest to send flush commands as needed to maintain data integrity within its disk image. This is a common storage design which is completely accounted for within modern file systems. This mode exposes the guest to data loss in the unlikely case of a host failure, because there is a window of time between the time a write is reported as completed, and that write being committed to the storage device." "unsafe: This mode is similar to writeback caching except for the following: the guest flush commands are ignored, nullifying the data integrity control of these flush commands, and resulting in a higher risk of data loss because of host failure. The name “unsafe” should serve as a warning that there is a much higher potential for data loss because of a host failure than with the other modes. As the guest terminates, the cached data is flushed at that time." It's beneficial to use the host page cache to cache I/O from the guest instead of waiting for data to reach the actual disk device. We do not normally care about data integrity so data loss is not a problem. Moreover, we drop the cache configuration from the flavor files since it's independent of the flavor that's being deployed. [1] https://www.suse.com/documentation/sles-12/singlehtml/book_virt/book_virt.html#cha.cachemodes Change-Id: I118ffdf84b1be672185b3eff60fe5d0b5f1a590d Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-02-20xci: scripts: vm: start-new-vm.sh: Re-arrange debug messagesMarkos Chandras1-2/+9
This also improves (again!) the check for parallel packages managers to print some useful messages for debugging. Change-Id: I7756db80aa3ed42cd3ef37293f7116b5a9c150c1 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-02-19xci: xci-deploy.sh: Calculate and print the total deployment timeMarkos Chandras2-1/+7
It's useful to know how XCI performs in terms of duration time so use the bash $SECONDS variable to calculate the total amount of time it takes for a full XCI deployment. Moreover, use the 'ts' command to print a timestamp for every command executed. This will help developers identify tasks which take a lot of time to complete and possibly optimize them. Change-Id: I75a8cb8c05957bb205e63210d6cafaf54d989f32 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-02-13xci: Bump OpenStack Ansbile SHAsMarkos Chandras5-107/+113
* 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-13bifrost: Add ability to pin Ironic-{,client,inspector,inspector-client} SHAsMarkos Chandras2-4/+27
We should pin the SHAs for Ironic components as part of the regular bifrost bump to ensure maximum long term stability. This also bumps the bifrost SHA to the latest available one. Change-Id: Ia66d8ab6566db58e2ddab5134eb8445bd84d2a8f Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-02-07Merge "xci: scripts: vm: Use LVM backend if available"Markos Chandras1-5/+21
2018-02-07xci: scripts: vm: Use LVM backend if availableMarkos Chandras1-5/+21
The CI nodes come with a big secondary mechanical disk which can be attached directly to the clean VM. As such, we split the disk into one logical volume per distribution and flush the qcow2 image to it before attaching it to the VM. If the XCI volume group is not available, then we revert back to using a file-based storage backend. Finally, we hide stdout/stderr from the package installation process to minimize the script output. Change-Id: I11ea82899c411f8a4168e5f23cbbd8187cc891df Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-02-05bifrost: Bump bifrost sha1s to latest on masterFatih Degirmenci1-2/+2
This change brings in the fix for policy.json removal. https://review.openstack.org/#/c/536349/ Change-Id: Ib18a99502c0ce61278e13f25a01622e073749d14 Signed-off-by: Fatih Degirmenci <fdegir@gmail.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-02-01Merge "Enable deltarpm"Markos Chandras1-2/+2
2018-02-01Merge "xci: scripts: vm: Install additional packages to clean VM"Markos Chandras1-3/+5
2018-02-01xci: scripts: vm: Install additional packages to clean VMMarkos Chandras1-3/+5
Install some additional packages to the clean VM which can be useful during debugging. Moreover, we move the common distribution packages into a variable in order to simplify the code a little bit. Change-Id: I0405820900a15fec730a2bbfc95a1d1f3485bf0f Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-01-31Merge "deploy kubernetes in XCI"Fatih Degirmenci20-76/+853
2018-01-31deploy kubernetes in XCIwutianwei20-76/+853
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-30Enable deltarpmVictor Morales1-2/+2
DeltaRPM allows to install only the difference between an old and new version of an RPM, as consequence this reduces the network consumption in CentOS distros. Change-Id: I317fbac44ae5fb6d5293443e755e2b7ddd08c66e Signed-off-by: Victor Morales <victor.morales@intel.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-29Merge "correct the lookup logic for scenario's xci_overrides"Markos Chandras1-3/+1
2018-01-29Merge "xci: Record deployment scenario when collecting XCI info"Markos Chandras1-1/+2
2018-01-26xci: Record deployment scenario when collecting XCI infoMarkos Chandras1-1/+2
Add the DEPLOY_SCENARIO variable to the list of information we collect when deployment fails. Change-Id: I7081b80feea1d3d2ff83e54bd5e614b4ea98964d Signed-off-by: Markos Chandras <mchandras@suse.de>
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-26correct the lookup logic for scenario's xci_overridesPeriyasamy Palanisamy1-3/+1
Previously xci-deploy.sh looks up the xci_overrides files under $XCI_SCENARIOS_CACHE/${DEPLOY_SCENARIO} directory, but actually xci_overrides file resides somewhere in the nested directory level in both inband/outband scenarios. Hence the fix is done by using the find command. Change-Id: Icb507471e368f56290ef91d555673830b598e204 Signed-off-by: Periyasamy Palanisamy <periyasamy.palanisamy@ericsson.com>
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-23Merge "xci: scripts: vm: Retry when timer expires"Markos Chandras1-12/+4
2018-01-23xci: scripts: vm: Retry when timer expiresMarkos Chandras1-12/+4
We should look again for active package managers when the timer expires to avoid locking issues. Change-Id: I88f0299a87befce17d11ba7581f0330979a25345 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-01-22Merge "xci: xci-deploy.sh: Drop warning for CentOS"Markos Chandras1-7/+0
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-19xci: xci-deploy.sh: Drop warning for CentOSMarkos Chandras1-7/+0
The basic support for CentOS has been merged and it passes the CI so drop the warning. Change-Id: I70e6ba0fcd851d2eb9bfcb24d185276ed68c1005 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-01-15Enable running on CentOS/RedHat familyTapio Tallgren2-5/+4
Changes that make it possible to run XCI on CentOS: - Remove the check on xci-deploy.sh script that exists on RedHat family (including CentOS) and making the error into a warning. - Add centos to a distro in opnfv-scenario-requirements Change-Id: Ief6f1e50d8c7c9d8787641827e57682a6e0549e4 Signed-off-by: Tapio Tallgren <tapio.tallgren@nokia.com>
2018-01-15Create CentOS networking configurationTapio Tallgren4-0/+49
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-15Bump OSA-galera_server SHA to fix a CentOS issueTapio Tallgren1-1/+1
Galera installation in CentOS fails because the mysqld.sock file is in a different location, despite what the my.cnf configuration tells. This has been worked around in upstream OSA-galera_server: https://git.openstack.org/cgit/openstack/openstack-ansible-galera_server/ commit/?id=f2bfbd38513ac8d61ba4e02a4d5ef6cbbca259cc Change-Id: Ied11571189eff8cbab0f1990a7599b51cad9ea2b Signed-off-by: Tapio Tallgren <tapio.tallgren@nokia.com>
2018-01-08xci: Rename 'nfvi' to 'installer'Markos Chandras41-37/+37
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>