feat(info_collector): add test to fetch versions for tools in cluster#997
feat(info_collector): add test to fetch versions for tools in cluster#997silvi-t wants to merge 1 commit into
Conversation
Signed-off-by: Silvia Tarabova <starabov@redhat.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughPod metadata collection is enriched to extract container image digests from Kubernetes status fields. A new container registry resolver module handles digest-to-version-tag conversion for both standard and Red Hat registries. Tool image properties are collected, version-resolved, and recorded in the test suite reporting pipeline. ChangesContainer image metadata enrichment and version resolution
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
azgabur
left a comment
There was a problem hiding this comment.
Its not yet the case, but when releasing we will want to have all versions pinned when deploying kuadrant
Kuadrant/helm-charts-olm#80
Kuadrant/helm-charts-olm#88
So a simple collecting without resolving should be sufficient.
Keycloak version should be checked from CSV field "installedCSV" not from catalog.redhat.com as it is bit disconnected from what is on cluster.
Important
This PR modifies shared/core testsuite code that could potentially affect multiple test areas. 2 reviewers should review this PR to ensure adequate coverage.
Description
test_tools_propertiescollector test that resolves actual deployed versions of tools (e.g.keycloak:latest→keycloak:26.4.11) by querying container registry APIscontainer_image_versions.pymodule withContainerRegistryResolverthat matches image digests from pod status against semver tags in quay.io, ghcr.io, and Red Hat Catalogstatus.containerStatuses[].imageIDvia newget_pod_images()methodChanges
New Features
testsuite/container_image_versions.py: New module withContainerRegistryResolverclass that resolves container image digests to semver version tags via registry APIs (quay.io, ghcr.io, Red Hat Catalog)testsuite/tests/info_collector.py: Newtest_tools_propertiestest that collects images from thetoolsnamespace, resolves:latesttags to actual versions, and records them as Report Portal launch attributestestsuite/tests/info_collector.py: New_resolve_tools_versions()helper that skips resolution for images already tagged with semver and falls back gracefully on failureModifications
testsuite/component_metadata.py: Refactoredget_component_images()intoget_pod_images()which additionally extracts image digests from podstatus.containerStatuses;get_component_images()now wrapsget_pod_images()for backwards compatibilitytestsuite/tests/info_collector.py: Filteredtestsuite-pipelines-toolsfromtest_kuadrant_propertiesoutput as it is a CI tool, not a Kuadrant componentVerification steps
junit-00-collect.xmlfor resolved tools versionsSummary by CodeRabbit
New Features
Tests