# 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.
---

- name: Check infiniband pod status
  command: kubectl get pods -n network-config
  changed_when: false
  register: infiniband_pod_status
  failed_when: false

- name: Deploy infiniband pod
  command: "kubectl apply -f {{ role_path }}/files/k8s_infiniband.yml"
  changed_when: true
  tags: install
  when: infiniband_container_status and  (not infiniband_container_config_status)

- name: Wait for infiniband pod to come to ready state
  command: kubectl wait --for=condition=ready -n network-config pod -l app=infiniband
  changed_when: false
  tags: install

- name: Get infiniband pod name
  command: 'kubectl get pod -n network-config -l app=infiniband -o jsonpath="{.items[0].metadata.name}"'
  changed_when: false
  register: infiniband_pod_name
  tags: install

- name: Configuring infiniband container
  command: 'kubectl exec --stdin --tty -n network-config {{ infiniband_pod_name.stdout }} \
    -- ansible-playbook /root/omnia/control_plane/roles/control_plane_ib/files/infiniband_container_configure.yml'
  changed_when: false
  tags: install
#  when: infiniband_container_config_status == false
