Skip to content

fix(repo-server): Fix SystemCATrust for RHEL 9 (WIP)#1123

Open
olivergondza wants to merge 1 commit intoredhat-developer:masterfrom
olivergondza:fix-systemcatrust-tests
Open

fix(repo-server): Fix SystemCATrust for RHEL 9 (WIP)#1123
olivergondza wants to merge 1 commit intoredhat-developer:masterfrom
olivergondza:fix-systemcatrust-tests

Conversation

@olivergondza
Copy link
Copy Markdown
Collaborator

The hardcoded image url caused the tests to pass despite the desired image have changed.

What type of PR is this?

Uncomment only one /kind line, and delete the rest.
For example, > /kind bug would simply become: /kind bug

/kind bug

/kind cleanup
/kind failing-test
/kind enhancement
/kind documentation
/kind code-refactoring

What does this PR do / why we need it:

Have you updated the necessary documentation?

  • [no] Documentation update is required by this PR.
  • [no] Documentation has been updated.

Which issue(s) this PR fixes:

https://redhat.atlassian.net/browse/GITOPS-9511

Test acceptance criteria:

  • Unit Test
  • E2E Test

How to test changes / Special notes to the reviewer:

The hardcoded image url caused the tests to pass despite the desired image have changed.

Signed-off-by: Oliver Gondža <ogondza@gmail.com>
@openshift-ci openshift-ci bot added the kind/bug Something isn't working label Apr 9, 2026
@openshift-ci openshift-ci bot requested review from AdamSaleh and jannfis April 9, 2026 12:37
@openshift-ci
Copy link
Copy Markdown

openshift-ci bot commented Apr 9, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign svghadi for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


update-ca-trust
# Specifying the explicit location to turn on the container-aware behavior
update-ca-trust extract --output /etc/pki/ca-trust/extracted
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

This is the actual fix for the bug. The --output option causes update-ca-trust not to assume it is run as root. Ref.: https://bugzilla.redhat.com/show_bug.cgi?id=2241240

"cat", caBundlePath,
"bash", "-c",
// Ubuntu or RHEL location
"cat /etc/ssl/certs/ca-certificates.crt || cat /etc/ssl/certs/ca-bundle.crt",
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Done this way, so tests are easier to sync in the future - no difference between operators on this line.


if !fixture.EnvNonOLM() {
image = "registry.redhat.io/openshift-gitops-1/argocd-rhel8"
imageVersion = "sha256:8a0544c14823492165550d83a6d8ba79dd632b46144d3fdcb543793726111d76"
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

The very culprit of the bug. The rhel8 I hard-coded here prevented our quality gates to spot incompatibility with rhel9, so this passed nicely during CI and QE, but failed spectacularly in production using RHEL 9.

}

// fetchArgoCDComponentImage pulls image url to discover its current location
func fetchArgoCDComponentImage() string {
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

@jgwest, @anandf, @svghadi, I would welcome your opinions here. This pulls the bleeding-edge image location for repo-server (quay.io/redhat-user-workloads/rh-openshift-gitops-tenant/argocd-rhel9 ATM), so the tests can use it's main tags for this.

There are several competing conditions that let me do things this way:

  • This feature requires RHEL image to function. Tests against the Ubuntu images would force the tests to be skipped / not verify production-like use-case.
  • We want CI/QE to use OS/RPM versions that are as close to production as possible.
  • Hardcoding image url & sha can backfire - again.

What is ultimately desirable, is to run this with whatever RHEL based argocd images is the operator bundled with*, or the latest ones.

*) As I think of this, current impl does not fulfill this criteria. Is there a way to query what image will the operator use to deploy argo components, and inject this only if it is not /.*rhel.*/? thx

@olivergondza olivergondza changed the title fix(repo-server): Fix SystemCATrust for RHEL 9 fix(repo-server): Fix SystemCATrust for RHEL 9 (WIP) Apr 9, 2026
@openshift-ci
Copy link
Copy Markdown

openshift-ci bot commented Apr 9, 2026

@olivergondza: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/v4.14-kuttl-sequential 5cf7436 link false /test v4.14-kuttl-sequential
ci/prow/v4.19-kuttl-sequential 5cf7436 link true /test v4.19-kuttl-sequential

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

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

Labels

kind/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant