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