Do not validate the volume source path in specgen

The volume src path should not be validated in specgen since
the remote client also uses that part and the path must only
exists on the server. This now fails later and only on the
server and not the client.

I don't think I can add a test for this because the CI runs
server and client always on the same vm.

Fixes #8473

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
This commit is contained in:
Paul Holzinger 2020-11-25 16:43:53 +01:00
parent d4083954f2
commit f7f85fef7c
2 changed files with 4 additions and 5 deletions

View File

@ -323,8 +323,8 @@ func getBindMount(args []string) (spec.Mount, error) {
if len(kv) == 1 { if len(kv) == 1 {
return newMount, errors.Wrapf(optionArgError, kv[0]) return newMount, errors.Wrapf(optionArgError, kv[0])
} }
if err := parse.ValidateVolumeHostDir(kv[1]); err != nil { if len(kv[1]) == 0 {
return newMount, err return newMount, errors.Wrapf(optionArgError, "host directory cannot be empty")
} }
newMount.Source = kv[1] newMount.Source = kv[1]
setSource = true setSource = true

View File

@ -84,11 +84,10 @@ func GenVolumeMounts(volumeFlag []string) (map[string]spec.Mount, map[string]*Na
return nil, nil, nil, err return nil, nil, nil, err
} }
} }
// Do not check source dir for anonymous volumes // Do not check source dir for anonymous volumes
if len(splitVol) > 1 { if len(splitVol) > 1 {
if err := parse.ValidateVolumeHostDir(src); err != nil { if len(src) == 0 {
return nil, nil, nil, err return nil, nil, nil, errors.New("host directory cannot be empty")
} }
} }
if err := parse.ValidateVolumeCtrDir(dest); err != nil { if err := parse.ValidateVolumeCtrDir(dest); err != nil {