Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libct: add/use configs.HasHook #4433

Merged
merged 2 commits into from
Dec 25, 2024
Merged

Conversation

kolyshkin
Copy link
Contributor

  1. libct: add/use configs.HasHook

    This allows to omit a call to c.currentOCIState (which can be somewhat
    costly when there are many annotations) when the hooks of a given kind
    won't be run.

  2. libct: don't pass SpecState to init unless needed

    SpecState field of initConfig is only needed to run hooks that are
    executed inside a container -- namely CreateContainer and
    StartContainer.

    If these hooks are not configured, there is no need to fill, marshal and
    unmarshal SpecState.

@kolyshkin kolyshkin force-pushed the hasHook branch 2 times, most recently from 5a98014 to 76cabbc Compare October 10, 2024 19:16
@kolyshkin kolyshkin requested a review from cyphar October 10, 2024 19:16
This allows to omit a call to c.currentOCIState (which can be somewhat
costly when there are many annotations) when the hooks of a given kind
won't be run.

Signed-off-by: Kir Kolyshkin <[email protected]>
SpecState field of initConfig is only needed to run hooks that are
executed inside a container -- namely CreateContainer and
StartContainer.

If these hooks are not configured, there is no need to fill, marshal and
unmarshal SpecState.

While at it, inline updateSpecState as it is trivial and only has one user.

Signed-off-by: Kir Kolyshkin <[email protected]>
@kolyshkin
Copy link
Contributor Author

Rebased, resolving the conflict after #4312 merge. PTAL @opencontainers/runc-maintainers, this is an easy to review one.

@lifubang lifubang merged commit fd932ec into opencontainers:main Dec 25, 2024
40 checks passed
@@ -332,6 +332,19 @@ const (
Poststop HookName = "poststop"
)

// HasHook checks if config has any hooks with any given names configured.
Copy link
Member

Choose a reason for hiding this comment

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

I think we don’t have libct API document at this time. Otherwise this useful API should be mentioned in the doc.

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

Successfully merging this pull request may close these issues.

4 participants