Testname: Pod events, verify event from Scheduler and Kubelet
Description: Create a Pod, make sure that the Pod can be queried. Create a event selector for the kind=Pod and the source is the Scheduler. List of the events MUST be at least one. Create a event selector for kind=Pod and the source is the Kubelet. List of the events MUST be at least one. Both Scheduler and Kubelet MUST send events when scheduling and running a Pod.
*/
framework.ConformanceIt("should be sent by kubelets and the scheduler about pods scheduling and running ",func(){
framework.ConformanceIt("should be sent by kubelets and the scheduler about pods scheduling and running ",func(){
Description: Create a pod, make sure it is running, create a watch to observe Pod creation. Create a 'kubectl local proxy', capture the port the proxy is listening. Using the http client send a ‘delete’ with gracePeriodSeconds=30. Pod SHOULD get deleted within 30 seconds.
*/
framework.ConformanceIt("should be submitted and removed [Flaky]",func(){
framework.ConformanceIt("should be submitted and removed [Flaky]",func(){
@@ -162,9 +162,9 @@ var _ = SIGDescribe("PreStop", func() {
...
@@ -162,9 +162,9 @@ var _ = SIGDescribe("PreStop", func() {
f:=framework.NewDefaultFramework("prestop")
f:=framework.NewDefaultFramework("prestop")
/*
/*
Testname: pods-prestop-handler-invoked
Release : v1.9
Description: Makes sure a pod's preStop handler is successfully
Testname: Pods, prestop hook
invoked immediately before a container is terminated.
Description: Create a server pod with a rest endpoint '/write' that changes state.Received field. Create a Pod with a pre-stop handle that posts to the /write endpoint on the server Pod. Verify that the Pod with pre-stop hook is running. Delete the Pod with the pre-stop hook. Before the Pod is deleted, pre-stop handler MUST be called when configured. Verify that the Pod is deleted and a call to prestop hook is verified by checking the status received on the server Pod.
*/
*/
framework.ConformanceIt("should call prestop when killing a pod ",func(){
framework.ConformanceIt("should call prestop when killing a pod ",func(){
Testname: Kubelet, Pod with read only root file system
Description: Create a Pod with security context set with ReadOnlyRootFileSystem set to true. The Pod then tries to write to the /file on the root, write operation to the root filesystem MUST fail as expected.
*/
framework.ConformanceIt("it should not write to root filesystem [NodeConformance]",func(){
framework.ConformanceIt("it should not write to root filesystem [NodeConformance]",func(){
Description: When a post start handler is specified in the container lifecycle using a ‘Exec’ action, then the handler MUST be invoked after the start of the container. A server pod is created that will serve http requests, create a second pod with a container lifecycle specifying a post start that invokes the server pod using ExecAction to validate that the post start is executed.
Description: When a pre-stop handler is specified in the container lifecycle using a ‘Exec’ action, then the handler MUST be invoked before the container is terminated. A server pod is created that will serve http requests, create a second pod with a container lifecycle specifying a pre-stop that invokes the server pod using ExecAction to validate that the pre-stop is executed.
Description: When a post start handler is specified in the container lifecycle using a HttpGet action, then the handler MUST be invoked after the start of the container. A server pod is created that will serve http requests, create a second pod with a container lifecycle specifying a post start that invokes the server pod to validate that the post start is executed.
Description: When a pre-stop handler is specified in the container lifecycle using a ‘HttpGet’ action, then the handler MUST be invoked before the container is terminated. A server pod is created that will serve http requests, create a second pod with a container lifecycle specifying a pre-stop that invokes the server pod to validate that the pre-stop is executed.
Description: Updating a static Pod MUST recreate an updated mirror Pod. Create a static pod, verify that a mirror pod is created. Update the static pod by changing the container image, the mirror pod MUST be re-created and updated with the new image.
*/
framework.ConformanceIt("should be updated when static pod updated [NodeConformance]",func(){
framework.ConformanceIt("should be updated when static pod updated [NodeConformance]",func(){
Description: When a mirror-Pod is deleted then the mirror pod MUST be re-created. Create a static pod, verify that a mirror pod is created. Delete the mirror pod, the mirror pod MUST be re-created and running.
*/
framework.ConformanceIt("should be recreated when mirror pod gracefully deleted [NodeConformance]",func(){
framework.ConformanceIt("should be recreated when mirror pod gracefully deleted [NodeConformance]",func(){
Description: When a mirror-Pod is deleted, forcibly, then the mirror pod MUST be re-created. Create a static pod, verify that a mirror pod is created. Delete the mirror pod with delete wait time set to zero forcing immediate deletion, the mirror pod MUST be re-created and running.
*/
framework.ConformanceIt("should be recreated when mirror pod forcibly deleted [NodeConformance]",func(){
framework.ConformanceIt("should be recreated when mirror pod forcibly deleted [NodeConformance]",func(){
Context("when starting a container that exits",func(){
Context("when starting a container that exits",func(){
/*
Release : v1.9
Testname: Container Runtime, restart policy
Description: If the restart policy is set to ‘Always’, Pod MUST be started when terminated, If restart policy is ‘OnFailure’, Pod MUST be started only if it is terminated with non-zero exit code. If the restart policy is ‘Never’, Pod MUST never be restarted. All these three test cases MUST verify the restart counts accordingly.
*/
framework.ConformanceIt("it should run with the expected status [NodeConformance]",func(){
framework.ConformanceIt("it should run with the expected status [NodeConformance]",func(){