@@ -235,7 +235,16 @@ func (h *SidecarHandler) CreateHandler(w http.ResponseWriter, r *http.Request) {
235235		podUID  :=  string (data .Pod .UID )
236236		podNamespace  :=  string (data .Pod .Namespace )
237237
238- 		podDirectoryPath  :=  filepath .Join (wd , h .Config .DataRootFolder + podNamespace + "-" + podUID )
238+ 		podDirectoryPath  :=  filepath .Join (wd , h .Config .DataRootFolder + "/" + podNamespace + "-" + podUID )
239+ 
240+ 		// if the podDirectoryPath does not exist, create it 
241+ 		if  _ , err  :=  os .Stat (podDirectoryPath ); os .IsNotExist (err ) {
242+ 			err  =  os .MkdirAll (podDirectoryPath , os .ModePerm )
243+ 			if  err  !=  nil  {
244+ 				HandleErrorAndRemoveData (h , w , "An error occurred during the creation of the pod directory" , err , "" , "" )
245+ 				return 
246+ 			}
247+ 		}
239248
240249		// call prepareDockerRuns to get the DockerRunStruct array 
241250		dockerRunStructs , err  :=  h .prepareDockerRuns (data , w )
@@ -282,7 +291,7 @@ func (h *SidecarHandler) CreateHandler(w http.ResponseWriter, r *http.Request) {
282291			dindContainerArgs  =  append (dindContainerArgs , "-v" , "/cvmfs:/cvmfs" )
283292		}
284293
285- 		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 )
294+ 		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 )
286295
287296		var  dindContainerID  string 
288297		shell  :=  exec.ExecTask {
0 commit comments