40 lines
1.1 KiB
Bash
Executable file
40 lines
1.1 KiB
Bash
Executable file
#!/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"
|