From e6a560b40797324aa8b90e7100c6d50bff91f14d Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Thu, 30 Sep 2021 15:53:18 -0400 Subject: [PATCH] deploy: Ignore sockets, fifos in /etc during merge https://bugzilla.redhat.com/show_bug.cgi?id=1945274 is an issue where a privileged kubernetes daemonset is writing a socket into `/etc`. This makes ostree upgrades barf. Now, they should clearly move it to `/run`. However, one option is for us to just ignore it instead of erroring out. Some brief investigation shows that e.g. `git add somesocket` is a silent no-op, which is an argument in favor of ignoring it. Closes: https://github.com/ostreedev/ostree/issues/2446 --- src/libostree/ostree-sysroot-deploy.c | 4 +--- tests/kolainst/destructive/staged-deploy.sh | 20 +++++++++++++++++++ .../test-admin-deploy-etcmerge-cornercases.sh | 7 +++++++ 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/src/libostree/ostree-sysroot-deploy.c b/src/libostree/ostree-sysroot-deploy.c index 6a13a41b..a8bf9f44 100644 --- a/src/libostree/ostree-sysroot-deploy.c +++ b/src/libostree/ostree-sysroot-deploy.c @@ -488,9 +488,7 @@ copy_modified_config_file (int orig_etc_fd, } else { - return glnx_throw (error, - "Unsupported non-regular/non-symlink file in /etc '%s'", - path); + ot_journal_print (LOG_INFO, "Ignoring non-regular/non-symlink file found during /etc merge: %s", path); } return TRUE;