Я получил LB и внешний IP на GCP, которые могут находиться в состоянии IN USE
или RESERVED
. Теперь у меня есть конвейер Jenkins, и я создаю шаг его повторного развертывания. и чтобы использовать тот же IP, старый LB должен быть удален, IP RELEASED и изменен на состояние RESERVED
, где он может быть переназначен еще раз. Теперь мой вопрос: есть ли у кого-нибудь идея лучше, чем приведенный ниже скрипт, чтобы убедиться, что IP-адрес выпущен?
boolean isIpReleased(ipName) {
def released = false
int i = 10
while(!released) {
if (i == 0) {
break
}
released = sh (
script: "gcloud compute addresses list | grep ${ipName} | awk 'NR < 2 {print \$NF}'",
returnStdout: true
).trim() == "RESERVED"
echo "reserved: ${released}"
i = i - 1
echo "i: ${i}"
sleep(6)
}
return released
}
Обычно после удаления LB 30-50 se c обычно требуется освободить IP.