-
Notifications
You must be signed in to change notification settings - Fork 117
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[operator] bump operator base image to 1.36.0 #857
Conversation
On minikube, all molecule tests pass EXCEPT for |
metrics-test also failed on OpenShift (all other molecule tests passed). So this PR is good except for the operator metrics testing, which we need to figure out what changed. |
|
Yeah, something is different with ansible operator base image 1.36.0... the metric endpoint changed. When on 1.35, the operator has a metrics endpoint that can be reached. But on 1.36.0 (without changing any config), that endpoint fails. I didn't see anything in the 1.36.0 release notes that talk about the metrics endpoint going away. With 1.36.0 as the base image (error!):
With 1.35.0 as the base image (successfully see metrics):
|
The problem is |
we need to make the change to the cmd line (to add |
With the change in the operator command line ( |
@@ -261,6 +261,7 @@ spec: | |||
- "--leader-election-id=kiali-operator" | |||
- "--watches-file=./$(WATCHES_FILE)" | |||
- "--health-probe-bind-address=:6789" | |||
- "--metrics-bind-address=:8080" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NOTE: it is OK changing this for the OSSM OLM metadata because this option exists in earlier versions, too. This includes the base image used downstream, as you see verified below:
4.15:
$ podman run -it --rm registry.redhat.io/openshift4/ose-ansible-operator:v4.15 --help | grep metrics-bind-address
--metrics-bind-address string The address the metric endpoint binds to (default ":8080")
4.17:
$ podman run -it --rm registry.redhat.io/openshift4/ose-ansible-operator:v4.17 --help | grep metrics-bind-address
--metrics-bind-address string The address the metric endpoint binds to (default ":8080")
But notice the default of these older versions is 8080, which is what we did not expect to change but did in newer versions of the upstream base image:
$ podman run -it --rm quay.io/operator-framework/ansible-operator:v1.35.0 --help | grep metrics-bind-address
--metrics-bind-address string The address the metric endpoint binds to (default ":8080")
$ podman run -it --rm quay.io/operator-framework/ansible-operator:v1.36.0 --help | grep metrics-bind-address
--metrics-bind-address string The address the metric endpoint binds to (default ":8443")
It is easier now to bump to the upstream image because the upstream image doesn't have collections; our Dockerfile installs the collections we want and that match downstream.
…We need to explicitly set it back to 8080.
aae3ba2
to
e71af74
Compare
This PR has this done now. Ready for review and merge. Test instructions are found in this PR's description. |
Molecule tests all pass:
|
It is easier now to bump to the upstream image because the upstream image doesn't have collections; our Dockerfile installs the collections we want and that match downstream.
To test, first you need to check out this PR and the associated helm chart PR 304. Then run this set of commands to install minikube with test infrastructure, build/push/deploy the dev images to the cluster, and run the molecule tests:
NOTE! If you do not want to wait for the entire test suite to pass (it will take about an hour), you can pass in the operation
-at <tests>
to that last command./hack/run-molecule-tests.sh
to just run a few tests. For example, a good set of tests to exercise the operator will be-at "accessible-namespaces-test metrics-test roles-tests"
An important test to look at is "metrics-test" - that originally failed because ansible operator base image 1.36 changed its metrics port default value from the previous 1.35 (for details, see the PR comments below). The operator and helm chart PRs addresses this. So the metrics-test should pass now.
NOTE 2! If you don't even want to run the molecule tests, just install the operator and kiali server via
make cluster-push operator-create kiali-create
and if kiali server installs successfully, then things are working. You could also see that the operator's metrics endpoint is still at 8080 by running this command and getting prometheus metrics successfully:kubectl exec -it -n kiali-operator deployments/kiali-operator -- curl http://localhost:8080/metrics