Skip to content

fix: use cobra.Finalize instead of PersistentPostRunE#984

Merged
Skarlso merged 2 commits into
open-component-model:mainfrom
Skarlso:fix-persistent-post-run
Oct 3, 2025
Merged

fix: use cobra.Finalize instead of PersistentPostRunE#984
Skarlso merged 2 commits into
open-component-model:mainfrom
Skarlso:fix-persistent-post-run

Conversation

@Skarlso

@Skarlso Skarlso commented Oct 2, 2025

Copy link
Copy Markdown
Contributor

What this PR does / why we need it

Failing flow:

❯ ocm add component-version --repository ghcr.io/skarlso/test-signed-helmchart --constructor component-constructor.yaml --loglevel debug
time=2025-10-02T16:51:04.082+02:00 level=DEBUG msg="ocm config was loaded successfully" path=/Users/skarlso/.ocmconfig
time=2025-10-02T16:51:04.083+02:00 level=DEBUG msg="discovered plugin" id=helm path=/Users/skarlso/.config/ocm/plugins/helm
{"time":"2025-10-02T16:51:04.101616+02:00","level":"INFO","msg":"capabilities sent"}
time=2025-10-02T16:51:04.102+02:00 level=DEBUG msg="adding construction resource input plugin" id=helm
time=2025-10-02T16:51:04.103+02:00 level=DEBUG msg="starting discovery based on components in constructor" num_components=1 components="[name=ocm.software/test-component-helm,version=1.0.0]"
time=2025-10-02T16:51:04.103+02:00 level=DEBUG msg="discovering internal component" component="name=ocm.software/test-component-helm,version=1.0.0"
time=2025-10-02T16:51:04.103+02:00 level=DEBUG msg="component reference discovery completed successfully" num_components=1
time=2025-10-02T16:51:04.103+02:00 level=DEBUG msg="starting processing of discovered component graph" num_components=1
time=2025-10-02T16:51:04.103+02:00 level=DEBUG msg="processing internal component" component="name=ocm.software/test-component-helm,version=1.0.0"
time=2025-10-02T16:51:04.103+02:00 level=DEBUG msg="created base descriptor" realm=constructor component=ocm.software/test-component-helm version=1.0.0
time=2025-10-02T16:51:04.103+02:00 level=INFO msg="Resolving credentials via repository" identity="hostname=ghcr.io,path=skarlso/test-signed-helmchart,type=OCIRepository/v1" config=DockerConfig/v1(~/.docker/config.json)
time=2025-10-02T16:51:04.103+02:00 level=DEBUG msg="using docker config from file" file=~/.docker/config.json
time=2025-10-02T16:51:04.103+02:00 level=DEBUG msg="getting credentials" serverAddress=ghcr.io
time=2025-10-02T16:51:04.152+02:00 level=INFO msg="got credential" serverAddress=ghcr.io username=skarlso serverAddress=ghcr.io
time=2025-10-02T16:51:04.152+02:00 level=DEBUG msg="checking for existing component version in target repository" realm=constructor component=ocm.software/test-component-helm version=1.0.0 component=ocm.software/test-component-helm version=1.0.0
time=2025-10-02T16:51:04.152+02:00 level=DEBUG msg="operation starting" realm=oci operation="get component version" component=ocm.software/test-component-helm version=1.0.0
time=2025-10-02T16:51:04.152+02:00 level=DEBUG msg="resolving descriptor" reference=ghcr.io/skarlso/test-signed-helmchart/component-descriptors/ocm.software/test-component-helm:1.0.0
 0.00% [..................] [0 component version in 1.101001s] ... component ocm.software/test-component-helm/1.0.0
time=2025-10-02T16:51:05.231+02:00 level=INFO msg="fetching descriptor" descriptor.mediaType=application/vnd.oci.image.index.v1+json descriptor.digest=sha256:253878ceec3a9e57631ede65658ddeb25c623e65143cab3daac6ff21bd989576 descriptor.size  0.00% [..................] [0 component version in 4.100587s] ... component ocm.software/test-component-helm/1.0.0
 0.00% [..................] [0 component version in 4.181846s] ... component ocm.software/test-component-helm/1.0.0
Shutting down plugin manager...
Error: failed to constructComponent components from graph: failed to process component constructor graph: failed to process vertices: failed to process vertex with id name=ocm.software/test-component-helm,version=1.0.0: failed to process internal component: error constructing component "name=ocm.software/test-component-helm,version=1.0.0": component version "name=ocm.software/test-component-helm,version=1.0.0" already exists in target repository
➜ ps aux | grep [h]elm
sap/open-component-model-examples/remote-helm

Successful flow:

time=2025-10-02T16:55:40.569+02:00 level=DEBUG msg="operation completed" realm=oci operation="add component version" duration=11.323573541s component=ocm.software/test-component-helm version=1.0.0
time=2025-10-02T16:55:40.569+02:00 level=DEBUG msg="component constructed successfully"
component ocm.software/test-component-helm/1.0.0 constructed ... done! [1 component version in 23.384s]
Shutting down plugin manager...
time=2025-10-02T16:55:40.571+02:00 level=INFO msg="Received signal. Shutting down." signal=2 time=2025-10-02T16:55:40.571062+02:00
time=2025-10-02T16:55:40.571+02:00 level=INFO msg="gracefully shutting down plugin" id=helm time=2025-10-02T16:55:40.571159+02:00
➜ ps aux | grep [h]elm
sap/open-component-model-examples/remote-helm

Which issue(s) this PR fixes

Fixes #914

On-behalf-of: Gergely Brautigam <gergely.brautigam@sap.com>

Signed-off-by: Gergely Brautigam <182850+Skarlso@users.noreply.github.com>
@Skarlso Skarlso requested a review from a team as a code owner October 2, 2025 14:56
@Skarlso Skarlso merged commit 434fac0 into open-component-model:main Oct 3, 2025
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PersistentPostRunE isn't executed if the command fails

3 participants