Skip to content

overlay baselayout: symlink networks, protocols, rpc, services into /etc - #4190

Draft
dongsupark wants to merge 1 commit into
mainfrom
contribution/satwiksps/fix-missing-nss-files
Draft

overlay baselayout: symlink networks, protocols, rpc, services into /etc#4190
dongsupark wants to merge 1 commit into
mainfrom
contribution/satwiksps/fix-missing-nss-files

Conversation

@dongsupark

@dongsupark dongsupark commented Aug 6, 2026

Copy link
Copy Markdown
Member

Pulls in flatcar/baselayout#44.

/etc/protocols, /etc/services, /etc/rpc and /etc/networks are not on disk in flatcar. Glibc finds them under /usr/share/baselayout/ through the usrfiles NSS module wired up in nsswitch.conf, so getprotobyname() and friends work fine and nothing looks broken.

Anything that opens those paths directly does break though. Statically linked binaries and go programs parse /etc/protocols themselves, and kubernetes workloads that mount the file as a hostPath with type: File do not even start, because kubelet requires the path to exist on the host, this is what azure-npm runs into.

So this PR adds four L lines to baselayout-etc.conf pointing back at the copies in /usr/share/baselayout/, exactly how /etc/nsswitch.conf and /etc/issue are already handled. L leaves an existing path alone, so anyone who put their own file in /etc keeps it.

/cc @satwiksps

Fixes flatcar/Flatcar#1852

Testing done

CI: https://jenkins.flatcar.org/job/container/job/sdk/130/cldsv/

  • Changelog entries added in the respective changelog/ directory (user-facing change, bug fix, security fix, update)
  • Inspected CI output for image differences: /boot and /usr size, packages, list files for any missing binaries, kernel modules, config files, kernel modules, etc.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Flatcar sys-apps/baselayout overlay package to a baselayout commit that adds tmpfiles “L” symlinks so /etc/protocols, /etc/services, /etc/rpc, and /etc/networks exist on-disk (improving compatibility with static/Go binaries and Kubernetes hostPath type: File).

Changes:

  • Bump the baselayout distfile referenced by the ebuilds/Manifest to commit a84fe9fe7c680a9de488ed58f85debf08432cbdd.
  • Add a new versioned ebuild baselayout-3.6.8-r23 pinned to that commit.
  • Update the existing baselayout-9999.ebuild (non-9999 branch metadata) to the same commit.

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated no comments.

File Description
sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/Manifest Updates the distfile checksum/size for the new baselayout commit tarball.
sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/baselayout-9999.ebuild Updates the pinned commit metadata in the non-live code path.
sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/baselayout-3.6.8-r23.ebuild Introduces a versioned, keyworded ebuild pinned to the baselayout commit containing the fix.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Development

Successfully merging this pull request may close these issues.

/etc/protocols file is missing on Flatcar despite existing as /usr/share/baselayout/protocols

2 participants