Closed anoopcs9 closed 2 years ago
The smbclient is automatically created by the deploy test which is the first test run in the integration suite. https://github.com/samba-in-kubernetes/samba-operator/blob/master/tests/integration/integration_test.go#L22
Therefore it is unlikely that the complete set of tests would fail because of ordering of the tests. However the individual tests will fail. The proposed set of patches fixes this issue.
To test:
Ensure no smbclient pod exists in testnamespace before running test.
Problematic:
[sprabhu@t10 samba-operator]$ SMBOP_TEST_RUN=TestIntegration/smbShares/mountPath tests/test.sh === RUN TestIntegration === RUN TestIntegration/smbShares === RUN TestIntegration/smbShares/mountPath mount_path_test.go:70: Error Trace: mount_path_test.go:70 suite.go:118 integration_test.go:15 Error: Received unexpected error: failed to flush cache: ['rm' '-f' '/var/lib/samba/lock/gencache.tdb']: failed executing command (pod:samba-operator-system/smbclient container:client): pods "smbclient" not found [exit: 1; stdout: ; stderr: ] Test: TestIntegration/smbShares/mountPath --- FAIL: TestIntegration (22.47s) --- FAIL: TestIntegration/smbShares (22.47s) --- FAIL: TestIntegration/smbShares/mountPath (22.47s) FAIL FAIL github.com/samba-in-kubernetes/samba-operator/tests/integration 22.490s FAIL
After fix:
[sprabhu@t10 samba-operator]$ make commitid CommitID: 4f6c8501f3466c83e578e5363adf2aba5bd46c3c [sprabhu@t10 samba-operator]$ SMBOP_TEST_RUN=TestIntegration/smbShares/mountPath tests/test.sh === RUN TestIntegration === RUN TestIntegration/smbShares === RUN TestIntegration/smbShares/mountPath === RUN TestIntegration/smbShares/mountPath/TestMountPath --- PASS: TestIntegration (48.75s) --- PASS: TestIntegration/smbShares (48.75s) --- PASS: TestIntegration/smbShares/mountPath (48.75s) --- PASS: TestIntegration/smbShares/mountPath/TestMountPath (0.28s) PASS ok github.com/samba-in-kubernetes/samba-operator/tests/integration 48.772s
The smbclient is automatically created by the deploy test which is the first test run in the integration suite. https://github.com/samba-in-kubernetes/samba-operator/blob/master/tests/integration/integration_test.go#L22
Therefore it is unlikely that the complete set of tests would fail because of ordering of the tests. However the individual tests will fail. The proposed set of patches fixes this issue.
Sorry, I got a few things mixed up here. The smbclient is created as part of the SmbShareSuite tests and that re-ordering could end up with calling mountPath tests before the smbclient has been started. The proposed patch fixes the issue in any case.
If mountPath test happens to be the first or when run alone it fails as smbclient test pod is not present in the k8s cluster. Following is the error from one such occurrence from CentOS CI runs:
We may have to create smbclient pod if missing in the cluster as part of SetupSuite()