summaryrefslogtreecommitdiffstats
path: root/jjb/xci/xci-set-scenario.sh
AgeCommit message (Collapse)AuthorFilesLines
2018-05-17xci: Fix scenario determination for changes coming to releng-xciFatih Degirmenci1-25/+42
Earlier change took the possibility of dynamically determining the default scenario. This change puts part of it back which is based on the changed installer and/or other changed files. Change-Id: Ie6d9a9b0622ac4ae5ff0cf0e679fd26beed51747 Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-05-17Combine generic and external scenario determination to oneFatih Degirmenci1-51/+29
Previously we were determining the impacted generic scenario by looking into changeset in releng-xci. Since we moved the scenarios to releng-xci-scenarios, this is not needed anymore and same function can be used for determining the scenario. Change-Id: I06a65599e03dff4016d0d9d78116e505d84b5061 Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-04-12jjb: xci: xci-set-scenario.sh: Fix conditional for default scenarioMarkos Chandras1-1/+1
We only set default scenario if there is not one set already so we need to check if the array is empty. Change-Id: Ic5019fb68349adaf52d669aed43574bc5eaeddc3 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-04-11Merge "jjb: xci: Only set default scenario if no scenario is set"Fatih Degirmenci1-7/+11
2018-04-10jjb: xci: xci-set-scenario: Drop errexit optionMarkos Chandras1-1/+0
Commands may exit with non-zero exit code but this could be normal (for example grep does than when it doesn't match anything). As such, lets not fail on everything but rather capture such failures and handle them appropriately. Change-Id: Icc16d0ccd09fd6f262600ae514161bfdf0c593f1 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-04-06jjb: xci: Only set default scenario if no scenario is setMarkos Chandras1-7/+11
Previously, the code was already setting the default scenario if we had changes outside the xci/scenario directory. However, this is somewhat problematic since scenarios may touch other files which do not necessary affect other scenarios such as anything in xci/playbooks etc. As such, lets only set a default scenario if no scenario was set up to that point. However, since installers and scenarios need to match, we also need to consider installer changes because we fallback to the default scenario. Finally, since we are filtering results with 'uniq' we can simply drop the bash regexps prior to adding the scenario to the array. Change-Id: Ie961071b3e93d04a860bb6655513654208b1a9d4 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-04-06jjb: xci: xci-set-scenario: Allow automatic detection of generic scenariosMarkos Chandras1-10/+10
The list of supported scenarios is hardcoded and this makes it difficult to test new scenarios. As such, lets determine the scenario and the installer based on the actual files that have been changed on every patchset. Change-Id: I4868a1da08d58cd6ff37347a0c0bc5c5e28b15bb Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-17xci: Adjust the recorded scenario metadata for promotionFatih Degirmenci1-15/+21
PROJECT_NAME is added into scenario metadata to use for promotion and xci dashboard. Also, the metadata collected is aligned across different type of patches including the skipped ones. Change-Id: I3751884b48f5d9306d0cae35c757b976484b26a3 Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-03-14xci: Create post merge jobs to promote scenariosFatih Degirmenci1-1/+20
This change lays down the basic job structure for post merge promotion jobs. The job structure will be - a top level multijob job that is scenario specific and can not run concurrently. This job runs distro deploy and test jobs for all the distros in the first phase concurrently, followed by a common promote job. - the deploy and test jobs are same as the xci-verify jobs except the trigger. They are triggered by top level multijob. - the promote job is run once all the deploy & test phase jobs successfully completed, uploading promotion metadata to artifacts.opnfv.org. The builders except set-scenario are left empty in order to try the basic job setup first. Followup changes will get real things in. Once the basics are in place, the first promotion will be done using functest healthcheck and then we will start working on gating scenarios for promotion using functest smoke and perhaps feature test cases. Change-Id: Ib91ffe0f3003b86841a62537c52fde176cafa70f Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-03-13xci: Allow specifying scenario and installer in commit messageFatih Degirmenci1-20/+68
It is not always practical to try determining scenario and installer to run jobs programmatically. This change adds possibility to do that by parsing commit message and skipping the automatic scenario and installer extraction. Change-Id: I10c9620fe8bb69a2d69fceb31d08084265aa1d75 Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-03-13jjb: xci: Allow CI to run when multiple components are affectedMarkos Chandras1-0/+7
Sometimes we make global changes that affect multiple components at once and splitting that is not possible because it needs to be shipped as an atomic change. As such, allow topics with 'force-verify' to run the CI using the default installer and scenario. Change-Id: Ie4753822111b20c4f479886a55fe569c9b91ccd0 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-03-12xci: Combine vars setting installer type in INSTALLER_TYPEFatih Degirmenci1-4/+4
Change-Id: I5312ac784b1621ce968bbdfb1532859dada0e790 Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-03-12xci: Determine impacted generic scenarioFatih Degirmenci1-15/+39
Change-Id: Ifbe676cd347c2d3c68f04b5137f3ccaa83a95894 Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-03-12xci: Set the installer and move scenario extraction into functionsFatih Degirmenci1-32/+64
The scenarios named os-* are deployed by osa and the ones named k8-* are deployed by kubespray. This change determines the installer to use by looking into the scenario name. The installers are currently hardcoded within xci-set-scenario.sh script and this needs to be fixed for other installers when they onboard to xci. Apart from setting the installer, extraction of generic and external scenarios are moved into corresponding functions. Change-Id: I19882bcd2a1260765e601ecbe517551c60401d74 Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-03-01xci: Fix scenario name extractionFatih Degirmenci1-1/+1
Change-Id: Ifcea3d364b73d0d19d46aaf2bd2210ec6440f383 Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-02-27xci: Set the scenario to os-nosdn-nofeature if the verify is skippedFatih Degirmenci1-4/+6
The envInject complains due to nonexistent scenario.properties so we set the scenario to os-nosdn-nofeature to suppress the failures since there is nothing to fail. Change-Id: Ic259ec53e77cf8afe62638a1b447c8e58863b419 Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-02-26xci: Set appropriate permissions for the keyFatih Degirmenci1-0/+1
Change-Id: I6387ca1f7eaf107f735eab82917d77b2f3a3d90a Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-02-26xci: Move out of WORKSPACE before wiping it out and log scenario to consoleFatih Degirmenci1-4/+4
Change-Id: Ia2caeef24a199580a9eeb2ba6214fa2008f65c1c Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-02-26xci: Fix the Gerrit Trigger clone issue for external scenariosFatih Degirmenci1-0/+11
When a patch comes in for an external scenario, Gerrit Trigger injects refs for that patch for the corresponding project. With the previous configuration, job attempts to get that patch for releng-xci instead of the actual project. But switching to the right project causes Jenkins jobs to fail since the releng-xci will not be checked out to WORKSPACE. This change makes the clone for the repo/patch work and then it wipes out the WORKSPACE and clones releng-xci there to get the actual script parts to work. Change-Id: Ide31c21a209dff953118f51e9b09de1d206a3085 Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-02-26xci: Fix extracting scenarios for generic scenariosFatih Degirmenci1-14/+16
Change-Id: Ib58ff1a8b093af550f86d337327114df50da4ae7 Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-02-15Enable verify jobs for external scenariosFatih Degirmenci1-0/+64
This change extracts the scenario that is impacted by the patch which triggered the verify jobs and saves the scenario name into java properties file. This file will then be used by envInject plugin to inject the scenario name into the build environment. If the triggering change impacts multiple scenarios, the build will result in failure and the developer will be informed about a possible way to rectify the issue. Support for generic scenarios will be introduced in subsequent changes. Change-Id: I6406299c1352b6e9b8a9297c5441adf03445be33 Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>