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

# OMNIA_PSE_TC_001
# Successful installation of slurm exporter on the host when both slurm and kubernetes is installed
- name: OMNIA_PSE_TC_001
  hosts: manager
  vars_files:
    - test_vars/test_slurmexporter_vars.yml
  tasks:
    - block:
        - name: Call install slurm exporter role
          include_role:
            name: ../roles/slurm_exporter
      tags: TC_001

    - name: Verify slurm exporter status
      systemd:
        name: prometheus-slurm-exporter
      register: slurm_exporter_status
      tags: TC_001, VERIFY_001

    - name: Validate slurm exporter service status
      assert:
        that:
          - slurm_exporter_status.status.ActiveState == 'active'
        fail_msg: "{{ slurm_exporter_service_fail_msg }}"
        success_msg: "{{ slurm_exporter_service_success_msg }}"
      tags: TC_001, VERIFY_001

    - name: Verify slurm exporter job in k8s services
      command: kubectl get service prometheus-slurmexporter-metrics-1
      register: slurm_exporter_service_status
      tags: TC_001, VERIFY_001
      changed_when: False

    - name: Validate slurm exporter job in k8s services
      assert:
        that:
          - "'Error from server' not in slurm_exporter_service_status.stdout"
        fail_msg: "{{ slurm_exporter_job_fail_msg }}"
        success_msg: "{{ slurm_exporter_job_success_msg }}"
      tags: TC_001, VERIFY_001