chore: initial import from KNEL/PFVCluster@041d311 [#769]
Split per O&M lane work order. Full history: KNEL/PFVCluster. https://projects.knownelement.com/issues/769#note-4152
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
#!/bin/bash
|
||||
###############################################################################
|
||||
# add-datanet-nics.sh
|
||||
#
|
||||
# Adds a second virtio NIC (net1) to all k8s + ultix VMs, bridged to the
|
||||
# storage/datanet network (VLAN 1000). Records the assigned IP in phpIPAM.
|
||||
#
|
||||
# Runs from the workstation — uses tests/remote.sh to reach each hypervisor.
|
||||
# Hot-adds the NIC (no VM downtime). Guest-side IP config must be done
|
||||
# separately (the guest OS needs the IP configured on the new interface).
|
||||
#
|
||||
# Usage:
|
||||
# bash add-datanet-nics.sh # add NICs (hot-add, no reboot)
|
||||
# bash add-datanet-nics.sh --status # show current state only
|
||||
#
|
||||
# IP allocations (phpIPAM VPTechOps, subnet 10.100.100.0/24):
|
||||
# .10 = cnode1 (102/tsys1)
|
||||
# .11 = cnode2 (705/tsys7)
|
||||
# .12 = cnode3 (603/tsys6)
|
||||
# .13 = wnode-tsys3 (313/tsys3)
|
||||
# .14 = wnode-tsys5 (500/tsys5)
|
||||
# .15 = wnode-tsys6 (601/tsys6)
|
||||
# .16 = wnode-tsys7 (701/tsys7)
|
||||
# .17 = wnode-tsys9 (905/tsys9)
|
||||
# .18 = ultix-streaming (5111/tsys5)
|
||||
# .19 = ultix-offstage (5112/tsys5)
|
||||
#
|
||||
# Related: Redmine [#396]
|
||||
###############################################################################
|
||||
set -euo pipefail
|
||||
|
||||
# VM definitions: VMID HOST BRIDGE IP HOSTNAME
|
||||
VMS=(
|
||||
"102 tsys1 datanet 10.100.100.10 pfv-k8s-cnode1"
|
||||
"705 tsys7 datanet 10.100.100.11 pfv-k8s-cnode2"
|
||||
"603 tsys6 storagenet 10.100.100.12 pfv-k8s-cnode3"
|
||||
"313 tsys3 datanet 10.100.100.13 pfv-k8s-wnode-tsys3"
|
||||
"500 tsys5 datanet 10.100.100.14 pfv-k8s-wnode-tsys5"
|
||||
"601 tsys6 storagenet 10.100.100.15 pfv-k8s-wnode-tsys6"
|
||||
"701 tsys7 datanet 10.100.100.16 pfv-k8s-wnode-tsys7"
|
||||
"905 tsys9 datanet 10.100.100.17 pfv-k8s-wnode-tsys9"
|
||||
"5111 tsys5 datanet 10.100.100.18 ultix-streaming"
|
||||
"5112 tsys5 datanet 10.100.100.19 ultix-offstage"
|
||||
)
|
||||
|
||||
ACTION="${1:-add}"
|
||||
|
||||
echo "==================================================================="
|
||||
echo " add-datanet-nics — [#396]"
|
||||
echo " mode: ${ACTION}"
|
||||
echo "==================================================================="
|
||||
echo ""
|
||||
|
||||
for entry in "${VMS[@]}"; do
|
||||
read -r vmid host bridge ip hostname <<< "$entry"
|
||||
prox_host="pfv-${host}"
|
||||
|
||||
echo "--- ${hostname} (VM ${vmid} on ${prox_host}) ---"
|
||||
|
||||
if [ "$ACTION" = "--status" ]; then
|
||||
# Show current NIC state
|
||||
PROX_HOST="$prox_host" bash tests/remote.sh prox \
|
||||
"qm config ${vmid} 2>/dev/null | grep -E '^net|^name'" 2>&1
|
||||
echo ""
|
||||
continue
|
||||
fi
|
||||
|
||||
# Check if net1 already exists
|
||||
existing=$(PROX_HOST="$prox_host" bash tests/remote.sh prox \
|
||||
"qm config ${vmid} 2>/dev/null | grep '^net1'" 2>&1 || true)
|
||||
|
||||
if [ -n "$existing" ]; then
|
||||
echo " net1 already exists: ${existing}"
|
||||
echo " Skipping."
|
||||
echo ""
|
||||
continue
|
||||
fi
|
||||
|
||||
# Hot-add net1 bridged to the storage network
|
||||
echo " Adding net1 (bridge=${bridge}, IP=${ip})..."
|
||||
if PROX_HOST="$prox_host" bash tests/remote.sh prox \
|
||||
"qm set ${vmid} -net1 virtio,bridge=${bridge}" 2>&1; then
|
||||
echo " NIC added. Verify with: qm config ${vmid} | grep net1"
|
||||
else
|
||||
echo " FAILED — check error above"
|
||||
fi
|
||||
echo ""
|
||||
done
|
||||
|
||||
if [ "$ACTION" != "--status" ]; then
|
||||
echo "==================================================================="
|
||||
echo " NICs added. Guest-side IP config still needed."
|
||||
echo " Each guest needs the IP configured on the new interface."
|
||||
echo " IPs are allocated in phpIPAM (VPTechOps / 10.100.100.0/24)."
|
||||
echo "==================================================================="
|
||||
fi
|
||||
Reference in New Issue
Block a user