test/e2e/framework: configure pod security admission level for e2e tests

This commit is contained in:
Sergiusz Urbaniak 2022-01-30 13:37:24 +01:00
parent e06e6771ef
commit 373c08e0c7
No known key found for this signature in database
GPG Key ID: 44E6612519E13C39
123 changed files with 297 additions and 4 deletions

View File

@ -46,6 +46,7 @@ import (
e2edeployment "k8s.io/kubernetes/test/e2e/framework/deployment" e2edeployment "k8s.io/kubernetes/test/e2e/framework/deployment"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
samplev1alpha1 "k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1" samplev1alpha1 "k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1"
"k8s.io/utils/pointer" "k8s.io/utils/pointer"
@ -70,6 +71,7 @@ var _ = SIGDescribe("Aggregator", func() {
}) })
f := framework.NewDefaultFramework("aggregator") f := framework.NewDefaultFramework("aggregator")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
// We want namespace initialization BeforeEach inserted by // We want namespace initialization BeforeEach inserted by
// NewDefaultFramework to happen before this, so we put this BeforeEach // NewDefaultFramework to happen before this, so we put this BeforeEach

View File

@ -36,6 +36,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2edeployment "k8s.io/kubernetes/test/e2e/framework/deployment" e2edeployment "k8s.io/kubernetes/test/e2e/framework/deployment"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
@ -45,6 +46,7 @@ import (
var _ = SIGDescribe("ServerSideApply", func() { var _ = SIGDescribe("ServerSideApply", func() {
f := framework.NewDefaultFramework("apply") f := framework.NewDefaultFramework("apply")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
var client clientset.Interface var client clientset.Interface
var ns string var ns string

View File

@ -38,6 +38,7 @@ import (
e2edeployment "k8s.io/kubernetes/test/e2e/framework/deployment" e2edeployment "k8s.io/kubernetes/test/e2e/framework/deployment"
"k8s.io/kubernetes/test/utils/crd" "k8s.io/kubernetes/test/utils/crd"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"k8s.io/utils/pointer" "k8s.io/utils/pointer"
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
@ -117,6 +118,7 @@ var alternativeAPIVersions = []apiextensionsv1.CustomResourceDefinitionVersion{
var _ = SIGDescribe("CustomResourceConversionWebhook [Privileged:ClusterAdmin]", func() { var _ = SIGDescribe("CustomResourceConversionWebhook [Privileged:ClusterAdmin]", func() {
var certCtx *certContext var certCtx *certContext
f := framework.NewDefaultFramework("crd-webhook") f := framework.NewDefaultFramework("crd-webhook")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
servicePort := int32(9443) servicePort := int32(9443)
containerPort := int32(9444) containerPort := int32(9444)

View File

@ -43,6 +43,7 @@ import (
e2emetrics "k8s.io/kubernetes/test/e2e/framework/metrics" e2emetrics "k8s.io/kubernetes/test/e2e/framework/metrics"
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
@ -301,6 +302,7 @@ func getUniqLabel(labelkey, labelvalue string) map[string]string {
var _ = SIGDescribe("Garbage collector", func() { var _ = SIGDescribe("Garbage collector", func() {
f := framework.NewDefaultFramework("gc") f := framework.NewDefaultFramework("gc")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
/* /*
Release: v1.9 Release: v1.9

View File

@ -31,6 +31,7 @@ import (
"k8s.io/apimachinery/pkg/watch" "k8s.io/apimachinery/pkg/watch"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
@ -100,6 +101,7 @@ func observerUpdate(w watch.Interface, expectedUpdate func(runtime.Object) bool)
var _ = SIGDescribe("Generated clientset", func() { var _ = SIGDescribe("Generated clientset", func() {
f := framework.NewDefaultFramework("clientset") f := framework.NewDefaultFramework("clientset")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
ginkgo.It("should create pods, set the deletionTimestamp and deletionGracePeriodSeconds of the pod", func() { ginkgo.It("should create pods, set the deletionTimestamp and deletionGracePeriodSeconds of the pod", func() {
podClient := f.ClientSet.CoreV1().Pods(f.Namespace.Name) podClient := f.ClientSet.CoreV1().Pods(f.Namespace.Name)
ginkgo.By("constructing the pod") ginkgo.By("constructing the pod")

View File

@ -33,6 +33,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
"k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/types"
@ -226,6 +227,7 @@ func ensureServicesAreRemovedWhenNamespaceIsDeleted(f *framework.Framework) {
var _ = SIGDescribe("Namespaces [Serial]", func() { var _ = SIGDescribe("Namespaces [Serial]", func() {
f := framework.NewDefaultFramework("namespaces") f := framework.NewDefaultFramework("namespaces")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
/* /*
Release: v1.11 Release: v1.11

View File

@ -36,6 +36,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
"k8s.io/kubernetes/test/utils/crd" "k8s.io/kubernetes/test/utils/crd"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
@ -51,6 +52,7 @@ var extendedResourceName = "example.com/dongle"
var _ = SIGDescribe("ResourceQuota", func() { var _ = SIGDescribe("ResourceQuota", func() {
f := framework.NewDefaultFramework("resourcequota") f := framework.NewDefaultFramework("resourcequota")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
/* /*
Release: v1.16 Release: v1.16
@ -917,6 +919,7 @@ var _ = SIGDescribe("ResourceQuota", func() {
var _ = SIGDescribe("ResourceQuota [Feature:ScopeSelectors]", func() { var _ = SIGDescribe("ResourceQuota [Feature:ScopeSelectors]", func() {
f := framework.NewDefaultFramework("scope-selectors") f := framework.NewDefaultFramework("scope-selectors")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
ginkgo.It("should verify ResourceQuota with best effort scope using scope-selectors.", func() { ginkgo.It("should verify ResourceQuota with best effort scope using scope-selectors.", func() {
ginkgo.By("Creating a ResourceQuota with best effort scope") ginkgo.By("Creating a ResourceQuota with best effort scope")
resourceQuotaBestEffort, err := createResourceQuota(f.ClientSet, f.Namespace.Name, newTestResourceQuotaWithScopeSelector("quota-besteffort", v1.ResourceQuotaScopeBestEffort)) resourceQuotaBestEffort, err := createResourceQuota(f.ClientSet, f.Namespace.Name, newTestResourceQuotaWithScopeSelector("quota-besteffort", v1.ResourceQuotaScopeBestEffort))
@ -1097,6 +1100,7 @@ var _ = SIGDescribe("ResourceQuota [Feature:ScopeSelectors]", func() {
var _ = SIGDescribe("ResourceQuota [Feature:PodPriority]", func() { var _ = SIGDescribe("ResourceQuota [Feature:PodPriority]", func() {
f := framework.NewDefaultFramework("resourcequota-priorityclass") f := framework.NewDefaultFramework("resourcequota-priorityclass")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
ginkgo.It("should verify ResourceQuota's priority class scope (quota set to pod count: 1) against a pod with same priority class.", func() { ginkgo.It("should verify ResourceQuota's priority class scope (quota set to pod count: 1) against a pod with same priority class.", func() {
@ -1438,6 +1442,7 @@ var _ = SIGDescribe("ResourceQuota [Feature:PodPriority]", func() {
var _ = SIGDescribe("ResourceQuota", func() { var _ = SIGDescribe("ResourceQuota", func() {
f := framework.NewDefaultFramework("cross-namespace-pod-affinity") f := framework.NewDefaultFramework("cross-namespace-pod-affinity")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
ginkgo.It("should verify ResourceQuota with cross namespace pod affinity scope using scope-selectors.", func() { ginkgo.It("should verify ResourceQuota with cross namespace pod affinity scope using scope-selectors.", func() {
ginkgo.By("Creating a ResourceQuota with cross namespace pod affinity scope") ginkgo.By("Creating a ResourceQuota with cross namespace pod affinity scope")
quota, err := createResourceQuota( quota, err := createResourceQuota(

View File

@ -31,6 +31,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
metav1beta1 "k8s.io/apimachinery/pkg/apis/meta/v1beta1" metav1beta1 "k8s.io/apimachinery/pkg/apis/meta/v1beta1"
"k8s.io/client-go/util/workqueue" "k8s.io/client-go/util/workqueue"
admissionapi "k8s.io/pod-security-admission/api"
utilversion "k8s.io/apimachinery/pkg/util/version" utilversion "k8s.io/apimachinery/pkg/util/version"
"k8s.io/cli-runtime/pkg/printers" "k8s.io/cli-runtime/pkg/printers"
@ -43,6 +44,7 @@ var serverPrintVersion = utilversion.MustParseSemantic("v1.10.0")
var _ = SIGDescribe("Servers with support for Table transformation", func() { var _ = SIGDescribe("Servers with support for Table transformation", func() {
f := framework.NewDefaultFramework("tables") f := framework.NewDefaultFramework("tables")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
e2eskipper.SkipUnlessServerVersionGTE(serverPrintVersion, f.ClientSet.Discovery()) e2eskipper.SkipUnlessServerVersionGTE(serverPrintVersion, f.ClientSet.Discovery())

View File

@ -47,6 +47,7 @@ import (
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
"k8s.io/kubernetes/test/utils/crd" "k8s.io/kubernetes/test/utils/crd"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
@ -78,6 +79,7 @@ const (
var _ = SIGDescribe("AdmissionWebhook [Privileged:ClusterAdmin]", func() { var _ = SIGDescribe("AdmissionWebhook [Privileged:ClusterAdmin]", func() {
var certCtx *certContext var certCtx *certContext
f := framework.NewDefaultFramework("webhook") f := framework.NewDefaultFramework("webhook")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
servicePort := int32(8443) servicePort := int32(8443)
containerPort := int32(8444) containerPort := int32(8444)
@ -1155,6 +1157,8 @@ func testWebhook(f *framework.Framework) {
Labels: map[string]string{ Labels: map[string]string{
skipNamespaceLabelKey: skipNamespaceLabelValue, skipNamespaceLabelKey: skipNamespaceLabelValue,
f.UniqueName: "true", f.UniqueName: "true",
// TODO(https://github.com/kubernetes/kubernetes/issues/108298): route namespace creation via framework.Framework.CreateNamespace in 1.24
admissionapi.EnforceLevelLabel: string(admissionapi.LevelRestricted),
}, },
}}) }})
framework.ExpectNoError(err, "creating namespace %q", skippedNamespaceName) framework.ExpectNoError(err, "creating namespace %q", skippedNamespaceName)
@ -2369,8 +2373,12 @@ func newMutateConfigMapWebhookFixture(f *framework.Framework, certCtx *certConte
func createWebhookConfigurationReadyNamespace(f *framework.Framework) { func createWebhookConfigurationReadyNamespace(f *framework.Framework) {
ns, err := f.ClientSet.CoreV1().Namespaces().Create(context.TODO(), &v1.Namespace{ ns, err := f.ClientSet.CoreV1().Namespaces().Create(context.TODO(), &v1.Namespace{
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
Name: f.Namespace.Name + "-markers", Name: f.Namespace.Name + "-markers",
Labels: map[string]string{f.UniqueName + "-markers": "true"}, Labels: map[string]string{
f.UniqueName + "-markers": "true",
// TODO(https://github.com/kubernetes/kubernetes/issues/108298): route namespace creation via framework.Framework.CreateNamespace in 1.24
admissionapi.EnforceLevelLabel: string(admissionapi.LevelRestricted),
},
}, },
}, metav1.CreateOptions{}) }, metav1.CreateOptions{})
framework.ExpectNoError(err, "creating namespace for webhook configuration ready markers") framework.ExpectNoError(err, "creating namespace for webhook configuration ready markers")

View File

@ -43,6 +43,7 @@ import (
e2ejob "k8s.io/kubernetes/test/e2e/framework/job" e2ejob "k8s.io/kubernetes/test/e2e/framework/job"
e2eresource "k8s.io/kubernetes/test/e2e/framework/resource" e2eresource "k8s.io/kubernetes/test/e2e/framework/resource"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
) )
const ( const (
@ -52,6 +53,7 @@ const (
var _ = SIGDescribe("CronJob", func() { var _ = SIGDescribe("CronJob", func() {
f := framework.NewDefaultFramework("cronjob") f := framework.NewDefaultFramework("cronjob")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
sleepCommand := []string{"sleep", "300"} sleepCommand := []string{"sleep", "300"}

View File

@ -55,6 +55,7 @@ import (
e2edaemonset "k8s.io/kubernetes/test/e2e/framework/daemonset" e2edaemonset "k8s.io/kubernetes/test/e2e/framework/daemonset"
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2eresource "k8s.io/kubernetes/test/e2e/framework/resource" e2eresource "k8s.io/kubernetes/test/e2e/framework/resource"
admissionapi "k8s.io/pod-security-admission/api"
) )
const ( const (
@ -133,6 +134,7 @@ var _ = SIGDescribe("Daemon set [Serial]", func() {
}) })
f = framework.NewDefaultFramework("daemonsets") f = framework.NewDefaultFramework("daemonsets")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
image := WebserverImage image := WebserverImage
dsName := "daemon-set" dsName := "daemon-set"

View File

@ -61,6 +61,7 @@ import (
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
testutil "k8s.io/kubernetes/test/utils" testutil "k8s.io/kubernetes/test/utils"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
utilpointer "k8s.io/utils/pointer" utilpointer "k8s.io/utils/pointer"
) )
@ -85,6 +86,7 @@ var _ = SIGDescribe("Deployment", func() {
}) })
f := framework.NewDefaultFramework("deployment") f := framework.NewDefaultFramework("deployment")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
c = f.ClientSet c = f.ClientSet

View File

@ -46,6 +46,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
) )
// schedulingTimeout is longer specifically because sometimes we need to wait // schedulingTimeout is longer specifically because sometimes we need to wait
@ -62,6 +63,7 @@ var defaultLabels = map[string]string{"foo": "bar"}
var _ = SIGDescribe("DisruptionController", func() { var _ = SIGDescribe("DisruptionController", func() {
f := framework.NewDefaultFramework("disruption") f := framework.NewDefaultFramework("disruption")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
var ns string var ns string
var cs kubernetes.Interface var cs kubernetes.Interface
var dc dynamic.Interface var dc dynamic.Interface

View File

@ -47,6 +47,7 @@ import (
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eresource "k8s.io/kubernetes/test/e2e/framework/resource" e2eresource "k8s.io/kubernetes/test/e2e/framework/resource"
"k8s.io/kubernetes/test/e2e/scheduling" "k8s.io/kubernetes/test/e2e/scheduling"
admissionapi "k8s.io/pod-security-admission/api"
"k8s.io/utils/pointer" "k8s.io/utils/pointer"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
@ -67,6 +68,7 @@ type watchEventConfig struct {
var _ = SIGDescribe("Job", func() { var _ = SIGDescribe("Job", func() {
f := framework.NewDefaultFramework("job") f := framework.NewDefaultFramework("job")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
parallelism := int32(2) parallelism := int32(2)
completions := int32(4) completions := int32(4)

View File

@ -41,12 +41,14 @@ import (
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
var _ = SIGDescribe("ReplicationController", func() { var _ = SIGDescribe("ReplicationController", func() {
f := framework.NewDefaultFramework("replication-controller") f := framework.NewDefaultFramework("replication-controller")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
var ns string var ns string
var dc dynamic.Interface var dc dynamic.Interface

View File

@ -45,6 +45,7 @@ import (
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2ereplicaset "k8s.io/kubernetes/test/e2e/framework/replicaset" e2ereplicaset "k8s.io/kubernetes/test/e2e/framework/replicaset"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
@ -100,6 +101,7 @@ func newPodQuota(name, number string) *v1.ResourceQuota {
var _ = SIGDescribe("ReplicaSet", func() { var _ = SIGDescribe("ReplicaSet", func() {
f := framework.NewDefaultFramework("replicaset") f := framework.NewDefaultFramework("replicaset")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
/* /*
Release: v1.9 Release: v1.9

View File

@ -51,6 +51,7 @@ import (
e2eservice "k8s.io/kubernetes/test/e2e/framework/service" e2eservice "k8s.io/kubernetes/test/e2e/framework/service"
e2estatefulset "k8s.io/kubernetes/test/e2e/framework/statefulset" e2estatefulset "k8s.io/kubernetes/test/e2e/framework/statefulset"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
) )
const ( const (
@ -88,6 +89,7 @@ var httpProbe = &v1.Probe{
// GCE Api requirements: nodes and master need storage r/w permissions. // GCE Api requirements: nodes and master need storage r/w permissions.
var _ = SIGDescribe("StatefulSet", func() { var _ = SIGDescribe("StatefulSet", func() {
f := framework.NewDefaultFramework("statefulset") f := framework.NewDefaultFramework("statefulset")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
var ns string var ns string
var c clientset.Interface var c clientset.Interface

View File

@ -29,6 +29,7 @@ import (
"k8s.io/kubernetes/pkg/util/slice" "k8s.io/kubernetes/pkg/util/slice"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2ejob "k8s.io/kubernetes/test/e2e/framework/job" e2ejob "k8s.io/kubernetes/test/e2e/framework/job"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
@ -42,6 +43,7 @@ const (
var _ = SIGDescribe("TTLAfterFinished", func() { var _ = SIGDescribe("TTLAfterFinished", func() {
f := framework.NewDefaultFramework("ttlafterfinished") f := framework.NewDefaultFramework("ttlafterfinished")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
ginkgo.It("job should be deleted once it finishes after TTL seconds", func() { ginkgo.It("job should be deleted once it finishes after TTL seconds", func() {
testFinishedJob(f) testFinishedJob(f)

View File

@ -26,6 +26,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/cluster/ports" "k8s.io/kubernetes/pkg/cluster/ports"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
"github.com/onsi/gomega" "github.com/onsi/gomega"
@ -36,6 +37,7 @@ import (
var _ = SIGDescribe("[Feature:NodeAuthenticator]", func() { var _ = SIGDescribe("[Feature:NodeAuthenticator]", func() {
f := framework.NewDefaultFramework("node-authn") f := framework.NewDefaultFramework("node-authn")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
var ns string var ns string
var nodeIPs []string var nodeIPs []string
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {

View File

@ -29,6 +29,7 @@ import (
restclient "k8s.io/client-go/rest" restclient "k8s.io/client-go/rest"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
@ -41,6 +42,7 @@ const (
var _ = SIGDescribe("[Feature:NodeAuthorizer]", func() { var _ = SIGDescribe("[Feature:NodeAuthorizer]", func() {
f := framework.NewDefaultFramework("node-authz") f := framework.NewDefaultFramework("node-authz")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
// client that will impersonate a node // client that will impersonate a node
var c clientset.Interface var c clientset.Interface
var ns string var ns string

View File

@ -41,6 +41,7 @@ import (
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
utilptr "k8s.io/utils/pointer" utilptr "k8s.io/utils/pointer"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
@ -50,6 +51,7 @@ const rootCAConfigMapName = "kube-root-ca.crt"
var _ = SIGDescribe("ServiceAccounts", func() { var _ = SIGDescribe("ServiceAccounts", func() {
f := framework.NewDefaultFramework("svcaccounts") f := framework.NewDefaultFramework("svcaccounts")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
ginkgo.It("no secret-based service account token should be auto-generated", func() { ginkgo.It("no secret-based service account token should be auto-generated", func() {
{ {

View File

@ -17,6 +17,7 @@ limitations under the License.
package autoscaling package autoscaling
import ( import (
"k8s.io/pod-security-admission/api"
"time" "time"
"k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/runtime/schema"
@ -30,6 +31,7 @@ import (
// //
var _ = SIGDescribe("[Feature:HPA] Horizontal pod autoscaling (scale resource: CPU)", func() { var _ = SIGDescribe("[Feature:HPA] Horizontal pod autoscaling (scale resource: CPU)", func() {
f := framework.NewDefaultFramework("horizontal-pod-autoscaling") f := framework.NewDefaultFramework("horizontal-pod-autoscaling")
f.NamespacePodSecurityEnforceLevel = api.LevelBaseline
titleUp := "Should scale from 1 pod to 3 pods and from 3 to 5" titleUp := "Should scale from 1 pod to 3 pods and from 3 to 5"
titleDown := "Should scale from 5 pods to 3 pods and from 3 to 1" titleDown := "Should scale from 5 pods to 3 pods and from 3 to 1"

View File

@ -22,10 +22,12 @@ import (
"k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/sets"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2enetwork "k8s.io/kubernetes/test/e2e/framework/network" e2enetwork "k8s.io/kubernetes/test/e2e/framework/network"
admissionapi "k8s.io/pod-security-admission/api"
) )
var _ = SIGDescribe("Networking", func() { var _ = SIGDescribe("Networking", func() {
f := framework.NewDefaultFramework("pod-network-test") f := framework.NewDefaultFramework("pod-network-test")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
ginkgo.Describe("Granular Checks: Pods", func() { ginkgo.Describe("Granular Checks: Pods", func() {

View File

@ -27,12 +27,14 @@ import (
"k8s.io/apimachinery/pkg/util/uuid" "k8s.io/apimachinery/pkg/util/uuid"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
var _ = SIGDescribe("ConfigMap", func() { var _ = SIGDescribe("ConfigMap", func() {
f := framework.NewDefaultFramework("configmap") f := framework.NewDefaultFramework("configmap")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
/* /*
Release: v1.9 Release: v1.9

View File

@ -37,6 +37,7 @@ import (
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
testutils "k8s.io/kubernetes/test/utils" testutils "k8s.io/kubernetes/test/utils"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
"github.com/onsi/gomega" "github.com/onsi/gomega"
@ -50,6 +51,7 @@ const (
var _ = SIGDescribe("Probing container", func() { var _ = SIGDescribe("Probing container", func() {
f := framework.NewDefaultFramework("container-probe") f := framework.NewDefaultFramework("container-probe")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
var podClient *framework.PodClient var podClient *framework.PodClient
probe := webserverProbeBuilder{} probe := webserverProbeBuilder{}

View File

@ -23,10 +23,12 @@ import (
"k8s.io/apimachinery/pkg/util/uuid" "k8s.io/apimachinery/pkg/util/uuid"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
admissionapi "k8s.io/pod-security-admission/api"
) )
var _ = SIGDescribe("Containers", func() { var _ = SIGDescribe("Containers", func() {
f := framework.NewDefaultFramework("containers") f := framework.NewDefaultFramework("containers")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
/* /*
Release: v1.9 Release: v1.9

View File

@ -28,12 +28,14 @@ import (
e2enetwork "k8s.io/kubernetes/test/e2e/framework/network" e2enetwork "k8s.io/kubernetes/test/e2e/framework/network"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
var _ = SIGDescribe("Downward API", func() { var _ = SIGDescribe("Downward API", func() {
f := framework.NewDefaultFramework("downward-api") f := framework.NewDefaultFramework("downward-api")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
/* /*
Release: v1.9 Release: v1.9
@ -287,6 +289,7 @@ var _ = SIGDescribe("Downward API", func() {
var _ = SIGDescribe("Downward API [Serial] [Disruptive] [NodeFeature:DownwardAPIHugePages]", func() { var _ = SIGDescribe("Downward API [Serial] [Disruptive] [NodeFeature:DownwardAPIHugePages]", func() {
f := framework.NewDefaultFramework("downward-api") f := framework.NewDefaultFramework("downward-api")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
ginkgo.Context("Downward API tests for hugepages", func() { ginkgo.Context("Downward API tests for hugepages", func() {
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {

View File

@ -27,6 +27,7 @@ import (
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
"github.com/onsi/gomega" "github.com/onsi/gomega"
@ -34,6 +35,7 @@ import (
var _ = SIGDescribe("Ephemeral Containers [NodeFeature:EphemeralContainers]", func() { var _ = SIGDescribe("Ephemeral Containers [NodeFeature:EphemeralContainers]", func() {
f := framework.NewDefaultFramework("ephemeral-containers-test") f := framework.NewDefaultFramework("ephemeral-containers-test")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
var podClient *framework.PodClient var podClient *framework.PodClient
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
podClient = f.PodClient() podClient = f.PodClient()

View File

@ -23,6 +23,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
@ -32,6 +33,7 @@ import (
// https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node/expansion.md // https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node/expansion.md
var _ = SIGDescribe("Variable Expansion", func() { var _ = SIGDescribe("Variable Expansion", func() {
f := framework.NewDefaultFramework("var-expansion") f := framework.NewDefaultFramework("var-expansion")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
/* /*
Release: v1.9 Release: v1.9

View File

@ -40,6 +40,7 @@ import (
"k8s.io/kubernetes/pkg/client/conditions" "k8s.io/kubernetes/pkg/client/conditions"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
) )
func recordEvents(events []watch.Event, f func(watch.Event) (bool, error)) func(watch.Event) (bool, error) { func recordEvents(events []watch.Event, f func(watch.Event) (bool, error)) func(watch.Event) (bool, error) {
@ -158,6 +159,7 @@ func initContainersInvariants(pod *v1.Pod) error {
var _ = SIGDescribe("InitContainer [NodeConformance]", func() { var _ = SIGDescribe("InitContainer [NodeConformance]", func() {
f := framework.NewDefaultFramework("init-container") f := framework.NewDefaultFramework("init-container")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
var podClient *framework.PodClient var podClient *framework.PodClient
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
podClient = f.PodClient() podClient = f.PodClient()

View File

@ -27,6 +27,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/uuid" "k8s.io/apimachinery/pkg/util/uuid"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
"github.com/onsi/gomega" "github.com/onsi/gomega"
@ -34,6 +35,7 @@ import (
var _ = SIGDescribe("Kubelet", func() { var _ = SIGDescribe("Kubelet", func() {
f := framework.NewDefaultFramework("kubelet-test") f := framework.NewDefaultFramework("kubelet-test")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
var podClient *framework.PodClient var podClient *framework.PodClient
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
podClient = f.PodClient() podClient = f.PodClient()

View File

@ -26,6 +26,7 @@ import (
"k8s.io/klog/v2" "k8s.io/klog/v2"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
admissionapi "k8s.io/pod-security-admission/api"
) )
const ( const (
@ -45,6 +46,7 @@ type KubeletManagedHostConfig struct {
var _ = SIGDescribe("KubeletManagedEtcHosts", func() { var _ = SIGDescribe("KubeletManagedEtcHosts", func() {
f := framework.NewDefaultFramework("e2e-kubelet-etc-hosts") f := framework.NewDefaultFramework("e2e-kubelet-etc-hosts")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
config := &KubeletManagedHostConfig{ config := &KubeletManagedHostConfig{
f: f, f: f,
} }

View File

@ -28,6 +28,7 @@ import (
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
"github.com/onsi/gomega" "github.com/onsi/gomega"
@ -35,6 +36,7 @@ import (
var _ = SIGDescribe("Container Lifecycle Hook", func() { var _ = SIGDescribe("Container Lifecycle Hook", func() {
f := framework.NewDefaultFramework("container-lifecycle-hook") f := framework.NewDefaultFramework("container-lifecycle-hook")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
var podClient *framework.PodClient var podClient *framework.PodClient
const ( const (
podCheckInterval = 1 * time.Second podCheckInterval = 1 * time.Second

View File

@ -28,10 +28,12 @@ import (
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
) )
var _ = SIGDescribe("PodOSRejection [NodeConformance]", func() { var _ = SIGDescribe("PodOSRejection [NodeConformance]", func() {
f := framework.NewDefaultFramework("pod-os-rejection") f := framework.NewDefaultFramework("pod-os-rejection")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
ginkgo.Context("Kubelet", func() { ginkgo.Context("Kubelet", func() {
ginkgo.It("should reject pod when the node OS doesn't match pod's OS", func() { ginkgo.It("should reject pod when the node OS doesn't match pod's OS", func() {
linuxNode, err := findLinuxNode(f) linuxNode, err := findLinuxNode(f)

View File

@ -52,6 +52,7 @@ import (
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2ewebsocket "k8s.io/kubernetes/test/e2e/framework/websocket" e2ewebsocket "k8s.io/kubernetes/test/e2e/framework/websocket"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
"github.com/onsi/gomega" "github.com/onsi/gomega"
@ -183,6 +184,7 @@ func expectNoErrorWithRetries(fn func() error, maxRetries int, explain ...interf
var _ = SIGDescribe("Pods", func() { var _ = SIGDescribe("Pods", func() {
f := framework.NewDefaultFramework("pods") f := framework.NewDefaultFramework("pods")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
var podClient *framework.PodClient var podClient *framework.PodClient
var dc dynamic.Interface var dc dynamic.Interface

View File

@ -24,6 +24,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
) )
// PrivilegedPodTestConfig is configuration struct for privileged pod test // PrivilegedPodTestConfig is configuration struct for privileged pod test
@ -39,8 +40,10 @@ type PrivilegedPodTestConfig struct {
} }
var _ = SIGDescribe("PrivilegedPod [NodeConformance]", func() { var _ = SIGDescribe("PrivilegedPod [NodeConformance]", func() {
f := framework.NewDefaultFramework("e2e-privileged-pod")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
config := &PrivilegedPodTestConfig{ config := &PrivilegedPodTestConfig{
f: framework.NewDefaultFramework("e2e-privileged-pod"), f: f,
privilegedPod: "privileged-pod", privilegedPod: "privileged-pod",
privilegedContainer: "privileged-container", privilegedContainer: "privileged-container",
notPrivilegedContainer: "not-privileged-container", notPrivilegedContainer: "not-privileged-container",

View File

@ -29,6 +29,7 @@ import (
"k8s.io/kubernetes/pkg/kubelet/images" "k8s.io/kubernetes/pkg/kubelet/images"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
"github.com/onsi/gomega" "github.com/onsi/gomega"
@ -37,6 +38,7 @@ import (
var _ = SIGDescribe("Container Runtime", func() { var _ = SIGDescribe("Container Runtime", func() {
f := framework.NewDefaultFramework("container-runtime") f := framework.NewDefaultFramework("container-runtime")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
ginkgo.Describe("blackbox test", func() { ginkgo.Describe("blackbox test", func() {
ginkgo.Context("when starting a container that exits", func() { ginkgo.Context("when starting a container that exits", func() {

View File

@ -38,12 +38,14 @@ import (
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
var _ = SIGDescribe("RuntimeClass", func() { var _ = SIGDescribe("RuntimeClass", func() {
f := framework.NewDefaultFramework("runtimeclass") f := framework.NewDefaultFramework("runtimeclass")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
/* /*
Release: v1.20 Release: v1.20

View File

@ -30,10 +30,12 @@ import (
"k8s.io/apimachinery/pkg/util/uuid" "k8s.io/apimachinery/pkg/util/uuid"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
) )
var _ = SIGDescribe("Secrets", func() { var _ = SIGDescribe("Secrets", func() {
f := framework.NewDefaultFramework("secrets") f := framework.NewDefaultFramework("secrets")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
/* /*
Release: v1.9 Release: v1.9

View File

@ -29,6 +29,7 @@ import (
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"k8s.io/utils/pointer" "k8s.io/utils/pointer"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
@ -42,6 +43,7 @@ var (
var _ = SIGDescribe("Security Context", func() { var _ = SIGDescribe("Security Context", func() {
f := framework.NewDefaultFramework("security-context-test") f := framework.NewDefaultFramework("security-context-test")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
var podClient *framework.PodClient var podClient *framework.PodClient
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
podClient = f.PodClient() podClient = f.PodClient()

View File

@ -26,6 +26,7 @@ import (
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
"github.com/onsi/gomega" "github.com/onsi/gomega"
@ -39,6 +40,7 @@ var _ = SIGDescribe("Sysctls [LinuxOnly] [NodeConformance]", func() {
}) })
f := framework.NewDefaultFramework("sysctl") f := framework.NewDefaultFramework("sysctl")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
var podClient *framework.PodClient var podClient *framework.PodClient
testPod := func() *v1.Pod { testPod := func() *v1.Pod {

View File

@ -31,10 +31,12 @@ import (
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
) )
var _ = SIGDescribe("ConfigMap", func() { var _ = SIGDescribe("ConfigMap", func() {
f := framework.NewDefaultFramework("configmap") f := framework.NewDefaultFramework("configmap")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
/* /*
Release: v1.9 Release: v1.9

View File

@ -28,6 +28,7 @@ import (
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
"github.com/onsi/gomega" "github.com/onsi/gomega"
@ -37,6 +38,7 @@ var _ = SIGDescribe("Downward API volume", func() {
// How long to wait for a log pod to be displayed // How long to wait for a log pod to be displayed
const podLogTimeout = 3 * time.Minute const podLogTimeout = 3 * time.Minute
f := framework.NewDefaultFramework("downward-api") f := framework.NewDefaultFramework("downward-api")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
var podClient *framework.PodClient var podClient *framework.PodClient
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
podClient = f.PodClient() podClient = f.PodClient()

View File

@ -31,6 +31,7 @@ import (
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
) )
const ( const (
@ -43,6 +44,7 @@ var (
var _ = SIGDescribe("EmptyDir volumes", func() { var _ = SIGDescribe("EmptyDir volumes", func() {
f := framework.NewDefaultFramework("emptydir") f := framework.NewDefaultFramework("emptydir")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
ginkgo.Context("when FSGroup is specified [LinuxOnly] [NodeFeature:FSGroup]", func() { ginkgo.Context("when FSGroup is specified [LinuxOnly] [NodeFeature:FSGroup]", func() {

View File

@ -25,6 +25,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
@ -33,6 +34,7 @@ import (
//This will require some smart. //This will require some smart.
var _ = SIGDescribe("HostPath", func() { var _ = SIGDescribe("HostPath", func() {
f := framework.NewDefaultFramework("hostpath") f := framework.NewDefaultFramework("hostpath")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
// TODO permission denied cleanup failures // TODO permission denied cleanup failures

View File

@ -25,12 +25,14 @@ import (
"k8s.io/apimachinery/pkg/util/uuid" "k8s.io/apimachinery/pkg/util/uuid"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
var _ = SIGDescribe("Projected combined", func() { var _ = SIGDescribe("Projected combined", func() {
f := framework.NewDefaultFramework("projected") f := framework.NewDefaultFramework("projected")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
// Test multiple projections // Test multiple projections
/* /*

View File

@ -28,6 +28,7 @@ import (
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
"github.com/onsi/gomega" "github.com/onsi/gomega"
@ -35,6 +36,7 @@ import (
var _ = SIGDescribe("Projected configMap", func() { var _ = SIGDescribe("Projected configMap", func() {
f := framework.NewDefaultFramework("projected") f := framework.NewDefaultFramework("projected")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
/* /*
Release: v1.9 Release: v1.9

View File

@ -27,6 +27,7 @@ import (
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
"github.com/onsi/gomega" "github.com/onsi/gomega"
@ -34,6 +35,7 @@ import (
var _ = SIGDescribe("Projected downwardAPI", func() { var _ = SIGDescribe("Projected downwardAPI", func() {
f := framework.NewDefaultFramework("projected") f := framework.NewDefaultFramework("projected")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
// How long to wait for a log pod to be displayed // How long to wait for a log pod to be displayed
const podLogTimeout = 2 * time.Minute const podLogTimeout = 2 * time.Minute

View File

@ -27,6 +27,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
"github.com/onsi/gomega" "github.com/onsi/gomega"
@ -34,6 +35,7 @@ import (
var _ = SIGDescribe("Projected secret", func() { var _ = SIGDescribe("Projected secret", func() {
f := framework.NewDefaultFramework("projected") f := framework.NewDefaultFramework("projected")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
/* /*
Release: v1.9 Release: v1.9

View File

@ -28,6 +28,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
"github.com/onsi/gomega" "github.com/onsi/gomega"
@ -35,6 +36,7 @@ import (
var _ = SIGDescribe("Secrets", func() { var _ = SIGDescribe("Secrets", func() {
f := framework.NewDefaultFramework("secrets") f := framework.NewDefaultFramework("secrets")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
/* /*
Release: v1.9 Release: v1.9

View File

@ -52,6 +52,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
e2evolume "k8s.io/kubernetes/test/e2e/framework/volume" e2evolume "k8s.io/kubernetes/test/e2e/framework/volume"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
@ -59,6 +60,7 @@ import (
// TODO(#99468): Check if these tests are still needed. // TODO(#99468): Check if these tests are still needed.
var _ = SIGDescribe("Volumes", func() { var _ = SIGDescribe("Volumes", func() {
f := framework.NewDefaultFramework("volume") f := framework.NewDefaultFramework("volume")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
// note that namespace deletion is handled by delete-namespace flag // note that namespace deletion is handled by delete-namespace flag
// filled in BeforeEach // filled in BeforeEach

View File

@ -21,6 +21,7 @@ import (
v1 "k8s.io/api/core/v1" v1 "k8s.io/api/core/v1"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
"k8s.io/utils/pointer"
) )
// NodeOSDistroIs returns true if the distro is the same as `--node-os-distro` // NodeOSDistroIs returns true if the distro is the same as `--node-os-distro`
@ -113,3 +114,19 @@ func GetLinuxLabel() *v1.SELinuxOptions {
return &v1.SELinuxOptions{ return &v1.SELinuxOptions{
Level: "s0:c0,c1"} Level: "s0:c0,c1"}
} }
// GetRestrictedPodSecurityContext returns a minimal restricted pod security context.
func GetRestrictedPodSecurityContext() *v1.PodSecurityContext {
return &v1.PodSecurityContext{
RunAsNonRoot: pointer.BoolPtr(true),
SeccompProfile: &v1.SeccompProfile{Type: v1.SeccompProfileTypeRuntimeDefault},
}
}
// GetRestrictedContainerSecurityContext returns a minimal restricted container security context.
func GetRestrictedContainerSecurityContext() *v1.SecurityContext {
return &v1.SecurityContext{
AllowPrivilegeEscalation: pointer.BoolPtr(false),
Capabilities: &v1.Capabilities{Drop: []v1.Capability{"ALL"}},
}
}

View File

@ -74,6 +74,7 @@ import (
testutils "k8s.io/kubernetes/test/utils" testutils "k8s.io/kubernetes/test/utils"
"k8s.io/kubernetes/test/utils/crd" "k8s.io/kubernetes/test/utils/crd"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
uexec "k8s.io/utils/exec" uexec "k8s.io/utils/exec"
"k8s.io/utils/pointer" "k8s.io/utils/pointer"
@ -225,6 +226,7 @@ func runKubectlRetryOrDie(ns string, args ...string) string {
var _ = SIGDescribe("Kubectl client", func() { var _ = SIGDescribe("Kubectl client", func() {
defer ginkgo.GinkgoRecover() defer ginkgo.GinkgoRecover()
f := framework.NewDefaultFramework("kubectl") f := framework.NewDefaultFramework("kubectl")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
// Reusable cluster state function. This won't be adversely affected by lazy initialization of framework. // Reusable cluster state function. This won't be adversely affected by lazy initialization of framework.
clusterState := func() *framework.ClusterVerification { clusterState := func() *framework.ClusterVerification {

View File

@ -42,6 +42,7 @@ import (
e2ewebsocket "k8s.io/kubernetes/test/e2e/framework/websocket" e2ewebsocket "k8s.io/kubernetes/test/e2e/framework/websocket"
testutils "k8s.io/kubernetes/test/utils" testutils "k8s.io/kubernetes/test/utils"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
"github.com/onsi/gomega" "github.com/onsi/gomega"
@ -448,6 +449,7 @@ func doTestOverWebSockets(bindAddress string, f *framework.Framework) {
var _ = SIGDescribe("Kubectl Port forwarding", func() { var _ = SIGDescribe("Kubectl Port forwarding", func() {
f := framework.NewDefaultFramework("port-forwarding") f := framework.NewDefaultFramework("port-forwarding")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
ginkgo.Describe("With a server listening on 0.0.0.0", func() { ginkgo.Describe("With a server listening on 0.0.0.0", func() {
ginkgo.Describe("that expects a client request", func() { ginkgo.Describe("that expects a client request", func() {

View File

@ -35,6 +35,7 @@ import (
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/network/common" "k8s.io/kubernetes/test/e2e/network/common"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
) )
const ( const (
@ -67,6 +68,7 @@ const (
var _ = common.SIGDescribe("Conntrack", func() { var _ = common.SIGDescribe("Conntrack", func() {
fr := framework.NewDefaultFramework("conntrack") fr := framework.NewDefaultFramework("conntrack")
fr.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
type nodeInfo struct { type nodeInfo struct {
name string name string

View File

@ -30,6 +30,7 @@ import (
e2eservice "k8s.io/kubernetes/test/e2e/framework/service" e2eservice "k8s.io/kubernetes/test/e2e/framework/service"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/network/common" "k8s.io/kubernetes/test/e2e/network/common"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
@ -39,6 +40,7 @@ const dnsTestServiceName = "dns-test-service"
var _ = common.SIGDescribe("DNS", func() { var _ = common.SIGDescribe("DNS", func() {
f := framework.NewDefaultFramework("dns") f := framework.NewDefaultFramework("dns")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
/* /*
Release: v1.9 Release: v1.9

View File

@ -36,12 +36,14 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
"k8s.io/kubernetes/test/e2e/network/common" "k8s.io/kubernetes/test/e2e/network/common"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
var _ = common.SIGDescribe("EndpointSlice", func() { var _ = common.SIGDescribe("EndpointSlice", func() {
f := framework.NewDefaultFramework("endpointslice") f := framework.NewDefaultFramework("endpointslice")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
var cs clientset.Interface var cs clientset.Interface
var podClient *framework.PodClient var podClient *framework.PodClient

View File

@ -36,6 +36,7 @@ import (
"k8s.io/apimachinery/pkg/util/intstr" "k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/util/wait"
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
admissionapi "k8s.io/pod-security-admission/api"
netutils "k8s.io/utils/net" netutils "k8s.io/utils/net"
) )
@ -72,6 +73,7 @@ var _ = common.SIGDescribe("CVE-2021-29923", func() {
) )
f := framework.NewDefaultFramework("funny-ips") f := framework.NewDefaultFramework("funny-ips")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
if framework.TestContext.ClusterIsIPv6() { if framework.TestContext.ClusterIsIPv6() {

View File

@ -33,11 +33,13 @@ import (
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
"k8s.io/kubernetes/test/e2e/network/common" "k8s.io/kubernetes/test/e2e/network/common"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
) )
var _ = common.SIGDescribe("HostPort", func() { var _ = common.SIGDescribe("HostPort", func() {
f := framework.NewDefaultFramework("hostport") f := framework.NewDefaultFramework("hostport")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
var ( var (
cs clientset.Interface cs clientset.Interface

View File

@ -42,6 +42,7 @@ import (
e2eservice "k8s.io/kubernetes/test/e2e/framework/service" e2eservice "k8s.io/kubernetes/test/e2e/framework/service"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/network/common" "k8s.io/kubernetes/test/e2e/network/common"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
@ -58,6 +59,7 @@ var _ = common.SIGDescribe("Loadbalancing: L7", func() {
conformanceTests []e2eingress.ConformanceTests conformanceTests []e2eingress.ConformanceTests
) )
f := framework.NewDefaultFramework("ingress") f := framework.NewDefaultFramework("ingress")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
jig = e2eingress.NewIngressTestJig(f.ClientSet) jig = e2eingress.NewIngressTestJig(f.ClientSet)

View File

@ -34,6 +34,7 @@ import (
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/network/common" "k8s.io/kubernetes/test/e2e/network/common"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
netutils "k8s.io/utils/net" netutils "k8s.io/utils/net"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
@ -48,6 +49,7 @@ var _ = common.SIGDescribe("KubeProxy", func() {
) )
fr := framework.NewDefaultFramework("kube-proxy") fr := framework.NewDefaultFramework("kube-proxy")
fr.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
ginkgo.It("should set TCP CLOSE_WAIT timeout [Privileged]", func() { ginkgo.It("should set TCP CLOSE_WAIT timeout [Privileged]", func() {
nodes, err := e2enode.GetBoundedReadySchedulableNodes(fr.ClientSet, 2) nodes, err := e2enode.GetBoundedReadySchedulableNodes(fr.ClientSet, 2)

View File

@ -44,6 +44,7 @@ import (
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/network/common" "k8s.io/kubernetes/test/e2e/network/common"
gcecloud "k8s.io/legacy-cloud-providers/gce" gcecloud "k8s.io/legacy-cloud-providers/gce"
admissionapi "k8s.io/pod-security-admission/api"
utilpointer "k8s.io/utils/pointer" utilpointer "k8s.io/utils/pointer"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
@ -52,6 +53,7 @@ import (
var _ = common.SIGDescribe("LoadBalancers", func() { var _ = common.SIGDescribe("LoadBalancers", func() {
f := framework.NewDefaultFramework("loadbalancers") f := framework.NewDefaultFramework("loadbalancers")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
var cs clientset.Interface var cs clientset.Interface
serviceLBNames := []string{} serviceLBNames := []string{}
@ -980,6 +982,7 @@ var _ = common.SIGDescribe("LoadBalancers", func() {
var _ = common.SIGDescribe("LoadBalancers ESIPP [Slow]", func() { var _ = common.SIGDescribe("LoadBalancers ESIPP [Slow]", func() {
f := framework.NewDefaultFramework("esipp") f := framework.NewDefaultFramework("esipp")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
var loadBalancerCreateTimeout time.Duration var loadBalancerCreateTimeout time.Duration
var cs clientset.Interface var cs clientset.Interface

View File

@ -31,6 +31,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
admissionapi "k8s.io/pod-security-admission/api"
) )
// probeConnectivityArgs is set of arguments for a probeConnectivity // probeConnectivityArgs is set of arguments for a probeConnectivity
@ -175,6 +176,7 @@ func (k *kubeManager) executeRemoteCommand(namespace string, pod string, contain
// createNamespace is a convenience function for namespace setup. // createNamespace is a convenience function for namespace setup.
func (k *kubeManager) createNamespace(ns *v1.Namespace) (*v1.Namespace, error) { func (k *kubeManager) createNamespace(ns *v1.Namespace) (*v1.Namespace, error) {
enforcePodSecurityBaseline(ns)
createdNamespace, err := k.clientSet.CoreV1().Namespaces().Create(context.TODO(), ns, metav1.CreateOptions{}) createdNamespace, err := k.clientSet.CoreV1().Namespaces().Create(context.TODO(), ns, metav1.CreateOptions{})
if err != nil { if err != nil {
return nil, fmt.Errorf("unable to update namespace %s: %w", ns.Name, err) return nil, fmt.Errorf("unable to update namespace %s: %w", ns.Name, err)
@ -263,6 +265,7 @@ func (k *kubeManager) setNamespaceLabels(ns string, labels map[string]string) er
return err return err
} }
selectedNameSpace.ObjectMeta.Labels = labels selectedNameSpace.ObjectMeta.Labels = labels
enforcePodSecurityBaseline(selectedNameSpace)
_, err = k.clientSet.CoreV1().Namespaces().Update(context.TODO(), selectedNameSpace, metav1.UpdateOptions{}) _, err = k.clientSet.CoreV1().Namespaces().Update(context.TODO(), selectedNameSpace, metav1.UpdateOptions{})
if err != nil { if err != nil {
return fmt.Errorf("unable to update namespace %s: %w", ns, err) return fmt.Errorf("unable to update namespace %s: %w", ns, err)
@ -280,3 +283,11 @@ func (k *kubeManager) deleteNamespaces(namespaces []string) error {
} }
return nil return nil
} }
func enforcePodSecurityBaseline(ns *v1.Namespace) {
if len(ns.ObjectMeta.Labels) == 0 {
ns.ObjectMeta.Labels = make(map[string]string)
}
// TODO(https://github.com/kubernetes/kubernetes/issues/108298): route namespace creation via framework.Framework.CreateNamespace
ns.ObjectMeta.Labels[admissionapi.EnforceLevelLabel] = string(admissionapi.LevelBaseline)
}

View File

@ -167,7 +167,9 @@ func (ns *Namespace) Spec() *v1.Namespace {
// LabelSelector returns the default labels that should be placed on a namespace // LabelSelector returns the default labels that should be placed on a namespace
// in order for it to be uniquely selectable by label selectors // in order for it to be uniquely selectable by label selectors
func (ns *Namespace) LabelSelector() map[string]string { func (ns *Namespace) LabelSelector() map[string]string {
return map[string]string{"ns": ns.Name} return map[string]string{
"ns": ns.Name,
}
} }
// Pod is the abstract representation of what matters to network policy tests for // Pod is the abstract representation of what matters to network policy tests for

View File

@ -43,6 +43,7 @@ import (
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/network/common" "k8s.io/kubernetes/test/e2e/network/common"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
netutils "k8s.io/utils/net" netutils "k8s.io/utils/net"
) )
@ -65,6 +66,7 @@ var _ = common.SIGDescribe("NetworkPolicyLegacy [LinuxOnly]", func() {
var podServer *v1.Pod var podServer *v1.Pod
var podServerLabelSelector string var podServerLabelSelector string
f := framework.NewDefaultFramework("network-policy") f := framework.NewDefaultFramework("network-policy")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
// Windows does not support network policies. // Windows does not support network policies.

View File

@ -33,6 +33,7 @@ import (
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
e2essh "k8s.io/kubernetes/test/e2e/framework/ssh" e2essh "k8s.io/kubernetes/test/e2e/framework/ssh"
"k8s.io/kubernetes/test/e2e/network/common" "k8s.io/kubernetes/test/e2e/network/common"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
@ -79,6 +80,7 @@ func checkConnectivityToHost(f *framework.Framework, nodeName, podName, host str
var _ = common.SIGDescribe("Networking", func() { var _ = common.SIGDescribe("Networking", func() {
var svcname = "nettest" var svcname = "nettest"
f := framework.NewDefaultFramework(svcname) f := framework.NewDefaultFramework(svcname)
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
ginkgo.It("should provide Internet connection for containers [Feature:Networking-IPv4]", func() { ginkgo.It("should provide Internet connection for containers [Feature:Networking-IPv4]", func() {
ginkgo.By("Running container which tries to connect to 8.8.8.8") ginkgo.By("Running container which tries to connect to 8.8.8.8")

View File

@ -35,6 +35,7 @@ import (
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
"k8s.io/kubernetes/test/e2e/network/common" "k8s.io/kubernetes/test/e2e/network/common"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
) )
const ( const (
@ -137,6 +138,7 @@ func iperf2ClientDaemonSet(client clientset.Interface, namespace string) (*appsv
var _ = common.SIGDescribe("Networking IPerf2 [Feature:Networking-Performance]", func() { var _ = common.SIGDescribe("Networking IPerf2 [Feature:Networking-Performance]", func() {
// this test runs iperf2: one pod as a server, and a daemonset of clients // this test runs iperf2: one pod as a server, and a daemonset of clients
f := framework.NewDefaultFramework("network-perf") f := framework.NewDefaultFramework("network-perf")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
ginkgo.It(fmt.Sprintf("should run iperf2"), func() { ginkgo.It(fmt.Sprintf("should run iperf2"), func() {
readySchedulableNodes, err := e2enode.GetReadySchedulableNodes(f.ClientSet) readySchedulableNodes, err := e2enode.GetReadySchedulableNodes(f.ClientSet)

View File

@ -44,6 +44,7 @@ import (
"k8s.io/kubernetes/test/e2e/network/common" "k8s.io/kubernetes/test/e2e/network/common"
testutils "k8s.io/kubernetes/test/utils" testutils "k8s.io/kubernetes/test/utils"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
"github.com/onsi/gomega" "github.com/onsi/gomega"
@ -75,6 +76,7 @@ var _ = common.SIGDescribe("Proxy", func() {
ClientQPS: -1.0, ClientQPS: -1.0,
} }
f := framework.NewFramework("proxy", options, nil) f := framework.NewFramework("proxy", options, nil)
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
prefix := "/api/" + version prefix := "/api/" + version
/* /*

View File

@ -37,6 +37,7 @@ import (
e2eingress "k8s.io/kubernetes/test/e2e/framework/ingress" e2eingress "k8s.io/kubernetes/test/e2e/framework/ingress"
"k8s.io/kubernetes/test/e2e/framework/providers/gce" "k8s.io/kubernetes/test/e2e/framework/providers/gce"
"k8s.io/kubernetes/test/e2e/network/scale" "k8s.io/kubernetes/test/e2e/network/scale"
admissionapi "k8s.io/pod-security-admission/api"
) )
var ( var (
@ -133,6 +134,10 @@ func main() {
ns := &v1.Namespace{ ns := &v1.Namespace{
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
Name: testNamespace, Name: testNamespace,
Labels: map[string]string{
// TODO(https://github.com/kubernetes/kubernetes/issues/108298): route namespace creation via framework.Framework.CreateNamespace in 1.24
admissionapi.EnforceLevelLabel: string(admissionapi.LevelPrivileged),
},
}, },
} }
klog.Infof("Creating namespace %s...", ns.Name) klog.Infof("Creating namespace %s...", ns.Name)

View File

@ -43,6 +43,7 @@ import (
"k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/util/wait"
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
admissionapi "k8s.io/pod-security-admission/api"
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
"k8s.io/client-go/tools/cache" "k8s.io/client-go/tools/cache"
@ -746,6 +747,7 @@ func getEndpointNodesWithInternalIP(jig *e2eservice.TestJig) (map[string]string,
var _ = common.SIGDescribe("Services", func() { var _ = common.SIGDescribe("Services", func() {
f := framework.NewDefaultFramework("services") f := framework.NewDefaultFramework("services")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
var cs clientset.Interface var cs clientset.Interface
serviceLBNames := []string{} serviceLBNames := []string{}
@ -3255,6 +3257,7 @@ func restartComponent(cs clientset.Interface, cName, ns string, matchLabels map[
var _ = common.SIGDescribe("SCTP [LinuxOnly]", func() { var _ = common.SIGDescribe("SCTP [LinuxOnly]", func() {
f := framework.NewDefaultFramework("sctp") f := framework.NewDefaultFramework("sctp")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
var cs clientset.Interface var cs clientset.Interface

View File

@ -36,6 +36,7 @@ import (
"k8s.io/kubernetes/test/e2e/network/common" "k8s.io/kubernetes/test/e2e/network/common"
testutils "k8s.io/kubernetes/test/utils" testutils "k8s.io/kubernetes/test/utils"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
@ -48,6 +49,7 @@ func (d durations) Swap(i, j int) { d[i], d[j] = d[j], d[i] }
var _ = common.SIGDescribe("Service endpoints latency", func() { var _ = common.SIGDescribe("Service endpoints latency", func() {
f := framework.NewDefaultFramework("svc-latency") f := framework.NewDefaultFramework("svc-latency")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
/* /*
Release: v1.9 Release: v1.9

View File

@ -21,12 +21,14 @@ import (
e2ekubectl "k8s.io/kubernetes/test/e2e/framework/kubectl" e2ekubectl "k8s.io/kubernetes/test/e2e/framework/kubectl"
e2esecurity "k8s.io/kubernetes/test/e2e/framework/security" e2esecurity "k8s.io/kubernetes/test/e2e/framework/security"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
var _ = SIGDescribe("AppArmor", func() { var _ = SIGDescribe("AppArmor", func() {
f := framework.NewDefaultFramework("apparmor") f := framework.NewDefaultFramework("apparmor")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
ginkgo.Context("load AppArmor profiles", func() { ginkgo.Context("load AppArmor profiles", func() {
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {

View File

@ -23,12 +23,14 @@ import (
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
var _ = SIGDescribe("crictl", func() { var _ = SIGDescribe("crictl", func() {
f := framework.NewDefaultFramework("crictl") f := framework.NewDefaultFramework("crictl")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
// `crictl` is not available on all cloud providers. // `crictl` is not available on all cloud providers.

View File

@ -29,12 +29,14 @@ import (
"k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/util/wait"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
var _ = SIGDescribe("Events", func() { var _ = SIGDescribe("Events", func() {
f := framework.NewDefaultFramework("events") f := framework.NewDefaultFramework("events")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
ginkgo.It("should be sent by kubelets and the scheduler about pods scheduling and running ", func() { ginkgo.It("should be sent by kubelets and the scheduler about pods scheduling and running ", func() {

View File

@ -34,6 +34,7 @@ import (
e2eauth "k8s.io/kubernetes/test/e2e/framework/auth" e2eauth "k8s.io/kubernetes/test/e2e/framework/auth"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2etestfiles "k8s.io/kubernetes/test/e2e/framework/testfiles" e2etestfiles "k8s.io/kubernetes/test/e2e/framework/testfiles"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
@ -44,6 +45,7 @@ const (
var _ = SIGDescribe("[Feature:Example]", func() { var _ = SIGDescribe("[Feature:Example]", func() {
f := framework.NewDefaultFramework("examples") f := framework.NewDefaultFramework("examples")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
var c clientset.Interface var c clientset.Interface
var ns string var ns string

View File

@ -39,6 +39,7 @@ import (
e2evolume "k8s.io/kubernetes/test/e2e/framework/volume" e2evolume "k8s.io/kubernetes/test/e2e/framework/volume"
testutils "k8s.io/kubernetes/test/utils" testutils "k8s.io/kubernetes/test/utils"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
@ -270,6 +271,7 @@ var _ = SIGDescribe("kubelet", func() {
ns string ns string
) )
f := framework.NewDefaultFramework("kubelet") f := framework.NewDefaultFramework("kubelet")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
c = f.ClientSet c = f.ClientSet

View File

@ -27,6 +27,7 @@ import (
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
@ -79,6 +80,7 @@ func preparePod(name string, node *v1.Node, propagation *v1.MountPropagationMode
var _ = SIGDescribe("Mount propagation", func() { var _ = SIGDescribe("Mount propagation", func() {
f := framework.NewDefaultFramework("mount-propagation") f := framework.NewDefaultFramework("mount-propagation")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
ginkgo.It("should propagate mounts within defined scopes", func() { ginkgo.It("should propagate mounts within defined scopes", func() {
// This test runs two pods: master and slave with respective mount // This test runs two pods: master and slave with respective mount

View File

@ -43,6 +43,7 @@ import (
e2ekubelet "k8s.io/kubernetes/test/e2e/framework/kubelet" e2ekubelet "k8s.io/kubernetes/test/e2e/framework/kubelet"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
"github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus"
@ -51,6 +52,7 @@ import (
var _ = SIGDescribe("Pods Extended", func() { var _ = SIGDescribe("Pods Extended", func() {
f := framework.NewDefaultFramework("pods") f := framework.NewDefaultFramework("pods")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
ginkgo.Describe("Delete Grace Period", func() { ginkgo.Describe("Delete Grace Period", func() {
var podClient *framework.PodClient var podClient *framework.PodClient

View File

@ -33,6 +33,7 @@ import (
e2ekubelet "k8s.io/kubernetes/test/e2e/framework/kubelet" e2ekubelet "k8s.io/kubernetes/test/e2e/framework/kubelet"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
@ -153,6 +154,7 @@ func testPreStop(c clientset.Interface, ns string) {
var _ = SIGDescribe("PreStop", func() { var _ = SIGDescribe("PreStop", func() {
f := framework.NewDefaultFramework("prestop") f := framework.NewDefaultFramework("prestop")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
var podClient *framework.PodClient var podClient *framework.PodClient
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
podClient = f.PodClient() podClient = f.PodClient()

View File

@ -19,6 +19,7 @@ package node
import ( import (
"context" "context"
"fmt" "fmt"
"k8s.io/pod-security-admission/api"
v1 "k8s.io/api/core/v1" v1 "k8s.io/api/core/v1"
nodev1 "k8s.io/api/node/v1" nodev1 "k8s.io/api/node/v1"
@ -38,6 +39,7 @@ import (
var _ = SIGDescribe("RuntimeClass", func() { var _ = SIGDescribe("RuntimeClass", func() {
f := framework.NewDefaultFramework("runtimeclass") f := framework.NewDefaultFramework("runtimeclass")
f.NamespacePodSecurityEnforceLevel = api.LevelBaseline
ginkgo.It("should reject a Pod requesting a RuntimeClass with conflicting node selector", func() { ginkgo.It("should reject a Pod requesting a RuntimeClass with conflicting node selector", func() {
labelFooName := "foo-" + string(uuid.NewUUID()) labelFooName := "foo-" + string(uuid.NewUUID())

View File

@ -33,6 +33,7 @@ import (
e2ekubectl "k8s.io/kubernetes/test/e2e/framework/kubectl" e2ekubectl "k8s.io/kubernetes/test/e2e/framework/kubectl"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
"github.com/onsi/gomega" "github.com/onsi/gomega"
@ -65,6 +66,7 @@ func scTestPod(hostIPC bool, hostPID bool) *v1.Pod {
var _ = SIGDescribe("Security Context", func() { var _ = SIGDescribe("Security Context", func() {
f := framework.NewDefaultFramework("security-context") f := framework.NewDefaultFramework("security-context")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
ginkgo.It("should support pod.Spec.SecurityContext.SupplementalGroups [LinuxOnly]", func() { ginkgo.It("should support pod.Spec.SecurityContext.SupplementalGroups [LinuxOnly]", func() {
pod := scTestPod(false, false) pod := scTestPod(false, false)

View File

@ -32,6 +32,7 @@ import (
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
testutils "k8s.io/kubernetes/test/utils" testutils "k8s.io/kubernetes/test/utils"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
// ensure libs have a chance to initialize // ensure libs have a chance to initialize
@ -160,6 +161,7 @@ var _ = SIGDescribe("NoExecuteTaintManager Single Pod [Serial]", func() {
var cs clientset.Interface var cs clientset.Interface
var ns string var ns string
f := framework.NewDefaultFramework("taint-single-pod") f := framework.NewDefaultFramework("taint-single-pod")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
cs = f.ClientSet cs = f.ClientSet
@ -341,6 +343,7 @@ var _ = SIGDescribe("NoExecuteTaintManager Multiple Pods [Serial]", func() {
var cs clientset.Interface var cs clientset.Interface
var ns string var ns string
f := framework.NewDefaultFramework("taint-multiple-pods") f := framework.NewDefaultFramework("taint-multiple-pods")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
cs = f.ClientSet cs = f.ClientSet

View File

@ -36,6 +36,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2eservice "k8s.io/kubernetes/test/e2e/framework/service" e2eservice "k8s.io/kubernetes/test/e2e/framework/service"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
@ -46,6 +47,7 @@ const (
var _ = SIGDescribe("LimitRange", func() { var _ = SIGDescribe("LimitRange", func() {
f := framework.NewDefaultFramework("limitrange") f := framework.NewDefaultFramework("limitrange")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
/* /*
Release: v1.18 Release: v1.18

View File

@ -38,6 +38,7 @@ import (
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
testutils "k8s.io/kubernetes/test/utils" testutils "k8s.io/kubernetes/test/utils"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
@ -77,6 +78,7 @@ var _ = SIGDescribe("SchedulerPredicates [Serial]", func() {
var RCName string var RCName string
var ns string var ns string
f := framework.NewDefaultFramework("sched-pred") f := framework.NewDefaultFramework("sched-pred")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
ginkgo.AfterEach(func() { ginkgo.AfterEach(func() {
rc, err := cs.CoreV1().ReplicationControllers(ns).Get(context.TODO(), RCName, metav1.GetOptions{}) rc, err := cs.CoreV1().ReplicationControllers(ns).Get(context.TODO(), RCName, metav1.GetOptions{})

View File

@ -44,6 +44,7 @@ import (
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2ereplicaset "k8s.io/kubernetes/test/e2e/framework/replicaset" e2ereplicaset "k8s.io/kubernetes/test/e2e/framework/replicaset"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
"github.com/onsi/gomega" "github.com/onsi/gomega"
@ -64,6 +65,7 @@ var _ = SIGDescribe("SchedulerPreemption [Serial]", func() {
var nodeList *v1.NodeList var nodeList *v1.NodeList
var ns string var ns string
f := framework.NewDefaultFramework("sched-preemption") f := framework.NewDefaultFramework("sched-preemption")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
lowPriority, mediumPriority, highPriority := int32(1), int32(100), int32(1000) lowPriority, mediumPriority, highPriority := int32(1), int32(100), int32(1000)
lowPriorityClassName := f.BaseName + "-low-priority" lowPriorityClassName := f.BaseName + "-low-priority"
@ -461,6 +463,7 @@ var _ = SIGDescribe("SchedulerPreemption [Serial]", func() {
var node *v1.Node var node *v1.Node
var ns, nodeHostNameLabel string var ns, nodeHostNameLabel string
f := framework.NewDefaultFramework("sched-preemption-path") f := framework.NewDefaultFramework("sched-preemption-path")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
priorityPairs := make([]priorityPair, 0) priorityPairs := make([]priorityPair, 0)

View File

@ -43,6 +43,7 @@ import (
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
testutils "k8s.io/kubernetes/test/utils" testutils "k8s.io/kubernetes/test/utils"
admissionapi "k8s.io/pod-security-admission/api"
) )
// Resource is a collection of compute resource. // Resource is a collection of compute resource.
@ -90,6 +91,7 @@ var _ = SIGDescribe("SchedulerPriorities [Serial]", func() {
var systemPodsNo int var systemPodsNo int
var ns string var ns string
f := framework.NewDefaultFramework("sched-priority") f := framework.NewDefaultFramework("sched-priority")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
ginkgo.AfterEach(func() { ginkgo.AfterEach(func() {
}) })

View File

@ -37,10 +37,12 @@ import (
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
testutils "k8s.io/kubernetes/test/utils" testutils "k8s.io/kubernetes/test/utils"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
) )
var _ = SIGDescribe("Multi-AZ Clusters", func() { var _ = SIGDescribe("Multi-AZ Clusters", func() {
f := framework.NewDefaultFramework("multi-az") f := framework.NewDefaultFramework("multi-az")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
var zoneCount int var zoneCount int
var err error var err error
var cleanUp func() var cleanUp func()

View File

@ -56,6 +56,7 @@ import (
"k8s.io/kubernetes/test/e2e/storage/testsuites" "k8s.io/kubernetes/test/e2e/storage/testsuites"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
utilptr "k8s.io/utils/pointer" utilptr "k8s.io/utils/pointer"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
@ -129,6 +130,7 @@ var _ = utils.SIGDescribe("CSI mock volume", func() {
var m mockDriverSetup var m mockDriverSetup
f := framework.NewDefaultFramework("csi-mock-volumes") f := framework.NewDefaultFramework("csi-mock-volumes")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
init := func(tp testParameters) { init := func(tp testParameters) {
m = mockDriverSetup{ m = mockDriverSetup{

View File

@ -31,6 +31,7 @@ import (
e2erc "k8s.io/kubernetes/test/e2e/framework/rc" e2erc "k8s.io/kubernetes/test/e2e/framework/rc"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
@ -56,6 +57,7 @@ const (
var _ = utils.SIGDescribe("EmptyDir wrapper volumes", func() { var _ = utils.SIGDescribe("EmptyDir wrapper volumes", func() {
f := framework.NewDefaultFramework("emptydir-wrapper") f := framework.NewDefaultFramework("emptydir-wrapper")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
/* /*
Release: v1.13 Release: v1.13

View File

@ -30,6 +30,7 @@ import (
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
@ -45,6 +46,7 @@ var _ = utils.SIGDescribe("Ephemeralstorage", func() {
) )
f := framework.NewDefaultFramework("pv") f := framework.NewDefaultFramework("pv")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
c = f.ClientSet c = f.ClientSet

View File

@ -35,6 +35,7 @@ import (
e2etestfiles "k8s.io/kubernetes/test/e2e/framework/testfiles" e2etestfiles "k8s.io/kubernetes/test/e2e/framework/testfiles"
e2evolume "k8s.io/kubernetes/test/e2e/framework/volume" e2evolume "k8s.io/kubernetes/test/e2e/framework/volume"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
admissionapi "k8s.io/pod-security-admission/api"
) )
const ( const (
@ -157,6 +158,7 @@ func getHostFromHostPort(hostPort string) string {
var _ = utils.SIGDescribe("Flexvolumes", func() { var _ = utils.SIGDescribe("Flexvolumes", func() {
f := framework.NewDefaultFramework("flexvolume") f := framework.NewDefaultFramework("flexvolume")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
// note that namespace deletion is handled by delete-namespace flag // note that namespace deletion is handled by delete-namespace flag

View File

@ -31,12 +31,14 @@ import (
e2evolume "k8s.io/kubernetes/test/e2e/framework/volume" e2evolume "k8s.io/kubernetes/test/e2e/framework/volume"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
var _ = utils.SIGDescribe("HostPathType Directory [Slow]", func() { var _ = utils.SIGDescribe("HostPathType Directory [Slow]", func() {
f := framework.NewDefaultFramework("host-path-type-directory") f := framework.NewDefaultFramework("host-path-type-directory")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
var ( var (
ns string ns string
@ -103,6 +105,7 @@ var _ = utils.SIGDescribe("HostPathType Directory [Slow]", func() {
var _ = utils.SIGDescribe("HostPathType File [Slow]", func() { var _ = utils.SIGDescribe("HostPathType File [Slow]", func() {
f := framework.NewDefaultFramework("host-path-type-file") f := framework.NewDefaultFramework("host-path-type-file")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
var ( var (
ns string ns string
@ -171,6 +174,7 @@ var _ = utils.SIGDescribe("HostPathType File [Slow]", func() {
var _ = utils.SIGDescribe("HostPathType Socket [Slow]", func() { var _ = utils.SIGDescribe("HostPathType Socket [Slow]", func() {
f := framework.NewDefaultFramework("host-path-type-socket") f := framework.NewDefaultFramework("host-path-type-socket")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
var ( var (
ns string ns string
@ -236,6 +240,7 @@ var _ = utils.SIGDescribe("HostPathType Socket [Slow]", func() {
var _ = utils.SIGDescribe("HostPathType Character Device [Slow]", func() { var _ = utils.SIGDescribe("HostPathType Character Device [Slow]", func() {
f := framework.NewDefaultFramework("host-path-type-char-dev") f := framework.NewDefaultFramework("host-path-type-char-dev")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
var ( var (
ns string ns string
@ -305,6 +310,7 @@ var _ = utils.SIGDescribe("HostPathType Character Device [Slow]", func() {
var _ = utils.SIGDescribe("HostPathType Block Device [Slow]", func() { var _ = utils.SIGDescribe("HostPathType Block Device [Slow]", func() {
f := framework.NewDefaultFramework("host-path-type-block-dev") f := framework.NewDefaultFramework("host-path-type-block-dev")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
var ( var (
ns string ns string

View File

@ -36,10 +36,12 @@ import (
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
"k8s.io/kubernetes/test/e2e/storage/testsuites" "k8s.io/kubernetes/test/e2e/storage/testsuites"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
admissionapi "k8s.io/pod-security-admission/api"
) )
var _ = utils.SIGDescribe("PersistentVolumes-expansion ", func() { var _ = utils.SIGDescribe("PersistentVolumes-expansion ", func() {
f := framework.NewDefaultFramework("persistent-local-volumes-expansion") f := framework.NewDefaultFramework("persistent-local-volumes-expansion")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
ginkgo.Context("loopback local block volume", func() { ginkgo.Context("loopback local block volume", func() {
var ( var (
config *localTestConfig config *localTestConfig

View File

@ -49,6 +49,7 @@ import (
e2evolume "k8s.io/kubernetes/test/e2e/framework/volume" e2evolume "k8s.io/kubernetes/test/e2e/framework/volume"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
) )
type localTestConfig struct { type localTestConfig struct {
@ -149,6 +150,7 @@ var (
var _ = utils.SIGDescribe("PersistentVolumes-local ", func() { var _ = utils.SIGDescribe("PersistentVolumes-local ", func() {
f := framework.NewDefaultFramework("persistent-local-volumes-test") f := framework.NewDefaultFramework("persistent-local-volumes-test")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
var ( var (
config *localTestConfig config *localTestConfig

View File

@ -36,6 +36,7 @@ import (
e2evolume "k8s.io/kubernetes/test/e2e/framework/volume" e2evolume "k8s.io/kubernetes/test/e2e/framework/volume"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
admissionapi "k8s.io/pod-security-admission/api"
) )
// Validate PV/PVC, create and verify writer pod, delete the PVC, and validate the PV's // Validate PV/PVC, create and verify writer pod, delete the PVC, and validate the PV's
@ -107,6 +108,7 @@ var _ = utils.SIGDescribe("PersistentVolumes", func() {
pvc *v1.PersistentVolumeClaim pvc *v1.PersistentVolumeClaim
err error err error
) )
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
c = f.ClientSet c = f.ClientSet

View File

@ -35,6 +35,7 @@ import (
e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
"k8s.io/kubernetes/test/e2e/storage/testsuites" "k8s.io/kubernetes/test/e2e/storage/testsuites"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
admissionapi "k8s.io/pod-security-admission/api"
) )
const ( const (
@ -69,6 +70,7 @@ var _ = utils.SIGDescribe("PVC Protection", func() {
) )
f := framework.NewDefaultFramework("pvc-protection") f := framework.NewDefaultFramework("pvc-protection")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
client = f.ClientSet client = f.ClientSet
nameSpace = f.Namespace.Name nameSpace = f.Namespace.Name

View File

@ -26,10 +26,12 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
"k8s.io/kubernetes/test/e2e/storage/testsuites" "k8s.io/kubernetes/test/e2e/storage/testsuites"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
admissionapi "k8s.io/pod-security-admission/api"
) )
var _ = utils.SIGDescribe("Subpath", func() { var _ = utils.SIGDescribe("Subpath", func() {
f := framework.NewDefaultFramework("subpath") f := framework.NewDefaultFramework("subpath")
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelBaseline
ginkgo.Context("Atomic writer volumes", func() { ginkgo.Context("Atomic writer volumes", func() {
var err error var err error

View File

@ -29,6 +29,7 @@ import (
storageframework "k8s.io/kubernetes/test/e2e/storage/framework" storageframework "k8s.io/kubernetes/test/e2e/storage/framework"
"k8s.io/kubernetes/test/e2e/storage/utils" "k8s.io/kubernetes/test/e2e/storage/utils"
storageutils "k8s.io/kubernetes/test/e2e/storage/utils" storageutils "k8s.io/kubernetes/test/e2e/storage/utils"
admissionapi "k8s.io/pod-security-admission/api"
) )
type disruptiveTestSuite struct { type disruptiveTestSuite struct {
@ -89,6 +90,7 @@ func (s *disruptiveTestSuite) DefineTests(driver storageframework.TestDriver, pa
// Beware that it also registers an AfterEach which renders f unusable. Any code using // Beware that it also registers an AfterEach which renders f unusable. Any code using
// f must run inside an It or Context callback. // f must run inside an It or Context callback.
f := framework.NewFrameworkWithCustomTimeouts("disruptive", storageframework.GetDriverTimeouts(driver)) f := framework.NewFrameworkWithCustomTimeouts("disruptive", storageframework.GetDriverTimeouts(driver))
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
init := func() { init := func() {
l = local{} l = local{}

View File

@ -36,6 +36,7 @@ import (
e2evolume "k8s.io/kubernetes/test/e2e/framework/volume" e2evolume "k8s.io/kubernetes/test/e2e/framework/volume"
storageframework "k8s.io/kubernetes/test/e2e/storage/framework" storageframework "k8s.io/kubernetes/test/e2e/storage/framework"
storageutils "k8s.io/kubernetes/test/e2e/storage/utils" storageutils "k8s.io/kubernetes/test/e2e/storage/utils"
admissionapi "k8s.io/pod-security-admission/api"
) )
type ephemeralTestSuite struct { type ephemeralTestSuite struct {
@ -117,6 +118,7 @@ func (p *ephemeralTestSuite) DefineTests(driver storageframework.TestDriver, pat
// Beware that it also registers an AfterEach which renders f unusable. Any code using // Beware that it also registers an AfterEach which renders f unusable. Any code using
// f must run inside an It or Context callback. // f must run inside an It or Context callback.
f := framework.NewFrameworkWithCustomTimeouts("ephemeral", storageframework.GetDriverTimeouts(driver)) f := framework.NewFrameworkWithCustomTimeouts("ephemeral", storageframework.GetDriverTimeouts(driver))
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
init := func() { init := func() {
if pattern.VolType == storageframework.CSIInlineVolume { if pattern.VolType == storageframework.CSIInlineVolume {

View File

@ -29,6 +29,7 @@ import (
e2evolume "k8s.io/kubernetes/test/e2e/framework/volume" e2evolume "k8s.io/kubernetes/test/e2e/framework/volume"
storageframework "k8s.io/kubernetes/test/e2e/storage/framework" storageframework "k8s.io/kubernetes/test/e2e/storage/framework"
storageutils "k8s.io/kubernetes/test/e2e/storage/utils" storageutils "k8s.io/kubernetes/test/e2e/storage/utils"
admissionapi "k8s.io/pod-security-admission/api"
utilpointer "k8s.io/utils/pointer" utilpointer "k8s.io/utils/pointer"
) )
@ -105,6 +106,7 @@ func (s *fsGroupChangePolicyTestSuite) DefineTests(driver storageframework.TestD
// Beware that it also registers an AfterEach which renders f unusable. Any code using // Beware that it also registers an AfterEach which renders f unusable. Any code using
// f must run inside an It or Context callback. // f must run inside an It or Context callback.
f := framework.NewFrameworkWithCustomTimeouts("fsgroupchangepolicy", storageframework.GetDriverTimeouts(driver)) f := framework.NewFrameworkWithCustomTimeouts("fsgroupchangepolicy", storageframework.GetDriverTimeouts(driver))
f.NamespacePodSecurityEnforceLevel = admissionapi.LevelPrivileged
init := func() { init := func() {
e2eskipper.SkipIfNodeOSDistroIs("windows") e2eskipper.SkipIfNodeOSDistroIs("windows")

Some files were not shown because too many files have changed in this diff Show More