Execution
Date 18 Nov 2025 16:55:05 +0000
Duration 00:01:49.76
Controller ssh-gw-4.layershift.com
User root
Versions
Ansible 2.16.11
ara 1.7.3 / 1.7.3
Python 3.10.10
Summary
396 Hosts
4 Tasks
595 Results
2 Plays
1 Files
0 Records

File: /home/ssh-gateway/ansible/kuly/create_snowflakes_inventory.yaml

---
- name: Delete file if exists and create header
  hosts: localhost
  gather_facts: false
  vars:
    inv_file: /home/ssh-gateway/ansible/kuly/snowflakes-servers.ini
  tasks:
    - name: Delete inventory file if it exists
      ansible.builtin.file:
        path: "{{ inv_file }}"
        state: absent
      run_once: true
    - name: Create file and header
      ansible.builtin.lineinfile:
        path: "{{ inv_file }}"
        line: "[snowflakes]\n"
        create: true
        mode: '0644'
      run_once: true

- name: Generate hostname list
  hosts: all
  gather_facts: false
  vars:
    inv_file: /home/ssh-gateway/ansible/kuly/snowflakes-servers.ini
  tasks:
    - name: Check if snowflake directory exists
      ansible.builtin.stat:
        path: /opt/layershift/snowflake/
      register: snow_dir
    - name: Check if snowflake directory has files
      ansible.builtin.find:
        paths: /opt/layershift/snowflake/
        file_type: file
      when: snow_dir.stat.isdir
      register: snow_files
    - name: Save hostname if directory exists and has files
      when:
        - snow_dir.stat.isdir
        - snow_files.files | length > 0
      ansible.builtin.lineinfile:
        path: "{{ inv_file }}"
        line: "{{ inventory_hostname }}"
        insertafter: "[snowflakes]"
      delegate_to: localhost

- name: Add footer
  hosts: localhost
  gather_facts: false
  vars:
    inv_file: /home/ssh-gateway/ansible/kuly/snowflakes-servers.ini
  tasks:
    - name: Add vars
      ansible.builtin.lineinfile:
        path: "{{ inv_file }}"
        line: |
          [snowflakes:vars]
          ansible_user=root
          ansible_port=2233
        insertafter: EOF
      run_once: true
      delegate_to: localhost