fix handling if floating ip is not yet assigned
Some checks are pending
ci/woodpecker/push/woodpecker Pipeline is pending

This commit is contained in:
2024-02-02 23:38:04 +01:00
parent 25c22fe0f1
commit 6bdae933a8
3 changed files with 22 additions and 27 deletions

View File

@ -78,11 +78,13 @@ func AttachFloatingIpToNode(cfg *Config, server hcloud.Server) error {
if err != nil {
return errors.New(fmt.Sprintf("Could not find Floating IP by name: %s", err.Error()))
}
if floatingIP.Server.ID == server.ID {
log.WithFields(log.Fields{
"Caller": "AttachFloatingIpToNode",
}).Info(fmt.Sprintf("Floating IP %s already assigned to Node %s", cfg.FloatingIPName, server.Name))
return nil
if floatingIP.Server != nil {
if floatingIP.Server.ID == server.ID {
log.WithFields(log.Fields{
"Caller": "AttachFloatingIpToNode",
}).Info(fmt.Sprintf("Floating IP %s already assigned to Node %s", cfg.FloatingIPName, server.Name))
return nil
}
}
_, _, err = client.FloatingIP.Assign(context.TODO(), floatingIP, &server)
if err != nil {