diff --git a/containers/Singularity/rocky-8.def b/containers/Singularity/rocky-8.def index 6e978fe8..f4050036 100644 --- a/containers/Singularity/rocky-8.def +++ b/containers/Singularity/rocky-8.def @@ -14,4 +14,4 @@ Include: dnf shadow-utils rsyslog tzdata util-linux words zlib tar less \ gzip which util-linux openssh-clients openssh-server dhclient \ pciutils vim-minimal shadow-utils strace cronie crontabs cpio \ - wget rocky-release ipmitool yum NetworkManager + wget rocky-release ipmitool yum NetworkManager \ No newline at end of file diff --git a/internal/app/wwctl/container/exec/child/main.go b/internal/app/wwctl/container/exec/child/main.go index 7c002db1..1e464fbd 100644 --- a/internal/app/wwctl/container/exec/child/main.go +++ b/internal/app/wwctl/container/exec/child/main.go @@ -11,7 +11,6 @@ import ( "syscall" "github.com/hpcng/warewulf/internal/pkg/container" - "github.com/hpcng/warewulf/internal/pkg/util" "github.com/hpcng/warewulf/internal/pkg/wwlog" "github.com/spf13/cobra" ) @@ -35,10 +34,6 @@ func CobraRunE(cmd *cobra.Command, args []string) error { syscall.Mount("", "/", "", syscall.MS_PRIVATE, "") syscall.Mount("/dev", path.Join(containerPath, "/dev"), "", syscall.MS_BIND, "") - if util.IsFile(path.Join(containerPath, "/etc/resolv.conf")) == true { - syscall.Mount("/etc/resolv.conf", path.Join(containerPath, "/etc/resolv.conf"), "", syscall.MS_BIND, "") - } - for _, b := range binds { var source string var dest string @@ -67,6 +62,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error { ps1string := fmt.Sprintf("[%s] Warewulf> ", containerName) os.Setenv("PS1", ps1string) + os.Setenv("PATH", "/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin") os.Setenv("HISTFILE", "/dev/null") err := syscall.Exec(args[1], args[1:], os.Environ()) diff --git a/internal/app/wwctl/container/imprt/main.go b/internal/app/wwctl/container/imprt/main.go index 929404a4..fe6b27a6 100644 --- a/internal/app/wwctl/container/imprt/main.go +++ b/internal/app/wwctl/container/imprt/main.go @@ -121,8 +121,14 @@ func CobraRunE(cmd *cobra.Command, args []string) error { } } + fmt.Printf("Updating the container's /etc/resolv.conf\n") + err := util.CopyFile("/etc/resolv.conf", path.Join(container.RootFsDir(name), "/etc/resolv.conf")) + if err != nil { + wwlog.Printf(wwlog.WARN, "Could not copy /etc/resolv.conf into container: %s\n", err) + } + fmt.Printf("Building container: %s\n", name) - err := container.Build(name, true) + err = container.Build(name, true) if err != nil { wwlog.Printf(wwlog.ERROR, "Could not build container %s: %s\n", name, err) os.Exit(1) diff --git a/internal/pkg/util/util.go b/internal/pkg/util/util.go index dad621b0..c2698ce4 100644 --- a/internal/pkg/util/util.go +++ b/internal/pkg/util/util.go @@ -111,7 +111,7 @@ func CopyFiles(source string, dest string) error { if err != nil { return err } - err = CopyUIDGID(source,dest) + err = CopyUIDGID(source, dest) if err != nil { return err }