diff --git a/docs/user-guide/kubectl/kubectl_exec.md b/docs/user-guide/kubectl/kubectl_exec.md index 6536156a8e9..55a466c9e32 100644 --- a/docs/user-guide/kubectl/kubectl_exec.md +++ b/docs/user-guide/kubectl/kubectl_exec.md @@ -100,7 +100,7 @@ kubectl exec 123456-7890 -c ruby-container -i -t -- bash -il * [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager -###### Auto generated by spf13/cobra on 5-Apr-2016 +###### Auto generated by spf13/cobra on 3-Jun-2016 [![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_exec.md?pixel)]() diff --git a/pkg/kubectl/cmd/exec.go b/pkg/kubectl/cmd/exec.go index e5992587353..7484afa2190 100644 --- a/pkg/kubectl/cmd/exec.go +++ b/pkg/kubectl/cmd/exec.go @@ -174,10 +174,6 @@ func (p *ExecOptions) Run() error { return err } - if pod.Status.Phase != api.PodRunning { - return fmt.Errorf("pod %s is not running and cannot execute commands; current phase is %s", p.PodName, pod.Status.Phase) - } - containerName := p.ContainerName if len(containerName) == 0 { glog.V(4).Infof("defaulting container name to %s", pod.Spec.Containers[0].Name) diff --git a/pkg/registry/pod/strategy.go b/pkg/registry/pod/strategy.go index 864e5c09e33..98d551322bb 100644 --- a/pkg/registry/pod/strategy.go +++ b/pkg/registry/pod/strategy.go @@ -332,6 +332,11 @@ func podHasContainerWithName(pod *api.Pod, containerName string) bool { return true } } + for _, c := range pod.Spec.InitContainers { + if c.Name == containerName { + return true + } + } return false }