summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-03-07bifrost: Use the pre-built XCI OS images instead of dibMarkos Chandras4-6/+56
We already have images for all 3 distros which we could simply re-use for all the XCI VM deployments instead of building new ones everytime with DIB. The images will be copied to the new VM from the cache directory if they are available otherwise we will simply download them during the XCI execution phase. Change-Id: I2a8391650558511668654c6b54a10db316f867a2 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-07Merge "Bump bifrost sha and set UPPER_CONSTRAINTS_FILE"Markos Chandras2-1/+4
2018-03-07Merge "Remove opnfv vm from known_hosts"Fatih Degirmenci1-0/+4
2018-03-07Bump bifrost sha and set UPPER_CONSTRAINTS_FILEFatih Degirmenci2-1/+4
The lack of UC means that pip is attempting to install libvirt-python 4.1.0, which is failing on Ubuntu due to https://bugs.launchpad.net/openstack-requirements/+bug/1753539. Currently upper-constraints limits libvirt-python to 4.0.0, which does not have this issue. Change-Id: Idc97a0d9928cebafc9167614723236d2584cc93f Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-03-02xci: Make few of OpenStack-Ansible components optionalMarkos Chandras4-4/+9
Ironic and Horizon are not quite needed for a functional deployment and they are not currently required by functest so we can remove them from the default deployment. Change-Id: I171483f7b774951f84687529e98cb519afa48043 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-02xci: Bump SHAs to the latest stable/queensFatih Degirmenci3-64/+64
Rocky is still in early stages of development so bump SHAs to the latest version for Queens. Change-Id: I0721e6188889c3548c266c042414397385b85ca2 Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-03-02Merge "Pin kubespray to working sha"Fatih Degirmenci1-1/+3
2018-03-02Pin kubespray to working shaFatih Degirmenci1-1/+3
Kubespray works fine on supported distros so it is important we pin the sha and bump it in a controlled manner since people might be trying xci/k8 scenario and we want them to have working versions. Apart from that, scenario specific verify/merge jobs are being created at the moment and we need a working version to test the CI/testing side of things. Change-Id: I8702ed697057386449dc99d8cd14391de18f345a Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-03-01Remove opnfv vm from known_hostsFatih Degirmenci1-0/+4
Change-Id: I21998a31a26a201d767734d574ade8db7fd50c92 Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-03-01Do not fail the if virsh command failsFatih Degirmenci1-2/+2
Change-Id: Id9c55b45719399c6c78c0d3d8b97926a2907b7f8 Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-03-01os-odl-bgpvpn scenario supportPeriyasamy Palanisamy4-1/+21
- Integrate XCI with outband od-odl-bgpvpn role - Install python-neutronclient on opnfv vm for the openstack bgpvpn specific cli commands Change-Id: Ib737349e2b2429bd366881f1e3657daf8c5c30ac Signed-off-by: Periyasamy Palanisamy <periyasamy.palanisamy@ericsson.com>
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-28Ensure the ssh config files are created per distroFatih Degirmenci1-4/+7
If 2 jobs for different distros start on the same host, the generated xci-vm-config files might be rewritten by both jobs causing trouble for the other. This change creates ssh config per distro to prevent potential issues. Change-Id: If6c0a86fd51bf3ba920e9206849ed1537894c7e1 Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-02-28Fix the proxy command and hostname for opnfv vm in ssh configFatih Degirmenci1-1/+2
Change-Id: Ic036a4f5ef8b24b88154f9314957339d3954839a Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-02-27xci: script: start-new-vm: Switch to using 'curl' instead of 'wget'Markos Chandras1-3/+4
curl supports the 'retry' argument to handle all sorts of connection problems so we can use it to retry if we encounter a broken connection. Change-Id: I3c8afd2be36ee36c5477f05495704bbbee5b9757 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-02-27xci: scripts: start-new-vm: Mask the pgrep exit codeMarkos Chandras1-1/+1
pgrep will exit with non-zero exit code if it didn't find a matching process. This breaks the script since we set 'errexit' so we need to mask it by simply piping it to a 'cat' command. Change-Id: I80dcf06b597a769242bd59d628bbd8e09f0f199e Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-02-27Merge "xci: scripts: vm: start-new-vm.sh: Re-arrange debug messages"Markos Chandras1-2/+9
2018-02-26Merge "xci: config: env-vars: Allow git urls overrides"Markos Chandras1-7/+11
2018-02-26Rename var XCI_LOOP to CI_LOOP to align with FunctestFatih Degirmenci1-1/+1
Change-Id: I1d58f55a1bda258cc3afbfb81e2dd5a1c8e792a1 Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-02-26Merge changes I15f5d41f,I7c7125acFatih Degirmenci1-0/+2
* changes: Export CI_LOOP as expected by Functest Export an new var related to Energy
2018-02-26Merge "XCI: k8s: Add support for CentOS distro"Markos Chandras4-12/+20
2018-02-26Merge "xci: osa: configure-opnvhost: Set time in the opnfv node"Markos Chandras1-0/+2
2018-02-26Merge "xci: Switch default CPU model to 'host-model'"Markos Chandras2-3/+3
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 Chandras2-3/+3
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 Chandras6-7/+3
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-19bifrost: scripts: bifrost-provision.sh: Set defaults for Ironic variablesMarkos Chandras1-0/+5
When running the bifrost jobs for the OPNFV 3rd Party CI, the Ironic variables are not defined and we get the following error: ./scripts/bifrost-provision.sh: line 112: BIFROST_IRONIC_INSPECTOR_VERSION: unbound variable As such, we need to provide reasonable defaults when we are running this script outside of XCI. Change-Id: I9cc3ae1b70494637a85558b9cae99fc1eeaebc74 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 Chandras3-5/+32
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-13bifrost: Always deploy Ironic from masterMarkos Chandras1-1/+4
The Ironic components are currently being installed from PIP but we should install them from the git repo instead so we can always try the latest code from master or the pinned version when such functionality is implemented. Change-Id: I0138c54befe52ed9df8bf617b78e063df3cf8750 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>