NERSC / podman-hpc

Other
34 stars 5 forks source link

pull needs ignore_chown_errors #81

Closed lastephey closed 10 months ago

lastephey commented 1 year ago

NERSC staff Justin Cook and user discovered that for more complex containers, the ignore_chown_errors setting needs to be enabled during a pull.

For example:

dfulton@login17> podman-hpc pull docker.io/masawatanabe/gro_cp2k:0.1
WARN[0000] Failed to decode the keys ["storage.options.overlay.squashmount"] from "/global/homes/d/dfulton/.config/containers/storage.conf"
WARN[0000] Failed to decode the keys ["storage.options.overlay.squashmount"] from "/global/u1/d/dfulton/.config/containers/storage.conf"
WARN[0000] "/" is not a shared mount, this could cause issues or missing mounts with rootless containers
Trying to pull docker.io/masawatanabe/gro_cp2k:0.1...
Getting image source signatures
Copying blob b5d3e1ac4a78 done
Copying blob 1c7948b94aef done
Copying blob 55f4afea8bee done
Copying blob 01085d60b3a6 done
Copying blob 9be0efa0eef1 done
Copying blob 556dc0d01ada done
Copying blob 450ad889c25a done
Copying blob 87ca561f5421 done
Copying blob fc61e600834f done
Error: writing blob: adding layer with blob "sha256:b5d3e1ac4a781bfbadaf08ac39e44f90873119d2888c8adc2326faf2888d8805": processing tar file(potentially insufficient UIDs or GIDs available in user namespace (requested 1747600046:1747600039 for /Masa/cp2k/tools/toolchain/build/scalapack-2.1.0): Check /etc/subuid and /etc/subgid if configured locally and run podman-system-migrate: lchown /Masa/cp2k/tools/toolchain/build/scalapack-2.1.0: invalid argument): exit status 1
Pull failed.

With the ignore_chown_errors flag:

stephey@perlmutter:login05:/global/cfs/cdirs/das> podman-hpc pull --storage-opt ignore_chown_errors=true docker.io/masawatanabe/gro_cp2k:0.1
WARN[0000] Failed to decode the keys ["storage.options.overlay.squashmount"] from "/global/homes/s/stephey/.config/containers/storage.conf" 
WARN[0000] Failed to decode the keys ["storage.options.overlay.squashmount"] from "/global/u1/s/stephey/.config/containers/storage.conf" 
Trying to pull docker.io/masawatanabe/gro_cp2k:0.1...
Getting image source signatures
Copying blob b5d3e1ac4a78 done  
Copying blob 1c7948b94aef skipped: already exists  
Copying blob 9be0efa0eef1 skipped: already exists  
Copying blob 01085d60b3a6 skipped: already exists  
Copying blob 55f4afea8bee skipped: already exists  
Copying blob 450ad889c25a done  
Copying blob 556dc0d01ada skipped: already exists  
Copying blob 87ca561f5421 done  
Copying blob fc61e600834f done  
Copying config 3dc924d955 done  
Writing manifest to image destination
Storing signatures
3dc924d9555e187f83262294f4d221fbdec2e7da645ca36a1e60540d84fddacb
INFO: Migrating image to /pscratch/sd/s/stephey/storage
stephey@perlmutter:login05:/global/cfs/cdirs/das> 

As far as I know, ignore_chown_errors is a requirement for HPC systems, so we should add this to our default pull args.

lastephey commented 10 months ago

Should be addressed by https://github.com/NERSC/podman-hpc/pull/82