From dc2856dde1760d408b03fd95a104133b6efd9c10 Mon Sep 17 00:00:00 2001
From: Markos Chandras <mchandras@suse.de>
Date: Thu, 14 Dec 2017 09:42:47 +0000
Subject: xci: Add flavor information for scenarios

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>
---
 xci/opnfv-scenario-requirements.yml               | 13 ++++++++++++-
 xci/playbooks/get-opnfv-scenario-requirements.yml | 20 ++++++++++++++++++++
 2 files changed, 32 insertions(+), 1 deletion(-)

(limited to 'xci')

diff --git a/xci/opnfv-scenario-requirements.yml b/xci/opnfv-scenario-requirements.yml
index 8192fe29..036a8a7c 100644
--- a/xci/opnfv-scenario-requirements.yml
+++ b/xci/opnfv-scenario-requirements.yml
@@ -16,14 +16,25 @@
   src: https://gerrit.opnfv.org/gerrit/sfc
   version: master
   role: scenarios/os-odl-sfc/role/os-odl-sfc
+  flavors:
+    - ha
+    - mini
+    - noha
 - scenario: os-nosdn-nofeature
   scm: git
   src: https://git.opnfv.org/releng-xci
   version: master
   role: xci/scenarios/os-nosdn-nofeature/role/os-nosdn-nofeature
+  flavors:
+    - ha
+    - mini
+    - noha
 - scenario: os-odl-nofeature
   scm: git
   src: https://git.opnfv.org/releng-xci
   version: master
   role: xci/scenarios/os-odl-nofeature/role/os-odl-nofeature
-
+  flavors:
+    - ha
+    - mini
+    - noha
diff --git a/xci/playbooks/get-opnfv-scenario-requirements.yml b/xci/playbooks/get-opnfv-scenario-requirements.yml
index 11aee8ee..173b825e 100644
--- a/xci/playbooks/get-opnfv-scenario-requirements.yml
+++ b/xci/playbooks/get-opnfv-scenario-requirements.yml
@@ -83,6 +83,26 @@
       loop_control:
         label: "{{ item.item.scenario }}"
 
+    - name: Determine if selected {{ OPNFV_SCENARIO }} scenario can be deployed
+      set_fact:
+        deploy_scenario_on_flavor: XCI_FLAVOR in item.flavors
+      when: OPNFV_SCENARIO == item.scenario
+      with_items: "{{ scenarios }}"
+      loop_control:
+        label: "{{ item.scenario }}"
+
+    - name: Fail if {{ XCI_FLAVOR }} is not supported in {{ OPNFV_SCENARIO }}
+      fail:
+        msg:
+          - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+          - ERROR! The {{ OPNFV_SCENARIO }} scenario does not support the {{ XCI_FLAVOR }}
+          - ''
+          - This is a great chance for you to contribute to XCI ;-)
+          - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+          - ''
+      when:
+        - not deploy_scenario_on_flavor
+
   vars:
     ansible_python_interpreter: "/usr/bin/python"
     scenarios: "{{ lookup('file', scenario_file) | from_yaml }}"
-- 
cgit