#  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: ISO creation - centos
  block:
    - name: Create custom ISO
      command: >-
        mkisofs -o /tmp/{{ centos_iso_filename }} -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4
        -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot -J -R -V "CentOS 7 x86_64"  {{ tmp_iso_dir }}
      changed_when: true
      register: centos_iso_status
      tags: install
      args:
        chdir: "{{ tmp_iso_dir }}"

    - name: Custom ISO creation status check
      assert:
        that:
          - "'Total directory bytes:' in centos_iso_status.stderr"
          - "'Path table size(bytes):' in centos_iso_status.stderr"
          - "'Max brk space used' in centos_iso_status.stderr"
          - "'extents written' in centos_iso_status.stderr"
        success_msg: "{{ custom_iso_success_msg }}"
        fail_msg: "{{ custom_iso_fail_msg }}"

    - name: Copy ISO file to nfs share
      copy:
        src: "/tmp/{{ centos_iso_filename }}"
        dest: "{{ nfs_share_offline_repo }}/{{ centos_iso_filename }}"
        mode: preserve
      tags: install
  when: provision_os == os_supported_centos

- name: ISO creation - rocky
  block:
    - name: Create custom ISO
      command: >-
        mkisofs -o /tmp/{{ rocky_iso_filename }} -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4
        -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot -J -R -V "Rocky-8-4-x86_64-dvd"  {{ tmp_iso_dir }}
      changed_when: true
      register: rocky_iso_status
      tags: install
      args:
        chdir: "{{ tmp_iso_dir }}"

    - name: Custom ISO creation status check
      assert:
        that:
          - "'Total directory bytes:' in rocky_iso_status.stderr"
          - "'Path table size(bytes):' in rocky_iso_status.stderr"
          - "'Max brk space used' in rocky_iso_status.stderr"
          - "'extents written' in rocky_iso_status.stderr"
        success_msg: "{{ custom_iso_success_msg }}"
        fail_msg: "{{ custom_iso_fail_msg }}"

    - name: Copy ISO file to nfs share
      copy:
        src: "/tmp/{{ rocky_iso_filename }}"
        dest: "{{ nfs_share_offline_repo }}/{{ rocky_iso_filename }}"
        mode: preserve
      tags: install
  when: provision_os == os_supported_rocky

- name: Remove the kickstart file
  file:
    path: "{{ role_path }}/files/{{ idrac_kickstart_file }}"
    state: absent
  tags: install