k8s.io/kubernetes@v1.31.0-alpha.0.0.20240520171757-56147500dadc/test/conformance/testdata/conformance.yaml (about) 1 - testname: Priority and Fairness FlowSchema API 2 codename: '[sig-api-machinery] API priority and fairness should support FlowSchema 3 API operations [Conformance]' 4 description: ' The flowcontrol.apiserver.k8s.io API group MUST exist in the /apis 5 discovery document. The flowcontrol.apiserver.k8s.io/v1 API group/version MUST 6 exist in the /apis/flowcontrol.apiserver.k8s.io discovery document. The flowschemas 7 and flowschemas/status resources MUST exist in the /apis/flowcontrol.apiserver.k8s.io/v1 8 discovery document. The flowschema resource must support create, get, list, watch, 9 update, patch, delete, and deletecollection.' 10 release: v1.29 11 file: test/e2e/apimachinery/flowcontrol.go 12 - testname: Priority and Fairness PriorityLevelConfiguration API 13 codename: '[sig-api-machinery] API priority and fairness should support PriorityLevelConfiguration 14 API operations [Conformance]' 15 description: ' The flowcontrol.apiserver.k8s.io API group MUST exist in the /apis 16 discovery document. The flowcontrol.apiserver.k8s.io/v1 API group/version MUST 17 exist in the /apis/flowcontrol.apiserver.k8s.io discovery document. The prioritylevelconfiguration 18 and prioritylevelconfiguration/status resources MUST exist in the /apis/flowcontrol.apiserver.k8s.io/v1 19 discovery document. The prioritylevelconfiguration resource must support create, 20 get, list, watch, update, patch, delete, and deletecollection.' 21 release: v1.29 22 file: test/e2e/apimachinery/flowcontrol.go 23 - testname: Admission webhook, list mutating webhooks 24 codename: '[sig-api-machinery] AdmissionWebhook [Privileged:ClusterAdmin] listing 25 mutating webhooks should work [Conformance]' 26 description: Create 10 mutating webhook configurations, all with a label. Attempt 27 to list the webhook configurations matching the label; all the created webhook 28 configurations MUST be present. Attempt to create an object; the object MUST be 29 mutated. Attempt to remove the webhook configurations matching the label with 30 deletecollection; all webhook configurations MUST be deleted. Attempt to create 31 an object; the object MUST NOT be mutated. 32 release: v1.16 33 file: test/e2e/apimachinery/webhook.go 34 - testname: Admission webhook, list validating webhooks 35 codename: '[sig-api-machinery] AdmissionWebhook [Privileged:ClusterAdmin] listing 36 validating webhooks should work [Conformance]' 37 description: Create 10 validating webhook configurations, all with a label. Attempt 38 to list the webhook configurations matching the label; all the created webhook 39 configurations MUST be present. Attempt to create an object; the create MUST be 40 denied. Attempt to remove the webhook configurations matching the label with deletecollection; 41 all webhook configurations MUST be deleted. Attempt to create an object; the create 42 MUST NOT be denied. 43 release: v1.16 44 file: test/e2e/apimachinery/webhook.go 45 - testname: Admission webhook, update mutating webhook 46 codename: '[sig-api-machinery] AdmissionWebhook [Privileged:ClusterAdmin] patching/updating 47 a mutating webhook should work [Conformance]' 48 description: Register a mutating admission webhook configuration. Update the webhook 49 to not apply to the create operation and attempt to create an object; the webhook 50 MUST NOT mutate the object. Patch the webhook to apply to the create operation 51 again and attempt to create an object; the webhook MUST mutate the object. 52 release: v1.16 53 file: test/e2e/apimachinery/webhook.go 54 - testname: Admission webhook, update validating webhook 55 codename: '[sig-api-machinery] AdmissionWebhook [Privileged:ClusterAdmin] patching/updating 56 a validating webhook should work [Conformance]' 57 description: Register a validating admission webhook configuration. Update the webhook 58 to not apply to the create operation and attempt to create an object; the webhook 59 MUST NOT deny the create. Patch the webhook to apply to the create operation again 60 and attempt to create an object; the webhook MUST deny the create. 61 release: v1.16 62 file: test/e2e/apimachinery/webhook.go 63 - testname: Mutating Admission webhook, create and update mutating webhook configuration 64 with matchConditions 65 codename: '[sig-api-machinery] AdmissionWebhook [Privileged:ClusterAdmin] should 66 be able to create and update mutating webhook configurations with match conditions 67 [Conformance]' 68 description: Register a mutating webhook configuration. Verify that the match conditions 69 field are properly stored in the api-server. Update the mutating webhook configuration 70 and retrieve it; the retrieved object must contain the newly update matchConditions 71 fields. 72 release: v1.28 73 file: test/e2e/apimachinery/webhook.go 74 - testname: Validating Admission webhook, create and update validating webhook configuration 75 with matchConditions 76 codename: '[sig-api-machinery] AdmissionWebhook [Privileged:ClusterAdmin] should 77 be able to create and update validating webhook configurations with match conditions 78 [Conformance]' 79 description: Register a validating webhook configuration. Verify that the match 80 conditions field are properly stored in the api-server. Update the validating 81 webhook configuration and retrieve it; the retrieved object must contain the newly 82 update matchConditions fields. 83 release: v1.28 84 file: test/e2e/apimachinery/webhook.go 85 - testname: Admission webhook, deny attach 86 codename: '[sig-api-machinery] AdmissionWebhook [Privileged:ClusterAdmin] should 87 be able to deny attaching pod [Conformance]' 88 description: Register an admission webhook configuration that denies connecting 89 to a pod's attach sub-resource. Attempts to attach MUST be denied. 90 release: v1.16 91 file: test/e2e/apimachinery/webhook.go 92 - testname: Admission webhook, deny custom resource create and delete 93 codename: '[sig-api-machinery] AdmissionWebhook [Privileged:ClusterAdmin] should 94 be able to deny custom resource creation, update and deletion [Conformance]' 95 description: Register an admission webhook configuration that denies creation, update 96 and deletion of custom resources. Attempts to create, update and delete custom 97 resources MUST be denied. 98 release: v1.16 99 file: test/e2e/apimachinery/webhook.go 100 - testname: Admission webhook, deny create 101 codename: '[sig-api-machinery] AdmissionWebhook [Privileged:ClusterAdmin] should 102 be able to deny pod and configmap creation [Conformance]' 103 description: Register an admission webhook configuration that admits pod and configmap. 104 Attempts to create non-compliant pods and configmaps, or update/patch compliant 105 pods and configmaps to be non-compliant MUST be denied. An attempt to create a 106 pod that causes a webhook to hang MUST result in a webhook timeout error, and 107 the pod creation MUST be denied. An attempt to create a non-compliant configmap 108 in a whitelisted namespace based on the webhook namespace selector MUST be allowed. 109 release: v1.16 110 file: test/e2e/apimachinery/webhook.go 111 - testname: Admission webhook, deny custom resource definition 112 codename: '[sig-api-machinery] AdmissionWebhook [Privileged:ClusterAdmin] should 113 deny crd creation [Conformance]' 114 description: Register a webhook that denies custom resource definition create. Attempt 115 to create a custom resource definition; the create request MUST be denied. 116 release: v1.16 117 file: test/e2e/apimachinery/webhook.go 118 - testname: Admission webhook, honor timeout 119 codename: '[sig-api-machinery] AdmissionWebhook [Privileged:ClusterAdmin] should 120 honor timeout [Conformance]' 121 description: Using a webhook that waits 5 seconds before admitting objects, configure 122 the webhook with combinations of timeouts and failure policy values. Attempt to 123 create a config map with each combination. Requests MUST timeout if the configured 124 webhook timeout is less than 5 seconds and failure policy is fail. Requests must 125 not timeout if the failure policy is ignore. Requests MUST NOT timeout if configured 126 webhook timeout is 10 seconds (much longer than the webhook wait duration). 127 release: v1.16 128 file: test/e2e/apimachinery/webhook.go 129 - testname: Admission webhook, discovery document 130 codename: '[sig-api-machinery] AdmissionWebhook [Privileged:ClusterAdmin] should 131 include webhook resources in discovery documents [Conformance]' 132 description: The admissionregistration.k8s.io API group MUST exists in the /apis 133 discovery document. The admissionregistration.k8s.io/v1 API group/version MUST 134 exists in the /apis discovery document. The mutatingwebhookconfigurations and 135 validatingwebhookconfigurations resources MUST exist in the /apis/admissionregistration.k8s.io/v1 136 discovery document. 137 release: v1.16 138 file: test/e2e/apimachinery/webhook.go 139 - testname: Admission webhook, ordered mutation 140 codename: '[sig-api-machinery] AdmissionWebhook [Privileged:ClusterAdmin] should 141 mutate configmap [Conformance]' 142 description: Register a mutating webhook configuration with two webhooks that admit 143 configmaps, one that adds a data key if the configmap already has a specific key, 144 and another that adds a key if the key added by the first webhook is present. 145 Attempt to create a config map; both keys MUST be added to the config map. 146 release: v1.16 147 file: test/e2e/apimachinery/webhook.go 148 - testname: Admission webhook, mutate custom resource 149 codename: '[sig-api-machinery] AdmissionWebhook [Privileged:ClusterAdmin] should 150 mutate custom resource [Conformance]' 151 description: Register a webhook that mutates a custom resource. Attempt to create 152 custom resource object; the custom resource MUST be mutated. 153 release: v1.16 154 file: test/e2e/apimachinery/webhook.go 155 - testname: Admission webhook, mutate custom resource with different stored version 156 codename: '[sig-api-machinery] AdmissionWebhook [Privileged:ClusterAdmin] should 157 mutate custom resource with different stored version [Conformance]' 158 description: Register a webhook that mutates custom resources on create and update. 159 Register a custom resource definition using v1 as stored version. Create a custom 160 resource. Patch the custom resource definition to use v2 as the stored version. 161 Attempt to patch the custom resource with a new field and value; the patch MUST 162 be applied successfully. 163 release: v1.16 164 file: test/e2e/apimachinery/webhook.go 165 - testname: Admission webhook, mutate custom resource with pruning 166 codename: '[sig-api-machinery] AdmissionWebhook [Privileged:ClusterAdmin] should 167 mutate custom resource with pruning [Conformance]' 168 description: Register mutating webhooks that adds fields to custom objects. Register 169 a custom resource definition with a schema that includes only one of the data 170 keys added by the webhooks. Attempt to a custom resource; the fields included 171 in the schema MUST be present and field not included in the schema MUST NOT be 172 present. 173 release: v1.16 174 file: test/e2e/apimachinery/webhook.go 175 - testname: Mutating Admission webhook, mutating webhook excluding object with specific 176 name 177 codename: '[sig-api-machinery] AdmissionWebhook [Privileged:ClusterAdmin] should 178 mutate everything except ''skip-me'' configmaps [Conformance]' 179 description: Create a mutating webhook configuration with matchConditions field 180 that will reject all resources except ones with a specific name 'skip-me'. Create 181 a configMap with the name 'skip-me' and verify that it's mutated. Create a configMap 182 with a different name than 'skip-me' and verify that it's mustated. 183 release: v1.28 184 file: test/e2e/apimachinery/webhook.go 185 - testname: Admission webhook, mutation with defaulting 186 codename: '[sig-api-machinery] AdmissionWebhook [Privileged:ClusterAdmin] should 187 mutate pod and apply defaults after mutation [Conformance]' 188 description: Register a mutating webhook that adds an InitContainer to pods. Attempt 189 to create a pod; the InitContainer MUST be added the TerminationMessagePolicy 190 MUST be defaulted. 191 release: v1.16 192 file: test/e2e/apimachinery/webhook.go 193 - testname: Admission webhook, admission control not allowed on webhook configuration 194 objects 195 codename: '[sig-api-machinery] AdmissionWebhook [Privileged:ClusterAdmin] should 196 not be able to mutate or prevent deletion of webhook configuration objects [Conformance]' 197 description: Register webhooks that mutate and deny deletion of webhook configuration 198 objects. Attempt to create and delete a webhook configuration object; both operations 199 MUST be allowed and the webhook configuration object MUST NOT be mutated the webhooks. 200 release: v1.16 201 file: test/e2e/apimachinery/webhook.go 202 - testname: Mutating Admission webhook, reject mutating webhook configurations with 203 invalid matchConditions 204 codename: '[sig-api-machinery] AdmissionWebhook [Privileged:ClusterAdmin] should 205 reject mutating webhook configurations with invalid match conditions [Conformance]' 206 description: Creates a mutating webhook configuration with an invalid CEL expression 207 in it's matchConditions field. The api-server server should reject the create 208 request with a "compilation failed" error message. 209 release: v1.28 210 file: test/e2e/apimachinery/webhook.go 211 - testname: Validing Admission webhook, reject validating webhook configurations with 212 invalid matchConditions 213 codename: '[sig-api-machinery] AdmissionWebhook [Privileged:ClusterAdmin] should 214 reject validating webhook configurations with invalid match conditions [Conformance]' 215 description: Creates a validating webhook configuration with an invalid CEL expression 216 in it's matchConditions field. The api-server server should reject the create 217 request with a "compilation failed" error message. 218 release: v1.28 219 file: test/e2e/apimachinery/webhook.go 220 - testname: Admission webhook, fail closed 221 codename: '[sig-api-machinery] AdmissionWebhook [Privileged:ClusterAdmin] should 222 unconditionally reject operations on fail closed webhook [Conformance]' 223 description: Register a webhook with a fail closed policy and without CA bundle 224 so that it cannot be called. Attempt operations that require the admission webhook; 225 all MUST be denied. 226 release: v1.16 227 file: test/e2e/apimachinery/webhook.go 228 - testname: Aggregated Discovery Interface 229 codename: '[sig-api-machinery] AggregatedDiscovery should support aggregated discovery 230 interface [Conformance]' 231 description: An apiserver MUST support the Aggregated Discovery client interface. 232 Built-in resources MUST all be present. 233 release: v1.30 234 file: test/e2e/apimachinery/aggregated_discovery.go 235 - testname: Aggregated Discovery Interface CRDs 236 codename: '[sig-api-machinery] AggregatedDiscovery should support aggregated discovery 237 interface for CRDs [Conformance]' 238 description: An apiserver MUST support the Aggregated Discovery client interface. 239 Add a CRD to the apiserver. The CRD resource MUST be present in the discovery 240 document. 241 release: v1.30 242 file: test/e2e/apimachinery/aggregated_discovery.go 243 - testname: Aggregated Discovery Endpoint Accept Headers 244 codename: '[sig-api-machinery] AggregatedDiscovery should support raw aggregated 245 discovery endpoint Accept headers [Conformance]' 246 description: An apiserver MUST support the Aggregated Discovery endpoint Accept 247 headers. Built-in resources MUST all be present. 248 release: v1.30 249 file: test/e2e/apimachinery/aggregated_discovery.go 250 - testname: Aggregated Discovery Endpoint Accept Headers CRDs 251 codename: '[sig-api-machinery] AggregatedDiscovery should support raw aggregated 252 discovery request for CRDs [Conformance]' 253 description: An apiserver MUST support the Aggregated Discovery endpoint Accept 254 headers. Add a CRD to the apiserver. The CRD MUST appear in the discovery document. 255 release: v1.30 256 file: test/e2e/apimachinery/aggregated_discovery.go 257 - testname: aggregator-supports-the-sample-apiserver 258 codename: '[sig-api-machinery] Aggregator Should be able to support the 1.17 Sample 259 API Server using the current Aggregator [Conformance]' 260 description: Ensure that the sample-apiserver code from 1.17 and compiled against 261 1.17 will work on the current Aggregator/API-Server. 262 release: v1.17, v1.21, v1.27 263 file: test/e2e/apimachinery/aggregator.go 264 - testname: Custom Resource Definition Conversion Webhook, convert mixed version list 265 codename: '[sig-api-machinery] CustomResourceConversionWebhook [Privileged:ClusterAdmin] 266 should be able to convert a non homogeneous list of CRs [Conformance]' 267 description: Register a conversion webhook and a custom resource definition. Create 268 a custom resource stored at v1. Change the custom resource definition storage 269 to v2. Create a custom resource stored at v2. Attempt to list the custom resources 270 at v2; the list result MUST contain both custom resources at v2. 271 release: v1.16 272 file: test/e2e/apimachinery/crd_conversion_webhook.go 273 - testname: Custom Resource Definition Conversion Webhook, conversion custom resource 274 codename: '[sig-api-machinery] CustomResourceConversionWebhook [Privileged:ClusterAdmin] 275 should be able to convert from CR v1 to CR v2 [Conformance]' 276 description: Register a conversion webhook and a custom resource definition. Create 277 a v1 custom resource. Attempts to read it at v2 MUST succeed. 278 release: v1.16 279 file: test/e2e/apimachinery/crd_conversion_webhook.go 280 - testname: Custom Resource Definition, watch 281 codename: '[sig-api-machinery] CustomResourceDefinition Watch [Privileged:ClusterAdmin] 282 CustomResourceDefinition Watch watch on custom resource definition objects [Conformance]' 283 description: Create a Custom Resource Definition. Attempt to watch it; the watch 284 MUST observe create, modify and delete events. 285 release: v1.16 286 file: test/e2e/apimachinery/crd_watch.go 287 - testname: Custom Resource Definition, create 288 codename: '[sig-api-machinery] CustomResourceDefinition resources [Privileged:ClusterAdmin] 289 Simple CustomResourceDefinition creating/deleting custom resource definition objects 290 works [Conformance]' 291 description: Create a API extension client and define a random custom resource definition. 292 Create the custom resource definition and then delete it. The creation and deletion 293 MUST be successful. 294 release: v1.9 295 file: test/e2e/apimachinery/custom_resource_definition.go 296 - testname: Custom Resource Definition, status sub-resource 297 codename: '[sig-api-machinery] CustomResourceDefinition resources [Privileged:ClusterAdmin] 298 Simple CustomResourceDefinition getting/updating/patching custom resource definition 299 status sub-resource works [Conformance]' 300 description: Create a custom resource definition. Attempt to read, update and patch 301 its status sub-resource; all mutating sub-resource operations MUST be visible 302 to subsequent reads. 303 release: v1.16 304 file: test/e2e/apimachinery/custom_resource_definition.go 305 - testname: Custom Resource Definition, list 306 codename: '[sig-api-machinery] CustomResourceDefinition resources [Privileged:ClusterAdmin] 307 Simple CustomResourceDefinition listing custom resource definition objects works 308 [Conformance]' 309 description: Create a API extension client, define 10 labeled custom resource definitions 310 and list them using a label selector; the list result MUST contain only the labeled 311 custom resource definitions. Delete the labeled custom resource definitions via 312 delete collection; the delete MUST be successful and MUST delete only the labeled 313 custom resource definitions. 314 release: v1.16 315 file: test/e2e/apimachinery/custom_resource_definition.go 316 - testname: Custom Resource Definition, defaulting 317 codename: '[sig-api-machinery] CustomResourceDefinition resources [Privileged:ClusterAdmin] 318 custom resource defaulting for requests and from storage works [Conformance]' 319 description: Create a custom resource definition without default. Create CR. Add 320 default and read CR until the default is applied. Create another CR. Remove default, 321 add default for another field and read CR until new field is defaulted, but old 322 default stays. 323 release: v1.17 324 file: test/e2e/apimachinery/custom_resource_definition.go 325 - testname: Custom Resource Definition, discovery 326 codename: '[sig-api-machinery] CustomResourceDefinition resources [Privileged:ClusterAdmin] 327 should include custom resource definition resources in discovery documents [Conformance]' 328 description: Fetch /apis, /apis/apiextensions.k8s.io, and /apis/apiextensions.k8s.io/v1 329 discovery documents, and ensure they indicate CustomResourceDefinition apiextensions.k8s.io/v1 330 resources are available. 331 release: v1.16 332 file: test/e2e/apimachinery/custom_resource_definition.go 333 - testname: Custom Resource OpenAPI Publish, stop serving version 334 codename: '[sig-api-machinery] CustomResourcePublishOpenAPI [Privileged:ClusterAdmin] 335 removes definition from spec when one version gets changed to not be served [Conformance]' 336 description: Register a custom resource definition with multiple versions. OpenAPI 337 definitions MUST be published for custom resource definitions. Update the custom 338 resource definition to not serve one of the versions. OpenAPI definitions MUST 339 be updated to not contain the version that is no longer served. 340 release: v1.16 341 file: test/e2e/apimachinery/crd_publish_openapi.go 342 - testname: Custom Resource OpenAPI Publish, version rename 343 codename: '[sig-api-machinery] CustomResourcePublishOpenAPI [Privileged:ClusterAdmin] 344 updates the published spec when one version gets renamed [Conformance]' 345 description: Register a custom resource definition with multiple versions; OpenAPI 346 definitions MUST be published for custom resource definitions. Rename one of the 347 versions of the custom resource definition via a patch; OpenAPI definitions MUST 348 update to reflect the rename. 349 release: v1.16 350 file: test/e2e/apimachinery/crd_publish_openapi.go 351 - testname: Custom Resource OpenAPI Publish, with x-kubernetes-preserve-unknown-fields 352 at root 353 codename: '[sig-api-machinery] CustomResourcePublishOpenAPI [Privileged:ClusterAdmin] 354 works for CRD preserving unknown fields at the schema root [Conformance]' 355 description: Register a custom resource definition with x-kubernetes-preserve-unknown-fields 356 in the schema root. Attempt to create and apply a change a custom resource, via 357 kubectl; kubectl validation MUST accept unknown properties. Attempt kubectl explain; 358 the output MUST show the custom resource KIND. 359 release: v1.16 360 file: test/e2e/apimachinery/crd_publish_openapi.go 361 - testname: Custom Resource OpenAPI Publish, with x-kubernetes-preserve-unknown-fields 362 in embedded object 363 codename: '[sig-api-machinery] CustomResourcePublishOpenAPI [Privileged:ClusterAdmin] 364 works for CRD preserving unknown fields in an embedded object [Conformance]' 365 description: Register a custom resource definition with x-kubernetes-preserve-unknown-fields 366 in an embedded object. Attempt to create and apply a change a custom resource, 367 via kubectl; kubectl validation MUST accept unknown properties. Attempt kubectl 368 explain; the output MUST show that x-preserve-unknown-properties is used on the 369 nested field. 370 release: v1.16 371 file: test/e2e/apimachinery/crd_publish_openapi.go 372 - testname: Custom Resource OpenAPI Publish, with validation schema 373 codename: '[sig-api-machinery] CustomResourcePublishOpenAPI [Privileged:ClusterAdmin] 374 works for CRD with validation schema [Conformance]' 375 description: Register a custom resource definition with a validating schema consisting 376 of objects, arrays and primitives. Attempt to create and apply a change a custom 377 resource using valid properties, via kubectl; kubectl validation MUST pass. Attempt 378 both operations with unknown properties and without required properties; kubectl 379 validation MUST reject the operations. Attempt kubectl explain; the output MUST 380 explain the custom resource properties. Attempt kubectl explain on custom resource 381 properties; the output MUST explain the nested custom resource properties. All 382 validation should be the same. 383 release: v1.16 384 file: test/e2e/apimachinery/crd_publish_openapi.go 385 - testname: Custom Resource OpenAPI Publish, with x-kubernetes-preserve-unknown-fields 386 in object 387 codename: '[sig-api-machinery] CustomResourcePublishOpenAPI [Privileged:ClusterAdmin] 388 works for CRD without validation schema [Conformance]' 389 description: Register a custom resource definition with x-kubernetes-preserve-unknown-fields 390 in the top level object. Attempt to create and apply a change a custom resource, 391 via kubectl; kubectl validation MUST accept unknown properties. Attempt kubectl 392 explain; the output MUST contain a valid DESCRIPTION stanza. 393 release: v1.16 394 file: test/e2e/apimachinery/crd_publish_openapi.go 395 - testname: Custom Resource OpenAPI Publish, varying groups 396 codename: '[sig-api-machinery] CustomResourcePublishOpenAPI [Privileged:ClusterAdmin] 397 works for multiple CRDs of different groups [Conformance]' 398 description: Register multiple custom resource definitions spanning different groups 399 and versions; OpenAPI definitions MUST be published for custom resource definitions. 400 release: v1.16 401 file: test/e2e/apimachinery/crd_publish_openapi.go 402 - testname: Custom Resource OpenAPI Publish, varying kinds 403 codename: '[sig-api-machinery] CustomResourcePublishOpenAPI [Privileged:ClusterAdmin] 404 works for multiple CRDs of same group and version but different kinds [Conformance]' 405 description: Register multiple custom resource definitions in the same group and 406 version but spanning different kinds; OpenAPI definitions MUST be published for 407 custom resource definitions. 408 release: v1.16 409 file: test/e2e/apimachinery/crd_publish_openapi.go 410 - testname: Custom Resource OpenAPI Publish, varying versions 411 codename: '[sig-api-machinery] CustomResourcePublishOpenAPI [Privileged:ClusterAdmin] 412 works for multiple CRDs of same group but different versions [Conformance]' 413 description: Register a custom resource definition with multiple versions; OpenAPI 414 definitions MUST be published for custom resource definitions. 415 release: v1.16 416 file: test/e2e/apimachinery/crd_publish_openapi.go 417 - testname: Discovery, confirm the groupVerion and a resourcefrom each apiGroup 418 codename: '[sig-api-machinery] Discovery should locate the groupVersion and a resource 419 within each APIGroup [Conformance]' 420 description: A resourceList MUST be found for each apiGroup that is retrieved. For 421 each apiGroup the groupVersion MUST equal the groupVersion as reported by the 422 schema. From each resourceList a valid resource MUST be found. 423 release: v1.28 424 file: test/e2e/apimachinery/discovery.go 425 - testname: Discovery, confirm the PreferredVersion for each api group 426 codename: '[sig-api-machinery] Discovery should validate PreferredVersion for each 427 APIGroup [Conformance]' 428 description: Ensure that a list of apis is retrieved. Each api group found MUST 429 return a valid PreferredVersion unless the group suffix is example.com. 430 release: v1.19 431 file: test/e2e/apimachinery/discovery.go 432 - testname: Server side field validation, unknown fields CR no validation schema 433 codename: '[sig-api-machinery] FieldValidation should create/apply a CR with unknown 434 fields for CRD with no validation schema [Conformance]' 435 description: When a CRD does not have a validation schema, it should succeed when 436 a CR with unknown fields is applied. 437 release: v1.27 438 file: test/e2e/apimachinery/field_validation.go 439 - testname: Server side field validation, valid CR with validation schema 440 codename: '[sig-api-machinery] FieldValidation should create/apply a valid CR for 441 CRD with validation schema [Conformance]' 442 description: When a CRD has a validation schema, it should succeed when a valid 443 CR is applied. 444 release: v1.27 445 file: test/e2e/apimachinery/field_validation.go 446 - testname: Server side field validation, unknown fields CR fails validation 447 codename: '[sig-api-machinery] FieldValidation should create/apply an invalid CR 448 with extra properties for CRD with validation schema [Conformance]' 449 description: When a CRD does have a validation schema, it should reject CRs with 450 unknown fields. 451 release: v1.27 452 file: test/e2e/apimachinery/field_validation.go 453 - testname: Server side field validation, CR duplicates 454 codename: '[sig-api-machinery] FieldValidation should detect duplicates in a CR 455 when preserving unknown fields [Conformance]' 456 description: The server should reject CRs with duplicate fields even when preserving 457 unknown fields. 458 release: v1.27 459 file: test/e2e/apimachinery/field_validation.go 460 - testname: Server side field validation, typed object 461 codename: '[sig-api-machinery] FieldValidation should detect unknown and duplicate 462 fields of a typed object [Conformance]' 463 description: It should reject the request if a typed object has unknown or duplicate 464 fields. 465 release: v1.27 466 file: test/e2e/apimachinery/field_validation.go 467 - testname: Server side field validation, unknown metadata 468 codename: '[sig-api-machinery] FieldValidation should detect unknown metadata fields 469 in both the root and embedded object of a CR [Conformance]' 470 description: The server should reject CRs with unknown metadata fields in both the 471 root and embedded objects of a CR. 472 release: v1.27 473 file: test/e2e/apimachinery/field_validation.go 474 - testname: Server side field validation, typed unknown metadata 475 codename: '[sig-api-machinery] FieldValidation should detect unknown metadata fields 476 of a typed object [Conformance]' 477 description: It should reject the request if a typed object has unknown fields in 478 the metadata. 479 release: v1.27 480 file: test/e2e/apimachinery/field_validation.go 481 - testname: Garbage Collector, delete deployment, propagation policy background 482 codename: '[sig-api-machinery] Garbage collector should delete RS created by deployment 483 when not orphaning [Conformance]' 484 description: Create a deployment with a replicaset. Once replicaset is created , 485 delete the deployment with deleteOptions.PropagationPolicy set to Background. 486 Deleting the deployment MUST delete the replicaset created by the deployment and 487 also the Pods that belong to the deployments MUST be deleted. 488 release: v1.9 489 file: test/e2e/apimachinery/garbage_collector.go 490 - testname: Garbage Collector, delete replication controller, propagation policy background 491 codename: '[sig-api-machinery] Garbage collector should delete pods created by rc 492 when not orphaning [Conformance]' 493 description: Create a replication controller with 2 Pods. Once RC is created and 494 the first Pod is created, delete RC with deleteOptions.PropagationPolicy set to 495 Background. Deleting the Replication Controller MUST cause pods created by that 496 RC to be deleted. 497 release: v1.9 498 file: test/e2e/apimachinery/garbage_collector.go 499 - testname: Garbage Collector, delete replication controller, after owned pods 500 codename: '[sig-api-machinery] Garbage collector should keep the rc around until 501 all its pods are deleted if the deleteOptions says so [Conformance]' 502 description: Create a replication controller with maximum allocatable Pods between 503 10 and 100 replicas. Once RC is created and the all Pods are created, delete RC 504 with deleteOptions.PropagationPolicy set to Foreground. Deleting the Replication 505 Controller MUST cause pods created by that RC to be deleted before the RC is deleted. 506 release: v1.9 507 file: test/e2e/apimachinery/garbage_collector.go 508 - testname: Garbage Collector, dependency cycle 509 codename: '[sig-api-machinery] Garbage collector should not be blocked by dependency 510 circle [Conformance]' 511 description: Create three pods, patch them with Owner references such that pod1 512 has pod3, pod2 has pod1 and pod3 has pod2 as owner references respectively. Delete 513 pod1 MUST delete all pods. The dependency cycle MUST not block the garbage collection. 514 release: v1.9 515 file: test/e2e/apimachinery/garbage_collector.go 516 - testname: Garbage Collector, multiple owners 517 codename: '[sig-api-machinery] Garbage collector should not delete dependents that 518 have both valid owner and owner that''s waiting for dependents to be deleted [Conformance]' 519 description: Create a replication controller RC1, with maximum allocatable Pods 520 between 10 and 100 replicas. Create second replication controller RC2 and set 521 RC2 as owner for half of those replicas. Once RC1 is created and the all Pods 522 are created, delete RC1 with deleteOptions.PropagationPolicy set to Foreground. 523 Half of the Pods that has RC2 as owner MUST not be deleted or have a deletion 524 timestamp. Deleting the Replication Controller MUST not delete Pods that are owned 525 by multiple replication controllers. 526 release: v1.9 527 file: test/e2e/apimachinery/garbage_collector.go 528 - testname: Garbage Collector, delete deployment, propagation policy orphan 529 codename: '[sig-api-machinery] Garbage collector should orphan RS created by deployment 530 when deleteOptions.PropagationPolicy is Orphan [Conformance]' 531 description: Create a deployment with a replicaset. Once replicaset is created , 532 delete the deployment with deleteOptions.PropagationPolicy set to Orphan. Deleting 533 the deployment MUST cause the replicaset created by the deployment to be orphaned, 534 also the Pods created by the deployments MUST be orphaned. 535 release: v1.9 536 file: test/e2e/apimachinery/garbage_collector.go 537 - testname: Garbage Collector, delete replication controller, propagation policy orphan 538 codename: '[sig-api-machinery] Garbage collector should orphan pods created by rc 539 if delete options say so [Conformance]' 540 description: Create a replication controller with maximum allocatable Pods between 541 10 and 100 replicas. Once RC is created and the all Pods are created, delete RC 542 with deleteOptions.PropagationPolicy set to Orphan. Deleting the Replication Controller 543 MUST cause pods created by that RC to be orphaned. 544 release: v1.9 545 file: test/e2e/apimachinery/garbage_collector.go 546 - testname: Namespace, apply finalizer to a namespace 547 codename: '[sig-api-machinery] Namespaces [Serial] should apply a finalizer to a 548 Namespace [Conformance]' 549 description: Attempt to create a Namespace which MUST be succeed. Updating the namespace 550 with a fake finalizer MUST succeed. The fake finalizer MUST be found. Removing 551 the fake finalizer from the namespace MUST succeed and MUST NOT be found. 552 release: v1.26 553 file: test/e2e/apimachinery/namespace.go 554 - testname: Namespace, apply update to a namespace 555 codename: '[sig-api-machinery] Namespaces [Serial] should apply an update to a Namespace 556 [Conformance]' 557 description: When updating the namespace it MUST succeed and the field MUST equal 558 the new value. 559 release: v1.26 560 file: test/e2e/apimachinery/namespace.go 561 - testname: Namespace, apply changes to a namespace status 562 codename: '[sig-api-machinery] Namespaces [Serial] should apply changes to a namespace 563 status [Conformance]' 564 description: Getting the current namespace status MUST succeed. The reported status 565 phase MUST be active. Given the patching of the namespace status, the fields MUST 566 equal the new values. Given the updating of the namespace status, the fields MUST 567 equal the new values. 568 release: v1.25 569 file: test/e2e/apimachinery/namespace.go 570 - testname: namespace-deletion-removes-pods 571 codename: '[sig-api-machinery] Namespaces [Serial] should ensure that all pods are 572 removed when a namespace is deleted [Conformance]' 573 description: Ensure that if a namespace is deleted then all pods are removed from 574 that namespace. 575 release: v1.11 576 file: test/e2e/apimachinery/namespace.go 577 - testname: namespace-deletion-removes-services 578 codename: '[sig-api-machinery] Namespaces [Serial] should ensure that all services 579 are removed when a namespace is deleted [Conformance]' 580 description: Ensure that if a namespace is deleted then all services are removed 581 from that namespace. 582 release: v1.11 583 file: test/e2e/apimachinery/namespace.go 584 - testname: Namespace patching 585 codename: '[sig-api-machinery] Namespaces [Serial] should patch a Namespace [Conformance]' 586 description: A Namespace is created. The Namespace is patched. The Namespace and 587 MUST now include the new Label. 588 release: v1.18 589 file: test/e2e/apimachinery/namespace.go 590 - testname: ResourceQuota, apply changes to a ResourceQuota status 591 codename: '[sig-api-machinery] ResourceQuota should apply changes to a resourcequota 592 status [Conformance]' 593 description: Attempt to create a ResourceQuota for CPU and Memory quota limits. 594 Creation MUST be successful. Updating the hard status values MUST succeed and 595 the new values MUST be found. The reported hard status values MUST equal the spec 596 hard values. Patching the spec hard values MUST succeed and the new values MUST 597 be found. Patching the hard status values MUST succeed. The reported hard status 598 values MUST equal the new spec hard values. Getting the /status MUST succeed and 599 the reported hard status values MUST equal the spec hard values. Repatching the 600 hard status values MUST succeed. The spec MUST NOT be changed when patching /status. 601 release: v1.26 602 file: test/e2e/apimachinery/resource_quota.go 603 - testname: ResourceQuota, update and delete 604 codename: '[sig-api-machinery] ResourceQuota should be able to update and delete 605 ResourceQuota. [Conformance]' 606 description: Create a ResourceQuota for CPU and Memory quota limits. Creation MUST 607 be successful. When ResourceQuota is updated to modify CPU and Memory quota limits, 608 update MUST succeed with updated values for CPU and Memory limits. When ResourceQuota 609 is deleted, it MUST not be available in the namespace. 610 release: v1.16 611 file: test/e2e/apimachinery/resource_quota.go 612 - testname: ResourceQuota, object count quota, configmap 613 codename: '[sig-api-machinery] ResourceQuota should create a ResourceQuota and capture 614 the life of a configMap. [Conformance]' 615 description: Create a ResourceQuota. Creation MUST be successful and its ResourceQuotaStatus 616 MUST match to expected used and total allowed resource quota count within namespace. 617 Create a ConfigMap. Its creation MUST be successful and resource usage count against 618 the ConfigMap object MUST be captured in ResourceQuotaStatus of the ResourceQuota. 619 Delete the ConfigMap. Deletion MUST succeed and resource usage count against the 620 ConfigMap object MUST be released from ResourceQuotaStatus of the ResourceQuota. 621 release: v1.16 622 file: test/e2e/apimachinery/resource_quota.go 623 - testname: ResourceQuota, object count quota, pod 624 codename: '[sig-api-machinery] ResourceQuota should create a ResourceQuota and capture 625 the life of a pod. [Conformance]' 626 description: Create a ResourceQuota. Creation MUST be successful and its ResourceQuotaStatus 627 MUST match to expected used and total allowed resource quota count within namespace. 628 Create a Pod with resource request count for CPU, Memory, EphemeralStorage and 629 ExtendedResourceName. Pod creation MUST be successful and respective resource 630 usage count MUST be captured in ResourceQuotaStatus of the ResourceQuota. Create 631 another Pod with resource request exceeding remaining quota. Pod creation MUST 632 fail as the request exceeds ResourceQuota limits. Update the successfully created 633 pod's resource requests. Updation MUST fail as a Pod can not dynamically update 634 its resource requirements. Delete the successfully created Pod. Pod Deletion MUST 635 be scuccessful and it MUST release the allocated resource counts from ResourceQuotaStatus 636 of the ResourceQuota. 637 release: v1.16 638 file: test/e2e/apimachinery/resource_quota.go 639 - testname: ResourceQuota, object count quota, replicaSet 640 codename: '[sig-api-machinery] ResourceQuota should create a ResourceQuota and capture 641 the life of a replica set. [Conformance]' 642 description: Create a ResourceQuota. Creation MUST be successful and its ResourceQuotaStatus 643 MUST match to expected used and total allowed resource quota count within namespace. 644 Create a ReplicaSet. Its creation MUST be successful and resource usage count 645 against the ReplicaSet object MUST be captured in ResourceQuotaStatus of the ResourceQuota. 646 Delete the ReplicaSet. Deletion MUST succeed and resource usage count against 647 the ReplicaSet object MUST be released from ResourceQuotaStatus of the ResourceQuota. 648 release: v1.16 649 file: test/e2e/apimachinery/resource_quota.go 650 - testname: ResourceQuota, object count quota, replicationController 651 codename: '[sig-api-machinery] ResourceQuota should create a ResourceQuota and capture 652 the life of a replication controller. [Conformance]' 653 description: Create a ResourceQuota. Creation MUST be successful and its ResourceQuotaStatus 654 MUST match to expected used and total allowed resource quota count within namespace. 655 Create a ReplicationController. Its creation MUST be successful and resource usage 656 count against the ReplicationController object MUST be captured in ResourceQuotaStatus 657 of the ResourceQuota. Delete the ReplicationController. Deletion MUST succeed 658 and resource usage count against the ReplicationController object MUST be released 659 from ResourceQuotaStatus of the ResourceQuota. 660 release: v1.16 661 file: test/e2e/apimachinery/resource_quota.go 662 - testname: ResourceQuota, object count quota, secret 663 codename: '[sig-api-machinery] ResourceQuota should create a ResourceQuota and capture 664 the life of a secret. [Conformance]' 665 description: Create a ResourceQuota. Creation MUST be successful and its ResourceQuotaStatus 666 MUST match to expected used and total allowed resource quota count within namespace. 667 Create a Secret. Its creation MUST be successful and resource usage count against 668 the Secret object and resourceQuota object MUST be captured in ResourceQuotaStatus 669 of the ResourceQuota. Delete the Secret. Deletion MUST succeed and resource usage 670 count against the Secret object MUST be released from ResourceQuotaStatus of the 671 ResourceQuota. 672 release: v1.16 673 file: test/e2e/apimachinery/resource_quota.go 674 - testname: ResourceQuota, object count quota, service 675 codename: '[sig-api-machinery] ResourceQuota should create a ResourceQuota and capture 676 the life of a service. [Conformance]' 677 description: Create a ResourceQuota. Creation MUST be successful and its ResourceQuotaStatus 678 MUST match to expected used and total allowed resource quota count within namespace. 679 Create a Service. Its creation MUST be successful and resource usage count against 680 the Service object and resourceQuota object MUST be captured in ResourceQuotaStatus 681 of the ResourceQuota. Delete the Service. Deletion MUST succeed and resource usage 682 count against the Service object MUST be released from ResourceQuotaStatus of 683 the ResourceQuota. 684 release: v1.16 685 file: test/e2e/apimachinery/resource_quota.go 686 - testname: ResourceQuota, object count quota, resourcequotas 687 codename: '[sig-api-machinery] ResourceQuota should create a ResourceQuota and ensure 688 its status is promptly calculated. [Conformance]' 689 description: Create a ResourceQuota. Creation MUST be successful and its ResourceQuotaStatus 690 MUST match to expected used and total allowed resource quota count within namespace. 691 release: v1.16 692 file: test/e2e/apimachinery/resource_quota.go 693 - testname: ResourceQuota, manage lifecycle of a ResourceQuota 694 codename: '[sig-api-machinery] ResourceQuota should manage the lifecycle of a ResourceQuota 695 [Conformance]' 696 description: Attempt to create a ResourceQuota for CPU and Memory quota limits. 697 Creation MUST be successful. Attempt to list all namespaces with a label selector 698 which MUST succeed. One list MUST be found. The ResourceQuota when patched MUST 699 succeed. Given the patching of the ResourceQuota, the fields MUST equal the new 700 values. It MUST succeed at deleting a collection of ResourceQuota via a label 701 selector. 702 release: v1.25 703 file: test/e2e/apimachinery/resource_quota.go 704 - testname: ResourceQuota, quota scope, BestEffort and NotBestEffort scope 705 codename: '[sig-api-machinery] ResourceQuota should verify ResourceQuota with best 706 effort scope. [Conformance]' 707 description: Create two ResourceQuotas, one with 'BestEffort' scope and another 708 with 'NotBestEffort' scope. Creation MUST be successful and their ResourceQuotaStatus 709 MUST match to expected used and total allowed resource quota count within namespace. 710 Create a 'BestEffort' Pod by not explicitly specifying resource limits and requests. 711 Pod creation MUST be successful and usage count MUST be captured in ResourceQuotaStatus 712 of 'BestEffort' scoped ResourceQuota but MUST NOT in 'NotBestEffort' scoped ResourceQuota. 713 Delete the Pod. Pod deletion MUST succeed and Pod resource usage count MUST be 714 released from ResourceQuotaStatus of 'BestEffort' scoped ResourceQuota. Create 715 a 'NotBestEffort' Pod by explicitly specifying resource limits and requests. Pod 716 creation MUST be successful and usage count MUST be captured in ResourceQuotaStatus 717 of 'NotBestEffort' scoped ResourceQuota but MUST NOT in 'BestEffort' scoped ResourceQuota. 718 Delete the Pod. Pod deletion MUST succeed and Pod resource usage count MUST be 719 released from ResourceQuotaStatus of 'NotBestEffort' scoped ResourceQuota. 720 release: v1.16 721 file: test/e2e/apimachinery/resource_quota.go 722 - testname: ResourceQuota, quota scope, Terminating and NotTerminating scope 723 codename: '[sig-api-machinery] ResourceQuota should verify ResourceQuota with terminating 724 scopes. [Conformance]' 725 description: Create two ResourceQuotas, one with 'Terminating' scope and another 726 'NotTerminating' scope. Request and the limit counts for CPU and Memory resources 727 are set for the ResourceQuota. Creation MUST be successful and their ResourceQuotaStatus 728 MUST match to expected used and total allowed resource quota count within namespace. 729 Create a Pod with specified CPU and Memory ResourceRequirements fall within quota 730 limits. Pod creation MUST be successful and usage count MUST be captured in ResourceQuotaStatus 731 of 'NotTerminating' scoped ResourceQuota but MUST NOT in 'Terminating' scoped 732 ResourceQuota. Delete the Pod. Pod deletion MUST succeed and Pod resource usage 733 count MUST be released from ResourceQuotaStatus of 'NotTerminating' scoped ResourceQuota. 734 Create a pod with specified activeDeadlineSeconds and resourceRequirements for 735 CPU and Memory fall within quota limits. Pod creation MUST be successful and usage 736 count MUST be captured in ResourceQuotaStatus of 'Terminating' scoped ResourceQuota 737 but MUST NOT in 'NotTerminating' scoped ResourceQuota. Delete the Pod. Pod deletion 738 MUST succeed and Pod resource usage count MUST be released from ResourceQuotaStatus 739 of 'Terminating' scoped ResourceQuota. 740 release: v1.16 741 file: test/e2e/apimachinery/resource_quota.go 742 - testname: API Chunking, server should return chunks of results for list calls 743 codename: '[sig-api-machinery] Servers with support for API chunking should return 744 chunks of results for list calls [Conformance]' 745 description: Create a large number of PodTemplates. Attempt to retrieve the first 746 chunk with limit set; the server MUST return the chunk of the size not exceeding 747 the limit with RemainingItems set in the response. Attempt to retrieve the remaining 748 items by providing the received continuation token and limit; the server MUST 749 return the remaining items in chunks of the size not exceeding the limit, with 750 appropriately set RemainingItems field in the response and with the ResourceVersion 751 returned in the first response. Attempt to list all objects at once without setting 752 the limit; the server MUST return all items in a single response. 753 release: v1.29 754 file: test/e2e/apimachinery/chunking.go 755 - testname: API Chunking, server should support continue listing from the last key 756 even if the original version has been compacted away 757 codename: '[sig-api-machinery] Servers with support for API chunking should support 758 continue listing from the last key if the original version has been compacted 759 away, though the list is inconsistent [Slow] [Conformance]' 760 description: Create a large number of PodTemplates. Attempt to retrieve the first 761 chunk with limit set; the server MUST return the chunk of the size not exceeding 762 the limit with RemainingItems set in the response. Attempt to retrieve the second 763 page until the continuation token expires; the server MUST return a continuation 764 token for inconsistent list continuation. Attempt to retrieve the second page 765 with the received inconsistent list continuation token; the server MUST return 766 the number of items not exceeding the limit, a new continuation token and appropriately 767 set RemainingItems field in the response. Attempt to retrieve the remaining pages 768 by passing the received continuation token; the server MUST return the remaining 769 items in chunks of the size not exceeding the limit, with appropriately set RemainingItems 770 field in the response and with the ResourceVersion returned as part of the inconsistent 771 list. 772 release: v1.29 773 file: test/e2e/apimachinery/chunking.go 774 - testname: API metadata HTTP return 775 codename: '[sig-api-machinery] Servers with support for Table transformation should 776 return a 406 for a backend which does not implement metadata [Conformance]' 777 description: Issue a HTTP request to the API. HTTP request MUST return a HTTP status 778 code of 406. 779 release: v1.16 780 file: test/e2e/apimachinery/table_conversion.go 781 - testname: ValidatingAdmissionPolicy 782 codename: '[sig-api-machinery] ValidatingAdmissionPolicy [Privileged:ClusterAdmin] 783 should allow expressions to refer variables. [Conformance]' 784 description: ' The ValidatingAdmissionPolicy should allow expressions to refer variables.' 785 release: v1.30 786 file: test/e2e/apimachinery/validatingadmissionpolicy.go 787 - testname: ValidatingAdmissionPolicy API 788 codename: '[sig-api-machinery] ValidatingAdmissionPolicy [Privileged:ClusterAdmin] 789 should support ValidatingAdmissionPolicy API operations [Conformance]' 790 description: ' The admissionregistration.k8s.io API group MUST exist in the /apis 791 discovery document. The admissionregistration.k8s.io/v1 API group/version MUST 792 exist in the /apis/admissionregistration.k8s.io discovery document. The validatingadmisionpolicy 793 and validatingadmissionpolicy/status resources MUST exist in the /apis/admissionregistration.k8s.io/v1 794 discovery document. The validatingadmisionpolicy resource must support create, 795 get, list, watch, update, patch, delete, and deletecollection.' 796 release: v1.30 797 file: test/e2e/apimachinery/validatingadmissionpolicy.go 798 - testname: ValidatingadmissionPolicyBinding API 799 codename: '[sig-api-machinery] ValidatingAdmissionPolicy [Privileged:ClusterAdmin] 800 should support ValidatingAdmissionPolicyBinding API operations [Conformance]' 801 description: ' The admissionregistration.k8s.io API group MUST exist in the /apis 802 discovery document. The admissionregistration.k8s.io/v1 API group/version MUST 803 exist in the /apis/admissionregistration.k8s.io discovery document. The ValidatingadmissionPolicyBinding 804 resources MUST exist in the /apis/admissionregistration.k8s.io/v1 discovery document. 805 The ValidatingadmissionPolicyBinding resource must support create, get, list, 806 watch, update, patch, delete, and deletecollection.' 807 release: v1.30 808 file: test/e2e/apimachinery/validatingadmissionpolicy.go 809 - testname: ValidatingAdmissionPolicy 810 codename: '[sig-api-machinery] ValidatingAdmissionPolicy [Privileged:ClusterAdmin] 811 should validate against a Deployment [Conformance]' 812 description: ' The ValidatingAdmissionPolicy should validate a deployment as the 813 expression defined inside the policy.' 814 release: v1.30 815 file: test/e2e/apimachinery/validatingadmissionpolicy.go 816 - testname: watch-configmaps-closed-and-restarted 817 codename: '[sig-api-machinery] Watchers should be able to restart watching from 818 the last resource version observed by the previous watch [Conformance]' 819 description: Ensure that a watch can be reopened from the last resource version 820 observed by the previous watch, and it will continue delivering notifications 821 from that point in time. 822 release: v1.11 823 file: test/e2e/apimachinery/watch.go 824 - testname: watch-configmaps-from-resource-version 825 codename: '[sig-api-machinery] Watchers should be able to start watching from a 826 specific resource version [Conformance]' 827 description: Ensure that a watch can be opened from a particular resource version 828 in the past and only notifications happening after that resource version are observed. 829 release: v1.11 830 file: test/e2e/apimachinery/watch.go 831 - testname: watch-configmaps-with-multiple-watchers 832 codename: '[sig-api-machinery] Watchers should observe add, update, and delete watch 833 notifications on configmaps [Conformance]' 834 description: Ensure that multiple watchers are able to receive all add, update, 835 and delete notifications on configmaps that match a label selector and do not 836 receive notifications for configmaps which do not match that label selector. 837 release: v1.11 838 file: test/e2e/apimachinery/watch.go 839 - testname: watch-configmaps-label-changed 840 codename: '[sig-api-machinery] Watchers should observe an object deletion if it 841 stops meeting the requirements of the selector [Conformance]' 842 description: Ensure that a watched object stops meeting the requirements of a watch's 843 selector, the watch will observe a delete, and will not observe notifications 844 for that object until it meets the selector's requirements again. 845 release: v1.11 846 file: test/e2e/apimachinery/watch.go 847 - testname: watch-consistency 848 codename: '[sig-api-machinery] Watchers should receive events on concurrent watches 849 in same order [Conformance]' 850 description: Ensure that concurrent watches are consistent with each other by initiating 851 an additional watch for events received from the first watch, initiated at the 852 resource version of the event, and checking that all resource versions of all 853 events match. Events are produced from writes on a background goroutine. 854 release: v1.15 855 file: test/e2e/apimachinery/watch.go 856 - testname: Confirm a server version 857 codename: '[sig-api-machinery] server version should find the server version [Conformance]' 858 description: Ensure that an API server version can be retrieved. Both the major 859 and minor versions MUST only be an integer. 860 release: v1.19 861 file: test/e2e/apimachinery/server_version.go 862 - testname: ControllerRevision, resource lifecycle 863 codename: '[sig-apps] ControllerRevision [Serial] should manage the lifecycle of 864 a ControllerRevision [Conformance]' 865 description: Creating a DaemonSet MUST succeed. Listing all ControllerRevisions 866 with a label selector MUST find only one. After patching the ControllerRevision 867 with a new label, the label MUST be found. Creating a new ControllerRevision for 868 the DaemonSet MUST succeed. Listing the ControllerRevisions by label selector 869 MUST find only two. Deleting a ControllerRevision MUST succeed. Listing the ControllerRevisions 870 by label selector MUST find only one. After updating the ControllerRevision with 871 a new label, the label MUST be found. Patching the DaemonSet MUST succeed. Listing 872 the ControllerRevisions by label selector MUST find only two. Deleting a collection 873 of ControllerRevision via a label selector MUST succeed. Listing the ControllerRevisions 874 by label selector MUST find only one. The current ControllerRevision revision 875 MUST be 3. 876 release: v1.25 877 file: test/e2e/apps/controller_revision.go 878 - testname: CronJob Suspend 879 codename: '[sig-apps] CronJob should not schedule jobs when suspended [Slow] [Conformance]' 880 description: CronJob MUST support suspension, which suppresses creation of new jobs. 881 release: v1.21 882 file: test/e2e/apps/cronjob.go 883 - testname: CronJob ForbidConcurrent 884 codename: '[sig-apps] CronJob should not schedule new jobs when ForbidConcurrent 885 [Slow] [Conformance]' 886 description: CronJob MUST support ForbidConcurrent policy, allowing to run single, 887 previous job at the time. 888 release: v1.21 889 file: test/e2e/apps/cronjob.go 890 - testname: CronJob ReplaceConcurrent 891 codename: '[sig-apps] CronJob should replace jobs when ReplaceConcurrent [Conformance]' 892 description: CronJob MUST support ReplaceConcurrent policy, allowing to run single, 893 newer job at the time. 894 release: v1.21 895 file: test/e2e/apps/cronjob.go 896 - testname: CronJob AllowConcurrent 897 codename: '[sig-apps] CronJob should schedule multiple jobs concurrently [Conformance]' 898 description: CronJob MUST support AllowConcurrent policy, allowing to run multiple 899 jobs at the same time. 900 release: v1.21 901 file: test/e2e/apps/cronjob.go 902 - testname: CronJob API Operations 903 codename: '[sig-apps] CronJob should support CronJob API operations [Conformance]' 904 description: ' CronJob MUST support create, get, list, watch, update, patch, delete, 905 and deletecollection. CronJob/status MUST support get, update and patch.' 906 release: v1.21 907 file: test/e2e/apps/cronjob.go 908 - testname: DaemonSet, list and delete a collection of DaemonSets 909 codename: '[sig-apps] Daemon set [Serial] should list and delete a collection of 910 DaemonSets [Conformance]' 911 description: When a DaemonSet is created it MUST succeed. It MUST succeed when listing 912 DaemonSets via a label selector. It MUST succeed when deleting the DaemonSet via 913 deleteCollection. 914 release: v1.22 915 file: test/e2e/apps/daemon_set.go 916 - testname: DaemonSet-FailedPodCreation 917 codename: '[sig-apps] Daemon set [Serial] should retry creating failed daemon pods 918 [Conformance]' 919 description: A conformant Kubernetes distribution MUST create new DaemonSet Pods 920 when they fail. 921 release: v1.10 922 file: test/e2e/apps/daemon_set.go 923 - testname: DaemonSet-Rollback 924 codename: '[sig-apps] Daemon set [Serial] should rollback without unnecessary restarts 925 [Conformance]' 926 description: A conformant Kubernetes distribution MUST support automated, minimally 927 disruptive rollback of updates to a DaemonSet. 928 release: v1.10 929 file: test/e2e/apps/daemon_set.go 930 - testname: DaemonSet-NodeSelection 931 codename: '[sig-apps] Daemon set [Serial] should run and stop complex daemon [Conformance]' 932 description: A conformant Kubernetes distribution MUST support DaemonSet Pod node 933 selection via label selectors. 934 release: v1.10 935 file: test/e2e/apps/daemon_set.go 936 - testname: DaemonSet-Creation 937 codename: '[sig-apps] Daemon set [Serial] should run and stop simple daemon [Conformance]' 938 description: A conformant Kubernetes distribution MUST support the creation of DaemonSets. 939 When a DaemonSet Pod is deleted, the DaemonSet controller MUST create a replacement 940 Pod. 941 release: v1.10 942 file: test/e2e/apps/daemon_set.go 943 - testname: DaemonSet-RollingUpdate 944 codename: '[sig-apps] Daemon set [Serial] should update pod when spec was updated 945 and update strategy is RollingUpdate [Conformance]' 946 description: A conformant Kubernetes distribution MUST support DaemonSet RollingUpdates. 947 release: v1.10 948 file: test/e2e/apps/daemon_set.go 949 - testname: DaemonSet, status sub-resource 950 codename: '[sig-apps] Daemon set [Serial] should verify changes to a daemon set 951 status [Conformance]' 952 description: When a DaemonSet is created it MUST succeed. Attempt to read, update 953 and patch its status sub-resource; all mutating sub-resource operations MUST be 954 visible to subsequent reads. 955 release: v1.22 956 file: test/e2e/apps/daemon_set.go 957 - testname: Deployment, completes the scaling of a Deployment subresource 958 codename: '[sig-apps] Deployment Deployment should have a working scale subresource 959 [Conformance]' 960 description: Create a Deployment with a single Pod. The Pod MUST be verified that 961 it is running. The Deployment MUST get and verify the scale subresource count. 962 The Deployment MUST update and verify the scale subresource. The Deployment MUST 963 patch and verify a scale subresource. 964 release: v1.21 965 file: test/e2e/apps/deployment.go 966 - testname: Deployment Recreate 967 codename: '[sig-apps] Deployment RecreateDeployment should delete old pods and create 968 new ones [Conformance]' 969 description: A conformant Kubernetes distribution MUST support the Deployment with 970 Recreate strategy. 971 release: v1.12 972 file: test/e2e/apps/deployment.go 973 - testname: Deployment RollingUpdate 974 codename: '[sig-apps] Deployment RollingUpdateDeployment should delete old pods 975 and create new ones [Conformance]' 976 description: A conformant Kubernetes distribution MUST support the Deployment with 977 RollingUpdate strategy. 978 release: v1.12 979 file: test/e2e/apps/deployment.go 980 - testname: Deployment RevisionHistoryLimit 981 codename: '[sig-apps] Deployment deployment should delete old replica sets [Conformance]' 982 description: A conformant Kubernetes distribution MUST clean up Deployment's ReplicaSets 983 based on the Deployment's `.spec.revisionHistoryLimit`. 984 release: v1.12 985 file: test/e2e/apps/deployment.go 986 - testname: Deployment Proportional Scaling 987 codename: '[sig-apps] Deployment deployment should support proportional scaling 988 [Conformance]' 989 description: A conformant Kubernetes distribution MUST support Deployment proportional 990 scaling, i.e. proportionally scale a Deployment's ReplicaSets when a Deployment 991 is scaled. 992 release: v1.12 993 file: test/e2e/apps/deployment.go 994 - testname: Deployment Rollover 995 codename: '[sig-apps] Deployment deployment should support rollover [Conformance]' 996 description: A conformant Kubernetes distribution MUST support Deployment rollover, 997 i.e. allow arbitrary number of changes to desired state during rolling update 998 before the rollout finishes. 999 release: v1.12 1000 file: test/e2e/apps/deployment.go 1001 - testname: Deployment, completes the lifecycle of a Deployment 1002 codename: '[sig-apps] Deployment should run the lifecycle of a Deployment [Conformance]' 1003 description: When a Deployment is created it MUST succeed with the required number 1004 of replicas. It MUST succeed when the Deployment is patched. When scaling the 1005 deployment is MUST succeed. When fetching and patching the DeploymentStatus it 1006 MUST succeed. It MUST succeed when deleting the Deployment. 1007 release: v1.20 1008 file: test/e2e/apps/deployment.go 1009 - testname: Deployment, status sub-resource 1010 codename: '[sig-apps] Deployment should validate Deployment Status endpoints [Conformance]' 1011 description: When a Deployment is created it MUST succeed. Attempt to read, update 1012 and patch its status sub-resource; all mutating sub-resource operations MUST be 1013 visible to subsequent reads. 1014 release: v1.22 1015 file: test/e2e/apps/deployment.go 1016 - testname: 'PodDisruptionBudget: list and delete collection' 1017 codename: '[sig-apps] DisruptionController Listing PodDisruptionBudgets for all 1018 namespaces should list and delete a collection of PodDisruptionBudgets [Conformance]' 1019 description: PodDisruptionBudget API must support list and deletecollection operations. 1020 release: v1.21 1021 file: test/e2e/apps/disruption.go 1022 - testname: 'PodDisruptionBudget: block an eviction until the PDB is updated to allow 1023 it' 1024 codename: '[sig-apps] DisruptionController should block an eviction until the PDB 1025 is updated to allow it [Conformance]' 1026 description: Eviction API must block an eviction until the PDB is updated to allow 1027 it 1028 release: v1.22 1029 file: test/e2e/apps/disruption.go 1030 - testname: 'PodDisruptionBudget: create, update, patch, and delete object' 1031 codename: '[sig-apps] DisruptionController should create a PodDisruptionBudget [Conformance]' 1032 description: PodDisruptionBudget API must support create, update, patch, and delete 1033 operations. 1034 release: v1.21 1035 file: test/e2e/apps/disruption.go 1036 - testname: 'PodDisruptionBudget: Status updates' 1037 codename: '[sig-apps] DisruptionController should observe PodDisruptionBudget status 1038 updated [Conformance]' 1039 description: Disruption controller MUST update the PDB status with how many disruptions 1040 are allowed. 1041 release: v1.21 1042 file: test/e2e/apps/disruption.go 1043 - testname: 'PodDisruptionBudget: update and patch status' 1044 codename: '[sig-apps] DisruptionController should update/patch PodDisruptionBudget 1045 status [Conformance]' 1046 description: PodDisruptionBudget API must support update and patch operations on 1047 status subresource. 1048 release: v1.21 1049 file: test/e2e/apps/disruption.go 1050 - testname: Jobs, orphan pods, re-adoption 1051 codename: '[sig-apps] Job should adopt matching orphans and release non-matching 1052 pods [Conformance]' 1053 description: Create a parallel job. The number of Pods MUST equal the level of parallelism. 1054 Orphan a Pod by modifying its owner reference. The Job MUST re-adopt the orphan 1055 pod. Modify the labels of one of the Job's Pods. The Job MUST release the Pod. 1056 release: v1.16 1057 file: test/e2e/apps/job.go 1058 - testname: Jobs, apply changes to status 1059 codename: '[sig-apps] Job should apply changes to a job status [Conformance]' 1060 description: Attempt to create a running Job which MUST succeed. Attempt to patch 1061 the Job status which MUST succeed. An annotation for the job that was patched 1062 MUST be found. Attempt to replace the job status with update which MUST succeed. 1063 Attempt to read its status sub-resource which MUST succeed 1064 release: v1.24 1065 file: test/e2e/apps/job.go 1066 - testname: Ensure Pods of an Indexed Job get a unique index. 1067 codename: '[sig-apps] Job should create pods for an Indexed job with completion 1068 indexes and specified hostname [Conformance]' 1069 description: Create an Indexed job. Job MUST complete successfully. Ensure that 1070 created pods have completion index annotation and environment variable. 1071 release: v1.24 1072 file: test/e2e/apps/job.go 1073 - testname: Jobs, active pods, graceful termination 1074 codename: '[sig-apps] Job should delete a job [Conformance]' 1075 description: Create a job. Ensure the active pods reflect parallelism in the namespace 1076 and delete the job. Job MUST be deleted successfully. 1077 release: v1.15 1078 file: test/e2e/apps/job.go 1079 - testname: Jobs, manage lifecycle 1080 codename: '[sig-apps] Job should manage the lifecycle of a job [Conformance]' 1081 description: Attempt to create a suspended Job which MUST succeed. Attempt to patch 1082 the Job to include a new label which MUST succeed. The label MUST be found. Attempt 1083 to replace the Job to include a new annotation which MUST succeed. The annotation 1084 MUST be found. Attempt to list all namespaces with a label selector which MUST 1085 succeed. One list MUST be found. It MUST succeed at deleting a collection of jobs 1086 via a label selector. 1087 release: v1.25 1088 file: test/e2e/apps/job.go 1089 - testname: Jobs, completion after task failure 1090 codename: '[sig-apps] Job should run a job to completion when tasks sometimes fail 1091 and are locally restarted [Conformance]' 1092 description: Explicitly cause the tasks to fail once initially. After restarting, 1093 the Job MUST execute to completion. 1094 release: v1.16 1095 file: test/e2e/apps/job.go 1096 - testname: ReplicaSet, is created, Replaced and Patched 1097 codename: '[sig-apps] ReplicaSet Replace and Patch tests [Conformance]' 1098 description: Create a ReplicaSet (RS) with a single Pod. The Pod MUST be verified 1099 that it is running. The RS MUST scale to two replicas and verify the scale count 1100 The RS MUST be patched and verify that patch succeeded. 1101 release: v1.21 1102 file: test/e2e/apps/replica_set.go 1103 - testname: ReplicaSet, completes the scaling of a ReplicaSet subresource 1104 codename: '[sig-apps] ReplicaSet Replicaset should have a working scale subresource 1105 [Conformance]' 1106 description: Create a ReplicaSet (RS) with a single Pod. The Pod MUST be verified 1107 that it is running. The RS MUST get and verify the scale subresource count. The 1108 RS MUST update and verify the scale subresource. The RS MUST patch and verify 1109 a scale subresource. 1110 release: v1.21 1111 file: test/e2e/apps/replica_set.go 1112 - testname: Replica Set, adopt matching pods and release non matching pods 1113 codename: '[sig-apps] ReplicaSet should adopt matching pods on creation and release 1114 no longer matching pods [Conformance]' 1115 description: A Pod is created, then a Replica Set (RS) whose label selector will 1116 match the Pod. The RS MUST either adopt the Pod or delete and replace it with 1117 a new Pod. When the labels on one of the Pods owned by the RS change to no longer 1118 match the RS's label selector, the RS MUST release the Pod and update the Pod's 1119 owner references 1120 release: v1.13 1121 file: test/e2e/apps/replica_set.go 1122 - testname: ReplicaSet, list and delete a collection of ReplicaSets 1123 codename: '[sig-apps] ReplicaSet should list and delete a collection of ReplicaSets 1124 [Conformance]' 1125 description: When a ReplicaSet is created it MUST succeed. It MUST succeed when 1126 listing ReplicaSets via a label selector. It MUST succeed when deleting the ReplicaSet 1127 via deleteCollection. 1128 release: v1.22 1129 file: test/e2e/apps/replica_set.go 1130 - testname: Replica Set, run basic image 1131 codename: '[sig-apps] ReplicaSet should serve a basic image on each replica with 1132 a public image [Conformance]' 1133 description: Create a ReplicaSet with a Pod and a single Container. Make sure that 1134 the Pod is running. Pod SHOULD send a valid response when queried. 1135 release: v1.9 1136 file: test/e2e/apps/replica_set.go 1137 - testname: ReplicaSet, status sub-resource 1138 codename: '[sig-apps] ReplicaSet should validate Replicaset Status endpoints [Conformance]' 1139 description: Create a ReplicaSet resource which MUST succeed. Attempt to read, update 1140 and patch its status sub-resource; all mutating sub-resource operations MUST be 1141 visible to subsequent reads. 1142 release: v1.22 1143 file: test/e2e/apps/replica_set.go 1144 - testname: Replication Controller, adopt matching pods 1145 codename: '[sig-apps] ReplicationController should adopt matching pods on creation 1146 [Conformance]' 1147 description: An ownerless Pod is created, then a Replication Controller (RC) is 1148 created whose label selector will match the Pod. The RC MUST either adopt the 1149 Pod or delete and replace it with a new Pod 1150 release: v1.13 1151 file: test/e2e/apps/rc.go 1152 - testname: Replication Controller, get and update ReplicationController scale 1153 codename: '[sig-apps] ReplicationController should get and update a ReplicationController 1154 scale [Conformance]' 1155 description: A ReplicationController is created which MUST succeed. It MUST succeed 1156 when reading the ReplicationController scale. When updating the ReplicationController 1157 scale it MUST succeed and the field MUST equal the new value. 1158 release: v1.26 1159 file: test/e2e/apps/rc.go 1160 - testname: Replication Controller, release pods 1161 codename: '[sig-apps] ReplicationController should release no longer matching pods 1162 [Conformance]' 1163 description: A Replication Controller (RC) is created, and its Pods are created. 1164 When the labels on one of the Pods change to no longer match the RC's label selector, 1165 the RC MUST release the Pod and update the Pod's owner references. 1166 release: v1.13 1167 file: test/e2e/apps/rc.go 1168 - testname: Replication Controller, run basic image 1169 codename: '[sig-apps] ReplicationController should serve a basic image on each replica 1170 with a public image [Conformance]' 1171 description: Replication Controller MUST create a Pod with Basic Image and MUST 1172 run the service with the provided image. Image MUST be tested by dialing into 1173 the service listening through TCP, UDP and HTTP. 1174 release: v1.9 1175 file: test/e2e/apps/rc.go 1176 - testname: Replication Controller, check for issues like exceeding allocated quota 1177 codename: '[sig-apps] ReplicationController should surface a failure condition on 1178 a common issue like exceeded quota [Conformance]' 1179 description: Attempt to create a Replication Controller with pods exceeding the 1180 namespace quota. The creation MUST fail 1181 release: v1.15 1182 file: test/e2e/apps/rc.go 1183 - testname: Replication Controller, lifecycle 1184 codename: '[sig-apps] ReplicationController should test the lifecycle of a ReplicationController 1185 [Conformance]' 1186 description: A Replication Controller (RC) is created, read, patched, and deleted 1187 with verification. 1188 release: v1.20 1189 file: test/e2e/apps/rc.go 1190 - testname: StatefulSet, Burst Scaling 1191 codename: '[sig-apps] StatefulSet Basic StatefulSet functionality [StatefulSetBasic] 1192 Burst scaling should run to completion even with unhealthy pods [Slow] [Conformance]' 1193 description: StatefulSet MUST support the Parallel PodManagementPolicy for burst 1194 scaling. This test does not depend on a preexisting default StorageClass or a 1195 dynamic provisioner. 1196 release: v1.9 1197 file: test/e2e/apps/statefulset.go 1198 - testname: StatefulSet, Scaling 1199 codename: '[sig-apps] StatefulSet Basic StatefulSet functionality [StatefulSetBasic] 1200 Scaling should happen in predictable order and halt if any stateful pod is unhealthy 1201 [Slow] [Conformance]' 1202 description: StatefulSet MUST create Pods in ascending order by ordinal index when 1203 scaling up, and delete Pods in descending order when scaling down. Scaling up 1204 or down MUST pause if any Pods belonging to the StatefulSet are unhealthy. This 1205 test does not depend on a preexisting default StorageClass or a dynamic provisioner. 1206 release: v1.9 1207 file: test/e2e/apps/statefulset.go 1208 - testname: StatefulSet, Recreate Failed Pod 1209 codename: '[sig-apps] StatefulSet Basic StatefulSet functionality [StatefulSetBasic] 1210 Should recreate evicted statefulset [Conformance]' 1211 description: StatefulSet MUST delete and recreate Pods it owns that go into a Failed 1212 state, such as when they are rejected or evicted by a Node. This test does not 1213 depend on a preexisting default StorageClass or a dynamic provisioner. 1214 release: v1.9 1215 file: test/e2e/apps/statefulset.go 1216 - testname: StatefulSet resource Replica scaling 1217 codename: '[sig-apps] StatefulSet Basic StatefulSet functionality [StatefulSetBasic] 1218 should have a working scale subresource [Conformance]' 1219 description: Create a StatefulSet resource. Newly created StatefulSet resource MUST 1220 have a scale of one. Bring the scale of the StatefulSet resource up to two. StatefulSet 1221 scale MUST be at two replicas. 1222 release: v1.16, v1.21 1223 file: test/e2e/apps/statefulset.go 1224 - testname: StatefulSet, list, patch and delete a collection of StatefulSets 1225 codename: '[sig-apps] StatefulSet Basic StatefulSet functionality [StatefulSetBasic] 1226 should list, patch and delete a collection of StatefulSets [Conformance]' 1227 description: When a StatefulSet is created it MUST succeed. It MUST succeed when 1228 listing StatefulSets via a label selector. It MUST succeed when patching a StatefulSet. 1229 It MUST succeed when deleting the StatefulSet via deleteCollection. 1230 release: v1.22 1231 file: test/e2e/apps/statefulset.go 1232 - testname: StatefulSet, Rolling Update with Partition 1233 codename: '[sig-apps] StatefulSet Basic StatefulSet functionality [StatefulSetBasic] 1234 should perform canary updates and phased rolling updates of template modifications 1235 [Conformance]' 1236 description: StatefulSet's RollingUpdate strategy MUST support the Partition parameter 1237 for canaries and phased rollouts. If a Pod is deleted while a rolling update is 1238 in progress, StatefulSet MUST restore the Pod without violating the Partition. 1239 This test does not depend on a preexisting default StorageClass or a dynamic provisioner. 1240 release: v1.9 1241 file: test/e2e/apps/statefulset.go 1242 - testname: StatefulSet, Rolling Update 1243 codename: '[sig-apps] StatefulSet Basic StatefulSet functionality [StatefulSetBasic] 1244 should perform rolling updates and roll backs of template modifications [Conformance]' 1245 description: StatefulSet MUST support the RollingUpdate strategy to automatically 1246 replace Pods one at a time when the Pod template changes. The StatefulSet's status 1247 MUST indicate the CurrentRevision and UpdateRevision. If the template is changed 1248 to match a prior revision, StatefulSet MUST detect this as a rollback instead 1249 of creating a new revision. This test does not depend on a preexisting default 1250 StorageClass or a dynamic provisioner. 1251 release: v1.9 1252 file: test/e2e/apps/statefulset.go 1253 - testname: StatefulSet, status sub-resource 1254 codename: '[sig-apps] StatefulSet Basic StatefulSet functionality [StatefulSetBasic] 1255 should validate Statefulset Status endpoints [Conformance]' 1256 description: When a StatefulSet is created it MUST succeed. Attempt to read, update 1257 and patch its status sub-resource; all mutating sub-resource operations MUST be 1258 visible to subsequent reads. 1259 release: v1.22 1260 file: test/e2e/apps/statefulset.go 1261 - testname: Conformance tests minimum number of nodes. 1262 codename: '[sig-architecture] Conformance Tests should have at least two untainted 1263 nodes [Conformance]' 1264 description: Conformance tests requires at least two untainted nodes where pods 1265 can be scheduled. 1266 release: v1.23 1267 file: test/e2e/architecture/conformance.go 1268 - testname: CertificateSigningRequest API 1269 codename: '[sig-auth] Certificates API [Privileged:ClusterAdmin] should support 1270 CSR API operations [Conformance]' 1271 description: ' The certificates.k8s.io API group MUST exists in the /apis discovery 1272 document. The certificates.k8s.io/v1 API group/version MUST exist in the /apis/certificates.k8s.io 1273 discovery document. The certificatesigningrequests, certificatesigningrequests/approval, 1274 and certificatesigningrequests/status resources MUST exist in the /apis/certificates.k8s.io/v1 1275 discovery document. The certificatesigningrequests resource must support create, 1276 get, list, watch, update, patch, delete, and deletecollection. The certificatesigningrequests/approval 1277 resource must support get, update, patch. The certificatesigningrequests/status 1278 resource must support get, update, patch.' 1279 release: v1.19 1280 file: test/e2e/auth/certificates.go 1281 - testname: OIDC Discovery (ServiceAccountIssuerDiscovery) 1282 codename: '[sig-auth] ServiceAccounts ServiceAccountIssuerDiscovery should support 1283 OIDC discovery of service account issuer [Conformance]' 1284 description: Ensure kube-apiserver serves correct OIDC discovery endpoints by deploying 1285 a Pod that verifies its own token against these endpoints. 1286 release: v1.21 1287 file: test/e2e/auth/service_accounts.go 1288 - testname: Service account tokens auto mount optionally 1289 codename: '[sig-auth] ServiceAccounts should allow opting out of API token automount 1290 [Conformance]' 1291 description: Ensure that Service Account keys are mounted into the Pod only when 1292 AutoMountServiceToken is not set to false. We test the following scenarios here. 1293 1. Create Pod, Pod Spec has AutomountServiceAccountToken set to nil a) Service 1294 Account with default value, b) Service Account is an configured AutomountServiceAccountToken 1295 set to true, c) Service Account is an configured AutomountServiceAccountToken 1296 set to false 2. Create Pod, Pod Spec has AutomountServiceAccountToken set to true 1297 a) Service Account with default value, b) Service Account is configured with AutomountServiceAccountToken 1298 set to true, c) Service Account is configured with AutomountServiceAccountToken 1299 set to false 3. Create Pod, Pod Spec has AutomountServiceAccountToken set to false 1300 a) Service Account with default value, b) Service Account is configured with AutomountServiceAccountToken 1301 set to true, c) Service Account is configured with AutomountServiceAccountToken 1302 set to false The Containers running in these pods MUST verify that the ServiceTokenVolume 1303 path is auto mounted only when Pod Spec has AutomountServiceAccountToken not set 1304 to false and ServiceAccount object has AutomountServiceAccountToken not set to 1305 false, this include test cases 1a,1b,2a,2b and 2c. In the test cases 1c,3a,3b 1306 and 3c the ServiceTokenVolume MUST not be auto mounted. 1307 release: v1.9 1308 file: test/e2e/auth/service_accounts.go 1309 - testname: RootCA ConfigMap test 1310 codename: '[sig-auth] ServiceAccounts should guarantee kube-root-ca.crt exist in 1311 any namespace [Conformance]' 1312 description: Ensure every namespace exist a ConfigMap for root ca cert. 1. Created 1313 automatically 2. Recreated if deleted 3. Reconciled if modified 1314 release: v1.21 1315 file: test/e2e/auth/service_accounts.go 1316 - testname: Service Account Tokens Must AutoMount 1317 codename: '[sig-auth] ServiceAccounts should mount an API token into pods [Conformance]' 1318 description: Ensure that Service Account keys are mounted into the Container. Pod 1319 contains three containers each will read Service Account token, root CA and default 1320 namespace respectively from the default API Token Mount path. All these three 1321 files MUST exist and the Service Account mount path MUST be auto mounted to the 1322 Container. 1323 release: v1.9 1324 file: test/e2e/auth/service_accounts.go 1325 - testname: TokenRequestProjection should mount a projected volume with token using 1326 TokenRequest API. 1327 codename: '[sig-auth] ServiceAccounts should mount projected service account token 1328 [Conformance]' 1329 description: Ensure that projected service account token is mounted. 1330 release: v1.20 1331 file: test/e2e/auth/service_accounts.go 1332 - testname: ServiceAccount lifecycle test 1333 codename: '[sig-auth] ServiceAccounts should run through the lifecycle of a ServiceAccount 1334 [Conformance]' 1335 description: Creates a ServiceAccount with a static Label MUST be added as shown 1336 in watch event. Patching the ServiceAccount MUST return it's new property. Listing 1337 the ServiceAccounts MUST return the test ServiceAccount with it's patched values. 1338 ServiceAccount will be deleted and MUST find a deleted watch event. 1339 release: v1.19 1340 file: test/e2e/auth/service_accounts.go 1341 - testname: ServiceAccount, update a ServiceAccount 1342 codename: '[sig-auth] ServiceAccounts should update a ServiceAccount [Conformance]' 1343 description: A ServiceAccount is created which MUST succeed. When updating the ServiceAccount 1344 it MUST succeed and the field MUST equal the new value. 1345 release: v1.26 1346 file: test/e2e/auth/service_accounts.go 1347 - testname: SubjectReview, API Operations 1348 codename: '[sig-auth] SubjectReview should support SubjectReview API operations 1349 [Conformance]' 1350 description: A ServiceAccount is created which MUST succeed. A clientset is created 1351 to impersonate the ServiceAccount. A SubjectAccessReview is created for the ServiceAccount 1352 which MUST succeed. The allowed status for the SubjectAccessReview MUST match 1353 the expected allowed for the impersonated client call. A LocalSubjectAccessReviews 1354 is created for the ServiceAccount which MUST succeed. The allowed status for the 1355 LocalSubjectAccessReview MUST match the expected allowed for the impersonated 1356 client call. 1357 release: v1.27 1358 file: test/e2e/auth/subjectreviews.go 1359 - testname: Kubectl, guestbook application 1360 codename: '[sig-cli] Kubectl client Guestbook application should create and stop 1361 a working application [Conformance]' 1362 description: Create Guestbook application that contains an agnhost primary server, 1363 2 agnhost replicas, frontend application, frontend service and agnhost primary 1364 service and agnhost replica service. Using frontend service, the test will write 1365 an entry into the guestbook application which will store the entry into the backend 1366 agnhost store. Application flow MUST work as expected and the data written MUST 1367 be available to read. 1368 release: v1.9 1369 file: test/e2e/kubectl/kubectl.go 1370 - testname: Kubectl, check version v1 1371 codename: '[sig-cli] Kubectl client Kubectl api-versions should check if v1 is in 1372 available api versions [Conformance]' 1373 description: Run kubectl to get api versions, output MUST contain returned versions 1374 with 'v1' listed. 1375 release: v1.9 1376 file: test/e2e/kubectl/kubectl.go 1377 - testname: Kubectl, cluster info 1378 codename: '[sig-cli] Kubectl client Kubectl cluster-info should check if Kubernetes 1379 control plane services is included in cluster-info [Conformance]' 1380 description: Call kubectl to get cluster-info, output MUST contain cluster-info 1381 returned and Kubernetes control plane SHOULD be running. 1382 release: v1.9 1383 file: test/e2e/kubectl/kubectl.go 1384 - testname: Kubectl, describe pod or rc 1385 codename: '[sig-cli] Kubectl client Kubectl describe should check if kubectl describe 1386 prints relevant information for rc and pods [Conformance]' 1387 description: Deploy an agnhost controller and an agnhost service. Kubectl describe 1388 pods SHOULD return the name, namespace, labels, state and other information as 1389 expected. Kubectl describe on rc, service, node and namespace SHOULD also return 1390 proper information. 1391 release: v1.9 1392 file: test/e2e/kubectl/kubectl.go 1393 - testname: Kubectl, diff Deployment 1394 codename: '[sig-cli] Kubectl client Kubectl diff should check if kubectl diff finds 1395 a difference for Deployments [Conformance]' 1396 description: Create a Deployment with httpd image. Declare the same Deployment with 1397 a different image, busybox. Diff of live Deployment with declared Deployment MUST 1398 include the difference between live and declared image. 1399 release: v1.19 1400 file: test/e2e/kubectl/kubectl.go 1401 - testname: Kubectl, create service, replication controller 1402 codename: '[sig-cli] Kubectl client Kubectl expose should create services for rc 1403 [Conformance]' 1404 description: Create a Pod running agnhost listening to port 6379. Using kubectl 1405 expose the agnhost primary replication controllers at port 1234. Validate that 1406 the replication controller is listening on port 1234 and the target port is set 1407 to 6379, port that agnhost primary is listening. Using kubectl expose the agnhost 1408 primary as a service at port 2345. The service MUST be listening on port 2345 1409 and the target port is set to 6379, port that agnhost primary is listening. 1410 release: v1.9 1411 file: test/e2e/kubectl/kubectl.go 1412 - testname: Kubectl, label update 1413 codename: '[sig-cli] Kubectl client Kubectl label should update the label on a resource 1414 [Conformance]' 1415 description: When a Pod is running, update a Label using 'kubectl label' command. 1416 The label MUST be created in the Pod. A 'kubectl get pod' with -l option on the 1417 container MUST verify that the label can be read back. Use 'kubectl label label-' 1418 to remove the label. 'kubectl get pod' with -l option SHOULD not list the deleted 1419 label as the label is removed. 1420 release: v1.9 1421 file: test/e2e/kubectl/kubectl.go 1422 - testname: Kubectl, patch to annotate 1423 codename: '[sig-cli] Kubectl client Kubectl patch should add annotations for pods 1424 in rc [Conformance]' 1425 description: Start running agnhost and a replication controller. When the pod is 1426 running, using 'kubectl patch' command add annotations. The annotation MUST be 1427 added to running pods and SHOULD be able to read added annotations from each of 1428 the Pods running under the replication controller. 1429 release: v1.9 1430 file: test/e2e/kubectl/kubectl.go 1431 - testname: Kubectl, replace 1432 codename: '[sig-cli] Kubectl client Kubectl replace should update a single-container 1433 pod''s image [Conformance]' 1434 description: Command 'kubectl replace' on a existing Pod with a new spec MUST update 1435 the image of the container running in the Pod. A -f option to 'kubectl replace' 1436 SHOULD force to re-create the resource. The new Pod SHOULD have the container 1437 with new change to the image. 1438 release: v1.9 1439 file: test/e2e/kubectl/kubectl.go 1440 - testname: Kubectl, run pod 1441 codename: '[sig-cli] Kubectl client Kubectl run pod should create a pod from an 1442 image when restart is Never [Conformance]' 1443 description: Command 'kubectl run' MUST create a pod, when a image name is specified 1444 in the run command. After the run command there SHOULD be a pod that should exist 1445 with one container running the specified image. 1446 release: v1.9 1447 file: test/e2e/kubectl/kubectl.go 1448 - testname: Kubectl, server-side dry-run Pod 1449 codename: '[sig-cli] Kubectl client Kubectl server-side dry-run should check if 1450 kubectl can dry-run update Pods [Conformance]' 1451 description: The command 'kubectl run' must create a pod with the specified image 1452 name. After, the command 'kubectl patch pod -p {...} --dry-run=server' should 1453 update the Pod with the new image name and server-side dry-run enabled. The image 1454 name must not change. 1455 release: v1.19 1456 file: test/e2e/kubectl/kubectl.go 1457 - testname: Kubectl, version 1458 codename: '[sig-cli] Kubectl client Kubectl version should check is all data is 1459 printed [Conformance]' 1460 description: The command 'kubectl version' MUST return the major, minor versions, GitCommit, 1461 etc of the Client and the Server that the kubectl is configured to connect to. 1462 release: v1.9 1463 file: test/e2e/kubectl/kubectl.go 1464 - testname: Kubectl, proxy socket 1465 codename: '[sig-cli] Kubectl client Proxy server should support --unix-socket=/path 1466 [Conformance]' 1467 description: Start a proxy server on by running 'kubectl proxy' with --unix-socket=<some 1468 path>. Call the proxy server by requesting api versions from http://locahost:0/api. 1469 The proxy server MUST provide at least one version string 1470 release: v1.9 1471 file: test/e2e/kubectl/kubectl.go 1472 - testname: Kubectl, proxy port zero 1473 codename: '[sig-cli] Kubectl client Proxy server should support proxy with --port 1474 0 [Conformance]' 1475 description: Start a proxy server on port zero by running 'kubectl proxy' with --port=0. 1476 Call the proxy server by requesting api versions from unix socket. The proxy server 1477 MUST provide at least one version string. 1478 release: v1.9 1479 file: test/e2e/kubectl/kubectl.go 1480 - testname: Kubectl, replication controller 1481 codename: '[sig-cli] Kubectl client Update Demo should create and stop a replication 1482 controller [Conformance]' 1483 description: Create a Pod and a container with a given image. Configure replication 1484 controller to run 2 replicas. The number of running instances of the Pod MUST 1485 equal the number of replicas set on the replication controller which is 2. 1486 release: v1.9 1487 file: test/e2e/kubectl/kubectl.go 1488 - testname: Kubectl, scale replication controller 1489 codename: '[sig-cli] Kubectl client Update Demo should scale a replication controller 1490 [Conformance]' 1491 description: Create a Pod and a container with a given image. Configure replication 1492 controller to run 2 replicas. The number of running instances of the Pod MUST 1493 equal the number of replicas set on the replication controller which is 2. Update 1494 the replicaset to 1. Number of running instances of the Pod MUST be 1. Update 1495 the replicaset to 2. Number of running instances of the Pod MUST be 2. 1496 release: v1.9 1497 file: test/e2e/kubectl/kubectl.go 1498 - testname: Kubectl, logs 1499 codename: '[sig-cli] Kubectl logs logs should be able to retrieve and filter logs 1500 [Conformance]' 1501 description: When a Pod is running then it MUST generate logs. Starting a Pod should 1502 have a expected log line. Also log command options MUST work as expected and described 1503 below. 'kubectl logs -tail=1' should generate a output of one line, the last line 1504 in the log. 'kubectl --limit-bytes=1' should generate a single byte output. 'kubectl 1505 --tail=1 --timestamp should generate one line with timestamp in RFC3339 format 1506 'kubectl --since=1s' should output logs that are only 1 second older from now 1507 'kubectl --since=24h' should output logs that are only 1 day older from now 1508 release: v1.9 1509 file: test/e2e/kubectl/logs.go 1510 - testname: New Event resource lifecycle, testing a list of events 1511 codename: '[sig-instrumentation] Events API should delete a collection of events 1512 [Conformance]' 1513 description: Create a list of events, the events MUST exist. The events are deleted 1514 and MUST NOT show up when listing all events. 1515 release: v1.19 1516 file: test/e2e/instrumentation/events.go 1517 - testname: New Event resource lifecycle, testing a single event 1518 codename: '[sig-instrumentation] Events API should ensure that an event can be fetched, 1519 patched, deleted, and listed [Conformance]' 1520 description: Create an event, the event MUST exist. The event is patched with a 1521 new note, the check MUST have the update note. The event is updated with a new 1522 series, the check MUST have the update series. The event is deleted and MUST NOT 1523 show up when listing all events. 1524 release: v1.19 1525 file: test/e2e/instrumentation/events.go 1526 - testname: Event, delete a collection 1527 codename: '[sig-instrumentation] Events should delete a collection of events [Conformance]' 1528 description: A set of events is created with a label selector which MUST be found 1529 when listed. The set of events is deleted and MUST NOT show up when listed by 1530 its label selector. 1531 release: v1.20 1532 file: test/e2e/instrumentation/core_events.go 1533 - testname: Event, manage lifecycle of an Event 1534 codename: '[sig-instrumentation] Events should manage the lifecycle of an event 1535 [Conformance]' 1536 description: Attempt to create an event which MUST succeed. Attempt to list all 1537 namespaces with a label selector which MUST succeed. One list MUST be found. The 1538 event is patched with a new message, the check MUST have the update message. The 1539 event is updated with a new series of events, the check MUST confirm this update. 1540 The event is deleted and MUST NOT show up when listing all events. 1541 release: v1.25 1542 file: test/e2e/instrumentation/core_events.go 1543 - testname: DNS, cluster 1544 codename: '[sig-network] DNS should provide /etc/hosts entries for the cluster [Conformance]' 1545 description: When a Pod is created, the pod MUST be able to resolve cluster dns 1546 entries such as kubernetes.default via /etc/hosts. 1547 release: v1.14 1548 file: test/e2e/network/dns.go 1549 - testname: DNS, for ExternalName Services 1550 codename: '[sig-network] DNS should provide DNS for ExternalName services [Conformance]' 1551 description: Create a service with externalName. Pod MUST be able to resolve the 1552 address for this service via CNAME. When externalName of this service is changed, 1553 Pod MUST resolve to new DNS entry for the service. Change the service type from 1554 externalName to ClusterIP, Pod MUST resolve DNS to the service by serving A records. 1555 release: v1.15 1556 file: test/e2e/network/dns.go 1557 - testname: DNS, resolve the hostname 1558 codename: '[sig-network] DNS should provide DNS for pods for Hostname [Conformance]' 1559 description: Create a headless service with label. Create a Pod with label to match 1560 service's label, with hostname and a subdomain same as service name. Pod MUST 1561 be able to resolve its fully qualified domain name as well as hostname by serving 1562 an A record at that name. 1563 release: v1.15 1564 file: test/e2e/network/dns.go 1565 - testname: DNS, resolve the subdomain 1566 codename: '[sig-network] DNS should provide DNS for pods for Subdomain [Conformance]' 1567 description: Create a headless service with label. Create a Pod with label to match 1568 service's label, with hostname and a subdomain same as service name. Pod MUST 1569 be able to resolve its fully qualified domain name as well as subdomain by serving 1570 an A record at that name. 1571 release: v1.15 1572 file: test/e2e/network/dns.go 1573 - testname: DNS, services 1574 codename: '[sig-network] DNS should provide DNS for services [Conformance]' 1575 description: When a headless service is created, the service MUST be able to resolve 1576 all the required service endpoints. When the service is created, any pod in the 1577 same namespace must be able to resolve the service by all of the expected DNS 1578 names. 1579 release: v1.9 1580 file: test/e2e/network/dns.go 1581 - testname: DNS, cluster 1582 codename: '[sig-network] DNS should provide DNS for the cluster [Conformance]' 1583 description: When a Pod is created, the pod MUST be able to resolve cluster dns 1584 entries such as kubernetes.default via DNS. 1585 release: v1.9 1586 file: test/e2e/network/dns.go 1587 - testname: DNS, PQDN for services 1588 codename: '[sig-network] DNS should resolve DNS of partial qualified names for services 1589 [LinuxOnly] [Conformance]' 1590 description: 'Create a headless service and normal service. Both the services MUST 1591 be able to resolve partial qualified DNS entries of their service endpoints by 1592 serving A records and SRV records. [LinuxOnly]: As Windows currently does not 1593 support resolving PQDNs.' 1594 release: v1.17 1595 file: test/e2e/network/dns.go 1596 - testname: DNS, custom dnsConfig 1597 codename: '[sig-network] DNS should support configurable pod DNS nameservers [Conformance]' 1598 description: Create a Pod with DNSPolicy as None and custom DNS configuration, specifying 1599 nameservers and search path entries. Pod creation MUST be successful and provided 1600 DNS configuration MUST be configured in the Pod. 1601 release: v1.17 1602 file: test/e2e/network/dns.go 1603 - testname: EndpointSlice API 1604 codename: '[sig-network] EndpointSlice should create Endpoints and EndpointSlices 1605 for Pods matching a Service [Conformance]' 1606 description: The discovery.k8s.io API group MUST exist in the /apis discovery document. 1607 The discovery.k8s.io/v1 API group/version MUST exist in the /apis/discovery.k8s.io 1608 discovery document. The endpointslices resource MUST exist in the /apis/discovery.k8s.io/v1 1609 discovery document. The endpointslice controller must create EndpointSlices for 1610 Pods mataching a Service. 1611 release: v1.21 1612 file: test/e2e/network/endpointslice.go 1613 - testname: EndpointSlice API 1614 codename: '[sig-network] EndpointSlice should create and delete Endpoints and EndpointSlices 1615 for a Service with a selector specified [Conformance]' 1616 description: The discovery.k8s.io API group MUST exist in the /apis discovery document. 1617 The discovery.k8s.io/v1 API group/version MUST exist in the /apis/discovery.k8s.io 1618 discovery document. The endpointslices resource MUST exist in the /apis/discovery.k8s.io/v1 1619 discovery document. The endpointslice controller should create and delete EndpointSlices 1620 for Pods matching a Service. 1621 release: v1.21 1622 file: test/e2e/network/endpointslice.go 1623 - testname: EndpointSlice API 1624 codename: '[sig-network] EndpointSlice should have Endpoints and EndpointSlices 1625 pointing to API Server [Conformance]' 1626 description: The discovery.k8s.io API group MUST exist in the /apis discovery document. 1627 The discovery.k8s.io/v1 API group/version MUST exist in the /apis/discovery.k8s.io 1628 discovery document. The endpointslices resource MUST exist in the /apis/discovery.k8s.io/v1 1629 discovery document. The cluster MUST have a service named "kubernetes" on the 1630 default namespace referencing the API servers. The "kubernetes.default" service 1631 MUST have Endpoints and EndpointSlices pointing to each API server instance. 1632 release: v1.21 1633 file: test/e2e/network/endpointslice.go 1634 - testname: EndpointSlice API 1635 codename: '[sig-network] EndpointSlice should support creating EndpointSlice API 1636 operations [Conformance]' 1637 description: The discovery.k8s.io API group MUST exist in the /apis discovery document. 1638 The discovery.k8s.io/v1 API group/version MUST exist in the /apis/discovery.k8s.io 1639 discovery document. The endpointslices resource MUST exist in the /apis/discovery.k8s.io/v1 1640 discovery document. The endpointslices resource must support create, get, list, 1641 watch, update, patch, delete, and deletecollection. 1642 release: v1.21 1643 file: test/e2e/network/endpointslice.go 1644 - testname: EndpointSlice Mirroring 1645 codename: '[sig-network] EndpointSliceMirroring should mirror a custom Endpoints 1646 resource through create update and delete [Conformance]' 1647 description: The discovery.k8s.io API group MUST exist in the /apis discovery document. 1648 The discovery.k8s.io/v1 API group/version MUST exist in the /apis/discovery.k8s.io 1649 discovery document. The endpointslices resource MUST exist in the /apis/discovery.k8s.io/v1 1650 discovery document. The endpointslices mirrorowing must mirror endpoint create, 1651 update, and delete actions. 1652 release: v1.21 1653 file: test/e2e/network/endpointslicemirroring.go 1654 - testname: Scheduling, HostPort matching and HostIP and Protocol not-matching 1655 codename: '[sig-network] HostPort validates that there is no conflict between pods 1656 with same hostPort but different hostIP and protocol [LinuxOnly] [Conformance]' 1657 description: Pods with the same HostPort value MUST be able to be scheduled to the 1658 same node if the HostIP or Protocol is different. This test is marked LinuxOnly 1659 since hostNetwork is not supported on Windows. 1660 release: v1.16, v1.21 1661 file: test/e2e/network/hostport.go 1662 - testname: Ingress API 1663 codename: '[sig-network] Ingress API should support creating Ingress API operations 1664 [Conformance]' 1665 description: ' The networking.k8s.io API group MUST exist in the /apis discovery 1666 document. The networking.k8s.io/v1 API group/version MUST exist in the /apis/networking.k8s.io 1667 discovery document. The ingresses resources MUST exist in the /apis/networking.k8s.io/v1 1668 discovery document. The ingresses resource must support create, get, list, watch, 1669 update, patch, delete, and deletecollection. The ingresses/status resource must 1670 support update and patch' 1671 release: v1.19 1672 file: test/e2e/network/ingress.go 1673 - testname: IngressClass API 1674 codename: '[sig-network] IngressClass API should support creating IngressClass API 1675 operations [Conformance]' 1676 description: ' - The networking.k8s.io API group MUST exist in the /apis discovery 1677 document. - The networking.k8s.io/v1 API group/version MUST exist in the /apis/networking.k8s.io 1678 discovery document. - The ingressclasses resource MUST exist in the /apis/networking.k8s.io/v1 1679 discovery document. - The ingressclass resource must support create, get, list, 1680 watch, update, patch, delete, and deletecollection.' 1681 release: v1.19 1682 file: test/e2e/network/ingressclass.go 1683 - testname: Networking, intra pod http 1684 codename: '[sig-network] Networking Granular Checks: Pods should function for intra-pod 1685 communication: http [NodeConformance] [Conformance]' 1686 description: Create a hostexec pod that is capable of curl to netcat commands. Create 1687 a test Pod that will act as a webserver front end exposing ports 8080 for tcp 1688 and 8081 for udp. The netserver service proxies are created on specified number 1689 of nodes. The kubectl exec on the webserver container MUST reach a http port on 1690 the each of service proxy endpoints in the cluster and the request MUST be successful. 1691 Container will execute curl command to reach the service port within specified 1692 max retry limit and MUST result in reporting unique hostnames. 1693 release: v1.9, v1.18 1694 file: test/e2e/common/network/networking.go 1695 - testname: Networking, intra pod udp 1696 codename: '[sig-network] Networking Granular Checks: Pods should function for intra-pod 1697 communication: udp [NodeConformance] [Conformance]' 1698 description: Create a hostexec pod that is capable of curl to netcat commands. Create 1699 a test Pod that will act as a webserver front end exposing ports 8080 for tcp 1700 and 8081 for udp. The netserver service proxies are created on specified number 1701 of nodes. The kubectl exec on the webserver container MUST reach a udp port on 1702 the each of service proxy endpoints in the cluster and the request MUST be successful. 1703 Container will execute curl command to reach the service port within specified 1704 max retry limit and MUST result in reporting unique hostnames. 1705 release: v1.9, v1.18 1706 file: test/e2e/common/network/networking.go 1707 - testname: Networking, intra pod http, from node 1708 codename: '[sig-network] Networking Granular Checks: Pods should function for node-pod 1709 communication: http [LinuxOnly] [NodeConformance] [Conformance]' 1710 description: Create a hostexec pod that is capable of curl to netcat commands. Create 1711 a test Pod that will act as a webserver front end exposing ports 8080 for tcp 1712 and 8081 for udp. The netserver service proxies are created on specified number 1713 of nodes. The kubectl exec on the webserver container MUST reach a http port on 1714 the each of service proxy endpoints in the cluster using a http post(protocol=tcp) and 1715 the request MUST be successful. Container will execute curl command to reach the 1716 service port within specified max retry limit and MUST result in reporting unique 1717 hostnames. This test is marked LinuxOnly it breaks when using Overlay networking 1718 with Windows. 1719 release: v1.9 1720 file: test/e2e/common/network/networking.go 1721 - testname: Networking, intra pod http, from node 1722 codename: '[sig-network] Networking Granular Checks: Pods should function for node-pod 1723 communication: udp [LinuxOnly] [NodeConformance] [Conformance]' 1724 description: Create a hostexec pod that is capable of curl to netcat commands. Create 1725 a test Pod that will act as a webserver front end exposing ports 8080 for tcp 1726 and 8081 for udp. The netserver service proxies are created on specified number 1727 of nodes. The kubectl exec on the webserver container MUST reach a http port on 1728 the each of service proxy endpoints in the cluster using a http post(protocol=udp) and 1729 the request MUST be successful. Container will execute curl command to reach the 1730 service port within specified max retry limit and MUST result in reporting unique 1731 hostnames. This test is marked LinuxOnly it breaks when using Overlay networking 1732 with Windows. 1733 release: v1.9 1734 file: test/e2e/common/network/networking.go 1735 - testname: Proxy, validate Proxy responses 1736 codename: '[sig-network] Proxy version v1 A set of valid responses are returned 1737 for both pod and service Proxy [Conformance]' 1738 description: Attempt to create a pod and a service. A set of pod and service endpoints 1739 MUST be accessed via Proxy using a list of http methods. A valid response MUST 1740 be returned for each endpoint. 1741 release: v1.24 1742 file: test/e2e/network/proxy.go 1743 - testname: Proxy, validate ProxyWithPath responses 1744 codename: '[sig-network] Proxy version v1 A set of valid responses are returned 1745 for both pod and service ProxyWithPath [Conformance]' 1746 description: Attempt to create a pod and a service. A set of pod and service endpoints 1747 MUST be accessed via ProxyWithPath using a list of http methods. A valid response 1748 MUST be returned for each endpoint. 1749 release: v1.21 1750 file: test/e2e/network/proxy.go 1751 - testname: Proxy, logs service endpoint 1752 codename: '[sig-network] Proxy version v1 should proxy through a service and a pod 1753 [Conformance]' 1754 description: Select any node in the cluster to invoke /logs endpoint using the 1755 /nodes/proxy subresource from the kubelet port. This endpoint MUST be reachable. 1756 release: v1.9 1757 file: test/e2e/network/proxy.go 1758 - testname: Service endpoint latency, thresholds 1759 codename: '[sig-network] Service endpoints latency should not be very high [Conformance]' 1760 description: Run 100 iterations of create service with the Pod running the pause 1761 image, measure the time it takes for creating the service and the endpoint with 1762 the service name is available. These durations are captured for 100 iterations, 1763 then the durations are sorted to compute 50th, 90th and 99th percentile. The single 1764 server latency MUST not exceed liberally set thresholds of 20s for 50th percentile 1765 and 50s for the 90th percentile. 1766 release: v1.9 1767 file: test/e2e/network/service_latency.go 1768 - testname: Service, change type, ClusterIP to ExternalName 1769 codename: '[sig-network] Services should be able to change the type from ClusterIP 1770 to ExternalName [Conformance]' 1771 description: Create a service of type ClusterIP. Service creation MUST be successful 1772 by assigning ClusterIP to the service. Update service type from ClusterIP to ExternalName 1773 by setting CNAME entry as externalName. Service update MUST be successful and 1774 service MUST not has associated ClusterIP. Service MUST be able to resolve to 1775 IP address by returning A records ensuring service is pointing to provided externalName. 1776 release: v1.16 1777 file: test/e2e/network/service.go 1778 - testname: Service, change type, ExternalName to ClusterIP 1779 codename: '[sig-network] Services should be able to change the type from ExternalName 1780 to ClusterIP [Conformance]' 1781 description: Create a service of type ExternalName, pointing to external DNS. ClusterIP 1782 MUST not be assigned to the service. Update the service from ExternalName to ClusterIP 1783 by removing ExternalName entry, assigning port 80 as service port and TCP as protocol. 1784 Service update MUST be successful by assigning ClusterIP to the service and it 1785 MUST be reachable over serviceName and ClusterIP on provided service port. 1786 release: v1.16 1787 file: test/e2e/network/service.go 1788 - testname: Service, change type, ExternalName to NodePort 1789 codename: '[sig-network] Services should be able to change the type from ExternalName 1790 to NodePort [Conformance]' 1791 description: Create a service of type ExternalName, pointing to external DNS. ClusterIP 1792 MUST not be assigned to the service. Update the service from ExternalName to NodePort, 1793 assigning port 80 as service port and, TCP as protocol. service update MUST be 1794 successful by exposing service on every node's IP on dynamically assigned NodePort 1795 and, ClusterIP MUST be assigned to route service requests. Service MUST be reachable 1796 over serviceName and the ClusterIP on servicePort. Service MUST also be reachable 1797 over node's IP on NodePort. 1798 release: v1.16 1799 file: test/e2e/network/service.go 1800 - testname: Service, change type, NodePort to ExternalName 1801 codename: '[sig-network] Services should be able to change the type from NodePort 1802 to ExternalName [Conformance]' 1803 description: Create a service of type NodePort. Service creation MUST be successful 1804 by exposing service on every node's IP on dynamically assigned NodePort and, ClusterIP 1805 MUST be assigned to route service requests. Update the service type from NodePort 1806 to ExternalName by setting CNAME entry as externalName. Service update MUST be 1807 successful and, MUST not has ClusterIP associated with the service and, allocated 1808 NodePort MUST be released. Service MUST be able to resolve to IP address by returning 1809 A records ensuring service is pointing to provided externalName. 1810 release: v1.16 1811 file: test/e2e/network/service.go 1812 - testname: Service, NodePort Service 1813 codename: '[sig-network] Services should be able to create a functioning NodePort 1814 service [Conformance]' 1815 description: Create a TCP NodePort service, and test reachability from a client 1816 Pod. The client Pod MUST be able to access the NodePort service by service name 1817 and cluster IP on the service port, and on nodes' internal and external IPs on 1818 the NodePort. 1819 release: v1.16 1820 file: test/e2e/network/service.go 1821 - testname: Service, NodePort type, session affinity to None 1822 codename: '[sig-network] Services should be able to switch session affinity for 1823 NodePort service [LinuxOnly] [Conformance]' 1824 description: 'Create a service of type "NodePort" and provide service port and protocol. 1825 Service''s sessionAffinity is set to "ClientIP". Service creation MUST be successful 1826 by assigning a "ClusterIP" to the service and allocating NodePort on all the nodes. 1827 Create a Replication Controller to ensure that 3 pods are running and are targeted 1828 by the service to serve hostname of the pod when requests are sent to the service. 1829 Create another pod to make requests to the service. Update the service''s sessionAffinity 1830 to "None". Service update MUST be successful. When a requests are made to the 1831 service on node''s IP and NodePort, service MUST be able serve the hostname from 1832 any pod of the replica. When service''s sessionAffinily is updated back to "ClientIP", 1833 service MUST serve the hostname from the same pod of the replica for all consecutive 1834 requests. Service MUST be reachable over serviceName and the ClusterIP on servicePort. 1835 Service MUST also be reachable over node''s IP on NodePort. [LinuxOnly]: Windows 1836 does not support session affinity.' 1837 release: v1.19 1838 file: test/e2e/network/service.go 1839 - testname: Service, ClusterIP type, session affinity to None 1840 codename: '[sig-network] Services should be able to switch session affinity for 1841 service with type clusterIP [LinuxOnly] [Conformance]' 1842 description: 'Create a service of type "ClusterIP". Service''s sessionAffinity is 1843 set to "ClientIP". Service creation MUST be successful by assigning "ClusterIP" 1844 to the service. Create a Replication Controller to ensure that 3 pods are running 1845 and are targeted by the service to serve hostname of the pod when requests are 1846 sent to the service. Create another pod to make requests to the service. Update 1847 the service''s sessionAffinity to "None". Service update MUST be successful. When 1848 a requests are made to the service, it MUST be able serve the hostname from any 1849 pod of the replica. When service''s sessionAffinily is updated back to "ClientIP", 1850 service MUST serve the hostname from the same pod of the replica for all consecutive 1851 requests. Service MUST be reachable over serviceName and the ClusterIP on servicePort. 1852 [LinuxOnly]: Windows does not support session affinity.' 1853 release: v1.19 1854 file: test/e2e/network/service.go 1855 - testname: Service, complete ServiceStatus lifecycle 1856 codename: '[sig-network] Services should complete a service status lifecycle [Conformance]' 1857 description: Create a service, the service MUST exist. When retrieving /status the 1858 action MUST be validated. When patching /status the action MUST be validated. 1859 When updating /status the action MUST be validated. When patching a service the 1860 action MUST be validated. 1861 release: v1.21 1862 file: test/e2e/network/service.go 1863 - testname: Service, deletes a collection of services 1864 codename: '[sig-network] Services should delete a collection of services [Conformance]' 1865 description: Create three services with the required labels and ports. It MUST locate 1866 three services in the test namespace. It MUST succeed at deleting a collection 1867 of services via a label selector. It MUST locate only one service after deleting 1868 the service collection. 1869 release: v1.23 1870 file: test/e2e/network/service.go 1871 - testname: Find Kubernetes Service in default Namespace 1872 codename: '[sig-network] Services should find a service from listing all namespaces 1873 [Conformance]' 1874 description: List all Services in all Namespaces, response MUST include a Service 1875 named Kubernetes with the Namespace of default. 1876 release: v1.18 1877 file: test/e2e/network/service.go 1878 - testname: Service, NodePort type, session affinity to ClientIP 1879 codename: '[sig-network] Services should have session affinity work for NodePort 1880 service [LinuxOnly] [Conformance]' 1881 description: 'Create a service of type "NodePort" and provide service port and protocol. 1882 Service''s sessionAffinity is set to "ClientIP". Service creation MUST be successful 1883 by assigning a "ClusterIP" to service and allocating NodePort on all nodes. Create 1884 a Replication Controller to ensure that 3 pods are running and are targeted by 1885 the service to serve hostname of the pod when a requests are sent to the service. 1886 Create another pod to make requests to the service on node''s IP and NodePort. 1887 Service MUST serve the hostname from the same pod of the replica for all consecutive 1888 requests. Service MUST be reachable over serviceName and the ClusterIP on servicePort. 1889 Service MUST also be reachable over node''s IP on NodePort. [LinuxOnly]: Windows 1890 does not support session affinity.' 1891 release: v1.19 1892 file: test/e2e/network/service.go 1893 - testname: Service, ClusterIP type, session affinity to ClientIP 1894 codename: '[sig-network] Services should have session affinity work for service 1895 with type clusterIP [LinuxOnly] [Conformance]' 1896 description: 'Create a service of type "ClusterIP". Service''s sessionAffinity is 1897 set to "ClientIP". Service creation MUST be successful by assigning "ClusterIP" 1898 to the service. Create a Replication Controller to ensure that 3 pods are running 1899 and are targeted by the service to serve hostname of the pod when requests are 1900 sent to the service. Create another pod to make requests to the service. Service 1901 MUST serve the hostname from the same pod of the replica for all consecutive requests. 1902 Service MUST be reachable over serviceName and the ClusterIP on servicePort. [LinuxOnly]: 1903 Windows does not support session affinity.' 1904 release: v1.19 1905 file: test/e2e/network/service.go 1906 - testname: Kubernetes Service 1907 codename: '[sig-network] Services should provide secure master service [Conformance]' 1908 description: By default when a kubernetes cluster is running there MUST be a 'kubernetes' 1909 service running in the cluster. 1910 release: v1.9 1911 file: test/e2e/network/service.go 1912 - testname: Service, endpoints 1913 codename: '[sig-network] Services should serve a basic endpoint from pods [Conformance]' 1914 description: Create a service with a endpoint without any Pods, the service MUST 1915 run and show empty endpoints. Add a pod to the service and the service MUST validate 1916 to show all the endpoints for the ports exposed by the Pod. Add another Pod then 1917 the list of all Ports exposed by both the Pods MUST be valid and have corresponding 1918 service endpoint. Once the second Pod is deleted then set of endpoint MUST be 1919 validated to show only ports from the first container that are exposed. Once both 1920 pods are deleted the endpoints from the service MUST be empty. 1921 release: v1.9 1922 file: test/e2e/network/service.go 1923 - testname: Service, should serve endpoints on same port and different protocols. 1924 codename: '[sig-network] Services should serve endpoints on same port and different 1925 protocols [Conformance]' 1926 description: Create one service with two ports, same port number and different protocol 1927 TCP and UDP. It MUST be able to forward traffic to both ports. Update the Service 1928 to expose only the TCP port, it MUST succeed to connect to the TCP port and fail 1929 to connect to the UDP port. Update the Service to expose only the UDP port, it 1930 MUST succeed to connect to the UDP port and fail to connect to the TCP port. 1931 release: v1.29 1932 file: test/e2e/network/service.go 1933 - testname: Service, endpoints with multiple ports 1934 codename: '[sig-network] Services should serve multiport endpoints from pods [Conformance]' 1935 description: Create a service with two ports but no Pods are added to the service 1936 yet. The service MUST run and show empty set of endpoints. Add a Pod to the first 1937 port, service MUST list one endpoint for the Pod on that port. Add another Pod 1938 to the second port, service MUST list both the endpoints. Delete the first Pod 1939 and the service MUST list only the endpoint to the second Pod. Delete the second 1940 Pod and the service must now have empty set of endpoints. 1941 release: v1.9 1942 file: test/e2e/network/service.go 1943 - testname: Endpoint resource lifecycle 1944 codename: '[sig-network] Services should test the lifecycle of an Endpoint [Conformance]' 1945 description: Create an endpoint, the endpoint MUST exist. The endpoint is updated 1946 with a new label, a check after the update MUST find the changes. The endpoint 1947 is then patched with a new IPv4 address and port, a check after the patch MUST 1948 the changes. The endpoint is deleted by it's label, a watch listens for the deleted 1949 watch event. 1950 release: v1.19 1951 file: test/e2e/network/service.go 1952 - testname: ConfigMap, from environment field 1953 codename: '[sig-node] ConfigMap should be consumable via environment variable [NodeConformance] 1954 [Conformance]' 1955 description: Create a Pod with an environment variable value set using a value from 1956 ConfigMap. A ConfigMap value MUST be accessible in the container environment. 1957 release: v1.9 1958 file: test/e2e/common/node/configmap.go 1959 - testname: ConfigMap, from environment variables 1960 codename: '[sig-node] ConfigMap should be consumable via the environment [NodeConformance] 1961 [Conformance]' 1962 description: Create a Pod with a environment source from ConfigMap. All ConfigMap 1963 values MUST be available as environment variables in the container. 1964 release: v1.9 1965 file: test/e2e/common/node/configmap.go 1966 - testname: ConfigMap, with empty-key 1967 codename: '[sig-node] ConfigMap should fail to create ConfigMap with empty key [Conformance]' 1968 description: Attempt to create a ConfigMap with an empty key. The creation MUST 1969 fail. 1970 release: v1.14 1971 file: test/e2e/common/node/configmap.go 1972 - testname: ConfigMap lifecycle 1973 codename: '[sig-node] ConfigMap should run through a ConfigMap lifecycle [Conformance]' 1974 description: Attempt to create a ConfigMap. Patch the created ConfigMap. Fetching 1975 the ConfigMap MUST reflect changes. By fetching all the ConfigMaps via a Label 1976 selector it MUST find the ConfigMap by it's static label and updated value. The 1977 ConfigMap must be deleted by Collection. 1978 release: v1.19 1979 file: test/e2e/common/node/configmap.go 1980 - testname: Pod Lifecycle, post start exec hook 1981 codename: '[sig-node] Container Lifecycle Hook when create a pod with lifecycle 1982 hook should execute poststart exec hook properly [NodeConformance] [Conformance]' 1983 description: When a post start handler is specified in the container lifecycle using 1984 a 'Exec' action, then the handler MUST be invoked after the start of the container. 1985 A server pod is created that will serve http requests, create a second pod with 1986 a container lifecycle specifying a post start that invokes the server pod using 1987 ExecAction to validate that the post start is executed. 1988 release: v1.9 1989 file: test/e2e/common/node/lifecycle_hook.go 1990 - testname: Pod Lifecycle, post start http hook 1991 codename: '[sig-node] Container Lifecycle Hook when create a pod with lifecycle 1992 hook should execute poststart http hook properly [NodeConformance] [Conformance]' 1993 description: When a post start handler is specified in the container lifecycle using 1994 a HttpGet action, then the handler MUST be invoked after the start of the container. 1995 A server pod is created that will serve http requests, create a second pod on 1996 the same node with a container lifecycle specifying a post start that invokes 1997 the server pod to validate that the post start is executed. 1998 release: v1.9 1999 file: test/e2e/common/node/lifecycle_hook.go 2000 - testname: Pod Lifecycle, prestop exec hook 2001 codename: '[sig-node] Container Lifecycle Hook when create a pod with lifecycle 2002 hook should execute prestop exec hook properly [NodeConformance] [Conformance]' 2003 description: When a pre-stop handler is specified in the container lifecycle using 2004 a 'Exec' action, then the handler MUST be invoked before the container is terminated. 2005 A server pod is created that will serve http requests, create a second pod with 2006 a container lifecycle specifying a pre-stop that invokes the server pod using 2007 ExecAction to validate that the pre-stop is executed. 2008 release: v1.9 2009 file: test/e2e/common/node/lifecycle_hook.go 2010 - testname: Pod Lifecycle, prestop http hook 2011 codename: '[sig-node] Container Lifecycle Hook when create a pod with lifecycle 2012 hook should execute prestop http hook properly [NodeConformance] [Conformance]' 2013 description: When a pre-stop handler is specified in the container lifecycle using 2014 a 'HttpGet' action, then the handler MUST be invoked before the container is terminated. 2015 A server pod is created that will serve http requests, create a second pod on 2016 the same node with a container lifecycle specifying a pre-stop that invokes the 2017 server pod to validate that the pre-stop is executed. 2018 release: v1.9 2019 file: test/e2e/common/node/lifecycle_hook.go 2020 - testname: Container Runtime, TerminationMessage, from log output of succeeding container 2021 codename: '[sig-node] Container Runtime blackbox test on terminated container should 2022 report termination message as empty when pod succeeds and TerminationMessagePolicy 2023 FallbackToLogsOnError is set [NodeConformance] [Conformance]' 2024 description: Create a pod with an container. Container's output is recorded in log 2025 and container exits successfully without an error. When container is terminated, 2026 terminationMessage MUST have no content as container succeed. 2027 release: v1.15 2028 file: test/e2e/common/node/runtime.go 2029 - testname: Container Runtime, TerminationMessage, from file of succeeding container 2030 codename: '[sig-node] Container Runtime blackbox test on terminated container should 2031 report termination message from file when pod succeeds and TerminationMessagePolicy 2032 FallbackToLogsOnError is set [NodeConformance] [Conformance]' 2033 description: Create a pod with an container. Container's output is recorded in a 2034 file and the container exits successfully without an error. When container is 2035 terminated, terminationMessage MUST match with the content from file. 2036 release: v1.15 2037 file: test/e2e/common/node/runtime.go 2038 - testname: Container Runtime, TerminationMessage, from container's log output of 2039 failing container 2040 codename: '[sig-node] Container Runtime blackbox test on terminated container should 2041 report termination message from log output if TerminationMessagePolicy FallbackToLogsOnError 2042 is set [NodeConformance] [Conformance]' 2043 description: Create a pod with an container. Container's output is recorded in log 2044 and container exits with an error. When container is terminated, termination message 2045 MUST match the expected output recorded from container's log. 2046 release: v1.15 2047 file: test/e2e/common/node/runtime.go 2048 - testname: Container Runtime, TerminationMessagePath, non-root user and non-default 2049 path 2050 codename: '[sig-node] Container Runtime blackbox test on terminated container should 2051 report termination message if TerminationMessagePath is set as non-root user and 2052 at a non-default path [NodeConformance] [Conformance]' 2053 description: Create a pod with a container to run it as a non-root user with a custom 2054 TerminationMessagePath set. Pod redirects the output to the provided path successfully. 2055 When the container is terminated, the termination message MUST match the expected 2056 output logged in the provided custom path. 2057 release: v1.15 2058 file: test/e2e/common/node/runtime.go 2059 - testname: Container Runtime, Restart Policy, Pod Phases 2060 codename: '[sig-node] Container Runtime blackbox test when starting a container 2061 that exits should run with the expected status [NodeConformance] [Conformance]' 2062 description: If the restart policy is set to 'Always', Pod MUST be restarted when 2063 terminated, If restart policy is 'OnFailure', Pod MUST be started only if it is 2064 terminated with non-zero exit code. If the restart policy is 'Never', Pod MUST 2065 never be restarted. All these three test cases MUST verify the restart counts 2066 accordingly. 2067 release: v1.13 2068 file: test/e2e/common/node/runtime.go 2069 - testname: Containers, with arguments 2070 codename: '[sig-node] Containers should be able to override the image''s default 2071 arguments (container cmd) [NodeConformance] [Conformance]' 2072 description: Default command and from the container image entrypoint MUST be used 2073 when Pod does not specify the container command but the arguments from Pod spec 2074 MUST override when specified. 2075 release: v1.9 2076 file: test/e2e/common/node/containers.go 2077 - testname: Containers, with command 2078 codename: '[sig-node] Containers should be able to override the image''s default 2079 command (container entrypoint) [NodeConformance] [Conformance]' 2080 description: Default command from the container image entrypoint MUST NOT be used 2081 when Pod specifies the container command. Command from Pod spec MUST override 2082 the command in the image. 2083 release: v1.9 2084 file: test/e2e/common/node/containers.go 2085 - testname: Containers, with command and arguments 2086 codename: '[sig-node] Containers should be able to override the image''s default 2087 command and arguments [NodeConformance] [Conformance]' 2088 description: Default command and arguments from the container image entrypoint MUST 2089 NOT be used when Pod specifies the container command and arguments. Command and 2090 arguments from Pod spec MUST override the command and arguments in the image. 2091 release: v1.9 2092 file: test/e2e/common/node/containers.go 2093 - testname: Containers, without command and arguments 2094 codename: '[sig-node] Containers should use the image defaults if command and args 2095 are blank [NodeConformance] [Conformance]' 2096 description: Default command and arguments from the container image entrypoint MUST 2097 be used when Pod does not specify the container command 2098 release: v1.9 2099 file: test/e2e/common/node/containers.go 2100 - testname: DownwardAPI, environment for CPU and memory limits and requests 2101 codename: '[sig-node] Downward API should provide container''s limits.cpu/memory 2102 and requests.cpu/memory as env vars [NodeConformance] [Conformance]' 2103 description: Downward API MUST expose CPU request and Memory request set through 2104 environment variables at runtime in the container. 2105 release: v1.9 2106 file: test/e2e/common/node/downwardapi.go 2107 - testname: DownwardAPI, environment for default CPU and memory limits and requests 2108 codename: '[sig-node] Downward API should provide default limits.cpu/memory from 2109 node allocatable [NodeConformance] [Conformance]' 2110 description: Downward API MUST expose CPU request and Memory limits set through 2111 environment variables at runtime in the container. 2112 release: v1.9 2113 file: test/e2e/common/node/downwardapi.go 2114 - testname: DownwardAPI, environment for host ip 2115 codename: '[sig-node] Downward API should provide host IP as an env var [NodeConformance] 2116 [Conformance]' 2117 description: Downward API MUST expose Pod and Container fields as environment variables. 2118 Specify host IP as environment variable in the Pod Spec are visible at runtime 2119 in the container. 2120 release: v1.9 2121 file: test/e2e/common/node/downwardapi.go 2122 - testname: DownwardAPI, environment for Pod UID 2123 codename: '[sig-node] Downward API should provide pod UID as env vars [NodeConformance] 2124 [Conformance]' 2125 description: Downward API MUST expose Pod UID set through environment variables 2126 at runtime in the container. 2127 release: v1.9 2128 file: test/e2e/common/node/downwardapi.go 2129 - testname: DownwardAPI, environment for name, namespace and ip 2130 codename: '[sig-node] Downward API should provide pod name, namespace and IP address 2131 as env vars [NodeConformance] [Conformance]' 2132 description: Downward API MUST expose Pod and Container fields as environment variables. 2133 Specify Pod Name, namespace and IP as environment variable in the Pod Spec are 2134 visible at runtime in the container. 2135 release: v1.9 2136 file: test/e2e/common/node/downwardapi.go 2137 - testname: Ephemeral Container, update ephemeral containers 2138 codename: '[sig-node] Ephemeral Containers [NodeConformance] should update the ephemeral 2139 containers in an existing pod [Conformance]' 2140 description: Adding an ephemeral container to pod.spec MUST result in the container 2141 running. There MUST now be only one ephermal container found. Updating the pod 2142 with another ephemeral container MUST succeed. There MUST now be two ephermal 2143 containers found. 2144 release: v1.28 2145 file: test/e2e/common/node/ephemeral_containers.go 2146 - testname: Ephemeral Container Creation 2147 codename: '[sig-node] Ephemeral Containers [NodeConformance] will start an ephemeral 2148 container in an existing pod [Conformance]' 2149 description: Adding an ephemeral container to pod.spec MUST result in the container 2150 running. 2151 release: "1.25" 2152 file: test/e2e/common/node/ephemeral_containers.go 2153 - testname: init-container-starts-app-restartalways-pod 2154 codename: '[sig-node] InitContainer [NodeConformance] should invoke init containers 2155 on a RestartAlways pod [Conformance]' 2156 description: Ensure that all InitContainers are started and all containers in pod 2157 started and at least one container is still running or is in the process of being 2158 restarted when Pod has restart policy as RestartAlways. 2159 release: v1.12 2160 file: test/e2e/common/node/init_container.go 2161 - testname: init-container-starts-app-restartnever-pod 2162 codename: '[sig-node] InitContainer [NodeConformance] should invoke init containers 2163 on a RestartNever pod [Conformance]' 2164 description: Ensure that all InitContainers are started and all containers in pod 2165 are voluntarily terminated with exit status 0, and the system is not going to 2166 restart any of these containers when Pod has restart policy as RestartNever. 2167 release: v1.12 2168 file: test/e2e/common/node/init_container.go 2169 - testname: init-container-fails-stops-app-restartnever-pod 2170 codename: '[sig-node] InitContainer [NodeConformance] should not start app containers 2171 and fail the pod if init containers fail on a RestartNever pod [Conformance]' 2172 description: Ensure that app container is not started when at least one InitContainer 2173 fails to start and Pod has restart policy as RestartNever. 2174 release: v1.12 2175 file: test/e2e/common/node/init_container.go 2176 - testname: init-container-fails-stops-app-restartalways-pod 2177 codename: '[sig-node] InitContainer [NodeConformance] should not start app containers 2178 if init containers fail on a RestartAlways pod [Conformance]' 2179 description: Ensure that app container is not started when all InitContainers failed 2180 to start and Pod has restarted for few occurrences and pod has restart policy 2181 as RestartAlways. 2182 release: v1.12 2183 file: test/e2e/common/node/init_container.go 2184 - testname: Kubelet, log output, default 2185 codename: '[sig-node] Kubelet when scheduling a busybox command in a pod should 2186 print the output to logs [NodeConformance] [Conformance]' 2187 description: By default the stdout and stderr from the process being executed in 2188 a pod MUST be sent to the pod's logs. 2189 release: v1.13 2190 file: test/e2e/common/node/kubelet.go 2191 - testname: Kubelet, failed pod, delete 2192 codename: '[sig-node] Kubelet when scheduling a busybox command that always fails 2193 in a pod should be possible to delete [NodeConformance] [Conformance]' 2194 description: Create a Pod with terminated state. This terminated pod MUST be able 2195 to be deleted. 2196 release: v1.13 2197 file: test/e2e/common/node/kubelet.go 2198 - testname: Kubelet, failed pod, terminated reason 2199 codename: '[sig-node] Kubelet when scheduling a busybox command that always fails 2200 in a pod should have an terminated reason [NodeConformance] [Conformance]' 2201 description: Create a Pod with terminated state. Pod MUST have only one container. 2202 Container MUST be in terminated state and MUST have an terminated reason. 2203 release: v1.13 2204 file: test/e2e/common/node/kubelet.go 2205 - testname: Kubelet, pod with read only root file system 2206 codename: '[sig-node] Kubelet when scheduling a read only busybox container should 2207 not write to root filesystem [LinuxOnly] [NodeConformance] [Conformance]' 2208 description: Create a Pod with security context set with ReadOnlyRootFileSystem 2209 set to true. The Pod then tries to write to the /file on the root, write operation 2210 to the root filesystem MUST fail as expected. This test is marked LinuxOnly since 2211 Windows does not support creating containers with read-only access. 2212 release: v1.13 2213 file: test/e2e/common/node/kubelet.go 2214 - testname: Kubelet, hostAliases 2215 codename: '[sig-node] Kubelet when scheduling an agnhost Pod with hostAliases should 2216 write entries to /etc/hosts [NodeConformance] [Conformance]' 2217 description: Create a Pod with hostAliases and a container with command to output 2218 /etc/hosts entries. Pod's logs MUST have matching entries of specified hostAliases 2219 to the output of /etc/hosts entries. 2220 release: v1.13 2221 file: test/e2e/common/node/kubelet.go 2222 - testname: Kubelet, managed etc hosts 2223 codename: '[sig-node] KubeletManagedEtcHosts should test kubelet managed /etc/hosts 2224 file [LinuxOnly] [NodeConformance] [Conformance]' 2225 description: Create a Pod with containers with hostNetwork set to false, one of 2226 the containers mounts the /etc/hosts file form the host. Create a second Pod with 2227 hostNetwork set to true. 1. The Pod with hostNetwork=false MUST have /etc/hosts 2228 of containers managed by the Kubelet. 2. The Pod with hostNetwork=false but the 2229 container mounts /etc/hosts file from the host. The /etc/hosts file MUST not be 2230 managed by the Kubelet. 3. The Pod with hostNetwork=true , /etc/hosts file MUST 2231 not be managed by the Kubelet. This test is marked LinuxOnly since Windows cannot 2232 mount individual files in Containers. 2233 release: v1.9 2234 file: test/e2e/common/node/kubelet_etc_hosts.go 2235 - testname: lease API should be available 2236 codename: '[sig-node] Lease lease API should be available [Conformance]' 2237 description: "Create Lease object, and get it; create and get MUST be successful 2238 and Spec of the read Lease MUST match Spec of original Lease. Update the Lease 2239 and get it; update and get MUST be successful\tand Spec of the read Lease MUST 2240 match Spec of updated Lease. Patch the Lease and get it; patch and get MUST be 2241 successful and Spec of the read Lease MUST match Spec of patched Lease. Create 2242 a second Lease with labels and list Leases; create and list MUST be successful 2243 and list MUST return both leases. Delete the labels lease via delete collection; 2244 the delete MUST be successful and MUST delete only the labels lease. List leases; 2245 list MUST be successful and MUST return just the remaining lease. Delete the lease; 2246 delete MUST be successful. Get the lease; get MUST return not found error." 2247 release: v1.17 2248 file: test/e2e/common/node/lease.go 2249 - testname: Pod Eviction, Toleration limits 2250 codename: '[sig-node] NoExecuteTaintManager Multiple Pods [Serial] evicts pods with 2251 minTolerationSeconds [Disruptive] [Conformance]' 2252 description: In a multi-pods scenario with tolerationSeconds, the pods MUST be evicted 2253 as per the toleration time limit. 2254 release: v1.16 2255 file: test/e2e/node/taints.go 2256 - testname: Taint, Pod Eviction on taint removal 2257 codename: '[sig-node] NoExecuteTaintManager Single Pod [Serial] removing taint cancels 2258 eviction [Disruptive] [Conformance]' 2259 description: The Pod with toleration timeout scheduled on a tainted Node MUST not 2260 be evicted if the taint is removed before toleration time ends. 2261 release: v1.16 2262 file: test/e2e/node/taints.go 2263 - testname: PodTemplate, delete a collection 2264 codename: '[sig-node] PodTemplates should delete a collection of pod templates [Conformance]' 2265 description: A set of Pod Templates is created with a label selector which MUST 2266 be found when listed. The set of Pod Templates is deleted and MUST NOT show up 2267 when listed by its label selector. 2268 release: v1.19 2269 file: test/e2e/common/node/podtemplates.go 2270 - testname: PodTemplate, replace 2271 codename: '[sig-node] PodTemplates should replace a pod template [Conformance]' 2272 description: Attempt to create a PodTemplate which MUST succeed. Attempt to replace 2273 the PodTemplate to include a new annotation which MUST succeed. The annotation 2274 MUST be found in the new PodTemplate. 2275 release: v1.24 2276 file: test/e2e/common/node/podtemplates.go 2277 - testname: PodTemplate lifecycle 2278 codename: '[sig-node] PodTemplates should run the lifecycle of PodTemplates [Conformance]' 2279 description: Attempt to create a PodTemplate. Patch the created PodTemplate. Fetching 2280 the PodTemplate MUST reflect changes. By fetching all the PodTemplates via a Label 2281 selector it MUST find the PodTemplate by it's static label and updated value. 2282 The PodTemplate must be deleted. 2283 release: v1.19 2284 file: test/e2e/common/node/podtemplates.go 2285 - testname: Pods, QOS 2286 codename: '[sig-node] Pods Extended Pods Set QOS Class should be set on Pods with 2287 matching resource requests and limits for memory and cpu [Conformance]' 2288 description: Create a Pod with CPU and Memory request and limits. Pod status MUST 2289 have QOSClass set to PodQOSGuaranteed. 2290 release: v1.9 2291 file: test/e2e/node/pods.go 2292 - testname: Pods, ActiveDeadlineSeconds 2293 codename: '[sig-node] Pods should allow activeDeadlineSeconds to be updated [NodeConformance] 2294 [Conformance]' 2295 description: Create a Pod with a unique label. Query for the Pod with the label 2296 as selector MUST be successful. The Pod is updated with ActiveDeadlineSeconds 2297 set on the Pod spec. Pod MUST terminate of the specified time elapses. 2298 release: v1.9 2299 file: test/e2e/common/node/pods.go 2300 - testname: Pods, lifecycle 2301 codename: '[sig-node] Pods should be submitted and removed [NodeConformance] [Conformance]' 2302 description: A Pod is created with a unique label. Pod MUST be accessible when queried 2303 using the label selector upon creation. Add a watch, check if the Pod is running. 2304 Pod then deleted, The pod deletion timestamp is observed. The watch MUST return 2305 the pod deleted event. Query with the original selector for the Pod MUST return 2306 empty list. 2307 release: v1.9 2308 file: test/e2e/common/node/pods.go 2309 - testname: Pods, update 2310 codename: '[sig-node] Pods should be updated [NodeConformance] [Conformance]' 2311 description: Create a Pod with a unique label. Query for the Pod with the label 2312 as selector MUST be successful. Update the pod to change the value of the Label. 2313 Query for the Pod with the new value for the label MUST be successful. 2314 release: v1.9 2315 file: test/e2e/common/node/pods.go 2316 - testname: Pods, service environment variables 2317 codename: '[sig-node] Pods should contain environment variables for services [NodeConformance] 2318 [Conformance]' 2319 description: Create a server Pod listening on port 9376. A Service called fooservice 2320 is created for the server Pod listening on port 8765 targeting port 8080. If a 2321 new Pod is created in the cluster then the Pod MUST have the fooservice environment 2322 variables available from this new Pod. The new create Pod MUST have environment 2323 variables such as FOOSERVICE_SERVICE_HOST, FOOSERVICE_SERVICE_PORT, FOOSERVICE_PORT, 2324 FOOSERVICE_PORT_8765_TCP_PORT, FOOSERVICE_PORT_8765_TCP_PROTO, FOOSERVICE_PORT_8765_TCP 2325 and FOOSERVICE_PORT_8765_TCP_ADDR that are populated with proper values. 2326 release: v1.9 2327 file: test/e2e/common/node/pods.go 2328 - testname: Pods, delete a collection 2329 codename: '[sig-node] Pods should delete a collection of pods [Conformance]' 2330 description: A set of pods is created with a label selector which MUST be found 2331 when listed. The set of pods is deleted and MUST NOT show up when listed by its 2332 label selector. 2333 release: v1.19 2334 file: test/e2e/common/node/pods.go 2335 - testname: Pods, assigned hostip 2336 codename: '[sig-node] Pods should get a host IP [NodeConformance] [Conformance]' 2337 description: Create a Pod. Pod status MUST return successfully and contains a valid 2338 IP address. 2339 release: v1.9 2340 file: test/e2e/common/node/pods.go 2341 - testname: Pods, patching status 2342 codename: '[sig-node] Pods should patch a pod status [Conformance]' 2343 description: A pod is created which MUST succeed and be found running. The pod status 2344 when patched MUST succeed. Given the patching of the pod status, the fields MUST 2345 equal the new values. 2346 release: v1.25 2347 file: test/e2e/common/node/pods.go 2348 - testname: Pods, completes the lifecycle of a Pod and the PodStatus 2349 codename: '[sig-node] Pods should run through the lifecycle of Pods and PodStatus 2350 [Conformance]' 2351 description: A Pod is created with a static label which MUST succeed. It MUST succeed 2352 when patching the label and the pod data. When checking and replacing the PodStatus 2353 it MUST succeed. It MUST succeed when deleting the Pod. 2354 release: v1.20 2355 file: test/e2e/common/node/pods.go 2356 - testname: Pods, remote command execution over websocket 2357 codename: '[sig-node] Pods should support remote command execution over websockets 2358 [NodeConformance] [Conformance]' 2359 description: A Pod is created. Websocket is created to retrieve exec command output 2360 from this pod. Message retrieved form Websocket MUST match with expected exec 2361 command output. 2362 release: v1.13 2363 file: test/e2e/common/node/pods.go 2364 - testname: Pods, logs from websockets 2365 codename: '[sig-node] Pods should support retrieving logs from the container over 2366 websockets [NodeConformance] [Conformance]' 2367 description: A Pod is created. Websocket is created to retrieve log of a container 2368 from this pod. Message retrieved form Websocket MUST match with container's output. 2369 release: v1.13 2370 file: test/e2e/common/node/pods.go 2371 - testname: Pods, prestop hook 2372 codename: '[sig-node] PreStop should call prestop when killing a pod [Conformance]' 2373 description: Create a server pod with a rest endpoint '/write' that changes state.Received 2374 field. Create a Pod with a pre-stop handle that posts to the /write endpoint on 2375 the server Pod. Verify that the Pod with pre-stop hook is running. Delete the 2376 Pod with the pre-stop hook. Before the Pod is deleted, pre-stop handler MUST be 2377 called when configured. Verify that the Pod is deleted and a call to prestop hook 2378 is verified by checking the status received on the server Pod. 2379 release: v1.9 2380 file: test/e2e/node/pre_stop.go 2381 - testname: Pod liveness probe, using http endpoint, failure 2382 codename: '[sig-node] Probing container should *not* be restarted with a /healthz 2383 http liveness probe [NodeConformance] [Conformance]' 2384 description: A Pod is created with liveness probe on http endpoint '/'. Liveness 2385 probe on this endpoint will not fail. When liveness probe does not fail then the 2386 restart count MUST remain zero. 2387 release: v1.9 2388 file: test/e2e/common/node/container_probe.go 2389 - testname: Pod liveness probe, using grpc call, success 2390 codename: '[sig-node] Probing container should *not* be restarted with a GRPC liveness 2391 probe [NodeConformance] [Conformance]' 2392 description: A Pod is created with liveness probe on grpc service. Liveness probe 2393 on this endpoint will not fail. When liveness probe does not fail then the restart 2394 count MUST remain zero. 2395 release: v1.23 2396 file: test/e2e/common/node/container_probe.go 2397 - testname: Pod liveness probe, using local file, no restart 2398 codename: '[sig-node] Probing container should *not* be restarted with a exec "cat 2399 /tmp/health" liveness probe [NodeConformance] [Conformance]' 2400 description: Pod is created with liveness probe that uses 'exec' command to cat 2401 /temp/health file. Liveness probe MUST not fail to check health and the restart 2402 count should remain 0. 2403 release: v1.9 2404 file: test/e2e/common/node/container_probe.go 2405 - testname: Pod liveness probe, using tcp socket, no restart 2406 codename: '[sig-node] Probing container should *not* be restarted with a tcp:8080 2407 liveness probe [NodeConformance] [Conformance]' 2408 description: A Pod is created with liveness probe on tcp socket 8080. The http handler 2409 on port 8080 will return http errors after 10 seconds, but the socket will remain 2410 open. Liveness probe MUST not fail to check health and the restart count should 2411 remain 0. 2412 release: v1.18 2413 file: test/e2e/common/node/container_probe.go 2414 - testname: Pod liveness probe, using http endpoint, restart 2415 codename: '[sig-node] Probing container should be restarted with a /healthz http 2416 liveness probe [NodeConformance] [Conformance]' 2417 description: A Pod is created with liveness probe on http endpoint /healthz. The 2418 http handler on the /healthz will return a http error after 10 seconds since the 2419 Pod is started. This MUST result in liveness check failure. The Pod MUST now be 2420 killed and restarted incrementing restart count to 1. 2421 release: v1.9 2422 file: test/e2e/common/node/container_probe.go 2423 - testname: Pod liveness probe, using grpc call, failure 2424 codename: '[sig-node] Probing container should be restarted with a GRPC liveness 2425 probe [NodeConformance] [Conformance]' 2426 description: A Pod is created with liveness probe on grpc service. Liveness probe 2427 on this endpoint should fail because of wrong probe port. When liveness probe 2428 does fail then the restart count should +1. 2429 release: v1.23 2430 file: test/e2e/common/node/container_probe.go 2431 - testname: Pod liveness probe, using local file, restart 2432 codename: '[sig-node] Probing container should be restarted with a exec "cat /tmp/health" 2433 liveness probe [NodeConformance] [Conformance]' 2434 description: Create a Pod with liveness probe that uses ExecAction handler to cat 2435 /temp/health file. The Container deletes the file /temp/health after 10 second, 2436 triggering liveness probe to fail. The Pod MUST now be killed and restarted incrementing 2437 restart count to 1. 2438 release: v1.9 2439 file: test/e2e/common/node/container_probe.go 2440 - testname: Pod liveness probe, using http endpoint, multiple restarts (slow) 2441 codename: '[sig-node] Probing container should have monotonically increasing restart 2442 count [NodeConformance] [Conformance]' 2443 description: A Pod is created with liveness probe on http endpoint /healthz. The 2444 http handler on the /healthz will return a http error after 10 seconds since the 2445 Pod is started. This MUST result in liveness check failure. The Pod MUST now be 2446 killed and restarted incrementing restart count to 1. The liveness probe must 2447 fail again after restart once the http handler for /healthz enpoind on the Pod 2448 returns an http error after 10 seconds from the start. Restart counts MUST increment 2449 every time health check fails, measure up to 5 restart. 2450 release: v1.9 2451 file: test/e2e/common/node/container_probe.go 2452 - testname: Pod readiness probe, with initial delay 2453 codename: '[sig-node] Probing container with readiness probe should not be ready 2454 before initial delay and never restart [NodeConformance] [Conformance]' 2455 description: Create a Pod that is configured with a initial delay set on the readiness 2456 probe. Check the Pod Start time to compare to the initial delay. The Pod MUST 2457 be ready only after the specified initial delay. 2458 release: v1.9 2459 file: test/e2e/common/node/container_probe.go 2460 - testname: Pod readiness probe, failure 2461 codename: '[sig-node] Probing container with readiness probe that fails should never 2462 be ready and never restart [NodeConformance] [Conformance]' 2463 description: Create a Pod with a readiness probe that fails consistently. When this 2464 Pod is created, then the Pod MUST never be ready, never be running and restart 2465 count MUST be zero. 2466 release: v1.9 2467 file: test/e2e/common/node/container_probe.go 2468 - testname: Pod with the deleted RuntimeClass is rejected. 2469 codename: '[sig-node] RuntimeClass should reject a Pod requesting a deleted RuntimeClass 2470 [NodeConformance] [Conformance]' 2471 description: Pod requesting the deleted RuntimeClass must be rejected. 2472 release: v1.20 2473 file: test/e2e/common/node/runtimeclass.go 2474 - testname: Pod with the non-existing RuntimeClass is rejected. 2475 codename: '[sig-node] RuntimeClass should reject a Pod requesting a non-existent 2476 RuntimeClass [NodeConformance] [Conformance]' 2477 description: The Pod requesting the non-existing RuntimeClass must be rejected. 2478 release: v1.20 2479 file: test/e2e/common/node/runtimeclass.go 2480 - testname: RuntimeClass Overhead field must be respected. 2481 codename: '[sig-node] RuntimeClass should schedule a Pod requesting a RuntimeClass 2482 and initialize its Overhead [NodeConformance] [Conformance]' 2483 description: The Pod requesting the existing RuntimeClass must be scheduled. This 2484 test doesn't validate that the Pod will actually start because this functionality 2485 depends on container runtime and preconfigured handler. Runtime-specific functionality 2486 is not being tested here. 2487 release: v1.24 2488 file: test/e2e/common/node/runtimeclass.go 2489 - testname: Can schedule a pod requesting existing RuntimeClass. 2490 codename: '[sig-node] RuntimeClass should schedule a Pod requesting a RuntimeClass 2491 without PodOverhead [NodeConformance] [Conformance]' 2492 description: The Pod requesting the existing RuntimeClass must be scheduled. This 2493 test doesn't validate that the Pod will actually start because this functionality 2494 depends on container runtime and preconfigured handler. Runtime-specific functionality 2495 is not being tested here. 2496 release: v1.20 2497 file: test/e2e/common/node/runtimeclass.go 2498 - testname: RuntimeClass API 2499 codename: '[sig-node] RuntimeClass should support RuntimeClasses API operations 2500 [Conformance]' 2501 description: ' The node.k8s.io API group MUST exist in the /apis discovery document. 2502 The node.k8s.io/v1 API group/version MUST exist in the /apis/mode.k8s.io discovery 2503 document. The runtimeclasses resource MUST exist in the /apis/node.k8s.io/v1 discovery 2504 document. The runtimeclasses resource must support create, get, list, watch, update, 2505 patch, delete, and deletecollection.' 2506 release: v1.20 2507 file: test/e2e/common/node/runtimeclass.go 2508 - testname: Secrets, pod environment field 2509 codename: '[sig-node] Secrets should be consumable from pods in env vars [NodeConformance] 2510 [Conformance]' 2511 description: Create a secret. Create a Pod with Container that declares a environment 2512 variable which references the secret created to extract a key value from the secret. 2513 Pod MUST have the environment variable that contains proper value for the key 2514 to the secret. 2515 release: v1.9 2516 file: test/e2e/common/node/secrets.go 2517 - testname: Secrets, pod environment from source 2518 codename: '[sig-node] Secrets should be consumable via the environment [NodeConformance] 2519 [Conformance]' 2520 description: Create a secret. Create a Pod with Container that declares a environment 2521 variable using 'EnvFrom' which references the secret created to extract a key 2522 value from the secret. Pod MUST have the environment variable that contains proper 2523 value for the key to the secret. 2524 release: v1.9 2525 file: test/e2e/common/node/secrets.go 2526 - testname: Secrets, with empty-key 2527 codename: '[sig-node] Secrets should fail to create secret due to empty secret key 2528 [Conformance]' 2529 description: Attempt to create a Secret with an empty key. The creation MUST fail. 2530 release: v1.15 2531 file: test/e2e/common/node/secrets.go 2532 - testname: Secret patching 2533 codename: '[sig-node] Secrets should patch a secret [Conformance]' 2534 description: A Secret is created. Listing all Secrets MUST return an empty list. 2535 Given the patching and fetching of the Secret, the fields MUST equal the new values. 2536 The Secret is deleted by it's static Label. Secrets are listed finally, the list 2537 MUST NOT include the originally created Secret. 2538 release: v1.18 2539 file: test/e2e/common/node/secrets.go 2540 - testname: Security Context, runAsUser=65534 2541 codename: '[sig-node] Security Context When creating a container with runAsUser 2542 should run the container with uid 65534 [LinuxOnly] [NodeConformance] [Conformance]' 2543 description: 'Container is created with runAsUser option by passing uid 65534 to 2544 run as unpriviledged user. Pod MUST be in Succeeded phase. [LinuxOnly]: This test 2545 is marked as LinuxOnly since Windows does not support running as UID / GID.' 2546 release: v1.15 2547 file: test/e2e/common/node/security_context.go 2548 - testname: Security Context, privileged=false. 2549 codename: '[sig-node] Security Context When creating a pod with privileged should 2550 run the container as unprivileged when false [LinuxOnly] [NodeConformance] [Conformance]' 2551 description: 'Create a container to run in unprivileged mode by setting pod''s SecurityContext 2552 Privileged option as false. Pod MUST be in Succeeded phase. [LinuxOnly]: This 2553 test is marked as LinuxOnly since it runs a Linux-specific command.' 2554 release: v1.15 2555 file: test/e2e/common/node/security_context.go 2556 - testname: Security Context, readOnlyRootFilesystem=false. 2557 codename: '[sig-node] Security Context When creating a pod with readOnlyRootFilesystem 2558 should run the container with writable rootfs when readOnlyRootFilesystem=false 2559 [NodeConformance] [Conformance]' 2560 description: Container is configured to run with readOnlyRootFilesystem to false. 2561 Write operation MUST be allowed and Pod MUST be in Succeeded state. 2562 release: v1.15 2563 file: test/e2e/common/node/security_context.go 2564 - testname: Security Context, test RunAsGroup at container level 2565 codename: '[sig-node] Security Context should support container.SecurityContext.RunAsUser 2566 And container.SecurityContext.RunAsGroup [LinuxOnly] [Conformance]' 2567 description: 'Container is created with runAsUser and runAsGroup option by passing 2568 uid 1001 and gid 2002 at containr level. Pod MUST be in Succeeded phase. [LinuxOnly]: 2569 This test is marked as LinuxOnly since Windows does not support running as UID 2570 / GID.' 2571 release: v1.21 2572 file: test/e2e/node/security_context.go 2573 - testname: Security Context, test RunAsGroup at pod level 2574 codename: '[sig-node] Security Context should support pod.Spec.SecurityContext.RunAsUser 2575 And pod.Spec.SecurityContext.RunAsGroup [LinuxOnly] [Conformance]' 2576 description: 'Container is created with runAsUser and runAsGroup option by passing 2577 uid 1001 and gid 2002 at pod level. Pod MUST be in Succeeded phase. [LinuxOnly]: 2578 This test is marked as LinuxOnly since Windows does not support running as UID 2579 / GID.' 2580 release: v1.21 2581 file: test/e2e/node/security_context.go 2582 - testname: Security Context, allowPrivilegeEscalation=false. 2583 codename: '[sig-node] Security Context when creating containers with AllowPrivilegeEscalation 2584 should not allow privilege escalation when false [LinuxOnly] [NodeConformance] 2585 [Conformance]' 2586 description: 'Configuring the allowPrivilegeEscalation to false, does not allow 2587 the privilege escalation operation. A container is configured with allowPrivilegeEscalation=false 2588 and a given uid (1000) which is not 0. When the container is run, container''s 2589 output MUST match with expected output verifying container ran with given uid 2590 i.e. uid=1000. [LinuxOnly]: This test is marked LinuxOnly since Windows does not 2591 support running as UID / GID, or privilege escalation.' 2592 release: v1.15 2593 file: test/e2e/common/node/security_context.go 2594 - testname: Sysctls, reject invalid sysctls 2595 codename: '[sig-node] Sysctls [LinuxOnly] [NodeConformance] should reject invalid 2596 sysctls [MinimumKubeletVersion:1.21] [Conformance]' 2597 description: 'Pod is created with one valid and two invalid sysctls. Pod should 2598 not apply invalid sysctls. [LinuxOnly]: This test is marked as LinuxOnly since 2599 Windows does not support sysctls' 2600 release: v1.21 2601 file: test/e2e/common/node/sysctl.go 2602 - testname: Sysctl, test sysctls 2603 codename: '[sig-node] Sysctls [LinuxOnly] [NodeConformance] should support sysctls 2604 [MinimumKubeletVersion:1.21] [Environment:NotInUserNS] [Conformance]' 2605 description: 'Pod is created with kernel.shm_rmid_forced sysctl. Kernel.shm_rmid_forced 2606 must be set to 1 [LinuxOnly]: This test is marked as LinuxOnly since Windows does 2607 not support sysctls [Environment:NotInUserNS]: The test fails in UserNS (as expected): 2608 `open /proc/sys/kernel/shm_rmid_forced: permission denied`' 2609 release: v1.21 2610 file: test/e2e/common/node/sysctl.go 2611 - testname: Environment variables, expansion 2612 codename: '[sig-node] Variable Expansion should allow composing env vars into new 2613 env vars [NodeConformance] [Conformance]' 2614 description: Create a Pod with environment variables. Environment variables defined 2615 using previously defined environment variables MUST expand to proper values. 2616 release: v1.9 2617 file: test/e2e/common/node/expansion.go 2618 - testname: Environment variables, command argument expansion 2619 codename: '[sig-node] Variable Expansion should allow substituting values in a container''s 2620 args [NodeConformance] [Conformance]' 2621 description: Create a Pod with environment variables and container command arguments 2622 using them. Container command arguments using the defined environment variables 2623 MUST expand to proper values. 2624 release: v1.9 2625 file: test/e2e/common/node/expansion.go 2626 - testname: Environment variables, command expansion 2627 codename: '[sig-node] Variable Expansion should allow substituting values in a container''s 2628 command [NodeConformance] [Conformance]' 2629 description: Create a Pod with environment variables and container command using 2630 them. Container command using the defined environment variables MUST expand to 2631 proper values. 2632 release: v1.9 2633 file: test/e2e/common/node/expansion.go 2634 - testname: VolumeSubpathEnvExpansion, subpath expansion 2635 codename: '[sig-node] Variable Expansion should allow substituting values in a volume 2636 subpath [Conformance]' 2637 description: Make sure a container's subpath can be set using an expansion of environment 2638 variables. 2639 release: v1.19 2640 file: test/e2e/common/node/expansion.go 2641 - testname: VolumeSubpathEnvExpansion, subpath with absolute path 2642 codename: '[sig-node] Variable Expansion should fail substituting values in a volume 2643 subpath with absolute path [Slow] [Conformance]' 2644 description: Make sure a container's subpath can not be set using an expansion of 2645 environment variables when absolute path is supplied. 2646 release: v1.19 2647 file: test/e2e/common/node/expansion.go 2648 - testname: VolumeSubpathEnvExpansion, subpath with backticks 2649 codename: '[sig-node] Variable Expansion should fail substituting values in a volume 2650 subpath with backticks [Slow] [Conformance]' 2651 description: Make sure a container's subpath can not be set using an expansion of 2652 environment variables when backticks are supplied. 2653 release: v1.19 2654 file: test/e2e/common/node/expansion.go 2655 - testname: VolumeSubpathEnvExpansion, subpath test writes 2656 codename: '[sig-node] Variable Expansion should succeed in writing subpaths in container 2657 [Slow] [Conformance]' 2658 description: "Verify that a subpath expansion can be used to write files into subpaths. 2659 1.\tvalid subpathexpr starts a container running 2.\ttest for valid subpath writes 2660 3.\tsuccessful expansion of the subpathexpr isn't required for volume cleanup" 2661 release: v1.19 2662 file: test/e2e/common/node/expansion.go 2663 - testname: VolumeSubpathEnvExpansion, subpath ready from failed state 2664 codename: '[sig-node] Variable Expansion should verify that a failing subpath expansion 2665 can be modified during the lifecycle of a container [Slow] [Conformance]' 2666 description: Verify that a failing subpath expansion can be modified during the 2667 lifecycle of a container. 2668 release: v1.19 2669 file: test/e2e/common/node/expansion.go 2670 - testname: LimitRange, resources 2671 codename: '[sig-scheduling] LimitRange should create a LimitRange with defaults 2672 and ensure pod has those defaults applied. [Conformance]' 2673 description: Creating a Limitrange and verifying the creation of Limitrange, updating 2674 the Limitrange and validating the Limitrange. Creating Pods with resources and 2675 validate the pod resources are applied to the Limitrange 2676 release: v1.18 2677 file: test/e2e/scheduling/limit_range.go 2678 - testname: LimitRange, list, patch and delete a LimitRange by collection 2679 codename: '[sig-scheduling] LimitRange should list, patch and delete a LimitRange 2680 by collection [Conformance]' 2681 description: When two limitRanges are created in different namespaces, both MUST 2682 succeed. Listing limitRanges across all namespaces with a labelSelector MUST find 2683 both limitRanges. When patching the first limitRange it MUST succeed and the fields 2684 MUST equal the new values. When deleting the limitRange by collection with a labelSelector 2685 it MUST delete only one limitRange. 2686 release: v1.26 2687 file: test/e2e/scheduling/limit_range.go 2688 - testname: Scheduler, resource limits 2689 codename: '[sig-scheduling] SchedulerPredicates [Serial] validates resource limits 2690 of pods that are allowed to run [Conformance]' 2691 description: Scheduling Pods MUST fail if the resource requests exceed Machine capacity. 2692 release: v1.9 2693 file: test/e2e/scheduling/predicates.go 2694 - testname: Scheduler, node selector matching 2695 codename: '[sig-scheduling] SchedulerPredicates [Serial] validates that NodeSelector 2696 is respected if matching [Conformance]' 2697 description: 'Create a label on the node {k: v}. Then create a Pod with a NodeSelector 2698 set to {k: v}. Check to see if the Pod is scheduled. When the NodeSelector matches 2699 then Pod MUST be scheduled on that node.' 2700 release: v1.9 2701 file: test/e2e/scheduling/predicates.go 2702 - testname: Scheduler, node selector not matching 2703 codename: '[sig-scheduling] SchedulerPredicates [Serial] validates that NodeSelector 2704 is respected if not matching [Conformance]' 2705 description: Create a Pod with a NodeSelector set to a value that does not match 2706 a node in the cluster. Since there are no nodes matching the criteria the Pod 2707 MUST not be scheduled. 2708 release: v1.9 2709 file: test/e2e/scheduling/predicates.go 2710 - testname: Scheduling, HostPort and Protocol match, HostIPs different but one is 2711 default HostIP (0.0.0.0) 2712 codename: '[sig-scheduling] SchedulerPredicates [Serial] validates that there exists 2713 conflict between pods with same hostPort and protocol but one using 0.0.0.0 hostIP 2714 [Conformance]' 2715 description: Pods with the same HostPort and Protocol, but different HostIPs, MUST 2716 NOT schedule to the same node if one of those IPs is the default HostIP of 0.0.0.0, 2717 which represents all IPs on the host. 2718 release: v1.16 2719 file: test/e2e/scheduling/predicates.go 2720 - testname: Pod preemption verification 2721 codename: '[sig-scheduling] SchedulerPreemption [Serial] PreemptionExecutionPath 2722 runs ReplicaSets to verify preemption running path [Conformance]' 2723 description: Four levels of Pods in ReplicaSets with different levels of Priority, 2724 restricted by given CPU limits MUST launch. Priority 1 - 3 Pods MUST spawn first 2725 followed by Priority 4 Pod. The ReplicaSets with Replicas MUST contain the expected 2726 number of Replicas. 2727 release: v1.19 2728 file: test/e2e/scheduling/preemption.go 2729 - testname: Scheduler, Verify PriorityClass endpoints 2730 codename: '[sig-scheduling] SchedulerPreemption [Serial] PriorityClass endpoints 2731 verify PriorityClass endpoints can be operated with different HTTP methods [Conformance]' 2732 description: Verify that PriorityClass endpoints can be listed. When any mutable 2733 field is either patched or updated it MUST succeed. When any immutable field is 2734 either patched or updated it MUST fail. 2735 release: v1.20 2736 file: test/e2e/scheduling/preemption.go 2737 - testname: Scheduler, Basic Preemption 2738 codename: '[sig-scheduling] SchedulerPreemption [Serial] validates basic preemption 2739 works [Conformance]' 2740 description: When a higher priority pod is created and no node with enough resources 2741 is found, the scheduler MUST preempt a lower priority pod and schedule the high 2742 priority pod. 2743 release: v1.19 2744 file: test/e2e/scheduling/preemption.go 2745 - testname: Scheduler, Preemption for critical pod 2746 codename: '[sig-scheduling] SchedulerPreemption [Serial] validates lower priority 2747 pod preemption by critical pod [Conformance]' 2748 description: When a critical pod is created and no node with enough resources is 2749 found, the scheduler MUST preempt a lower priority pod to schedule the critical 2750 pod. 2751 release: v1.19 2752 file: test/e2e/scheduling/preemption.go 2753 - testname: CSIDriver, lifecycle 2754 codename: '[sig-storage] CSIInlineVolumes should run through the lifecycle of a 2755 CSIDriver [Conformance]' 2756 description: Creating two CSIDrivers MUST succeed. Patching a CSIDriver MUST succeed 2757 with its new label found. Updating a CSIDriver MUST succeed with its new label 2758 found. Two CSIDrivers MUST be found when listed. Deleting the first CSIDriver 2759 MUST succeed. Deleting the second CSIDriver via deleteCollection MUST succeed. 2760 release: v1.28 2761 file: test/e2e/storage/csi_inline.go 2762 - testname: CSIInlineVolumes should support Pods with inline volumes 2763 codename: '[sig-storage] CSIInlineVolumes should support CSIVolumeSource in Pod 2764 API [Conformance]' 2765 description: Pod resources with CSIVolumeSource should support create, get, list, 2766 patch, and delete operations. 2767 release: v1.26 2768 file: test/e2e/storage/csi_inline.go 2769 - testname: CSIStorageCapacity API 2770 codename: '[sig-storage] CSIStorageCapacity should support CSIStorageCapacities 2771 API operations [Conformance]' 2772 description: ' The storage.k8s.io API group MUST exist in the /apis discovery document. 2773 The storage.k8s.io/v1 API group/version MUST exist in the /apis/mode.k8s.io discovery 2774 document. The csistoragecapacities resource MUST exist in the /apis/storage.k8s.io/v1 2775 discovery document. The csistoragecapacities resource must support create, get, 2776 list, watch, update, patch, delete, and deletecollection.' 2777 release: v1.24 2778 file: test/e2e/storage/csistoragecapacity.go 2779 - testname: ConfigMap Volume, text data, binary data 2780 codename: '[sig-storage] ConfigMap binary data should be reflected in volume [NodeConformance] 2781 [Conformance]' 2782 description: The ConfigMap that is created with text data and binary data MUST be 2783 accessible to read from the newly created Pod using the volume mount that is mapped 2784 to custom path in the Pod. ConfigMap's text data and binary data MUST be verified 2785 by reading the content from the mounted files in the Pod. 2786 release: v1.12 2787 file: test/e2e/common/storage/configmap_volume.go 2788 - testname: ConfigMap Volume, create, update and delete 2789 codename: '[sig-storage] ConfigMap optional updates should be reflected in volume 2790 [NodeConformance] [Conformance]' 2791 description: The ConfigMap that is created MUST be accessible to read from the newly 2792 created Pod using the volume mount that is mapped to custom path in the Pod. When 2793 the config map is updated the change to the config map MUST be verified by reading 2794 the content from the mounted file in the Pod. Also when the item(file) is deleted 2795 from the map that MUST result in a error reading that item(file). 2796 release: v1.9 2797 file: test/e2e/common/storage/configmap_volume.go 2798 - testname: ConfigMap Volume, without mapping 2799 codename: '[sig-storage] ConfigMap should be consumable from pods in volume [NodeConformance] 2800 [Conformance]' 2801 description: Create a ConfigMap, create a Pod that mounts a volume and populates 2802 the volume with data stored in the ConfigMap. The ConfigMap that is created MUST 2803 be accessible to read from the newly created Pod using the volume mount. The data 2804 content of the file MUST be readable and verified and file modes MUST default 2805 to 0x644. 2806 release: v1.9 2807 file: test/e2e/common/storage/configmap_volume.go 2808 - testname: ConfigMap Volume, without mapping, non-root user 2809 codename: '[sig-storage] ConfigMap should be consumable from pods in volume as non-root 2810 [NodeConformance] [Conformance]' 2811 description: Create a ConfigMap, create a Pod that mounts a volume and populates 2812 the volume with data stored in the ConfigMap. Pod is run as a non-root user with 2813 uid=1000. The ConfigMap that is created MUST be accessible to read from the newly 2814 created Pod using the volume mount. The file on the volume MUST have file mode 2815 set to default value of 0x644. 2816 release: v1.9 2817 file: test/e2e/common/storage/configmap_volume.go 2818 - testname: ConfigMap Volume, without mapping, volume mode set 2819 codename: '[sig-storage] ConfigMap should be consumable from pods in volume with 2820 defaultMode set [LinuxOnly] [NodeConformance] [Conformance]' 2821 description: Create a ConfigMap, create a Pod that mounts a volume and populates 2822 the volume with data stored in the ConfigMap. File mode is changed to a custom 2823 value of '0x400'. The ConfigMap that is created MUST be accessible to read from 2824 the newly created Pod using the volume mount. The data content of the file MUST 2825 be readable and verified and file modes MUST be set to the custom value of '0x400' 2826 This test is marked LinuxOnly since Windows does not support setting specific 2827 file permissions. 2828 release: v1.9 2829 file: test/e2e/common/storage/configmap_volume.go 2830 - testname: ConfigMap Volume, with mapping 2831 codename: '[sig-storage] ConfigMap should be consumable from pods in volume with 2832 mappings [NodeConformance] [Conformance]' 2833 description: Create a ConfigMap, create a Pod that mounts a volume and populates 2834 the volume with data stored in the ConfigMap. Files are mapped to a path in the 2835 volume. The ConfigMap that is created MUST be accessible to read from the newly 2836 created Pod using the volume mount. The data content of the file MUST be readable 2837 and verified and file modes MUST default to 0x644. 2838 release: v1.9 2839 file: test/e2e/common/storage/configmap_volume.go 2840 - testname: ConfigMap Volume, with mapping, volume mode set 2841 codename: '[sig-storage] ConfigMap should be consumable from pods in volume with 2842 mappings and Item mode set [LinuxOnly] [NodeConformance] [Conformance]' 2843 description: Create a ConfigMap, create a Pod that mounts a volume and populates 2844 the volume with data stored in the ConfigMap. Files are mapped to a path in the 2845 volume. File mode is changed to a custom value of '0x400'. The ConfigMap that 2846 is created MUST be accessible to read from the newly created Pod using the volume 2847 mount. The data content of the file MUST be readable and verified and file modes 2848 MUST be set to the custom value of '0x400' This test is marked LinuxOnly since 2849 Windows does not support setting specific file permissions. 2850 release: v1.9 2851 file: test/e2e/common/storage/configmap_volume.go 2852 - testname: ConfigMap Volume, with mapping, non-root user 2853 codename: '[sig-storage] ConfigMap should be consumable from pods in volume with 2854 mappings as non-root [NodeConformance] [Conformance]' 2855 description: Create a ConfigMap, create a Pod that mounts a volume and populates 2856 the volume with data stored in the ConfigMap. Files are mapped to a path in the 2857 volume. Pod is run as a non-root user with uid=1000. The ConfigMap that is created 2858 MUST be accessible to read from the newly created Pod using the volume mount. 2859 The file on the volume MUST have file mode set to default value of 0x644. 2860 release: v1.9 2861 file: test/e2e/common/storage/configmap_volume.go 2862 - testname: ConfigMap Volume, multiple volume maps 2863 codename: '[sig-storage] ConfigMap should be consumable in multiple volumes in the 2864 same pod [NodeConformance] [Conformance]' 2865 description: The ConfigMap that is created MUST be accessible to read from the newly 2866 created Pod using the volume mount that is mapped to multiple paths in the Pod. 2867 The content MUST be accessible from all the mapped volume mounts. 2868 release: v1.9 2869 file: test/e2e/common/storage/configmap_volume.go 2870 - testname: ConfigMap Volume, immutability 2871 codename: '[sig-storage] ConfigMap should be immutable if `immutable` field is set 2872 [Conformance]' 2873 description: Create a ConfigMap. Update it's data field, the update MUST succeed. 2874 Mark the ConfigMap as immutable, the update MUST succeed. Try to update its data, 2875 the update MUST fail. Try to mark the ConfigMap back as not immutable, the update 2876 MUST fail. Try to update the ConfigMap`s metadata (labels), the update must succeed. 2877 Try to delete the ConfigMap, the deletion must succeed. 2878 release: v1.21 2879 file: test/e2e/common/storage/configmap_volume.go 2880 - testname: ConfigMap Volume, update 2881 codename: '[sig-storage] ConfigMap updates should be reflected in volume [NodeConformance] 2882 [Conformance]' 2883 description: The ConfigMap that is created MUST be accessible to read from the newly 2884 created Pod using the volume mount that is mapped to custom path in the Pod. When 2885 the ConfigMap is updated the change to the config map MUST be verified by reading 2886 the content from the mounted file in the Pod. 2887 release: v1.9 2888 file: test/e2e/common/storage/configmap_volume.go 2889 - testname: DownwardAPI volume, CPU limits 2890 codename: '[sig-storage] Downward API volume should provide container''s cpu limit 2891 [NodeConformance] [Conformance]' 2892 description: A Pod is configured with DownwardAPIVolumeSource and DownwardAPIVolumeFiles 2893 contains a item for the CPU limits. The container runtime MUST be able to access 2894 CPU limits from the specified path on the mounted volume. 2895 release: v1.9 2896 file: test/e2e/common/storage/downwardapi_volume.go 2897 - testname: DownwardAPI volume, CPU request 2898 codename: '[sig-storage] Downward API volume should provide container''s cpu request 2899 [NodeConformance] [Conformance]' 2900 description: A Pod is configured with DownwardAPIVolumeSource and DownwardAPIVolumeFiles 2901 contains a item for the CPU request. The container runtime MUST be able to access 2902 CPU request from the specified path on the mounted volume. 2903 release: v1.9 2904 file: test/e2e/common/storage/downwardapi_volume.go 2905 - testname: DownwardAPI volume, memory limits 2906 codename: '[sig-storage] Downward API volume should provide container''s memory 2907 limit [NodeConformance] [Conformance]' 2908 description: A Pod is configured with DownwardAPIVolumeSource and DownwardAPIVolumeFiles 2909 contains a item for the memory limits. The container runtime MUST be able to access 2910 memory limits from the specified path on the mounted volume. 2911 release: v1.9 2912 file: test/e2e/common/storage/downwardapi_volume.go 2913 - testname: DownwardAPI volume, memory request 2914 codename: '[sig-storage] Downward API volume should provide container''s memory 2915 request [NodeConformance] [Conformance]' 2916 description: A Pod is configured with DownwardAPIVolumeSource and DownwardAPIVolumeFiles 2917 contains a item for the memory request. The container runtime MUST be able to 2918 access memory request from the specified path on the mounted volume. 2919 release: v1.9 2920 file: test/e2e/common/storage/downwardapi_volume.go 2921 - testname: DownwardAPI volume, CPU limit, default node allocatable 2922 codename: '[sig-storage] Downward API volume should provide node allocatable (cpu) 2923 as default cpu limit if the limit is not set [NodeConformance] [Conformance]' 2924 description: A Pod is configured with DownwardAPIVolumeSource and DownwardAPIVolumeFiles 2925 contains a item for the CPU limits. CPU limits is not specified for the container. 2926 The container runtime MUST be able to access CPU limits from the specified path 2927 on the mounted volume and the value MUST be default node allocatable. 2928 release: v1.9 2929 file: test/e2e/common/storage/downwardapi_volume.go 2930 - testname: DownwardAPI volume, memory limit, default node allocatable 2931 codename: '[sig-storage] Downward API volume should provide node allocatable (memory) 2932 as default memory limit if the limit is not set [NodeConformance] [Conformance]' 2933 description: A Pod is configured with DownwardAPIVolumeSource and DownwardAPIVolumeFiles 2934 contains a item for the memory limits. memory limits is not specified for the 2935 container. The container runtime MUST be able to access memory limits from the 2936 specified path on the mounted volume and the value MUST be default node allocatable. 2937 release: v1.9 2938 file: test/e2e/common/storage/downwardapi_volume.go 2939 - testname: DownwardAPI volume, pod name 2940 codename: '[sig-storage] Downward API volume should provide podname only [NodeConformance] 2941 [Conformance]' 2942 description: A Pod is configured with DownwardAPIVolumeSource and DownwardAPIVolumeFiles 2943 contains a item for the Pod name. The container runtime MUST be able to access 2944 Pod name from the specified path on the mounted volume. 2945 release: v1.9 2946 file: test/e2e/common/storage/downwardapi_volume.go 2947 - testname: DownwardAPI volume, volume mode 0400 2948 codename: '[sig-storage] Downward API volume should set DefaultMode on files [LinuxOnly] 2949 [NodeConformance] [Conformance]' 2950 description: A Pod is configured with DownwardAPIVolumeSource with the volumesource 2951 mode set to -r-------- and DownwardAPIVolumeFiles contains a item for the Pod 2952 name. The container runtime MUST be able to access Pod name from the specified 2953 path on the mounted volume. This test is marked LinuxOnly since Windows does not 2954 support setting specific file permissions. 2955 release: v1.9 2956 file: test/e2e/common/storage/downwardapi_volume.go 2957 - testname: DownwardAPI volume, file mode 0400 2958 codename: '[sig-storage] Downward API volume should set mode on item file [LinuxOnly] 2959 [NodeConformance] [Conformance]' 2960 description: A Pod is configured with DownwardAPIVolumeSource and DownwardAPIVolumeFiles 2961 contains a item for the Pod name with the file mode set to -r--------. The container 2962 runtime MUST be able to access Pod name from the specified path on the mounted 2963 volume. This test is marked LinuxOnly since Windows does not support setting specific 2964 file permissions. 2965 release: v1.9 2966 file: test/e2e/common/storage/downwardapi_volume.go 2967 - testname: DownwardAPI volume, update annotations 2968 codename: '[sig-storage] Downward API volume should update annotations on modification 2969 [NodeConformance] [Conformance]' 2970 description: A Pod is configured with DownwardAPIVolumeSource and DownwardAPIVolumeFiles 2971 contains list of items for each of the Pod annotations. The container runtime 2972 MUST be able to access Pod annotations from the specified path on the mounted 2973 volume. Update the annotations by adding a new annotation to the running Pod. 2974 The new annotation MUST be available from the mounted volume. 2975 release: v1.9 2976 file: test/e2e/common/storage/downwardapi_volume.go 2977 - testname: DownwardAPI volume, update label 2978 codename: '[sig-storage] Downward API volume should update labels on modification 2979 [NodeConformance] [Conformance]' 2980 description: A Pod is configured with DownwardAPIVolumeSource and DownwardAPIVolumeFiles 2981 contains list of items for each of the Pod labels. The container runtime MUST 2982 be able to access Pod labels from the specified path on the mounted volume. Update 2983 the labels by adding a new label to the running Pod. The new label MUST be available 2984 from the mounted volume. 2985 release: v1.9 2986 file: test/e2e/common/storage/downwardapi_volume.go 2987 - testname: EmptyDir, Shared volumes between containers 2988 codename: '[sig-storage] EmptyDir volumes pod should support shared volumes between 2989 containers [Conformance]' 2990 description: A Pod created with an 'emptyDir' Volume, should share volumes between 2991 the containeres in the pod. The two busybox image containers should share the 2992 volumes mounted to the pod. The main container should wait until the sub container 2993 drops a file, and main container access the shared data. 2994 release: v1.15 2995 file: test/e2e/common/storage/empty_dir.go 2996 - testname: EmptyDir, medium default, volume mode 0644 2997 codename: '[sig-storage] EmptyDir volumes should support (non-root,0644,default) 2998 [LinuxOnly] [NodeConformance] [Conformance]' 2999 description: A Pod created with an 'emptyDir' Volume, the volume mode set to 0644. 3000 Volume is mounted into the container where container is run as a non-root user. 3001 The volume MUST have mode -rw-r--r-- and mount type set to tmpfs and the contents 3002 MUST be readable. This test is marked LinuxOnly since Windows does not support 3003 setting specific file permissions, or running as UID / GID. 3004 release: v1.9 3005 file: test/e2e/common/storage/empty_dir.go 3006 - testname: EmptyDir, medium memory, volume mode 0644, non-root user 3007 codename: '[sig-storage] EmptyDir volumes should support (non-root,0644,tmpfs) [LinuxOnly] 3008 [NodeConformance] [Conformance]' 3009 description: A Pod created with an 'emptyDir' Volume and 'medium' as 'Memory', the 3010 volume mode set to 0644. Volume is mounted into the container where container 3011 is run as a non-root user. The volume MUST have mode -rw-r--r-- and mount type 3012 set to tmpfs and the contents MUST be readable. This test is marked LinuxOnly 3013 since Windows does not support setting specific file permissions, or running as 3014 UID / GID, or the medium = 'Memory'. 3015 release: v1.9 3016 file: test/e2e/common/storage/empty_dir.go 3017 - testname: EmptyDir, medium default, volume mode 0666 3018 codename: '[sig-storage] EmptyDir volumes should support (non-root,0666,default) 3019 [LinuxOnly] [NodeConformance] [Conformance]' 3020 description: A Pod created with an 'emptyDir' Volume, the volume mode set to 0666. 3021 Volume is mounted into the container where container is run as a non-root user. 3022 The volume MUST have mode -rw-rw-rw- and mount type set to tmpfs and the contents 3023 MUST be readable. This test is marked LinuxOnly since Windows does not support 3024 setting specific file permissions, or running as UID / GID. 3025 release: v1.9 3026 file: test/e2e/common/storage/empty_dir.go 3027 - testname: EmptyDir, medium memory, volume mode 0666,, non-root user 3028 codename: '[sig-storage] EmptyDir volumes should support (non-root,0666,tmpfs) [LinuxOnly] 3029 [NodeConformance] [Conformance]' 3030 description: A Pod created with an 'emptyDir' Volume and 'medium' as 'Memory', the 3031 volume mode set to 0666. Volume is mounted into the container where container 3032 is run as a non-root user. The volume MUST have mode -rw-rw-rw- and mount type 3033 set to tmpfs and the contents MUST be readable. This test is marked LinuxOnly 3034 since Windows does not support setting specific file permissions, or running as 3035 UID / GID, or the medium = 'Memory'. 3036 release: v1.9 3037 file: test/e2e/common/storage/empty_dir.go 3038 - testname: EmptyDir, medium default, volume mode 0777 3039 codename: '[sig-storage] EmptyDir volumes should support (non-root,0777,default) 3040 [LinuxOnly] [NodeConformance] [Conformance]' 3041 description: A Pod created with an 'emptyDir' Volume, the volume mode set to 0777. 3042 Volume is mounted into the container where container is run as a non-root user. 3043 The volume MUST have mode -rwxrwxrwx and mount type set to tmpfs and the contents 3044 MUST be readable. This test is marked LinuxOnly since Windows does not support 3045 setting specific file permissions, or running as UID / GID. 3046 release: v1.9 3047 file: test/e2e/common/storage/empty_dir.go 3048 - testname: EmptyDir, medium memory, volume mode 0777, non-root user 3049 codename: '[sig-storage] EmptyDir volumes should support (non-root,0777,tmpfs) [LinuxOnly] 3050 [NodeConformance] [Conformance]' 3051 description: A Pod created with an 'emptyDir' Volume and 'medium' as 'Memory', the 3052 volume mode set to 0777. Volume is mounted into the container where container 3053 is run as a non-root user. The volume MUST have mode -rwxrwxrwx and mount type 3054 set to tmpfs and the contents MUST be readable. This test is marked LinuxOnly 3055 since Windows does not support setting specific file permissions, or running as 3056 UID / GID, or the medium = 'Memory'. 3057 release: v1.9 3058 file: test/e2e/common/storage/empty_dir.go 3059 - testname: EmptyDir, medium default, volume mode 0644 3060 codename: '[sig-storage] EmptyDir volumes should support (root,0644,default) [LinuxOnly] 3061 [NodeConformance] [Conformance]' 3062 description: A Pod created with an 'emptyDir' Volume, the volume mode set to 0644. 3063 The volume MUST have mode -rw-r--r-- and mount type set to tmpfs and the contents 3064 MUST be readable. This test is marked LinuxOnly since Windows does not support 3065 setting specific file permissions, or running as UID / GID. 3066 release: v1.9 3067 file: test/e2e/common/storage/empty_dir.go 3068 - testname: EmptyDir, medium memory, volume mode 0644 3069 codename: '[sig-storage] EmptyDir volumes should support (root,0644,tmpfs) [LinuxOnly] 3070 [NodeConformance] [Conformance]' 3071 description: A Pod created with an 'emptyDir' Volume and 'medium' as 'Memory', the 3072 volume mode set to 0644. The volume MUST have mode -rw-r--r-- and mount type set 3073 to tmpfs and the contents MUST be readable. This test is marked LinuxOnly since 3074 Windows does not support setting specific file permissions, or running as UID 3075 / GID, or the medium = 'Memory'. 3076 release: v1.9 3077 file: test/e2e/common/storage/empty_dir.go 3078 - testname: EmptyDir, medium default, volume mode 0666 3079 codename: '[sig-storage] EmptyDir volumes should support (root,0666,default) [LinuxOnly] 3080 [NodeConformance] [Conformance]' 3081 description: A Pod created with an 'emptyDir' Volume, the volume mode set to 0666. 3082 The volume MUST have mode -rw-rw-rw- and mount type set to tmpfs and the contents 3083 MUST be readable. This test is marked LinuxOnly since Windows does not support 3084 setting specific file permissions, or running as UID / GID. 3085 release: v1.9 3086 file: test/e2e/common/storage/empty_dir.go 3087 - testname: EmptyDir, medium memory, volume mode 0666 3088 codename: '[sig-storage] EmptyDir volumes should support (root,0666,tmpfs) [LinuxOnly] 3089 [NodeConformance] [Conformance]' 3090 description: A Pod created with an 'emptyDir' Volume and 'medium' as 'Memory', the 3091 volume mode set to 0666. The volume MUST have mode -rw-rw-rw- and mount type set 3092 to tmpfs and the contents MUST be readable. This test is marked LinuxOnly since 3093 Windows does not support setting specific file permissions, or running as UID 3094 / GID, or the medium = 'Memory'. 3095 release: v1.9 3096 file: test/e2e/common/storage/empty_dir.go 3097 - testname: EmptyDir, medium default, volume mode 0777 3098 codename: '[sig-storage] EmptyDir volumes should support (root,0777,default) [LinuxOnly] 3099 [NodeConformance] [Conformance]' 3100 description: A Pod created with an 'emptyDir' Volume, the volume mode set to 0777. The 3101 volume MUST have mode set as -rwxrwxrwx and mount type set to tmpfs and the contents 3102 MUST be readable. This test is marked LinuxOnly since Windows does not support 3103 setting specific file permissions, or running as UID / GID. 3104 release: v1.9 3105 file: test/e2e/common/storage/empty_dir.go 3106 - testname: EmptyDir, medium memory, volume mode 0777 3107 codename: '[sig-storage] EmptyDir volumes should support (root,0777,tmpfs) [LinuxOnly] 3108 [NodeConformance] [Conformance]' 3109 description: A Pod created with an 'emptyDir' Volume and 'medium' as 'Memory', the 3110 volume mode set to 0777. The volume MUST have mode set as -rwxrwxrwx and mount 3111 type set to tmpfs and the contents MUST be readable. This test is marked LinuxOnly 3112 since Windows does not support setting specific file permissions, or running as 3113 UID / GID, or the medium = 'Memory'. 3114 release: v1.9 3115 file: test/e2e/common/storage/empty_dir.go 3116 - testname: EmptyDir, medium default, volume mode default 3117 codename: '[sig-storage] EmptyDir volumes volume on default medium should have the 3118 correct mode [LinuxOnly] [NodeConformance] [Conformance]' 3119 description: A Pod created with an 'emptyDir' Volume, the volume MUST have mode 3120 set as -rwxrwxrwx and mount type set to tmpfs. This test is marked LinuxOnly since 3121 Windows does not support setting specific file permissions. 3122 release: v1.9 3123 file: test/e2e/common/storage/empty_dir.go 3124 - testname: EmptyDir, medium memory, volume mode default 3125 codename: '[sig-storage] EmptyDir volumes volume on tmpfs should have the correct 3126 mode [LinuxOnly] [NodeConformance] [Conformance]' 3127 description: A Pod created with an 'emptyDir' Volume and 'medium' as 'Memory', the 3128 volume MUST have mode set as -rwxrwxrwx and mount type set to tmpfs. This test 3129 is marked LinuxOnly since Windows does not support setting specific file permissions, 3130 or the medium = 'Memory'. 3131 release: v1.9 3132 file: test/e2e/common/storage/empty_dir.go 3133 - testname: EmptyDir Wrapper Volume, ConfigMap volumes, no race 3134 codename: '[sig-storage] EmptyDir wrapper volumes should not cause race condition 3135 when used for configmaps [Serial] [Conformance]' 3136 description: Create 50 ConfigMaps Volumes and 5 replicas of pod with these ConfigMapvolumes 3137 mounted. Pod MUST NOT fail waiting for Volumes. 3138 release: v1.13 3139 file: test/e2e/storage/empty_dir_wrapper.go 3140 - testname: EmptyDir Wrapper Volume, Secret and ConfigMap volumes, no conflict 3141 codename: '[sig-storage] EmptyDir wrapper volumes should not conflict [Conformance]' 3142 description: Secret volume and ConfigMap volume is created with data. Pod MUST be 3143 able to start with Secret and ConfigMap volumes mounted into the container. 3144 release: v1.13 3145 file: test/e2e/storage/empty_dir_wrapper.go 3146 - testname: PersistentVolumes(Claims), apply changes to a pv/pvc status 3147 codename: '[sig-storage] PersistentVolumes CSI Conformance should apply changes 3148 to a pv/pvc status [Conformance]' 3149 description: Creating PV and PVC MUST succeed. Listing PVs with a labelSelector 3150 MUST succeed. Listing PVCs in a namespace MUST succeed. Reading PVC status MUST 3151 succeed with a valid phase found. Reading PV status MUST succeed with a valid 3152 phase found. Patching the PVC status MUST succeed with its new condition found. 3153 Patching the PV status MUST succeed with the new reason/message found. Updating 3154 the PVC status MUST succeed with its new condition found. Updating the PV status 3155 MUST succeed with the new reason/message found. 3156 release: v1.29 3157 file: test/e2e/storage/persistent_volumes.go 3158 - testname: PersistentVolumes(Claims), lifecycle 3159 codename: '[sig-storage] PersistentVolumes CSI Conformance should run through the 3160 lifecycle of a PV and a PVC [Conformance]' 3161 description: Creating PV and PVC MUST succeed. Listing PVs with a labelSelector 3162 MUST succeed. Listing PVCs in a namespace MUST succeed. Patching a PV MUST succeed 3163 with its new label found. Patching a PVC MUST succeed with its new label found. 3164 Reading a PV and PVC MUST succeed with required UID retrieved. Deleting a PVC 3165 and PV MUST succeed and it MUST be confirmed. Replacement PV and PVC MUST be created. 3166 Updating a PV MUST succeed with its new label found. Updating a PVC MUST succeed 3167 with its new label found. Deleting the PVC and PV via deleteCollection MUST succeed 3168 and it MUST be confirmed. 3169 release: v1.29 3170 file: test/e2e/storage/persistent_volumes.go 3171 - testname: Projected Volume, multiple projections 3172 codename: '[sig-storage] Projected combined should project all components that make 3173 up the projection API [Projection] [NodeConformance] [Conformance]' 3174 description: A Pod is created with a projected volume source for secrets, configMap 3175 and downwardAPI with pod name, cpu and memory limits and cpu and memory requests. 3176 Pod MUST be able to read the secrets, configMap values and the cpu and memory 3177 limits as well as cpu and memory requests from the mounted DownwardAPIVolumeFiles. 3178 release: v1.9 3179 file: test/e2e/common/storage/projected_combined.go 3180 - testname: Projected Volume, ConfigMap, create, update and delete 3181 codename: '[sig-storage] Projected configMap optional updates should be reflected 3182 in volume [NodeConformance] [Conformance]' 3183 description: Create a Pod with three containers with ConfigMaps namely a create, 3184 update and delete container. Create Container when started MUST not have configMap, 3185 update and delete containers MUST be created with a ConfigMap value as 'value-1'. 3186 Create a configMap in the create container, the Pod MUST be able to read the configMap 3187 from the create container. Update the configMap in the update container, Pod MUST 3188 be able to read the updated configMap value. Delete the configMap in the delete 3189 container. Pod MUST fail to read the configMap from the delete container. 3190 release: v1.9 3191 file: test/e2e/common/storage/projected_configmap.go 3192 - testname: Projected Volume, ConfigMap, volume mode default 3193 codename: '[sig-storage] Projected configMap should be consumable from pods in volume 3194 [NodeConformance] [Conformance]' 3195 description: A Pod is created with projected volume source 'ConfigMap' to store 3196 a configMap with default permission mode. Pod MUST be able to read the content 3197 of the ConfigMap successfully and the mode on the volume MUST be -rw-r--r--. 3198 release: v1.9 3199 file: test/e2e/common/storage/projected_configmap.go 3200 - testname: Projected Volume, ConfigMap, non-root user 3201 codename: '[sig-storage] Projected configMap should be consumable from pods in volume 3202 as non-root [NodeConformance] [Conformance]' 3203 description: A Pod is created with projected volume source 'ConfigMap' to store 3204 a configMap as non-root user with uid 1000. Pod MUST be able to read the content 3205 of the ConfigMap successfully and the mode on the volume MUST be -rw-r--r--. 3206 release: v1.9 3207 file: test/e2e/common/storage/projected_configmap.go 3208 - testname: Projected Volume, ConfigMap, volume mode 0400 3209 codename: '[sig-storage] Projected configMap should be consumable from pods in volume 3210 with defaultMode set [LinuxOnly] [NodeConformance] [Conformance]' 3211 description: A Pod is created with projected volume source 'ConfigMap' to store 3212 a configMap with permission mode set to 0400. Pod MUST be able to read the content 3213 of the ConfigMap successfully and the mode on the volume MUST be -r--------. This 3214 test is marked LinuxOnly since Windows does not support setting specific file 3215 permissions. 3216 release: v1.9 3217 file: test/e2e/common/storage/projected_configmap.go 3218 - testname: Projected Volume, ConfigMap, mapped 3219 codename: '[sig-storage] Projected configMap should be consumable from pods in volume 3220 with mappings [NodeConformance] [Conformance]' 3221 description: A Pod is created with projected volume source 'ConfigMap' to store 3222 a configMap with default permission mode. The ConfigMap is also mapped to a custom 3223 path. Pod MUST be able to read the content of the ConfigMap from the custom location 3224 successfully and the mode on the volume MUST be -rw-r--r--. 3225 release: v1.9 3226 file: test/e2e/common/storage/projected_configmap.go 3227 - testname: Projected Volume, ConfigMap, mapped, volume mode 0400 3228 codename: '[sig-storage] Projected configMap should be consumable from pods in volume 3229 with mappings and Item mode set [LinuxOnly] [NodeConformance] [Conformance]' 3230 description: A Pod is created with projected volume source 'ConfigMap' to store 3231 a configMap with permission mode set to 0400. The ConfigMap is also mapped to 3232 a custom path. Pod MUST be able to read the content of the ConfigMap from the 3233 custom location successfully and the mode on the volume MUST be -r--r--r--. This 3234 test is marked LinuxOnly since Windows does not support setting specific file 3235 permissions. 3236 release: v1.9 3237 file: test/e2e/common/storage/projected_configmap.go 3238 - testname: Projected Volume, ConfigMap, mapped, non-root user 3239 codename: '[sig-storage] Projected configMap should be consumable from pods in volume 3240 with mappings as non-root [NodeConformance] [Conformance]' 3241 description: A Pod is created with projected volume source 'ConfigMap' to store 3242 a configMap as non-root user with uid 1000. The ConfigMap is also mapped to a 3243 custom path. Pod MUST be able to read the content of the ConfigMap from the custom 3244 location successfully and the mode on the volume MUST be -r--r--r--. 3245 release: v1.9 3246 file: test/e2e/common/storage/projected_configmap.go 3247 - testname: Projected Volume, ConfigMap, multiple volume paths 3248 codename: '[sig-storage] Projected configMap should be consumable in multiple volumes 3249 in the same pod [NodeConformance] [Conformance]' 3250 description: A Pod is created with a projected volume source 'ConfigMap' to store 3251 a configMap. The configMap is mapped to two different volume mounts. Pod MUST 3252 be able to read the content of the configMap successfully from the two volume 3253 mounts. 3254 release: v1.9 3255 file: test/e2e/common/storage/projected_configmap.go 3256 - testname: Projected Volume, ConfigMap, update 3257 codename: '[sig-storage] Projected configMap updates should be reflected in volume 3258 [NodeConformance] [Conformance]' 3259 description: A Pod is created with projected volume source 'ConfigMap' to store 3260 a configMap and performs a create and update to new value. Pod MUST be able to 3261 create the configMap with value-1. Pod MUST be able to update the value in the 3262 confgiMap to value-2. 3263 release: v1.9 3264 file: test/e2e/common/storage/projected_configmap.go 3265 - testname: Projected Volume, DownwardAPI, CPU limits 3266 codename: '[sig-storage] Projected downwardAPI should provide container''s cpu limit 3267 [NodeConformance] [Conformance]' 3268 description: A Pod is created with a projected volume source for downwardAPI with 3269 pod name, cpu and memory limits and cpu and memory requests. Pod MUST be able 3270 to read the cpu limits from the mounted DownwardAPIVolumeFiles. 3271 release: v1.9 3272 file: test/e2e/common/storage/projected_downwardapi.go 3273 - testname: Projected Volume, DownwardAPI, CPU request 3274 codename: '[sig-storage] Projected downwardAPI should provide container''s cpu request 3275 [NodeConformance] [Conformance]' 3276 description: A Pod is created with a projected volume source for downwardAPI with 3277 pod name, cpu and memory limits and cpu and memory requests. Pod MUST be able 3278 to read the cpu request from the mounted DownwardAPIVolumeFiles. 3279 release: v1.9 3280 file: test/e2e/common/storage/projected_downwardapi.go 3281 - testname: Projected Volume, DownwardAPI, memory limits 3282 codename: '[sig-storage] Projected downwardAPI should provide container''s memory 3283 limit [NodeConformance] [Conformance]' 3284 description: A Pod is created with a projected volume source for downwardAPI with 3285 pod name, cpu and memory limits and cpu and memory requests. Pod MUST be able 3286 to read the memory limits from the mounted DownwardAPIVolumeFiles. 3287 release: v1.9 3288 file: test/e2e/common/storage/projected_downwardapi.go 3289 - testname: Projected Volume, DownwardAPI, memory request 3290 codename: '[sig-storage] Projected downwardAPI should provide container''s memory 3291 request [NodeConformance] [Conformance]' 3292 description: A Pod is created with a projected volume source for downwardAPI with 3293 pod name, cpu and memory limits and cpu and memory requests. Pod MUST be able 3294 to read the memory request from the mounted DownwardAPIVolumeFiles. 3295 release: v1.9 3296 file: test/e2e/common/storage/projected_downwardapi.go 3297 - testname: Projected Volume, DownwardAPI, CPU limit, node allocatable 3298 codename: '[sig-storage] Projected downwardAPI should provide node allocatable (cpu) 3299 as default cpu limit if the limit is not set [NodeConformance] [Conformance]' 3300 description: A Pod is created with a projected volume source for downwardAPI with 3301 pod name, cpu and memory limits and cpu and memory requests. The CPU and memory 3302 resources for requests and limits are NOT specified for the container. Pod MUST 3303 be able to read the default cpu limits from the mounted DownwardAPIVolumeFiles. 3304 release: v1.9 3305 file: test/e2e/common/storage/projected_downwardapi.go 3306 - testname: Projected Volume, DownwardAPI, memory limit, node allocatable 3307 codename: '[sig-storage] Projected downwardAPI should provide node allocatable (memory) 3308 as default memory limit if the limit is not set [NodeConformance] [Conformance]' 3309 description: A Pod is created with a projected volume source for downwardAPI with 3310 pod name, cpu and memory limits and cpu and memory requests. The CPU and memory 3311 resources for requests and limits are NOT specified for the container. Pod MUST 3312 be able to read the default memory limits from the mounted DownwardAPIVolumeFiles. 3313 release: v1.9 3314 file: test/e2e/common/storage/projected_downwardapi.go 3315 - testname: Projected Volume, DownwardAPI, pod name 3316 codename: '[sig-storage] Projected downwardAPI should provide podname only [NodeConformance] 3317 [Conformance]' 3318 description: A Pod is created with a projected volume source for downwardAPI with 3319 pod name, cpu and memory limits and cpu and memory requests. Pod MUST be able 3320 to read the pod name from the mounted DownwardAPIVolumeFiles. 3321 release: v1.9 3322 file: test/e2e/common/storage/projected_downwardapi.go 3323 - testname: Projected Volume, DownwardAPI, volume mode 0400 3324 codename: '[sig-storage] Projected downwardAPI should set DefaultMode on files [LinuxOnly] 3325 [NodeConformance] [Conformance]' 3326 description: A Pod is created with a projected volume source for downwardAPI with 3327 pod name, cpu and memory limits and cpu and memory requests. The default mode 3328 for the volume mount is set to 0400. Pod MUST be able to read the pod name from 3329 the mounted DownwardAPIVolumeFiles and the volume mode must be -r--------. This 3330 test is marked LinuxOnly since Windows does not support setting specific file 3331 permissions. 3332 release: v1.9 3333 file: test/e2e/common/storage/projected_downwardapi.go 3334 - testname: Projected Volume, DownwardAPI, volume mode 0400 3335 codename: '[sig-storage] Projected downwardAPI should set mode on item file [LinuxOnly] 3336 [NodeConformance] [Conformance]' 3337 description: A Pod is created with a projected volume source for downwardAPI with 3338 pod name, cpu and memory limits and cpu and memory requests. The default mode 3339 for the volume mount is set to 0400. Pod MUST be able to read the pod name from 3340 the mounted DownwardAPIVolumeFiles and the volume mode must be -r--------. This 3341 test is marked LinuxOnly since Windows does not support setting specific file 3342 permissions. 3343 release: v1.9 3344 file: test/e2e/common/storage/projected_downwardapi.go 3345 - testname: Projected Volume, DownwardAPI, update annotation 3346 codename: '[sig-storage] Projected downwardAPI should update annotations on modification 3347 [NodeConformance] [Conformance]' 3348 description: A Pod is created with a projected volume source for downwardAPI with 3349 pod name, cpu and memory limits and cpu and memory requests and annotation items. 3350 Pod MUST be able to read the annotations from the mounted DownwardAPIVolumeFiles. 3351 Annotations are then updated. Pod MUST be able to read the updated values for 3352 the Annotations. 3353 release: v1.9 3354 file: test/e2e/common/storage/projected_downwardapi.go 3355 - testname: Projected Volume, DownwardAPI, update labels 3356 codename: '[sig-storage] Projected downwardAPI should update labels on modification 3357 [NodeConformance] [Conformance]' 3358 description: A Pod is created with a projected volume source for downwardAPI with 3359 pod name, cpu and memory limits and cpu and memory requests and label items. Pod 3360 MUST be able to read the labels from the mounted DownwardAPIVolumeFiles. Labels 3361 are then updated. Pod MUST be able to read the updated values for the Labels. 3362 release: v1.9 3363 file: test/e2e/common/storage/projected_downwardapi.go 3364 - testname: Projected Volume, Secrets, create, update delete 3365 codename: '[sig-storage] Projected secret optional updates should be reflected in 3366 volume [NodeConformance] [Conformance]' 3367 description: Create a Pod with three containers with secrets namely a create, update 3368 and delete container. Create Container when started MUST no have a secret, update 3369 and delete containers MUST be created with a secret value. Create a secret in 3370 the create container, the Pod MUST be able to read the secret from the create 3371 container. Update the secret in the update container, Pod MUST be able to read 3372 the updated secret value. Delete the secret in the delete container. Pod MUST 3373 fail to read the secret from the delete container. 3374 release: v1.9 3375 file: test/e2e/common/storage/projected_secret.go 3376 - testname: Projected Volume, Secrets, volume mode default 3377 codename: '[sig-storage] Projected secret should be consumable from pods in volume 3378 [NodeConformance] [Conformance]' 3379 description: A Pod is created with a projected volume source 'secret' to store a 3380 secret with a specified key with default permission mode. Pod MUST be able to 3381 read the content of the key successfully and the mode MUST be -rw-r--r-- by default. 3382 release: v1.9 3383 file: test/e2e/common/storage/projected_secret.go 3384 - testname: Project Volume, Secrets, non-root, custom fsGroup 3385 codename: '[sig-storage] Projected secret should be consumable from pods in volume 3386 as non-root with defaultMode and fsGroup set [LinuxOnly] [NodeConformance] [Conformance]' 3387 description: A Pod is created with a projected volume source 'secret' to store a 3388 secret with a specified key. The volume has permission mode set to 0440, fsgroup 3389 set to 1001 and user set to non-root uid of 1000. Pod MUST be able to read the 3390 content of the key successfully and the mode MUST be -r--r-----. This test is 3391 marked LinuxOnly since Windows does not support setting specific file permissions, 3392 or running as UID / GID. 3393 release: v1.9 3394 file: test/e2e/common/storage/projected_secret.go 3395 - testname: Projected Volume, Secrets, volume mode 0400 3396 codename: '[sig-storage] Projected secret should be consumable from pods in volume 3397 with defaultMode set [LinuxOnly] [NodeConformance] [Conformance]' 3398 description: A Pod is created with a projected volume source 'secret' to store a 3399 secret with a specified key with permission mode set to 0x400 on the Pod. Pod 3400 MUST be able to read the content of the key successfully and the mode MUST be 3401 -r--------. This test is marked LinuxOnly since Windows does not support setting 3402 specific file permissions. 3403 release: v1.9 3404 file: test/e2e/common/storage/projected_secret.go 3405 - testname: Projected Volume, Secrets, mapped 3406 codename: '[sig-storage] Projected secret should be consumable from pods in volume 3407 with mappings [NodeConformance] [Conformance]' 3408 description: A Pod is created with a projected volume source 'secret' to store a 3409 secret with a specified key with default permission mode. The secret is also mapped 3410 to a custom path. Pod MUST be able to read the content of the key successfully 3411 and the mode MUST be -r--------on the mapped volume. 3412 release: v1.9 3413 file: test/e2e/common/storage/projected_secret.go 3414 - testname: Projected Volume, Secrets, mapped, volume mode 0400 3415 codename: '[sig-storage] Projected secret should be consumable from pods in volume 3416 with mappings and Item Mode set [LinuxOnly] [NodeConformance] [Conformance]' 3417 description: A Pod is created with a projected volume source 'secret' to store a 3418 secret with a specified key with permission mode set to 0400. The secret is also 3419 mapped to a specific name. Pod MUST be able to read the content of the key successfully 3420 and the mode MUST be -r-------- on the mapped volume. This test is marked LinuxOnly 3421 since Windows does not support setting specific file permissions. 3422 release: v1.9 3423 file: test/e2e/common/storage/projected_secret.go 3424 - testname: Projected Volume, Secrets, mapped, multiple paths 3425 codename: '[sig-storage] Projected secret should be consumable in multiple volumes 3426 in a pod [NodeConformance] [Conformance]' 3427 description: A Pod is created with a projected volume source 'secret' to store a 3428 secret with a specified key. The secret is mapped to two different volume mounts. 3429 Pod MUST be able to read the content of the key successfully from the two volume 3430 mounts and the mode MUST be -r-------- on the mapped volumes. 3431 release: v1.9 3432 file: test/e2e/common/storage/projected_secret.go 3433 - testname: Secrets Volume, create, update and delete 3434 codename: '[sig-storage] Secrets optional updates should be reflected in volume 3435 [NodeConformance] [Conformance]' 3436 description: Create a Pod with three containers with secrets volume sources namely 3437 a create, update and delete container. Create Container when started MUST not 3438 have secret, update and delete containers MUST be created with a secret value. 3439 Create a secret in the create container, the Pod MUST be able to read the secret 3440 from the create container. Update the secret in the update container, Pod MUST 3441 be able to read the updated secret value. Delete the secret in the delete container. 3442 Pod MUST fail to read the secret from the delete container. 3443 release: v1.9 3444 file: test/e2e/common/storage/secrets_volume.go 3445 - testname: Secrets Volume, volume mode default, secret with same name in different 3446 namespace 3447 codename: '[sig-storage] Secrets should be able to mount in a volume regardless 3448 of a different secret existing with same name in different namespace [NodeConformance] 3449 [Conformance]' 3450 description: Create a secret with same name in two namespaces. Create a Pod with 3451 secret volume source configured into the container. Pod MUST be able to read the 3452 secrets from the mounted volume from the container runtime and only secrets which 3453 are associated with namespace where pod is created. The file mode of the secret 3454 MUST be -rw-r--r-- by default. 3455 release: v1.12 3456 file: test/e2e/common/storage/secrets_volume.go 3457 - testname: Secrets Volume, default 3458 codename: '[sig-storage] Secrets should be consumable from pods in volume [NodeConformance] 3459 [Conformance]' 3460 description: Create a secret. Create a Pod with secret volume source configured 3461 into the container. Pod MUST be able to read the secret from the mounted volume 3462 from the container runtime and the file mode of the secret MUST be -rw-r--r-- 3463 by default. 3464 release: v1.9 3465 file: test/e2e/common/storage/secrets_volume.go 3466 - testname: Secrets Volume, volume mode 0440, fsGroup 1001 and uid 1000 3467 codename: '[sig-storage] Secrets should be consumable from pods in volume as non-root 3468 with defaultMode and fsGroup set [LinuxOnly] [NodeConformance] [Conformance]' 3469 description: Create a secret. Create a Pod with secret volume source configured 3470 into the container with file mode set to 0x440 as a non-root user with uid 1000 3471 and fsGroup id 1001. Pod MUST be able to read the secret from the mounted volume 3472 from the container runtime and the file mode of the secret MUST be -r--r-----by 3473 default. This test is marked LinuxOnly since Windows does not support setting 3474 specific file permissions, or running as UID / GID. 3475 release: v1.9 3476 file: test/e2e/common/storage/secrets_volume.go 3477 - testname: Secrets Volume, volume mode 0400 3478 codename: '[sig-storage] Secrets should be consumable from pods in volume with defaultMode 3479 set [LinuxOnly] [NodeConformance] [Conformance]' 3480 description: Create a secret. Create a Pod with secret volume source configured 3481 into the container with file mode set to 0x400. Pod MUST be able to read the secret 3482 from the mounted volume from the container runtime and the file mode of the secret 3483 MUST be -r-------- by default. This test is marked LinuxOnly since Windows does 3484 not support setting specific file permissions. 3485 release: v1.9 3486 file: test/e2e/common/storage/secrets_volume.go 3487 - testname: Secrets Volume, mapping 3488 codename: '[sig-storage] Secrets should be consumable from pods in volume with mappings 3489 [NodeConformance] [Conformance]' 3490 description: Create a secret. Create a Pod with secret volume source configured 3491 into the container with a custom path. Pod MUST be able to read the secret from 3492 the mounted volume from the specified custom path. The file mode of the secret 3493 MUST be -rw-r--r-- by default. 3494 release: v1.9 3495 file: test/e2e/common/storage/secrets_volume.go 3496 - testname: Secrets Volume, mapping, volume mode 0400 3497 codename: '[sig-storage] Secrets should be consumable from pods in volume with mappings 3498 and Item Mode set [LinuxOnly] [NodeConformance] [Conformance]' 3499 description: Create a secret. Create a Pod with secret volume source configured 3500 into the container with a custom path and file mode set to 0x400. Pod MUST be 3501 able to read the secret from the mounted volume from the specified custom path. 3502 The file mode of the secret MUST be -r--r--r--. This test is marked LinuxOnly 3503 since Windows does not support setting specific file permissions. 3504 release: v1.9 3505 file: test/e2e/common/storage/secrets_volume.go 3506 - testname: Secrets Volume, mapping multiple volume paths 3507 codename: '[sig-storage] Secrets should be consumable in multiple volumes in a pod 3508 [NodeConformance] [Conformance]' 3509 description: Create a secret. Create a Pod with two secret volume sources configured 3510 into the container in to two different custom paths. Pod MUST be able to read 3511 the secret from the both the mounted volumes from the two specified custom paths. 3512 release: v1.9 3513 file: test/e2e/common/storage/secrets_volume.go 3514 - testname: Secrets Volume, immutability 3515 codename: '[sig-storage] Secrets should be immutable if `immutable` field is set 3516 [Conformance]' 3517 description: Create a secret. Update it's data field, the update MUST succeed. Mark 3518 the secret as immutable, the update MUST succeed. Try to update its data, the 3519 update MUST fail. Try to mark the secret back as not immutable, the update MUST 3520 fail. Try to update the secret`s metadata (labels), the update must succeed. Try 3521 to delete the secret, the deletion must succeed. 3522 release: v1.21 3523 file: test/e2e/common/storage/secrets_volume.go 3524 - testname: StorageClass, lifecycle 3525 codename: '[sig-storage] StorageClasses CSI Conformance should run through the lifecycle 3526 of a StorageClass [Conformance]' 3527 description: Creating a StorageClass MUST succeed. Reading the StorageClass MUST 3528 succeed. Patching the StorageClass MUST succeed with its new label found. Deleting 3529 the StorageClass MUST succeed and it MUST be confirmed. Replacement StorageClass 3530 MUST be created. Updating the StorageClass MUST succeed with its new label found. 3531 Deleting the StorageClass via deleteCollection MUST succeed and it MUST be confirmed. 3532 release: v1.29 3533 file: test/e2e/storage/storageclass.go 3534 - testname: 'SubPath: Reading content from a configmap volume.' 3535 codename: '[sig-storage] Subpath Atomic writer volumes should support subpaths with 3536 configmap pod [Conformance]' 3537 description: Containers in a pod can read content from a configmap mounted volume 3538 which was configured with a subpath. 3539 release: v1.12 3540 file: test/e2e/storage/subpath.go 3541 - testname: 'SubPath: Reading content from a configmap volume.' 3542 codename: '[sig-storage] Subpath Atomic writer volumes should support subpaths with 3543 configmap pod with mountPath of existing file [Conformance]' 3544 description: Containers in a pod can read content from a configmap mounted volume 3545 which was configured with a subpath and also using a mountpath that is a specific 3546 file. 3547 release: v1.12 3548 file: test/e2e/storage/subpath.go 3549 - testname: 'SubPath: Reading content from a downwardAPI volume.' 3550 codename: '[sig-storage] Subpath Atomic writer volumes should support subpaths with 3551 downward pod [Conformance]' 3552 description: Containers in a pod can read content from a downwardAPI mounted volume 3553 which was configured with a subpath. 3554 release: v1.12 3555 file: test/e2e/storage/subpath.go 3556 - testname: 'SubPath: Reading content from a projected volume.' 3557 codename: '[sig-storage] Subpath Atomic writer volumes should support subpaths with 3558 projected pod [Conformance]' 3559 description: Containers in a pod can read content from a projected mounted volume 3560 which was configured with a subpath. 3561 release: v1.12 3562 file: test/e2e/storage/subpath.go 3563 - testname: 'SubPath: Reading content from a secret volume.' 3564 codename: '[sig-storage] Subpath Atomic writer volumes should support subpaths with 3565 secret pod [Conformance]' 3566 description: Containers in a pod can read content from a secret mounted volume which 3567 was configured with a subpath. 3568 release: v1.12 3569 file: test/e2e/storage/subpath.go 3570 - testname: VolumeAttachment, lifecycle 3571 codename: '[sig-storage] VolumeAttachment Conformance should run through the lifecycle 3572 of a VolumeAttachment [Conformance]' 3573 description: Creating an initial VolumeAttachment MUST succeed. Reading the VolumeAttachment 3574 MUST succeed with with required name retrieved. Patching a VolumeAttachment MUST 3575 succeed with its new label found. Listing VolumeAttachment with a labelSelector 3576 MUST succeed with a single item retrieved. Deleting a VolumeAttachment MUST succeed 3577 and it MUST be confirmed. Creating a second VolumeAttachment MUST succeed. Updating 3578 the second VolumentAttachment with a new label MUST succeed with its new label 3579 found. Creating a third VolumeAttachment MUST succeed. Updating the third VolumentAttachment 3580 with a new label MUST succeed with its new label found. Deleting both VolumeAttachments 3581 via deleteCollection MUST succeed and it MUST be confirmed. 3582 release: v1.30 3583 file: test/e2e/storage/volume_attachment.go 3584