MCPcopy Create free account
hub / github.com/cloudfoundry/bosh-agent / SetupDataDir

Method SetupDataDir

platform/linux_platform.go:922–1013  ·  view source on GitHub ↗
(jobConfig boshsettings.JobDir, runConfig boshsettings.RunDir)

Source from the content-addressed store, hash-verified

920}
921
922func (p linux) SetupDataDir(jobConfig boshsettings.JobDir, runConfig boshsettings.RunDir) error {
923 dataDir := p.dirProvider.DataDir()
924
925 sysDataDir := path.Join(dataDir, "sys")
926
927 logDir := path.Join(sysDataDir, "log")
928 err := p.fs.MkdirAll(logDir, logDirPermissions)
929 if err != nil {
930 return bosherr.WrapErrorf(err, "Making %s dir", logDir)
931 }
932
933 _, _, _, err = p.cmdRunner.RunCommand("chown", "root:vcap", sysDataDir)
934 if err != nil {
935 return bosherr.WrapErrorf(err, "chown %s", sysDataDir)
936 }
937
938 _, _, _, err = p.cmdRunner.RunCommand("chown", "root:vcap", logDir)
939 if err != nil {
940 return bosherr.WrapErrorf(err, "chown %s", logDir)
941 }
942
943 jobsDir := p.dirProvider.DataJobsDir()
944 err = p.fs.MkdirAll(jobsDir, jobsDirPermissions)
945 if err != nil {
946 return bosherr.WrapErrorf(err, "Making %s dir", jobsDir)
947 }
948
949 dynamicDisksDir := p.dirProvider.DataDynamicDisksDir()
950 err = p.fs.MkdirAll(dynamicDisksDir, persistentDiskPermissions)
951 if err != nil {
952 return bosherr.WrapErrorf(err, "Making %s dir", dynamicDisksDir)
953 }
954
955 sensitiveDir := p.dirProvider.SensitiveBlobsDir()
956 err = p.fs.MkdirAll(sensitiveDir, blobsDirPermissions)
957 if err != nil {
958 return bosherr.WrapErrorf(err, "Making %s dir", sensitiveDir)
959 }
960
961 if jobConfig.TmpFS {
962 size := jobConfig.TmpFSSize
963 if size == "" {
964 size = "100m"
965 }
966
967 if err = p.diskManager.GetMounter().MountTmpfs(jobsDir, size); err != nil {
968 return err
969 }
970 if err = p.diskManager.GetMounter().MountTmpfs(sensitiveDir, size); err != nil {
971 return err
972 }
973 }
974
975 _, _, _, err = p.cmdRunner.RunCommand("chown", "root:vcap", jobsDir)
976 if err != nil {
977 return bosherr.WrapErrorf(err, "chown %s", jobsDir)
978 }
979

Callers

nothing calls this directly

Calls 10

setupRunDirMethod · 0.95
DataDirMethod · 0.80
MkdirAllMethod · 0.80
DataJobsDirMethod · 0.80
DataDynamicDisksDirMethod · 0.80
SensitiveBlobsDirMethod · 0.80
PkgDirMethod · 0.80
RunCommandMethod · 0.65
MountTmpfsMethod · 0.65
GetMounterMethod · 0.65

Tested by

no test coverage detected