diff options
author | Thomas Haller <thaller@redhat.com> | 2023-03-15 13:52:45 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2023-03-16 08:33:00 +0100 |
commit | a6802cfa74a0208ffd3d7ce684431ae9bebff484 (patch) | |
tree | f12b0a91c15d0d7573e6ce282d3bb8d80d8fd8a2 | |
parent | c7675c73eee3c460ad23ac8b16ec83e9c332f189 (diff) |
nm-in-container: disable handling of "/etc/resolv.conf" in container and use 8.8.8.8.
By default, podman bind mounts a "/etc/resolv.conf" file. That prevents
NetworkManager (inside the container) to update the file, which leads to
warnings in the log and certain NM-ci tests won't pass due to that.
Disable handling of "/etc/resolv.conf" in podman. But also pre-deploy a
default resolv.conf, with the google name server 8.8.8.8. I don't
understand why, but even with "--dns=none", writing "/etc/resolv.conf"
while building the container doesn't take effect. Instead, write a
usable "/etc/resolv.conf" from "/etc/rc.d/rc.local".
-rwxr-xr-x | contrib/scripts/nm-in-container.d/data-etc-rc.local | 5 | ||||
-rwxr-xr-x | contrib/scripts/nm-in-container.d/data-nm-env-prepare.sh | 2 | ||||
-rwxr-xr-x | contrib/scripts/nm-in-container.sh | 3 |
3 files changed, 10 insertions, 0 deletions
diff --git a/contrib/scripts/nm-in-container.d/data-etc-rc.local b/contrib/scripts/nm-in-container.d/data-etc-rc.local index 3677a8c334..d59a8d769b 100755 --- a/contrib/scripts/nm-in-container.d/data-etc-rc.local +++ b/contrib/scripts/nm-in-container.d/data-etc-rc.local @@ -1,3 +1,8 @@ #!/bin/bash -e /usr/bin/_nm-in-container-setup.sh + +cat <<EOF > /etc/resolv.conf +# Generated by /etc/rc.d/rc.local +nameserver 8.8.8.8 +EOF diff --git a/contrib/scripts/nm-in-container.d/data-nm-env-prepare.sh b/contrib/scripts/nm-in-container.d/data-nm-env-prepare.sh index aa8262e98d..e26fb16758 100755 --- a/contrib/scripts/nm-in-container.d/data-nm-env-prepare.sh +++ b/contrib/scripts/nm-in-container.d/data-nm-env-prepare.sh @@ -83,6 +83,8 @@ do_setup() { --listen-address="192:168:$((120 + IDX))::1" \ --dhcp-range="192.168.$((120 + $IDX)).100,192.168.$((120 + $IDX)).150,2m" \ --dhcp-range="192:168:$((120 + IDX))::1:1000,192:168:$((120 + IDX))::1:2000,64,2m" \ + --dhcp-option=option:dns-server,8.8.8.8,8.8.4.4 \ + --dhcp-option=option6:dns-server \ --no-ping \ & diff --git a/contrib/scripts/nm-in-container.sh b/contrib/scripts/nm-in-container.sh index 521b85e86d..4e405ea5f7 100755 --- a/contrib/scripts/nm-in-container.sh +++ b/contrib/scripts/nm-in-container.sh @@ -497,6 +497,8 @@ RUN systemctl enable NetworkManager # Generate a stable machine id. RUN echo "10001000100010001000100010001000" > /etc/machine-id +RUN echo -e "# Default from the container image\nnameserver 8.8.8.8" > /etc/resolv.conf + # Generate a fixed (version 1) secret key. RUN mkdir -p /var/lib/NetworkManager RUN chmod 700 /var/lib/NetworkManager @@ -569,6 +571,7 @@ do_run() { podman run --privileged \ --name "$CONTAINER_NAME_NAME" \ + --dns=none \ -d \ -v "$BASEDIR_NM:$BASEDIR_NM" \ "${BIND_NM_CI[@]}" \ |