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: