Skip to content

Commit

Permalink
retry the polling when domain qemu guest agent is not yet ready
Browse files Browse the repository at this point in the history
  • Loading branch information
rgl authored and dmacvicar committed Nov 19, 2023
1 parent aff6e95 commit 1f8c0e8
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion libvirt/domain.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,12 @@ func domainWaitForLeases(ctx context.Context, virConn *libvirt.Libvirt, domain l
}

_, err := stateConf.WaitForStateContext(ctx)
if err != nil {
return err
}

log.Print("[DEBUG] wait-for-leases was successful")
return err
return nil
}

func domainIfaceHasAddress(virConn *libvirt.Libvirt, domain libvirt.Domain,
Expand All @@ -91,6 +95,10 @@ func domainIfaceHasAddress(virConn *libvirt.Libvirt, domain libvirt.Domain,
log.Printf("[DEBUG] waiting for network address for iface=%s\n", mac)
ifacesWithAddr, err := domainGetIfacesInfo(virConn, domain, rd)
if err != nil {
if strings.Contains(err.Error(), "Guest agent is not responding: QEMU guest agent is not connected") {
log.Print("[DEBUG] could not retrieve interface addresses: domain qemu guest agent is not yet ready")
return false, false, nil
}
return false, false, fmt.Errorf("error retrieving interface addresses: %w", err)
}
log.Printf("[DEBUG] ifaces with addresses: %+v\n", ifacesWithAddr)
Expand Down

0 comments on commit 1f8c0e8

Please sign in to comment.