diff --git a/system/networkd.go b/system/networkd.go index f9d59ce..9ef7e39 100644 --- a/system/networkd.go +++ b/system/networkd.go @@ -8,6 +8,7 @@ import ( "os/exec" "path" "strings" + "time" "github.com/coreos/coreos-cloudinit/network" "github.com/coreos/coreos-cloudinit/third_party/github.com/dotcloud/docker/pkg/netlink" @@ -19,6 +20,13 @@ const ( func RestartNetwork(interfaces []network.InterfaceGenerator) (err error) { defer func() { + if e := restartNetworkd(); e != nil { + err = e + return + } + // TODO(crawford): Get rid of this once networkd fixes the race + // https://bugs.freedesktop.org/show_bug.cgi?id=76077 + time.Sleep(5 * time.Second) if e := restartNetworkd(); e != nil { err = e }