# Copyright 2021 Dell Inc. or its subsidiaries. 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. --- # tasks file for sm pod creation - name: Get namespaces command: kubectl get namespaces changed_when: false register: k8s_namespaces tags: install - name: Ensure that namespace is created command: kubectl create namespace subnet-manager when: "'subnet-manager' not in k8s_namespaces.stdout" tags: install - name: Get K8s pods command: kubectl get pods --all-namespaces changed_when: false register: k8s_pods tags: install - name: Create subnet manager pod block: - name: Replace container name in sm config file replace: path: "{{ sm_kube_config_file }}" regexp: " containers:\n - name:.*" replace: " containers:\n - name: {{ sm_container_name }}" tags: install - name: Replace image name in sm config file replace: path: "{{ sm_kube_config_file }}" regexp: " image:.*" replace: " image: 'localhost/{{ sm_docker_image_name }}:{{ sm_docker_image_tag }}'" tags: install - name: Replace cache directory in sm config file replace: path: "{{ sm_kube_config_file }}" regexp: " - name: opensm-cache\n hostPath:\n path:.*" replace: " - name: opensm-cache\n hostPath:\n path: {{ subnet_manager.cache_directory }} " tags: install - name: Replace cache directory in sm config file replace: path: "{{ sm_kube_config_file }}" regexp: " - name: opensm-logs\n hostPath:\n path:.*" replace: " - name: opensm-logs\n hostPath:\n path: {{ subnet_manager.log_directory }} " tags: install - name: Create subnet manager pod command: "kubectl apply -f {{ sm_kube_config_file }}" tags: install when: "'subnet-manager' not in k8s_pods.stdout"