diff --git a/USERS.md b/USERS.md index c03fae52659a..d6bd345e40e9 100644 --- a/USERS.md +++ b/USERS.md @@ -93,6 +93,7 @@ Currently, the following organizations are **officially** using Argo Workflows: 1. [SAP Fieldglass](https://www.fieldglass.com/) 1. [SAP Hybris](https://cx.sap.com/) 1. [SAS](https://www.sas.com/) +1. [Schlumberger](https://slb.com/) 1. [SegmentStream](https://segmentstream.com) 1. [Sidecar Technologies](https://hello.getsidecar.com/) 1. [Sohu](https://www.sohu.com/) diff --git a/workflow/executor/executor.go b/workflow/executor/executor.go index 6af1f53ad6fc..362002926a76 100644 --- a/workflow/executor/executor.go +++ b/workflow/executor/executor.go @@ -1082,13 +1082,13 @@ func (we *WorkflowExecutor) waitMainContainerStart() (string, error) { for _, ctrStatus := range pod.Status.ContainerStatuses { if ctrStatus.Name == common.MainContainerName { log.Debug(ctrStatus) - if ctrStatus.ContainerID != "" { - we.mainContainerID = containerID(ctrStatus.ContainerID) - return containerID(ctrStatus.ContainerID), nil + if ctrStatus.State.Waiting != nil { + // main container is still in waiting status } else if ctrStatus.State.Waiting == nil && ctrStatus.State.Running == nil && ctrStatus.State.Terminated == nil { // status still not ready, wait - } else if ctrStatus.State.Waiting != nil { - // main container is still in waiting status + } else if ctrStatus.ContainerID != "" { + we.mainContainerID = containerID(ctrStatus.ContainerID) + return containerID(ctrStatus.ContainerID), nil } else { // main container in running or terminated state but missing container ID return "", errors.InternalError("Main container ID cannot be found")