# 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. --- - 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/appliance/roles/provision/files/new_mapping_file.csv > static_hosts.yml changed_when: false ignore_errors: true - name: Create the dynamic inventory shell: | echo "[all]" > omnia/appliance/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/appliance/roles/inventory/files/provisioned_hosts.yml changed_when: false