Skip to content
Snippets Groups Projects
  • Emanuele Aina's avatar
    b2756878
    Drop resolv.conf so the right one is created at runtime · b2756878
    Emanuele Aina authored
    When virtualization is available, Debos uses systemd-nspawn to run commands in
    the "chroot".
    
    systemd-nspawn automatically takes care of setting up a working
    /etc/resolv.conf, usually by bind mounting the "host" one:
    
     https://www.freedesktop.org/software/systemd/man/systemd-nspawn.html#--resolv-conf=
    
    In our case, the host is the VM managed by fakemachine, which is configured to
    use systemd-resolved.
    
    The end result is that the stub /etc/resolv.conf pointing to 127.0.0.53 is
    copied to our rootfs and included in the generated ospack.
    
    This is arguably a weird corner of Debos, the resolv.conf file should really
    not persist out of the chroot:
    
     https://phabricator.apertis.org/T4308
    
    
    
    However, in the past ConnMan used to ship a tmpfiles.d snippet to overwrite
    it with a link to /var/run/connman/resolv.conf but since commit 45ccde23a90c
    shipped in ConnMan 1.36 the snippet has been changed to no longer overwrite
    existing files, causing DNS resolution to fail on our images.
    
    By dropping /etc/resolv.conf at the end of each recipe, after all the
    chroot:true actions, we should be able to ensure that the final artifacts
    don't ship it and at runtime the ConnMan tmpfiles.d snippet should work
     again as intended.
    
    Signed-off-by: Emanuele Aina's avatarEmanuele Aina <emanuele.aina@collabora.com>
    b2756878
    History
    Drop resolv.conf so the right one is created at runtime
    Emanuele Aina authored
    When virtualization is available, Debos uses systemd-nspawn to run commands in
    the "chroot".
    
    systemd-nspawn automatically takes care of setting up a working
    /etc/resolv.conf, usually by bind mounting the "host" one:
    
     https://www.freedesktop.org/software/systemd/man/systemd-nspawn.html#--resolv-conf=
    
    In our case, the host is the VM managed by fakemachine, which is configured to
    use systemd-resolved.
    
    The end result is that the stub /etc/resolv.conf pointing to 127.0.0.53 is
    copied to our rootfs and included in the generated ospack.
    
    This is arguably a weird corner of Debos, the resolv.conf file should really
    not persist out of the chroot:
    
     https://phabricator.apertis.org/T4308
    
    
    
    However, in the past ConnMan used to ship a tmpfiles.d snippet to overwrite
    it with a link to /var/run/connman/resolv.conf but since commit 45ccde23a90c
    shipped in ConnMan 1.36 the snippet has been changed to no longer overwrite
    existing files, causing DNS resolution to fail on our images.
    
    By dropping /etc/resolv.conf at the end of each recipe, after all the
    chroot:true actions, we should be able to ensure that the final artifacts
    don't ship it and at runtime the ConnMan tmpfiles.d snippet should work
     again as intended.
    
    Signed-off-by: Emanuele Aina's avatarEmanuele Aina <emanuele.aina@collabora.com>