Merge pull request #22215 from pwittrock/enable-readonly-e2e

Auto commit by PR queue bot
pull/6/head
k8s-merge-robot 2016-03-01 14:52:00 -08:00
commit 51b005500d
1 changed files with 47 additions and 47 deletions

View File

@ -89,53 +89,53 @@ var _ = Describe("Kubelet", func() {
})
})
// TODO: Enable this when issues are resolved. Tracked in #21320
// Context("when scheduling a read only busybox container", func() {
// It("it should return success", func() {
// pod := &api.Pod{
// ObjectMeta: api.ObjectMeta{
// Name: "busybox",
// Namespace: api.NamespaceDefault,
// },
// Spec: api.PodSpec{
// // Force the Pod to schedule to the node without a scheduler running
// NodeName: *nodeName,
// // Don't restart the Pod since it is expected to exit
// RestartPolicy: api.RestartPolicyNever,
// Containers: []api.Container{
// {
// Image: "gcr.io/google_containers/busybox",
// Name: "busybox",
// Command: []string{"sh", "-c", "echo test > /file"},
// SecurityContext: &api.SecurityContext{
// ReadOnlyRootFilesystem: &isReadOnly,
// },
// },
// },
// },
// }
// _, err := cl.Pods(api.NamespaceDefault).Create(pod)
// Expect(err).To(BeNil(), fmt.Sprintf("Error creating Pod %v", err))
// })
//
// It("it should not write to the root filesystem", func() {
// Eventually(func() string {
// rc, err := cl.Pods(api.NamespaceDefault).GetLogs("busybox", &api.PodLogOptions{}).Stream()
// if err != nil {
// return ""
// }
// defer rc.Close()
// buf := new(bytes.Buffer)
// buf.ReadFrom(rc)
// return buf.String()
// }, time.Second*30, time.Second*4).Should(Equal("sh: can't create /file: Read-only file system"))
// })
//
// It("it should be possible to delete", func() {
// err := cl.Pods(api.NamespaceDefault).Delete("busybox", &api.DeleteOptions{})
// Expect(err).To(BeNil(), fmt.Sprintf("Error creating Pod %v", err))
// })
// })
Context("when scheduling a read only busybox container", func() {
It("it should return success", func() {
isReadOnly := true
pod := &api.Pod{
ObjectMeta: api.ObjectMeta{
Name: "busybox",
Namespace: api.NamespaceDefault,
},
Spec: api.PodSpec{
// Force the Pod to schedule to the node without a scheduler running
NodeName: *nodeName,
// Don't restart the Pod since it is expected to exit
RestartPolicy: api.RestartPolicyNever,
Containers: []api.Container{
{
Image: "gcr.io/google_containers/busybox",
Name: "busybox",
Command: []string{"sh", "-c", "echo test > /file"},
SecurityContext: &api.SecurityContext{
ReadOnlyRootFilesystem: &isReadOnly,
},
},
},
},
}
_, err := cl.Pods(api.NamespaceDefault).Create(pod)
Expect(err).To(BeNil(), fmt.Sprintf("Error creating Pod %v", err))
})
It("it should not write to the root filesystem", func() {
Eventually(func() string {
rc, err := cl.Pods(api.NamespaceDefault).GetLogs("busybox", &api.PodLogOptions{}).Stream()
if err != nil {
return ""
}
defer rc.Close()
buf := new(bytes.Buffer)
buf.ReadFrom(rc)
return buf.String()
}, time.Second*30, time.Second*4).Should(Equal("sh: can't create /file: Read-only file system\n"))
})
It("it should be possible to delete", func() {
err := cl.Pods(api.NamespaceDefault).Delete("busybox", &api.DeleteOptions{})
Expect(err).To(BeNil(), fmt.Sprintf("Error creating Pod %v", err))
})
})
})
Describe("metrics api", func() {