#!/bin/bash SERVER_LIST=$(openstack server list -f json | jq -r '.[] | .Name') INVENTORY_FILE="ansible_inventory.ini" rm -f $INVENTORY_FILE echo "[all]" > $INVENTORY_FILE WORKER_NODES_SECTION="" CONTROL_NODES_SECTION="" SATOSA_SECTION="" MONITOR_SECTION="" while read -r name; do echo "$name" >> $INVENTORY_FILE if [[ $name == *k8sw* ]]; then WORKER_NODES_SECTION+="$name\n" elif [[ $name == *k8sc* ]]; then CONTROL_NODES_SECTION+="$name\n" elif [[ $name == *satosa* ]]; then SATOSA_SECTION+="$name\n" elif [[ $name == *monitor* ]]; then MONITOR_SECTION+="$name\n" fi done <<< "$SERVER_LIST" # Append each section to the inventory file echo -e "\n[worker_nodes]" >> $INVENTORY_FILE echo -e "$WORKER_NODES_SECTION" >> $INVENTORY_FILE echo -e "\n[control_nodes]" >> $INVENTORY_FILE echo -e "$CONTROL_NODES_SECTION" >> $INVENTORY_FILE echo -e "\n[satosa]" >> $INVENTORY_FILE echo -e "$SATOSA_SECTION" >> $INVENTORY_FILE echo -e "\n[monitor]" >> $INVENTORY_FILE echo -e "$MONITOR_SECTION" >> $INVENTORY_FILE echo "Ansible inventory file created at $INVENTORY_FILE"