From fd3de2000fc087cf04361ea8d295f7554566854a Mon Sep 17 00:00:00 2001 From: zcain117 Date: Wed, 12 Aug 2020 08:46:24 -0700 Subject: [PATCH] Get GKE logs via kubectl logs instead of gcloud logging read. (#6446) --- .circleci/config.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e951cb9e1e..ef84380ea5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -42,10 +42,9 @@ references: # non-zero status code. while [ $i -lt $max_checks ]; do ((i++)); if kubectl get jobs $job_name -o jsonpath='Failed:{.status.failed}' | grep "Failed:1"; then status_code=1 && break; elif kubectl get jobs $job_name -o jsonpath='Succeeded:{.status.succeeded}' | grep "Succeeded:1" ; then status_code=0 && break; else echo "Job not finished yet"; fi; sleep 30; done && \ echo "Done waiting. Job status code: $status_code" && \ - # Allow time for logs to flush. - sleep 60 && \ - echo "JOB_NAME: $job_name" && \ - gcloud logging read "resource.type=k8s_container resource.labels.project_id=$GOOGLE_PROJECT_ID resource.labels.location=$GOOGLE_COMPUTE_ZONE resource.labels.cluster_name=$GKE_CLUSTER resource.labels.namespace_name=default resource.labels.pod_name:$job_name" --limit 10000000 --order asc --format 'value(textPayload)' --project=$GOOGLE_PROJECT_ID && \ + pod_name=$(kubectl get po -l controller-uid=`kubectl get job $job_name -o "jsonpath={.metadata.labels.controller-uid}"` | awk 'match($0,!/NAME/) {print $1}') && \ + echo "GKE pod name: $pod_name" && \ + kubectl logs -f $pod_name --container=train echo "Done with log retrieval attempt." && \ gcloud container images delete "$GCR_IMAGE_PATH:$CIRCLE_WORKFLOW_JOB_ID" --force-delete-tags && \ exit $status_code