Skip to content

Conversation

troglobit
Copy link
Contributor

Description

Fixes a slew of issues related to containers, incl. some misc. bonus fix(es):

Checklist

Tick relevant boxes, this PR is-a or has-a:

  • Bugfix
    • Regression tests
    • ChangeLog updates (for next release)
  • Feature
    • YANG model change => revision updated?
    • Regression tests added?
    • ChangeLog updates (for next release)
    • Documentation added?
  • Test changes
    • Checked in changed Readme.adoc (make test-spec)
    • Added new test to group Readme.adoc and yaml file
  • Code style update (formatting, renaming)
  • Refactoring (please detail in commit messages)
  • Build related changes
  • Documentation content changes
    • ChangeLog updated (for major changes)
  • Other (please describe):

This rectifies an omission from the initial yang model.  Not all
charachters are supported in container and volume names.  E.g.,
simply attempting to create a volume or container with a space
in the name causes this error message from podman:

 podman: Error: running volume create option: names must match [a-zA-Z0-9][a-zA-Z0-9_.-]*: invalid argument

In addition to the regexp, the new 'ident' type also enforces a
minimum and maximum length.  Sure, technically a single char is
allowed, but let's be reasonable, and who in their right mind
wants an identifier > 64 chars?  We have description for that.

Signed-off-by: Joachim Wiberg <[email protected]>
@troglobit troglobit added the ci:main Build default defconfig, not minimal label Sep 9, 2025
This commit reverts 477f7ae and bb19d06, which intended to fix an issue
with lingering old images, see #1098.  However, as detailed in #1147,
this caused severe side effects while working with multiple larger
containers.  Basically, the prune operation of one container removed
images of other containers that are just being created in parallel.

This refactor moves the cleanup logic from the cleanup:script run when
Finit stops a service to a separate process triggered by confd for all
containers that have been removed from running-config.  Not only does
this improve the UX when temporarily pausing (stopping) a container at
runtime, e.g., for debugging, it also means that all fetched images are
kept across reboots.

Fixes #1147

Signed-off-by: Joachim Wiberg <[email protected]>
The default timeout for 'podman stop foo' is 10 seconds, which for
heavily loaded systems with intricate shutdown process is *waaaay*
too short.  Increase it to the container script default 30s, which
coincidentally is also the [email protected] template's kill delay.

Fixes #1149

Signed-off-by: Joachim Wiberg <[email protected]>
Not only great for debugging, but also allows users to start their
containers manually in another way.  But yeah, mostly for debug.

Signed-off-by: Joachim Wiberg <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci:main Build default defconfig, not minimal
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant