xci: get-opnfv-scenario-requirements.yml: Check if facts are set 27/50827/2
authorMarkos Chandras <mchandras@suse.de>
Fri, 19 Jan 2018 09:38:13 +0000 (09:38 +0000)
committerMarkos Chandras <mchandras@suse.de>
Fri, 19 Jan 2018 11:48:08 +0000 (11:48 +0000)
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>
xci/playbooks/get-opnfv-scenario-requirements.yml

index 7eaa43d..c04348e 100644 (file)
         - set_fact:
             deploy_scenario_flavor: "{{ (XCI_FLAVOR in deploy_scenario_installer.flavors) | bool }}"
           when:
+            - deploy_scenario_installer is defined
             - deploy_scenario_installer
         - set_fact:
             deploy_scenario_distro: "{{ (XCI_DISTRO in deploy_scenario_installer.distros) | bool }}"
           when:
-            - deploy_scenario_installer
+            - deploy_scenario_flavor is defined
             - deploy_scenario_flavor
       when: deploy_scenario is defined
 
           - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
           - ''
       when:
-        - deploy_scenario is not defined or not deploy_scenario_distro
+        - deploy_scenario is not defined or
+          deploy_scenario_distro is not defined or
+          (deploy_scenario_distro is defined and not deploy_scenario_distro)
 
   vars:
     ansible_python_interpreter: "/usr/bin/python"