| --- |
| # ============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========================================================= |
| |
| # TODO: move these tasks to a more suitable place |
| # TODO: load only the necessary images in each node according to their node |
| - hosts: k8s-cluster |
| gather_facts: false |
| tasks: |
| - name: Execute preparation for post-deployment in offline mode |
| block: |
| # Load docker images in cache for offline installation |
| # TODO: we should set-up a Docker local repository in kickstart |
| - name: Find cached docker images |
| find: |
| paths: "/tmp/kubespray_cache/images" |
| patterns: '^.*\.tar' |
| use_regex: true |
| file_type: file |
| register: docker_images |
| |
| # TODO: use the docker_image Ansible module |
| - name: Load missing docker images into node's memory |
| shell: | |
| set -o pipefail |
| cat "{{ item.path }}" | docker load |
| changed_when: false |
| args: |
| executable: /bin/bash |
| with_items: "{{ docker_images.files }}" |
| when: offline_deployment|bool |
| |
| # check if any post-deployment task defined for the scenario |
| - hosts: localhost |
| connection: local |
| gather_facts: false |
| become: false |
| |
| tasks: |
| - name: Check if any post-deployment task defined for '{{ deploy_scenario }}' scenario |
| stat: |
| path: "{{ engine_cache }}/repos/swconfig/{{ scenario[deploy_scenario].installers[installer_type].role }}/tasks/post-deployment.yml" |
| register: post_deployment_yml |
| |
| # run the scenario post-deployment tasks before running the common post-deployment tasks |
| - hosts: all |
| gather_facts: true |
| become: true |
| |
| tasks: |
| - name: Execute post-deployment tasks of '{{ deploy_scenario }}' scenario |
| 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 |
| |
| # run common post-deployment tasks |
| # NOTE: The common post-deployment tasks is currently applicable only to |
| # simple k8s and openstack scenarios. |
| # in future, when statement could be moved to tasks in role if the current |
| # tasks become relevant or new tasks are added. |
| - hosts: all |
| gather_facts: true |
| become: true |
| |
| roles: |
| - role: post-deployment |
| when: "'onap-' not in deploy_scenario" |
| |
| # vim: set ts=2 sw=2 expandtab: |