-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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-sdk 1.20.0 breaks k8s_status in FIPS enabled OpenShift cluster #5723
Comments
I patched my operator to run with ANSIBLE_VERBOSITY=3 and was able to gather the stack trace:
Comparing the
When I patch discovery.py in my operator's Dockerfile, it works:
While it's still not clear to me which of the python package updates from 1.19.1 to 1.20.0 caused this, I think the proper fix here involves two steps:
|
The source code appears to be here: https://github.com/kubernetes-client/python/blob/2677e9c810b62a82e75e65d07e502d49ec74a551/kubernetes/base/dynamic/discovery.py#L48 |
I had observed a FIPS issue with python Looks like Ansible operator now uses |
With https://github.com/kubernetes-client/python/releases/tag/v25.3.0 released, the above patch in the operator's Dockerfile can be changed to:
|
Thank you. Did a quick test by installing |
upgrading kubernetes dependency to pull fixes due to failures on FIPS enabled clusters (operator-framework#5723) Closes operator-framework#6169 Signed-off-by: daezaa <dschoi92@gmail.com>
https://github.com/operator-framework/operator-sdk/releases/tag/v1.26.0 contains kubernetes 25.3.0 which has the fix. |
Bug Report
What did you do?
I have an Ansible operator image based on
quay.io/operator-framework/ansible-operator:v1.19.1
which adds thekubernetes.core:2.3.0
andoperator_sdk.util:0.4.0
collections in requirements.yaml. One of the playbook tasks sets the status of a CR like so:This works just fine on my FIPS-enabled OCP 4.8 cluster.
What did you expect to see?
When I change the base image to
ansible-operator:v1.20.0
it continues to work.What did you see instead? Under which circumstances?
When I change the base image to
ansible-operator:v1.20.0
taskk8s_status
fails:Environment
Operator type:
/language ansible
Kubernetes cluster type:
OpenShift 4.8.39
$ operator-sdk version
$ go version
(if language is Go)$ kubectl version
Possible Solution
The problem seems to be related to using MD5 hashes which are restricted in FIPS mode, compare s3tools/s3cmd#1005 (comment).
Additional context
The text was updated successfully, but these errors were encountered: