diff --git a/cmd/cloudinitsave/cloudinitsave.go b/cmd/cloudinitsave/cloudinitsave.go index 6204f69b..3cd81ba7 100755 --- a/cmd/cloudinitsave/cloudinitsave.go +++ b/cmd/cloudinitsave/cloudinitsave.go @@ -26,6 +26,7 @@ import ( yaml "github.com/cloudfoundry-incubator/candiedyaml" + "github.com/rancher/os/cmd/control" "github.com/rancher/os/cmd/network" rancherConfig "github.com/rancher/os/config" "github.com/rancher/os/config/cloudinit/config" @@ -54,6 +55,14 @@ func Main() { log.InitLogger() log.Info("Running cloud-init-save") + if err := control.UdevSettle(); err != nil { + log.Errorf("Failed to run udev settle: %v", err) + } + + cfg := rancherConfig.LoadConfig() + log.Debugf("init: SaveCloudConfig(pre ApplyNetworkConfig): %#v", cfg.Rancher.Network) + network.ApplyNetworkConfig(cfg) + if err := SaveCloudConfig(); err != nil { log.Errorf("Failed to save cloud-config: %v", err) } diff --git a/init/init.go b/init/init.go index 2993c32f..05c2a6b5 100755 --- a/init/init.go +++ b/init/init.go @@ -13,7 +13,7 @@ import ( "syscall" "github.com/docker/docker/pkg/mount" - "github.com/rancher/os/cmd/control" + // "github.com/rancher/os/cmd/control" networkCmd "github.com/rancher/os/cmd/network" "github.com/rancher/os/config" "github.com/rancher/os/dfs" @@ -304,9 +304,10 @@ func RunInit() error { log.Error(err) } - if err := control.UdevSettle(); err != nil { - log.Errorf("Failed to run udev settle: %v", err) - } + // Udev tools not available here at this point - defer to cloud-init-save container + //if err := control.UdevSettle(); err != nil { + // log.Errorf("Failed to run udev settle: %v", err) + // } //cfg := rancherConfig.LoadConfig() log.Debugf("init: SaveCloudConfig(pre ApplyNetworkConfig): %#v", cfg.Rancher.Network)