ReproNim / neurodocker

Generate custom Docker and Singularity images, and minimize existing containers
https://www.repronim.org/neurodocker/
Apache License 2.0
325 stars 97 forks source link

`test_build_image_from_registered` failing #628

Open mvdoc opened 2 weeks ago

mvdoc commented 2 weeks ago

See https://github.com/ReproNim/neurodocker/actions/runs/9801427762/job/27086547192

I'm not sure what's happening here...

=========================== short test summary info ============================
FAILED neurodocker/cli/tests/test_build_images_with_cli.py::test_build_image_from_registered[yum-centos:7-docker] - subprocess.CalledProcessError: Command '['docker', 'build', '--tag', 'reproenv-pytest-61a51e4cb1a24d0c8828396eefd46dec', '/tmp/pytest-of-runner/pytest-0/popen-gw1/test_build_image_from_register0']' returned non-zero exit status 1.
FAILED neurodocker/cli/tests/test_build_images_with_cli.py::test_build_image_from_registered[yum-centos:7-singularity] - subprocess.CalledProcessError: Command '['sudo', 'APPTAINER_CACHEDIR=/dev/shm/runner/apptainer', 'apptainer', 'build', '/tmp/pytest-of-runner/pytest-0/popen-gw1/test_build_image_from_register1/reproenv-pytest-de6d64f3c15c4f989c23fa582cc88566.sif', '/tmp/pytest-of-runner/pytest-0/popen-gw1/test_build_image_from_register1/Singularity']' returned non-zero exit status 255.
=================== 2 failed, 78 passed in 496.39s (0:08:16) ===================
yarikoptic commented 2 weeks ago

if you look into raw log and search for the test name, and then filter for '#6' among parallel test runs (I think) then we get

2024-07-05T13:36:33.2372821Z #6 [2/3] RUN yum install -y -q            curl     && yum clean all     && rm -rf /var/cache/yum/*     && curl -fsSL --output /usr/local/bin/jq https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64     && chmod +x /usr/local/bin/jq
2024-07-05T13:36:33.7448357Z #6 0.659 Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=container error was
2024-07-05T13:36:33.7452315Z #6 0.659 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"
2024-07-05T13:36:33.8979419Z #6 0.662 
2024-07-05T13:36:33.8980641Z #6 0.662 
2024-07-05T13:36:33.8982211Z #6 0.662  One of the configured repositories failed (Unknown),
2024-07-05T13:36:33.8984218Z #6 0.662  and yum doesn't have enough cached data to continue. At this point the only
2024-07-05T13:36:33.8986175Z #6 0.662  safe thing yum can do is fail. There are a few ways to work "fix" this:
2024-07-05T13:36:33.8987124Z #6 0.662 
2024-07-05T13:36:33.8987991Z #6 0.662      1. Contact the upstream for the repository and get them to fix the problem.
2024-07-05T13:36:33.8989501Z #6 0.662 
2024-07-05T13:36:33.8992194Z #6 0.662      2. Reconfigure the baseurl/etc. for the repository, to point to a working
2024-07-05T13:36:33.8994315Z #6 0.662         upstream. This is most often useful if you are using a newer
2024-07-05T13:36:33.8996471Z #6 0.662         distribution release than is supported by the repository (and the
2024-07-05T13:36:33.8998989Z #6 0.662         packages for the previous distribution release still work).
2024-07-05T13:36:33.9000180Z #6 0.662 
2024-07-05T13:36:33.9001447Z #6 0.662      3. Run the command with the repository temporarily disabled
2024-07-05T13:36:33.9004301Z #6 0.662             yum --disablerepo=<repoid> ...
2024-07-05T13:36:33.9005500Z #6 0.662 
2024-07-05T13:36:33.9007027Z #6 0.662      4. Disable the repository permanently, so yum won't use it by default. Yum
2024-07-05T13:36:33.9008716Z #6 0.662         will then just ignore the repository until you permanently enable it
2024-07-05T13:36:33.9010348Z #6 0.662         again or use --enablerepo for temporary usage:
2024-07-05T13:36:33.9011997Z #6 0.662 
2024-07-05T13:36:33.9013661Z #6 0.662             yum-config-manager --disable <repoid>
2024-07-05T13:36:33.9014703Z #6 0.662         or
2024-07-05T13:36:33.9016044Z #6 0.662             subscription-manager repos --disable=<repoid>
2024-07-05T13:36:33.9017067Z #6 0.662 
2024-07-05T13:36:33.9018173Z #6 0.662      5. Configure the failing repository to be skipped, if it is unavailable.
2024-07-05T13:36:33.9020214Z #6 0.662         Note that yum will try to contact the repo. when it runs most commands,
2024-07-05T13:36:33.9025086Z #6 0.662         so will have to try and fail each time (and thus. yum will be be much
2024-07-05T13:36:33.9026317Z #6 0.662         slower). If it is a very temporary problem though, this is often a nice
2024-07-05T13:36:33.9027488Z #6 0.662         compromise:
2024-07-05T13:36:33.9028077Z #6 0.662 
2024-07-05T13:36:33.9028977Z #6 0.662             yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true
2024-07-05T13:36:33.9030541Z #6 0.662 
2024-07-05T13:36:33.9031285Z #6 0.662 Cannot find a valid baseurl for repo: base/7/x86_64
2024-07-05T13:36:33.9514361Z #6 ERROR: process "/bin/sh -c yum install -y -q            curl     && yum clean all     && rm -rf /var/cache/yum/*     && curl -fsSL --output /usr/local/bin/jq https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64     && chmod +x /usr/local/bin/jq" did not complete successfully: exit code: 1

and I can't reach that http://mirrorlist.centos.org/ atm either. googled into https://serverfault.com/a/1161904 which says

From first of July 2024 on CentOS 7, please switch to Vault archive repositories: vi /etc/yum.repos.d/CentOS-Base.repo copy/paste the following and mind your OS version...

I would hope that base images used here would have that fixed but it might be we would need to switch to some other...