summaryrefslogtreecommitdiffstats
path: root/xci/playbooks/get-opnfv-scenario-requirements.yml
AgeCommit message (Collapse)AuthorFilesLines
2018-05-16xci: get-opnfv-scenario-requirements: Fix stale scenario factsMarkos Chandras1-6/+0
We always need to update the local facts for the scenario we are deploying in order to avoid deployments with stale data. Change-Id: I36298d2ebc1b813e95a2f213cd13649a0b4e04bf Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-04-30xci: Improve scenario bootstrapping processMarkos Chandras1-48/+73
It's best to check whether the scenario/distro/flavor combination is supported before spending time cloning all the scenarios. Moreover, we can record the scenario information as a local fact so we can use it during the deployment later on. Change-Id: I1971444c6c6302a844f44ea651ad3b83c4da435c Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-04-30xci: playbooks: Simplify scenario overrides mechanismMarkos Chandras1-50/+16
Now that releng-xci does not have any internal scenarios anymore, we can simplify the way we plug scenarios to XCI. We keep cloning scenarios in the cache directory but we also allow users to pass a special 'xci_scenarios_overrides' variable similar to the 'opnfv_scenario_requirements.yml' file to allow them to override specific keys of the dictionaries. This can be used by Jenkins to test incoming changes by altering the defaults values. For example, when we want to test a Gerrit change we can create a file called foobar.yml with the following contents xci_scenarios_overrides: - scenario: os-odl-sfc version: 9fa5400012e02408b416eb7bd26307e7d179abce refspec: refs/changes/79/55879/7 and load it using XCI_ANSIBLE_PARAMS="-e @foobar.yml" This will make XCI checkout the refspec that we want instead of the default version. Change-Id: Ida49910b4c79b843582ddd70c00063fe9bc90dd4 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-04-08[XCI] Fix ansible synchronize module parameterwutianwei1-1/+1
synchronize module unsupported parameter "recurse", it would be failed, when trying to synchronize the directory. we need change it to "recursive", more information please refer to http://docs.ansible.com/ansible/devel/modules/synchronize_module.html Change-Id: If18ce8a3411ba9425dd573f090c5f4e0c41858e0 Signed-off-by: wutianwei <wutianwei1@huawei.com>
2018-03-28Merge "xci: playbooks: Fixes various ansible-lint warnings"Markos Chandras1-3/+6
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: playbooks: Fixes various ansible-lint warningsMarkos Chandras1-3/+6
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-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-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-21Clean up opnfv ansible vars and switch to lowercaseFatih Degirmenci1-12/+12
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-12Combine vars setting installer type in INSTALLER_TYPEFatih Degirmenci1-2/+2
Change-Id: I330bc036f901d4ba61bc94ee6e085cadf54b4d8b Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
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-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-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 Degirmenci1-4/+4
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-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-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-12Move contents of os-nosdn-ovs into os-nosdn-nofeatureFatih Degirmenci1-9/+29
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-05Merge "xci: Allow variable overrides from external scenarios"Markos Chandras1-1/+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>
2017-11-30xci: playbooks: Copy scenarios instead of symlinking themPeriyasamy Palanisamy1-5/+3
Previously, the scenarios were symlinked from the checked out location to {{ playbook_dir }}/roles. However, the symlinks were pointless since they only exist in our local releng-xci directory. The roles much also be present in OPNFV_RELENG_PATH which is the place where the deployment happens. We use 'rsync' to copy our local releng-xci directory to the remote one so our roles can be automatically be placed there if we copy them instead of symlinking them. Change-Id: I735db71eedfaa51d7196761aa2af8329d86cb775 Signed-off-by: Periyasamy Palanisamy <periyasamy.palanisamy@ericsson.com> Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-10-19xci: Clone all XCI scenarios in advance similar to a-r-rMarkos Chandras1-0/+61
In order to plug the scenarios' roles properly, we need to have all roles physically present in advance. As such, add a opnfv-scenario-requirements.yml file which can be used to populate the roles directory with all the scenarios. Change-Id: I0cdadb63849e4565c31559817660d23217879053 Signed-off-by: Markos Chandras <mchandras@suse.de>