@@ -284,7 +284,16 @@ func (h *SidecarHandler) CreateHandler(w http.ResponseWriter, r *http.Request) {
284284 podUID := string (data .Pod .UID )
285285 podNamespace := string (data .Pod .Namespace )
286286
287- podDirectoryPath := filepath .Join (wd , h .Config .DataRootFolder + podNamespace + "-" + podUID )
287+ podDirectoryPath := filepath .Join (wd , h .Config .DataRootFolder + "/" + podNamespace + "-" + podUID )
288+
289+ // if the podDirectoryPath does not exist, create it
290+ if _ , err := os .Stat (podDirectoryPath ); os .IsNotExist (err ) {
291+ err = os .MkdirAll (podDirectoryPath , os .ModePerm )
292+ if err != nil {
293+ HandleErrorAndRemoveData (h , w , "An error occurred during the creation of the pod directory" , err , "" , "" )
294+ return
295+ }
296+ }
288297
289298 // call prepareDockerRuns to get the DockerRunStruct array
290299 dockerRunStructs , err := h .prepareDockerRuns (data , w )
@@ -331,7 +340,7 @@ func (h *SidecarHandler) CreateHandler(w http.ResponseWriter, r *http.Request) {
331340 dindContainerArgs = append (dindContainerArgs , "-v" , "/cvmfs:/cvmfs" )
332341 }
333342
334- dindContainerArgs = append (dindContainerArgs , "--privileged" , "-v" , "/home:/home" , "-v" , "/var/lib/docker/overlay2:/var/lib/docker/overlay2" , "-v" , "/var/lib/docker/image:/var/lib/docker/image" , "-d" , "--name" , string (data .Pod .UID )+ "_dind" , dindImage )
343+ dindContainerArgs = append (dindContainerArgs , "--privileged" , "-v" , wd + ":/" + wd , "-v" , "/home:/home" , "-v" , "/var/lib/docker/overlay2:/var/lib/docker/overlay2" , "-v" , "/var/lib/docker/image:/var/lib/docker/image" , "-d" , "--name" , string (data .Pod .UID )+ "_dind" , dindImage )
335344
336345 var dindContainerID string
337346 shell := exec.ExecTask {
0 commit comments