# 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']