blob: efc11221e80961ebd86ec1b98c5724ae9a23da4f [file] [log] [blame]
---
# ============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: