mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 21:47:07 +00:00
Move ephemeral container e2e to common
This commit is contained in:
parent
ba649b97b7
commit
40e7689f0e
@ -14,15 +14,18 @@ See the License for the specific language governing permissions and
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package e2enode
|
package node
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/kubernetes/pkg/kubelet/util/format"
|
"k8s.io/kubernetes/pkg/kubelet/util/format"
|
||||||
"k8s.io/kubernetes/test/e2e/framework"
|
"k8s.io/kubernetes/test/e2e/framework"
|
||||||
|
e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
|
||||||
|
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
|
||||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||||
|
|
||||||
"github.com/onsi/ginkgo"
|
"github.com/onsi/ginkgo"
|
||||||
@ -52,20 +55,28 @@ var _ = SIGDescribe("Ephemeral Containers", func() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
ginkgo.By("adding an ephemeral container")
|
ginkgo.By("adding an ephemeral container")
|
||||||
|
ecName := "debugger"
|
||||||
ec := &v1.EphemeralContainer{
|
ec := &v1.EphemeralContainer{
|
||||||
EphemeralContainerCommon: v1.EphemeralContainerCommon{
|
EphemeralContainerCommon: v1.EphemeralContainerCommon{
|
||||||
Name: "debugger",
|
Name: ecName,
|
||||||
Image: imageutils.GetE2EImage(imageutils.BusyBox),
|
Image: imageutils.GetE2EImage(imageutils.BusyBox),
|
||||||
Command: []string{"/bin/sh"},
|
Command: e2epod.GenerateScriptCmd("while true; do sleep 2; echo polo; done"),
|
||||||
Stdin: true,
|
Stdin: true,
|
||||||
TTY: true,
|
TTY: true,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
err := podClient.AddEphemeralContainerSync(pod, ec, time.Minute)
|
err := podClient.AddEphemeralContainerSync(pod, ec, time.Minute)
|
||||||
|
// BEGIN TODO: Remove when EphemeralContainers feature gate is retired.
|
||||||
|
if apierrors.IsNotFound(err) {
|
||||||
|
e2eskipper.Skipf("Skipping test because EphemeralContainers feature disabled (error: %q)", err)
|
||||||
|
}
|
||||||
|
// END TODO: Remove when EphemeralContainers feature gate is retired.
|
||||||
framework.ExpectNoError(err, "Failed to patch ephemeral containers in pod %q", format.Pod(pod))
|
framework.ExpectNoError(err, "Failed to patch ephemeral containers in pod %q", format.Pod(pod))
|
||||||
|
|
||||||
ginkgo.By("confirm that the container is really running")
|
ginkgo.By("checking pod container endpoints")
|
||||||
marco := f.ExecCommandInContainer(pod.Name, "debugger", "/bin/echo", "polo")
|
_, err = framework.LookForStringInPodExecToContainer(pod.Namespace, pod.Name, ecName, []string{"/bin/echo", "marco"}, "marco", time.Minute)
|
||||||
framework.ExpectEqual(marco, "polo")
|
framework.ExpectNoError(err, "Failed to exec in pod %q ephemeral container %q", format.Pod(pod), ecName)
|
||||||
|
_, err = framework.LookForStringInLog(pod.Namespace, pod.Name, ecName, "polo", time.Minute)
|
||||||
|
framework.ExpectNoError(err, "Failed to find logs in pod %q ephemeral container %q", format.Pod(pod), ecName)
|
||||||
})
|
})
|
||||||
})
|
})
|
Loading…
Reference in New Issue
Block a user