mirror of
https://github.com/ceph/ceph-csi.git
synced 2025-01-05 11:39:29 +00:00
e2e: allow kubectlDelete
to succeed with NotFound
error
Signed-off-by: Niels de Vos <ndevos@redhat.com>
This commit is contained in:
parent
17fea0459d
commit
eab2ec42bf
@ -127,3 +127,33 @@ func isAlreadyExistsCLIError(err error) bool {
|
|||||||
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// isNotFoundCLIError checks for "is not found" error from kubectl CLI.
|
||||||
|
func isNotFoundCLIError(err error) bool {
|
||||||
|
if err == nil {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
// if multiple resources already exists. each error is separated by newline
|
||||||
|
stdErr := getStdErr(err.Error())
|
||||||
|
if stdErr == "" {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
stdErrs := strings.Split(stdErr, "\n")
|
||||||
|
for _, s := range stdErrs {
|
||||||
|
// If the string is just a new line continue
|
||||||
|
if strings.TrimSuffix(s, "\n") == "" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
// Ignore warnings
|
||||||
|
if strings.Contains(s, "Warning") {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
// Resource not found error message
|
||||||
|
if !strings.Contains(s, "Error from server (NotFound)") {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
15
e2e/utils.go
15
e2e/utils.go
@ -1415,7 +1415,10 @@ func retryKubectlInput(namespace string, action kubectlAction, data string, t in
|
|||||||
if isRetryableAPIError(err) {
|
if isRetryableAPIError(err) {
|
||||||
return false, nil
|
return false, nil
|
||||||
}
|
}
|
||||||
if isAlreadyExistsCLIError(err) {
|
if action == kubectlCreate && isAlreadyExistsCLIError(err) {
|
||||||
|
return true, nil
|
||||||
|
}
|
||||||
|
if action == kubectlDelete && isNotFoundCLIError(err) {
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
e2elog.Logf(
|
e2elog.Logf(
|
||||||
@ -1451,7 +1454,10 @@ func retryKubectlFile(namespace string, action kubectlAction, filename string, t
|
|||||||
if isRetryableAPIError(err) {
|
if isRetryableAPIError(err) {
|
||||||
return false, nil
|
return false, nil
|
||||||
}
|
}
|
||||||
if isAlreadyExistsCLIError(err) {
|
if action == kubectlCreate && isAlreadyExistsCLIError(err) {
|
||||||
|
return true, nil
|
||||||
|
}
|
||||||
|
if action == kubectlDelete && isNotFoundCLIError(err) {
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
e2elog.Logf(
|
e2elog.Logf(
|
||||||
@ -1484,7 +1490,10 @@ func retryKubectlArgs(namespace string, action kubectlAction, t int, args ...str
|
|||||||
if isRetryableAPIError(err) {
|
if isRetryableAPIError(err) {
|
||||||
return false, nil
|
return false, nil
|
||||||
}
|
}
|
||||||
if isAlreadyExistsCLIError(err) {
|
if action == kubectlCreate && isAlreadyExistsCLIError(err) {
|
||||||
|
return true, nil
|
||||||
|
}
|
||||||
|
if action == kubectlDelete && isNotFoundCLIError(err) {
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
e2elog.Logf(
|
e2elog.Logf(
|
||||||
|
Loading…
Reference in New Issue
Block a user