diff --git a/internal/ocm-cli/component_getter.go b/internal/ocm-cli/component_getter.go index 91762ee..0a5c0b3 100644 --- a/internal/ocm-cli/component_getter.go +++ b/internal/ocm-cli/component_getter.go @@ -4,6 +4,8 @@ import ( "context" "fmt" "strings" + + "github.com/openmcp-project/bootstrapper/internal/log" ) type ComponentGetter struct { @@ -86,6 +88,9 @@ func (g *ComponentGetter) OCMConfig() string { } func (g *ComponentGetter) GetReferencedComponentVersion(ctx context.Context, parentCV *ComponentVersion, refName string) (*ComponentVersion, error) { + logger := log.GetLogger() + logger.Tracef("Comp_Getter: Getting component reference %s in component version %s", refName, parentCV.Component.Name) + ref, err := parentCV.GetComponentReference(refName) if err != nil { return nil, fmt.Errorf("error getting component reference %s: %w", refName, err) @@ -97,10 +102,14 @@ func (g *ComponentGetter) GetReferencedComponentVersion(ctx context.Context, par return nil, fmt.Errorf("error getting component version %s: %w", location, err) } + logger.Tracef("Comp_Getter: Found component reference %s in component version %s", refName, parentCV.Component.Name) return cv, nil } func (g *ComponentGetter) GetReferencedComponentVersionRecursive(ctx context.Context, parentCV *ComponentVersion, refName string) (*ComponentVersion, error) { + logger := log.GetLogger() + logger.Tracef("Comp_Getter: Searching for component reference %s in component version %s", refName, parentCV.Component.Name) + // First, try to get the reference directly from the parent component version ref, err := g.GetReferencedComponentVersion(ctx, parentCV, refName) if err == nil { @@ -123,6 +132,9 @@ func (g *ComponentGetter) GetReferencedComponentVersionRecursive(ctx context.Con } func (g *ComponentGetter) GetComponentVersionForResourceRecursive(ctx context.Context, parentCV *ComponentVersion, resourceName string) (*ComponentVersion, error) { + logger := log.GetLogger() + logger.Tracef("Comp_Getter: Searching for resource %s in component version %s", resourceName, parentCV.Component.Name) + // Check if the resource exists in the current component version _, err := parentCV.GetResource(resourceName) if err == nil { @@ -149,6 +161,9 @@ func (g *ComponentGetter) DownloadTemplatesResource(ctx context.Context, downloa } func (g *ComponentGetter) DownloadDirectoryResourceByLocation(ctx context.Context, rootCV *ComponentVersion, location string, downloadDir string) error { + logger := log.GetLogger() + logger.Tracef("Comp_Getter: Downloading directory resource from location %s", location) + var err error location = strings.TrimSpace(location) diff --git a/internal/template/template.go b/internal/template/template.go index 500abea..c2c6e23 100644 --- a/internal/template/template.go +++ b/internal/template/template.go @@ -9,6 +9,8 @@ import ( "github.com/Masterminds/sprig/v3" "sigs.k8s.io/yaml" + "github.com/openmcp-project/bootstrapper/internal/log" + ocmcli "github.com/openmcp-project/bootstrapper/internal/ocm-cli" "github.com/openmcp-project/bootstrapper/internal/util" ) @@ -29,6 +31,8 @@ func fromYAML(input string) (any, error) { } func getComponentVersionByReference(ctx context.Context, compGetter *ocmcli.ComponentGetter, args ...interface{}) *ocmcli.ComponentVersion { + logger := log.GetLogger() + if compGetter == nil { panic("ComponentGetter must not be nil") } @@ -45,8 +49,13 @@ func getComponentVersionByReference(ctx context.Context, compGetter *ocmcli.Comp parentCv = args[0].(*ocmcli.ComponentVersion) } + logger.Tracef("Template_Func: getComponentVersionByReference called with parent component version: %s and reference name: %s", parentCv.Component.Name, referenceName) + cv, err := compGetter.GetReferencedComponentVersionRecursive(ctx, parentCv, referenceName) if err != nil || cv == nil { + if err != nil { + logger.Errorf("Template_Func: getComponentVersionByReference error getting component version by reference %s from parent component version %s: %v", referenceName, parentCv.Component.Name, err) + } return nil } @@ -73,12 +82,18 @@ func componentVersionAsMap(cv *ocmcli.ComponentVersion) map[string]interface{} { } func getResourceFromComponentVersion(compGetter *ocmcli.ComponentGetter, cv *ocmcli.ComponentVersion, resourceName string) map[string]interface{} { + logger := log.GetLogger() + logger.Tracef("Template_Func: getResourceFromComponentVersion called with component version: %s and resource name: %s", cv.Component.Name, resourceName) + if compGetter == nil { panic("ComponentGetter must not be nil") } res, err := cv.GetResource(resourceName) if err != nil || res == nil { + if err != nil { + logger.Errorf("Template_Func: getResourceFromComponentVersion error getting resource %s from component version %s: %v", resourceName, cv.Component.Name, err) + } return nil } @@ -105,12 +120,16 @@ func getOCMRepository(compGetter *ocmcli.ComponentGetter) string { } func listComponentVersions(ctx context.Context, compGetter *ocmcli.ComponentGetter, cv *ocmcli.ComponentVersion) []string { + logger := log.GetLogger() + logger.Tracef("Template_Func: listComponentVersions called with component version: %s", cv.Component.Name) + if compGetter == nil { panic("ComponentGetter must not be nil") } versions, err := cv.ListComponentVersions(ctx, compGetter.OCMConfig()) if err != nil { + logger.Errorf("Template_Func: listComponentVersions error listing component versions for component %s: %v", cv.Component.Name, err) return nil }