Освободить IP GCP и переназначить его хорошим способом - PullRequest
0 голосов
/ 26 марта 2020

Я получил 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.

...