summaryrefslogtreecommitdiffstats
path: root/xci
AgeCommit message (Collapse)AuthorFilesLines
2018-03-26xci: get-opnfv-scenario-requirements: Use checksum for rsync updatesMarkos Chandras1-0/+8
Rsync will update modification times on transferred files so Ansible marks the task as 'changed' all the time even though the source and destination files are the same. This is confusing for XCI developers because they may think that there are local changes to the scenarios which is not always the case. As such, compare the 'checksums' of the actual files to determine if there are any changes that need to be copied over. This requires us to turn off the 'archive' option and use the individual options directly. This fixes the following problem where in a typical XCI job, all inbound scenarios appear to have changes which is not true. Mar 26 15:10:24 TASK [Synchronize local changes to scenarios' master branch] ******************* Mar 26 15:10:24 ok: [localhost] => (item=os-odl-sfc) Mar 26 15:10:25 changed: [localhost] => (item=os-nosdn-nofeature) Mar 26 15:10:25 changed: [localhost] => (item=os-odl-nofeature) Mar 26 15:10:25 changed: [localhost] => (item=k8-nosdn-nofeature) Mar 26 15:10:26 ok: [localhost] => (item=os-odl-bgpvpn) Change-Id: I14f446c341a675b286e971f0b5c0be14d04abb9d Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-26xci: Check XCI playbooks using ansible-lintMarkos Chandras2-1/+47
The ansible-lint tool can help with maintaining consistency across all the XCI playbooks, so lets introduce it early in the process to capture common mistakes before the actual XCI deployment is executed. This however needs to run after all the scenarios repositories have been cloned and configured. Change-Id: I28104429e3ac0cdbc48a003b163f4fb8c3acd8a7 Link: https://github.com/willthames/ansible-lint Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-26xci: playbooks: Fixes various ansible-lint warningsMarkos Chandras8-26/+74
In preparation for adding support for the 'ansible-lint' tool we fix various problems in our playbooks to make the tool happy before we make it mandatory. Some of the problems that are fixed here are - [ANSIBLE0011] All tasks should be named - [ANSIBLE0012] Commands should not change things if nothing needs doing - [ANSIBLE0013] Use shell only when shell functionality is required - [ANSIBLE0010] Package installs should not use latest installer-type:osa deploy-scenario:os-nosdn-nofeature Change-Id: I66c759d3932a414b81b2846393d2d98ce80c0b6d Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-26xci: get-opnfv-scenario-requirements: Fix local scenario syncMarkos Chandras1-4/+4
Commit 07747a53901e550280afb421b6fcbebc8994e93a ("xci: playbooks: Fix synchronization of external scenarios") fixed copying of external scenarios but broke internal ones because the regexp was wrong. The variable was not evaluated properly so nothing was replaced for internal scenarios. This also fixes a problem when the scenario and the role names differ so we make sure that the role with the correct name is created. Change-Id: Idd7590d972841b5c03286b34757d7325b863c6bf Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-26xci: infra: bifrost: Define more XCI variables for bifrost jobsMarkos Chandras1-0/+3
This is similar to eeb906a553d6ddf70ffc5af1acadb33a13ff5990 ("xci: infra: bifrost: Set XCI_DISTRO if it's not defined") so we need to define more XCI variables if we are running the standalone bifrost jobs. Change-Id: I112cfbfdda677174bdb0d0afef73f035c74cb79e Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-24Merge "xci: playbooks: Fix synchronization of external scenarios"Fatih Degirmenci1-1/+1
2018-03-24xci: playbooks: Fix synchronization of external scenariosMarkos Chandras1-1/+1
The code was supposed to copy everything from {{ xci_path }}/{{ scenario.role }} to the XCI roles directory but external scenarios have their 'role' attribute relative to their repository whereas internal one have it relative to the {{ xci_path }}. As such, changes to external scenarios were not copied successfully to the playbooks directory and their changes where never tested. This removes the 'xci/scenarios/$scenario' part of the inbound roles attribute to make all them relative to the xci/scenarios/$scenario directory. Change-Id: Id28671b30c8ee4aa6bc186444c0e5a3a3ea3d89b Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-23Merge "xci: install: Move all pip installations to virtualenv"Fatih Degirmenci4-54/+27
2018-03-23Merge "xci: files: install-lib.sh: Hide rsync errors"Fatih Degirmenci1-2/+2
2018-03-23xci: install: Move all pip installations to virtualenvMarkos Chandras4-54/+27
Now that all pip installations are managed in the same way we can move them inside a global virtual environment to further isolate the XCI artifacts from the rest of the system. Moreover, we further simplify the initial package installation to install everything at once instead of calling the package manager for every single package that we need. Change-Id: I6a170d2439fae8b0653f3141e0e8bb8ead67657e Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-23xci: infra: bifrost: Set XCI_DISTRO if it's not definedMarkos Chandras1-0/+4
The XCI_DISTRO variable is normally set from the XCI deployment script. However, on bifrost jobs, we don't run this script as part of XCI so we need to ensure that this variable is set properly. Change-Id: I295b65176bab6ccbdd12aa50449d3c021a88b43d Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-23xci: files: install-lib.sh: Hide rsync errorsMarkos Chandras1-2/+2
rsync may fail because the OPNFV VM doesn't exist if we failed quite early in the process so hide any errors from the remote rsync operation to avoid confusion. Change-Id: I43dfb0a527165a186674178d12e6d00ffc61f580 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-22Merge "xci: playbooks: Fix message on fail task for deployed scenario"Fatih Degirmenci1-2/+2
2018-03-22Merge "xci: files: xci-destroy-env.sh: Remove VMs from all flavors"Fatih Degirmenci1-2/+8
2018-03-22Merge "xci: osa: Configure the ARA callback plugin on OPNFV host"Fatih Degirmenci2-1/+27
2018-03-22Merge "xci: Install the ARA callback plugin"Fatih Degirmenci2-3/+30
2018-03-22Merge "xci: files: install-lib.sh: Install pip packages as user"Fatih Degirmenci1-5/+1
2018-03-22Merge "xci: files: Move Ansible installation to a library file"Fatih Degirmenci3-162/+177
2018-03-22Merge "xci: kubespray: Add experimental support for openSUSE"Fatih Degirmenci2-0/+10
2018-03-22Merge "Connect ODL CI-CD to XCI"Fatih Degirmenci3-3/+19
2018-03-22Merge "xci: scripts: start-new-vm.sh: Improve do_copy()"Fatih Degirmenci1-7/+11
2018-03-22Merge "Move bootstrap-scenarios.yml to common playbooks directory"Fatih Degirmenci2-1/+1
2018-03-22Merge "Use package_state:present to avoid package installation issues"Fatih Degirmenci3-0/+9
2018-03-22xci: osa: Configure the ARA callback plugin on OPNFV hostMarkos Chandras2-1/+27
The OSA deployment is driven by the OPNFV host so we need to install and configure the ARA plugin there as well. Change-Id: Ib583f5771a8c2da7531f0a42612d7c0b34fb4898 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-22Move bootstrap-scenarios.yml to common playbooks directorywutianwei2-1/+1
Move bootstrap-scenarios.yml from installer/osa/playbooks/bootstrap-scenarios.yml to playbooks/bootstrap-scenarios.yml as a common playbook. So we can use this file to bootstarap k8s-* scenarios, instead of creating a new file under installer/kubespray/playbooks/bootstrap-scenarios.yml Change-Id: Ic31ee00e1a0863f48fb86298d7c00fa8420fa28a Signed-off-by: wutianwei <wutianwei1@huawei.com>
2018-03-22xci: playbooks: Fix message on fail task for deployed scenarioMarkos Chandras1-2/+2
The fail message was a bit weird since it listed all the scenarion information as below: TASK [Fail if {'scm': u'git', 'src': u'https://git.opnfv.org/releng-xci', 'scenario': u'os-nosdn-nofeature', 'installers': [{'flavors': [u'ha', u'mini', u'noha'], 'installer': u'osa', 'distros': [u'opensuse', u'ubuntu', u'centos']}], 'version': u'master', 'role': u'xci/scenarios/os-nosdn-nofeature/role/os-nosdn-nofeature'} is not supported] *** skipping: [localhost] This looks awkward and we should only list the actual scenario name instead. Change-Id: I725793f91661f00606573906847336716fecd418 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-22xci: files: xci-destroy-env.sh: Remove VMs from all flavorsMarkos Chandras1-2/+8
If we switch from one flavor to another then some VMs may left behind so we need to cleanup the VMs from all flavors. Change-Id: I8b5d400b6d543b32b9cdaff73c3d173984357012 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-22xci: scripts: start-new-vm.sh: Improve do_copy()Victor Morales1-7/+11
The copy function of start-new-vm.sh script only excludes the image of the current OS which is some cases can contain other images. This change excludes any image. Change-Id: I50075cb56e7784d090582fe5d0c11c906773a174 Signed-off-by: Victor Morales <victor.morales@intel.com>
2018-03-21xci: Install the ARA callback pluginMarkos Chandras2-3/+30
The ARA Ansible plugin can be used to visualize the entire XCI run so lets install it by default and generate a report at the end of the execution. Change-Id: I66c3230b371001c110e81755c5f0dad4b1756606 Link: https://github.com/openstack/ara Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-21xci: Bump SHAs for os_neutron and opendaylight ansible roleFatih Degirmenci1-2/+2
This change brings the SHAs needed for os-odl-bgpvpn scenario and will be tested using os-odl-nofeature scenario. installer-type:osa deploy-scenario:os-odl-nofeature Change-Id: I3ab8be557d78710f47c8a2e558078e13eb70553c Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-03-21Connect ODL CI-CD to XCIManuel Buil3-3/+19
Provide the possibility to select what version of ODL to use, master included. Before executing xci-deploy.sh, the user can specify ODL's version by using the XCI_ANSIBLE_PARAMS variable: export XCI_ANSIBLE_PARAMS="-e ODL_VERSION=oxygen" Change-Id: I5b3879b0c197059b3aecace48760e983c65a586b Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-03-21xci: Bump OpenStack Ansible SHAsFatih Degirmenci3-82/+82
Change-Id: Iae3f642bea54feae4c033b61e8ea4cfe759848ec Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-03-21Use package_state:present to avoid package installation issuesFatih Degirmenci3-0/+9
Using package_state:present should give our jobs better chance to finish on time and perhaps improve the overall deployment times even. Change-Id: Ifa4e01318fe364a91c32f5326024d34c364e25c8 Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-03-21xci: files: install-lib.sh: Install pip packages as userMarkos Chandras1-5/+1
We can avoid "polluting" the system with all the pip packages we install so we could just install them in the user's home directory. Change-Id: I5b3369175535e8ab74c2591d1284c743391fd718 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-21xci: files: Move Ansible installation to a library fileMarkos Chandras3-162/+177
Installing Ansible is just one of the functions we need during XCI deployment, as such move it to a library file which can contain more functions in the future. Change-Id: I708a4e51b2b1d624d6827a8c99f3719b59227ec0 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-21xci: kubespray: Add experimental support for openSUSEMarkos Chandras2-0/+10
Add experimental support for openSUSE until the upstream PR is accepted installer-type:kubespray deploy-scenario:k8-nosdn-nofeature Change-Id: Icd3698d882d249a18be77560ba0ba52159893816 Link: https://github.com/kubernetes-incubator/kubespray/pull/2380 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-21Clean up opnfv ansible vars and switch to lowercaseFatih Degirmenci12-161/+167
This change removes the variables that are not used in any of the playbooks/roles from opnfv ansible vars. Apart from that, all caps ansible vars replaced with lowercase ones and impacted playbooks/roles are updated. installer-type:osa deploy-scenario:os-nosdn-nofeature Change-Id: I99ebdc155b3903176ac5940b64cef0c0f3aa0f0d Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-03-20Add proxy supportVictor Morales8-0/+81
In some cases the XCI development environment can be located behind a corporate proxy resulting in a additional layer to consider to configure. These changes pretend to include proxy support for all linux distros in all the posible flavors. Change-Id: Iab469268809ac471d09e244bb3ccd83de1a41b88 Signed-off-by: Victor Morales <victor.morales@intel.com>
2018-03-20xci: Move cleanup script outside of bifrostMarkos Chandras3-4/+11
The cleanup script has grown quite a bit over time and it now does more things than cleaning up old 'bifrost' artifacts to move it to the global files directory so it can be used by all installers. Change-Id: Ibf70ff255f14e798216cedc71fb7c5f5476b964a Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-20Merge changes from topic 'allow-deployment-overrides'Markos Chandras8-27/+458
* changes: xci: infra: bifrost: Avoid installing Ansible twice Add initial support for multiple infra deployers
2018-03-20xci: infra: bifrost: Avoid installing Ansible twiceMarkos Chandras1-27/+4
We already install Ansible globally and we also install another version of it in the bifrost venv. Even though the OSA Ansible may move faster than the bifrost one, we normally pin both projects so we can move them when they can work with the same Ansible version. As such, lets make the deployment a little bit faster by simply not installing Ansible twice. Change-Id: I121ef5979607b62e76300db1bc6d51fc27362d5b Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-20Merge "display the correct deploy scenario for the functest run"Markos Chandras1-1/+9
2018-03-20Merge "Access the K8s dashboard and configure the CLI in opnfv host"Fatih Degirmenci3-3/+43
2018-03-20Add initial support for multiple infra deployersMarkos Chandras8-27/+481
bifrost is currently the only way to deploy the infrastructure but in the future other solutions will be added so we need to do some preparation for XCI integration. Change-Id: I961dd42157c924d88747074ddba6a318f8b537ac Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-20display the correct deploy scenario for the functest runPeriyasamy Palanisamy1-1/+9
Change-Id: I0b8a6d9409d95033839bdc5b3fbe9d1cbbdf4b7c Signed-off-by: Periyasamy Palanisamy <periyasamy.palanisamy@ericsson.com>
2018-03-20Access the K8s dashboard and configure the CLI in opnfv hostwutianwei3-3/+43
1. Add the type: NodePort in dashboard service. the default is ClustIP, which cannot access from outside. 2. Print the url ,user, password for user to access dashboard. 3. configure the kubectl CLI in opnfv host. Change-Id: I6cb6e6f7547412139ece0c40a85de67a9edce0ef Signed-off-by: wutianwei <wutianwei1@huawei.com>
2018-03-19Pass the OSA version to functest containerManuel Buil1-1/+1
OPNFV scenarios are forced to support at least two versions of OSA. If there are API changes between two supported versions of OpenStack, the testing code must have two versions. However, without knowing what OpenStack version is deployed, it is impossible to automate the decision of which testing code to use Change-Id: I3ca8c6f33c05826a5d69417da774b7218bbd59e2 Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-03-19Merge "kubespray: Do not grep log text to determine failure"Markos Chandras1-7/+4
2018-03-19Merge "xci: playbooks: Drop .gitignore file"Markos Chandras1-7/+0
2018-03-17Merge "xci: osa: Simplify OpenStack host playbooks"Fatih Degirmenci5-35/+29