From 00b7dfea1fae819a7e229b6b7e2c5634845bfe81 Mon Sep 17 00:00:00 2001 From: Darren Shepherd Date: Thu, 4 Feb 2016 22:21:43 -0700 Subject: [PATCH] Create directory if missing when writing network.yml --- cmd/cloudinit/packet.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cmd/cloudinit/packet.go b/cmd/cloudinit/packet.go index 58cab269..aec37366 100644 --- a/cmd/cloudinit/packet.go +++ b/cmd/cloudinit/packet.go @@ -3,6 +3,8 @@ package cloudinit import ( "fmt" "net/http" + "os" + "path" "strings" yaml "github.com/cloudfoundry-incubator/candiedyaml" @@ -83,6 +85,10 @@ func enablePacketNetwork(cfg *rancherConfig.RancherConfig) { }, } + if err := os.MkdirAll(path.Dir(rancherConfig.CloudConfigNetworkFile, 0700)); err != nil { + logrus.Errorf("Failed to create directory for file %s: %v", rancherConfig.CloudConfigNetworkFile, err) + } + if err := rancherConfig.WriteToFile(cc, rancherConfig.CloudConfigNetworkFile); err != nil { logrus.Errorf("Failed to save config file %s: %v", rancherConfig.CloudConfigNetworkFile, err) }