-
Task
-
Resolution: Unresolved
-
Undefined
-
None
-
None
-
None
-
Improvement
-
False
-
-
False
-
None
-
None
-
None
- What does it do
This changes are made to enable the portability of the extended QE test suites(Based on Ginkgo) and the creation of test suites(Based on Ginkgo) to our repo to be consumed by upstream CI for OCL component readiness.
During the implementation of the code, we used a library to solve some external dependencies. For these dependencies, we have three approaches:
1. Using github.com/openshift/origin/test/extended/util in the project directly.
2. The ported code is the bare minimum required to run the selected tests (choosen by this spike). The code has been also updated to match the Golang capabilities our version has, to align it with our linting rules and to try to minimize the amount of external dependencies.
3. Create a separate module for the code of Method two, and then use it in the project::go get github.com/<yourname>/origin-util@latest
Here We adopted the third one,because method one:
- Dependency Bloat & Conflicts: This is the biggest problem. openshift/origin is a massive repository with a huge number of its own dependencies. Adding it to your go.mod can:
- Pull in hundreds of transitive dependencies, making your module much larger and slower to manage.
- Create version conflicts. origin might require a version of a k8s.io library that is incompatible with the one service-ca-operator needs, leading to "dependency hell."
method tow:
There is a lack of reusability, decentralized, error-prone, high long-term cost and each component needs to maintain a copy.
That why we choice method three. However, there is a compromise here. Since I don't have the authority to establish an official library, I can only use my personal library to verify feasibility
- How to verify it
Spin up a cluster
Ensure all tests are listed, run the command ./service-ca-operator-tests-ext list
Ensure all tests are passed. run the command ./service-ca-operator-tests-ext run-suite "openshift/service-ca-operator/conformance/parallel"
- Description for the changelog
feat: Add e2e tests for Service CA Operator
- Add end-to-end tests to verify the functionality of the Service CA Operator.
- The tests check for the health of the operator and its managed resources.
- The tests also verify the CA bundle injection feature.
- Update the testing framework to use the origin-util library.
- Update vendor dependencies to support the new testing framework.