-
Notifications
You must be signed in to change notification settings - Fork 55
test flake: updating labels in default deployment while running – fedora-1_19.olm-operator.API #742
Comments
@avalluri : can you have a look at this? Is the timeout perhaps simply too short? |
I doubt if this failure is with timeout. For some reason the chagnes the operator detected for that deployment is different:
I suspect this is result of some other previous test failures. |
Okey, there is no other test failures, something tricky. |
And another one:
|
In #723 (comment), @avalluri wrote:
|
While all of the examples above are from PR #723, that's simply because I've been working with that PR the most. It also occurs in "devel":
|
Why is this flaky? If you think that you have a fix, then please prepare a PR. But it needs to have a good explanation of why the revised code is correct and why the old one wasn't. |
I submitted the fix #743 for the deployment comparison issue. The issue was with the recent change of reverting deployment spec changes. That also resets from the cached copy of that deployment and in next reconcile loop comparing the cached deployment against the updated deployment with set defults, shows all those defaults as changes. |
The operator had a bug where its change detection caused it to update objects unnecessarily. This wasn't caught before by the tests because the modified objects still had the expected content (as far as we know, at least - intel#742 still lacks a proper explanation). Now the update unit test catches that bug: TestDeploymentController/Kubernetes_1.18/updating/pmemPercentage_in_default_deployment: deployment_controller_test.go:264: Error Trace: deployment_controller_test.go:264 deployment_controller_test.go:559 deployment_controller_test.go:584 Error: Received unexpected error: deployed driver different from expected deployment: object was modified unnecessarily: "pmem-csi-with-defaults-node" of type "apps/v1, Kind=DaemonSet" in namespace "test-namespace" object was modified unnecessarily: "pmem-csi-with-defaults-controller" of type "apps/v1, Kind=StatefulSet" in namespace "test-namespace" Test: TestDeploymentController/Kubernetes_1.18/updating/pmemPercentage_in_default_deployment Messages: validate deployment We cannot use the same validation during E2E testing because the app controllers also modify the objects by setting their status.
The operator had a bug where its change detection caused it to update objects unnecessarily. This wasn't caught before by the tests because the modified objects still had the expected content (as far as we know, at least - intel#742 still lacks a proper explanation). Now the update unit test catches that bug: TestDeploymentController/Kubernetes_1.18/updating/pmemPercentage_in_default_deployment: deployment_controller_test.go:264: Error Trace: deployment_controller_test.go:264 deployment_controller_test.go:559 deployment_controller_test.go:584 Error: Received unexpected error: deployed driver different from expected deployment: object was modified unnecessarily: "pmem-csi-with-defaults-node" of type "apps/v1, Kind=DaemonSet" in namespace "test-namespace" object was modified unnecessarily: "pmem-csi-with-defaults-controller" of type "apps/v1, Kind=StatefulSet" in namespace "test-namespace" Test: TestDeploymentController/Kubernetes_1.18/updating/pmemPercentage_in_default_deployment Messages: validate deployment We cannot use the same validation during E2E testing because the app controllers also modify the objects by setting their status.
Not seen anymore. We don't know why it's gone now, but let's close the issue. |
From https://cloudnative-k8sci.southcentralus.cloudapp.azure.com/blue/organizations/jenkins/pmem-csi/detail/PR-738/2/tests:
The text was updated successfully, but these errors were encountered: