Wait for pod running status before timeout despite errors of accessing API server

Signed-off-by: danfengl <danfengl@vmware.com>
This commit is contained in:
danfengl
2022-06-21 07:02:08 +00:00
parent e07b13ce8e
commit b9fe1539f0
3 changed files with 6 additions and 4 deletions

View File

@@ -11,7 +11,7 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
FROM --platform=$BUILDPLATFORM golang:1.17.11 as builder-env
FROM --platform=$BUILDPLATFORM golang:1.17 as builder-env
ARG GOPROXY
ARG PKG
@@ -50,7 +50,7 @@ RUN mkdir -p /output/usr/bin && \
go build -o /output/${BIN} \
-ldflags "${LDFLAGS}" ${PKG}/cmd/${BIN}
FROM gcr.io/distroless/base-debian11@sha256:e672eb713e56feb13e349773973b81b1b9284f70b15cf18d1a09ad31a03abe59
FROM gcr.io/distroless/base-debian11:nonroot
LABEL maintainer="Nolan Brubaker <brubakern@vmware.com>"

View File

@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
FROM golang:1.17.11
FROM golang:1.17
ARG GOPROXY

View File

@@ -62,7 +62,9 @@ func WaitForPods(ctx context.Context, client TestClient, namespace string, pods
for _, podName := range pods {
checkPod, err := client.ClientGo.CoreV1().Pods(namespace).Get(ctx, podName, metav1.GetOptions{})
if err != nil {
return false, errors.WithMessage(err, fmt.Sprintf("Failed to verify pod %s/%s is %s", namespace, podName, corev1api.PodRunning))
//Should ignore "etcdserver: request timed out" kind of errors, try to get pod status again before timeout.
fmt.Println(errors.Wrap(err, fmt.Sprintf("Failed to verify pod %s/%s is %s, try again...", namespace, podName, corev1api.PodRunning)))
return false, nil
}
// If any pod is still waiting we don't need to check any more so return and wait for next poll interval
if checkPod.Status.Phase != corev1api.PodRunning {