-
Notifications
You must be signed in to change notification settings - Fork 89
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Container import from directory with sockets fails #892
Comments
The following associated command also shows errors: wwctl container import --force /tmp/rocky-8-def rocky-def |
@BeHom thanks for reporting this. This is a known issue, and one I'm hoping to get fixed soon. In my experience, if you try to |
Thanks @anderbubble for getting back. [root@martin tmp]# Import under new name also gets stuck. Import of new build container sandbox also failed. Container import updates will not update the chroot of the container. |
this PR should help fix this issue |
test against the main branch
|
Thanks for the verification, @JasonYangShadow! |
Sorry have to reopen the issue. I just used “dnf install” for the packages (kept old Warewulf setup). Build a container based on definition file: Try to import the container: wwctl container import /tmp/rocky-8-base-container rocky-8-def-05 After a restart, at least the import is possible. |
@BeHom thanks for the report. We'll investigate. |
@BeHom I think I see now that I was misunderstanding your report. We had previously also had a general issue with force-importing; but it appears to be working in a simple case now:
It also worked with a Rocky container.
Can you share the specific |
@anderbubble After your question about the def file, I delved a little deeper into the subject of container creation. There are still running processes for the sandbox container after build These processes will disappear after reboot and therefore release the /run/user/0 directories. My though was that after apptainer build sandbox finished all related processes are stopped. The error message from warewulf is somewhat misleading: Attach a definition file (did not check whether this one is bootable) showing the principal problem. #################################################################### ########################################################################## sed -i -e '/^account.pam_unix.so\s rm -f /etc/sysconfig/network-scripts/ifcfg-e* systemctl unmask console-getty.service dev-hugepages.mount getty.target sys-fs-fuse-connections.mount systemd-logind.service systemd-remount-fs.service touch /etc/sysconfig/disable-deprecation-warnings mkdir -p /etc/warewulf echo "#!/bin/sh" > /etc/warewulf/container_exit.sh %labels |
Thanks for all the new info, @BeHom! I'll try to replicate. |
@BeHom there's a few different things happening here at the same time.
Ultimately, I think this is a bug in I tried updating to the latest version of For now, I suggest the following workaround to remove sockets from a sandbox before import:
|
Also more recently reported during
|
- Workaround for warewulf#892 Signed-off-by: Jonathon Anderson <[email protected]>
- Workaround for warewulf#892 Signed-off-by: Jonathon Anderson <[email protected]>
I've submitted #1430 to at least document this issue and its workaround. I also submitted containers/storage#2113 to see if upstream might be willing to resolve this on their end. |
- Workaround for warewulf#892 Signed-off-by: Jonathon Anderson <[email protected]>
This is now fixed upstream at containers/storage#2117. I'm asking there about getting the fix backported to 1.55 so that we can use it here in Warewulf. |
Backport PR at containers/storage#2159. |
Backport merged upstream. Now we just wait for release. Should be in v1.55.2. |
- Fixes warewulf#892 Signed-off-by: Jonathon Anderson <[email protected]>
Thanks for the merge! |
Version of Warewulf
What version of Warewulf are you using? Run
Expected behavior
During the development process of a container definition file, I need to import, delete and re-import a container from the Apptainer build process. While it works one time it failed the 2nd time.
The expected behavior is that the import should be possible at any time .
Actual behavior
Sequence of work
wwctl profile set --yes --container rocky-8 "default"
apptainer build --sandbox /tmp/rocky-8-def ./rocky-8-def.def
wwctl container delete rocky-def
wwctl container import /tmp/rocky-8-def rocky-def
wwctl profile set --yes --container rocky-def "default"
During the import step, the following error occurred.
wwctl container import /tmp/rocky-8-def rocky-def
ERROR : could not import image: lchown /var/lib/warewulf/chroots/rocky-def/rootfs/run/user/0/gnupg/d.hkt3xk3ifea4rs471snc7nsb/S.gpg-agent: no such file or directory
ERROR: could not import image: lchown /var/lib/warewulf/chroots/rocky-def/rootfs/run/user/0/gnupg/d.hkt3xk3ifea4rs471snc7nsb/S.gpg-agent: no such file or directory
No matter if I restarted warewulf or reconfigured warewulf, the problem remains.
Only a reboot of the warewulf master server will fix it.
It looks like artifacts from the old container I deleted are preventing a new import.
A test with a new container and then an import was succesfull possible in the error situation.
Only the import into a previously existing container name, in my case rocky-def, is not possible.
Steps to reproduce this behavior
See above.
How can others reproduce this issue/problem?
What OS/distro are you running
How did you install Warewulf
dnf install ./warewulf-4.4.1-1.rpm
The text was updated successfully, but these errors were encountered: