Rename main.yml playbooks to pre-deployment.yml

Scenarios currently have main.yml playbooks that contain
tasks to run pre-deployment of the platform. This change makes
it possible to rename main.yml playbooks in scenario roles
to pre-deployment.yml so it becomes more visible that the
tasks in pre-deployment.yml playbook are run before the actual
deployment.

A related change is sent to all the scenarios to rename
main.yml playbooks to pre-deployment.yml.
  https://gerrit.nordix.org/#/c/1660/

Change-Id: Ie9f984e67ce8f6f0dc5c8a60e0f3984cb84cca75
diff --git a/deploy.sh b/deploy.sh
index 6d6eea0..8b09323 100755
--- a/deploy.sh
+++ b/deploy.sh
@@ -45,12 +45,12 @@
 
 # bootstrap scenario
 echo "-------------------------------------------------------------------------"
-echo "Info: Bootstrap scenario"
+echo "Info: Execute scenario pre deployment tasks"
 echo "-------------------------------------------------------------------------"
 cd ${ENGINE_PATH}
 ansible-playbook ${ENGINE_ANSIBLE_PARAMS} \
   -i ${ENGINE_CACHE}/config/inventory.ini \
-  ${INSTALLER_ROOT_DIR}/playbooks/bootstrap-scenario.yml
+  ${INSTALLER_ROOT_DIR}/playbooks/pre-deployment.yml
 
 # install scenario
 echo "-------------------------------------------------------------------------"
@@ -66,7 +66,7 @@
 
 # run post-deployment tasks
 echo "-------------------------------------------------------------------------"
-echo "Info: Execute post deployment tasks"
+echo "Info: Execute scenario and common post deployment tasks"
 echo "-------------------------------------------------------------------------"
 cd ${ENGINE_PATH}
 ansible-playbook ${ENGINE_ANSIBLE_PARAMS} \
diff --git a/playbooks/bootstrap-scenario.yml b/playbooks/bootstrap-scenario.yml
deleted file mode 100644
index 87ee04e..0000000
--- a/playbooks/bootstrap-scenario.yml
+++ /dev/null
@@ -1,31 +0,0 @@
----
-# ============LICENSE_START=======================================================
-#  Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-
-- hosts: localhost
-  connection: local
-  gather_facts: true
-  vars_files:
-    - "{{ engine_path }}/engine/var/versions.yml"
-    - "{{ engine_path }}/engine/var/global.yml"
-    - "{{ sdf_file }}"
-
-  roles:
-    - role: "{{ engine_cache }}/repos/swconfig/{{ scenario[deploy_scenario].installers[installer_type].role }}"
-
-# vim: set ts=2 sw=2 expandtab:
diff --git a/playbooks/post-deployment.yml b/playbooks/post-deployment.yml
index 8f2f8e0..fbbf8e8 100644
--- a/playbooks/post-deployment.yml
+++ b/playbooks/post-deployment.yml
@@ -47,8 +47,7 @@
       include_role:
         name: "{{ engine_cache }}/repos/swconfig/{{ scenario[deploy_scenario].installers[installer_type].role }}"
         tasks_from: post-deployment
-      when:
-        - hostvars['localhost'].post_deployment_yml.stat.exists
+      when: hostvars['localhost'].post_deployment_yml.stat.exists == True
 
 # run common post-deployment tasks
 - hosts: baremetal
diff --git a/playbooks/pre-deployment.yml b/playbooks/pre-deployment.yml
new file mode 100644
index 0000000..a7c3e07
--- /dev/null
+++ b/playbooks/pre-deployment.yml
@@ -0,0 +1,52 @@
+---
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2019 The Nordix Foundation. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+# check if pre-deployment.yml exists in engine cache on localhost
+- hosts: localhost
+  connection: local
+  gather_facts: false
+  become: yes
+  vars_files:
+    - "{{ engine_path }}/engine/var/versions.yml"
+    - "{{ engine_path }}/engine/var/global.yml"
+    - "{{ sdf_file }}"
+
+  tasks:
+    - name: Check if any pre-deployment task defined for '{{ deploy_scenario }}' role
+      stat:
+        path: "{{ engine_cache }}/repos/swconfig/{{ scenario[deploy_scenario].installers[installer_type].role }}/tasks/pre-deployment.yml"
+      register: pre_deployment_yml
+
+# run the scenario pre-deployment tasks before running the deployment itself
+- hosts: localhost
+  connection: local
+  gather_facts: false
+  vars_files:
+    - "{{ engine_path }}/engine/var/versions.yml"
+    - "{{ engine_path }}/engine/var/global.yml"
+    - "{{ sdf_file }}"
+
+  tasks:
+    - name: Execute pre-deployment tasks of '{{ deploy_scenario }}' role
+      include_role:
+        name: "{{ engine_cache }}/repos/swconfig/{{ scenario[deploy_scenario].installers[installer_type].role }}"
+        tasks_from: pre-deployment
+      when: hostvars['localhost'].pre_deployment_yml.stat.exists == True
+
+# vim: set ts=2 sw=2 expandtab: