123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- # 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: Validate the cluster
- hosts: localhost
- connection: local
- gather_facts: no
- roles:
- - cluster_validation
-
- - name: Validate nfs_node config
- hosts: nfs_node
- gather_facts: false
- tasks:
- - name: Validate nfs_node config
- include_role:
- name: powervault_me4_nfs
- tasks_from: validate_nfs_config.yml
- when: hostvars['127.0.0.1']['powervault_status']
- - name: Gather facts from all the nodes
- hosts: manager, compute, login_node, nfs_node
- - name: Apply common installation and config
- hosts: manager, compute, login_node
- gather_facts: false
- roles:
- - common
- tags: common
- - name: Apply login common installation and config
- hosts: manager, login_node
- gather_facts: false
- roles:
- - login_common
- tags: freeipa
- - name: Apply login server installation and config
- hosts: manager
- gather_facts: false
- roles:
- - login_server
- tags: freeipa
- - name: Apply login node installation and config
- hosts: login_node
- gather_facts: false
- roles:
- - login_node
- tags: freeipa
- - name: Apply common K8s installation and config
- hosts: manager, compute
- gather_facts: false
- roles:
- - k8s_common
- tags: kubernetes
- - name: Apply K8s manager config
- hosts: manager
- gather_facts: true
- roles:
- - k8s_manager
- tags: kubernetes
- - name: Apply K8s firewalld config on manager and compute nodes
- hosts: manager, compute
- gather_facts: false
- roles:
- - k8s_firewalld
- tags: kubernetes
- - name: Powervault Server Configuration
- hosts: nfs_node
- gather_facts: false
- tasks:
- - name: Configuring NFS node
- include_role:
- name: powervault_me4_nfs
- when: hostvars['127.0.0.1']['powervault_status']
- - name: Map volume
- hosts: powervault_me4
- connection: local
- gather_facts: false
- tasks:
- - name: Include map volume task
- include_tasks: "{{ playbook_dir }}/control_plane/roles/powervault_me4/tasks/ports.yml"
- when: hostvars['127.0.0.1']['powervault_status']
- - name: Include map volume task
- include_tasks: "{{ playbook_dir }}/control_plane/roles/powervault_me4/tasks/map_volume.yml"
- when: hostvars['127.0.0.1']['powervault_status']
- - name: Apply NFS server setup on NFS node
- hosts: nfs_node
- gather_facts: false
- tasks:
- - name: Check the mapped volume on server
- include_role:
- name: powervault_me4_nfs
- tasks_from: nfs_volume
- when: hostvars['127.0.0.1']['powervault_status']
- - name: Mount partitions
- include_role:
- name: powervault_me4_nfs
- tasks_from: mount_me4_partitions
- when: hostvars['127.0.0.1']['powervault_status']
- - name: Setup NFS server on the partitions
- include_role:
- name: powervault_me4_nfs
- tasks_from: me4_nfs_server_setup
- when: hostvars['127.0.0.1']['powervault_status']
- - name: Apply NFS server setup on manager node
- hosts: manager
- gather_facts: false
- tasks:
- - name: Apply NFS server setup on manager node
- include_role:
- name: k8s_nfs_server_setup
- when: not hostvars['127.0.0.1']['powervault_status']
- tags:
- - kubernetes
- - nfs
- - name: Apply NFS client setup on compute nodes
- hosts: compute
- gather_facts: false
- tasks:
- - name: Apply NFS client setup on compute nodes
- include_role:
- name: k8s_nfs_client_setup
- when: not hostvars['127.0.0.1']['powervault_status']
- tags:
- - kubernetes
- - nfs
- - name: Start K8s on manager server
- hosts: manager
- gather_facts: true
- roles:
- - k8s_start_manager
- tags: kubernetes
- - name: Start K8s worker servers on compute nodes
- hosts: compute
- gather_facts: false
- roles:
- - k8s_start_workers
- tags: kubernetes
- - name: Start K8s worker servers on manager nodes
- hosts: manager, compute
- gather_facts: false
- roles:
- - k8s_start_services
- tags: kubernetes
- - name: Apply common Slurm installation and config
- hosts: manager, compute, login_node
- gather_facts: false
- roles:
- - slurm_common
- tags: slurm
- - name: Apply Slurm manager config
- hosts: manager
- gather_facts: false
- roles:
- - slurm_manager
- tags: slurm
- - name: Configure Slurm workers
- hosts: compute, login_node
- serial: 1
- gather_facts: false
- roles:
- - slurm_workers
- tags: slurm
- - name: Start Slurm workers
- hosts: compute, login_node
- gather_facts: false
- roles:
- - slurm_workers_service
- tags: slurm
- - name: Start Slurm services
- hosts: manager
- gather_facts: false
- roles:
- - slurm_start_services
- tags: slurm
- - name: Install slurm exporter
- hosts: manager
- gather_facts: false
- roles:
- - slurm_exporter
- tags: slurm
- - name: Passwordless SSH between manager and compute nodes
- include: control_plane/tools/passwordless_ssh.yml
- when: hostvars['127.0.0.1']['control_plane_status']
|