infiniband_container_image.yml 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. # Copyright 2022 Dell Inc. or its subsidiaries. All Rights Reserved.
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License");
  4. # you may not use this file except in compliance with the License.
  5. # You may obtain a copy of the License at
  6. #
  7. # http://www.apache.org/licenses/LICENSE-2.0
  8. #
  9. # Unless required by applicable law or agreed to in writing, software
  10. # distributed under the License is distributed on an "AS IS" BASIS,
  11. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. # See the License for the specific language governing permissions and
  13. # limitations under the License.
  14. ---
  15. - name: Image creation (It may take 5-10 mins)
  16. command: "buildah bud -t {{ infiniband_image_name }}:{{ infiniband_image_tag }} --network host ."
  17. changed_when: true
  18. args:
  19. chdir: "{{ role_path }}/files/"
  20. when: not infiniband_container_image_status
  21. - name: Update image name in k8s_infiniband.yml
  22. replace:
  23. path: "{{ ib_kube_config_file }}"
  24. regexp: 'localhost/infiniband-container:latest'
  25. replace: "localhost/{{ infiniband_image_name }}:{{ infiniband_image_tag }}"
  26. - name: Update omnia project path in k8s_infiniband.yml
  27. replace:
  28. path: "{{ ib_kube_config_file }}"
  29. regexp: ' - name: omnia-storage\n hostPath:\n path:.*'
  30. replace: " - name: omnia-storage\n hostPath:\n path: {{ role_path.split('control_plane')[0] }}"
  31. - name: Replace container name in sm config file
  32. replace:
  33. path: "{{ ib_kube_config_file }}"
  34. regexp: " containers:\n - name:.*"
  35. replace: " containers:\n - name: {{ ib_container_name }}"
  36. - name: Replace image name in sm config file
  37. replace:
  38. path: "{{ ib_kube_config_file }}"
  39. regexp: " image:.*"
  40. replace: " image: 'localhost/{{ infiniband_image_name }}:{{ infiniband_image_tag }}'"
  41. - name: Replace cache directory in sm config file
  42. replace:
  43. path: "{{ ib_kube_config_file }}"
  44. regexp: " - name: opensm-cache\n hostPath:\n path:.*"
  45. replace: " - name: opensm-cache\n hostPath:\n path: {{ subnet_manager.cache_directory }} "
  46. - name: Replace cache directory in sm config file
  47. replace:
  48. path: "{{ ib_kube_config_file }}"
  49. regexp: " - name: opensm-logs\n hostPath:\n path:.*"
  50. replace: " - name: opensm-logs\n hostPath:\n path: {{ subnet_manager.log_directory }} "
  51. - name: Check infiniband pod status
  52. command: kubectl get pods -n network-config
  53. changed_when: false
  54. register: infiniband_pod_status
  55. failed_when: false
  56. - name: Deploy infiniband pod
  57. command: "kubectl apply -f {{ ib_kube_config_file }}"
  58. changed_when: true
  59. when: not infiniband_container_status