Skip to content

Conversation

@pothos
Copy link
Member

@pothos pothos commented Oct 13, 2025

There is a post-install action to prevent opaque directories (meaning any existing underlay directory is ignored) for those directories under /etc that the user might have created but we ship them later also in our /etc underlay. This action was not working when files were kept open under /etc because the unmount in the temporary namespace was not lazy. Use the lazy unmount option to address this.

How to use

That's something I would like to backport.

Testing done

Works, it runs again: Could not remove "overlay.opaque" for /etc/extensions is printed

  • 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.

There is a post-install action to prevent opaque directories (meaning
any existing underlay directory is ignored) for those directories under
/etc that the user might have created but we ship them later also in our
/etc underlay. This action was not working when files were kept open
under /etc because the unmount in the temporary namespace was not lazy.
Use the lazy unmount option to address this.

Signed-off-by: Kai Lueke <kailuke@microsoft.com>
@pothos pothos requested a review from a team as a code owner October 13, 2025 08:36
Copy link

@chewi chewi left a comment

Choose a reason for hiding this comment

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

Lazy unmount usually makes me feel uneasy, but it makes sense in this tiny context. The alternative would be to bind mount /etc somewhere else.

@pothos pothos merged commit 3a44be4 into main Oct 13, 2025
5 checks passed
@pothos pothos deleted the kai/postinst-fix branch October 13, 2025 14:29
pothos added a commit to flatcar/scripts that referenced this pull request Oct 13, 2025
When /etc way kept busy through, e.g., a process using it as CWD, then
even in the temporary namespace unmounting failed unless it was done
with the lazy option.
This pulls in flatcar/update_engine#52 to
address this.

Signed-off-by: Kai Lueke <kailuke@microsoft.com>
pothos added a commit to flatcar/scripts that referenced this pull request Oct 14, 2025
When /etc way kept busy through, e.g., a process using it as CWD, then
even in the temporary namespace unmounting failed unless it was done
with the lazy option.
This pulls in flatcar/update_engine#52 to
address this.

Signed-off-by: Kai Lueke <kailuke@microsoft.com>
pothos added a commit to flatcar/scripts that referenced this pull request Oct 14, 2025
When /etc way kept busy through, e.g., a process using it as CWD, then
even in the temporary namespace unmounting failed unless it was done
with the lazy option.
This pulls in flatcar/update_engine#52 to
address this.

Signed-off-by: Kai Lueke <kailuke@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants