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

- hosts: localhost
  connection: local
  gather_facts: false
  tasks:
    - name: Read dhcp file
      set_fact:
        var: "{{ lookup('file', '/var/lib/dhcpd/dhcpd.leases').split()| unique | select| list }}"

    - name: Filter the ip
      set_fact:
        vars_new: "{{ var| ipv4('address')| to_nice_yaml}}"

    - name: Create the static ip
      shell: awk -F',' 'NR >1{print $3}' omnia/control_plane/roles/provision_cobbler/files/new_mapping_file.csv > static_hosts.yml
      changed_when: false
      ignore_errors: true

    - name: Create the dynamic inventory
      shell: |
        echo "[all]" >  omnia/control_plane/roles/inventory/files/provisioned_hosts.yml
        echo "{{ vars_new }}" > temp.txt
        egrep -o '[1-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' temp.txt >>dynamic_hosts.yml
      changed_when: false
      ignore_errors: true

    - name: Final inventory
      shell: cat dynamic_hosts.yml static_hosts.yml| sort -ur  >> omnia/control_plane/roles/inventory/files/provisioned_hosts.yml
      changed_when: false