mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-04 09:49:50 +00:00
Merge pull request #46385 from rickypai/rpai/host_mapping_node_e2e_test
Automatic merge from submit-queue (batch tested with PRs 43005, 46660, 46385, 46991, 47103) add e2e node test for Pod hostAliases feature **What this PR does / why we need it**: adds node e2e test for #45148 tests requested in https://github.com/kubernetes/kubernetes/issues/43632#issuecomment-298434125 **Release note**: ```release-note NONE ``` @yujuhong @thockin
This commit is contained in:
commit
6ee028249b
@ -19,6 +19,7 @@ package e2e_node
|
|||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
@ -116,6 +117,51 @@ var _ = framework.KubeDescribe("Kubelet", func() {
|
|||||||
Expect(err).To(BeNil(), fmt.Sprintf("Error deleting Pod %v", err))
|
Expect(err).To(BeNil(), fmt.Sprintf("Error deleting Pod %v", err))
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
Context("when scheduling a busybox Pod with hostAliases", func() {
|
||||||
|
podName := "busybox-host-aliases" + string(uuid.NewUUID())
|
||||||
|
|
||||||
|
It("it should write entries to /etc/hosts", func() {
|
||||||
|
podClient.CreateSync(&v1.Pod{
|
||||||
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
|
Name: podName,
|
||||||
|
},
|
||||||
|
Spec: v1.PodSpec{
|
||||||
|
// Don't restart the Pod since it is expected to exit
|
||||||
|
RestartPolicy: v1.RestartPolicyNever,
|
||||||
|
Containers: []v1.Container{
|
||||||
|
{
|
||||||
|
Image: "gcr.io/google_containers/busybox:1.24",
|
||||||
|
Name: podName,
|
||||||
|
Command: []string{"/bin/sh", "-c", "cat /etc/hosts; sleep 6000"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
HostAliases: []v1.HostAlias{
|
||||||
|
{
|
||||||
|
IP: "123.45.67.89",
|
||||||
|
Hostnames: []string{"foo", "bar"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
Eventually(func() error {
|
||||||
|
rc, err := podClient.GetLogs(podName, &v1.PodLogOptions{}).Stream()
|
||||||
|
defer rc.Close()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
buf := new(bytes.Buffer)
|
||||||
|
buf.ReadFrom(rc)
|
||||||
|
hostsFileContent := buf.String()
|
||||||
|
|
||||||
|
if !strings.Contains(hostsFileContent, "123.45.67.89\tfoo") || !strings.Contains(hostsFileContent, "123.45.67.89\tbar") {
|
||||||
|
return fmt.Errorf("expected hosts file to contain entries from HostAliases. Got:\n%+v", hostsFileContent)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}, time.Minute, time.Second*4).Should(BeNil())
|
||||||
|
})
|
||||||
|
})
|
||||||
Context("when scheduling a read only busybox container", func() {
|
Context("when scheduling a read only busybox container", func() {
|
||||||
podName := "busybox-readonly-fs" + string(uuid.NewUUID())
|
podName := "busybox-readonly-fs" + string(uuid.NewUUID())
|
||||||
It("it should not write to root filesystem [Conformance]", func() {
|
It("it should not write to root filesystem [Conformance]", func() {
|
||||||
|
Loading…
Reference in New Issue
Block a user