Merge pull request #85960 from johnbelamaric/podspec-behaviors

Initial behavior examples for conformance
This commit is contained in:
Kubernetes Prow Robot 2020-02-02 14:47:21 -08:00 committed by GitHub
commit 2a17cfbd45
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 80 additions and 0 deletions

View File

@ -0,0 +1,30 @@
suite: service/spec
description: Base suite for services
behaviors:
- id: service/basic-create/selector
description: When a Service resource is created with type "ClusterIP", "NodePort", or "LoadBalancer",
and a selector is specified, an Endpoints object is generated based with the IPs of pods with
label keys and values matching the selector.
- id: service/basic-create/no-selector
description: When a Service resource is created and a no selector is specified, no changes are made
to any corresponding Endpoints object.
- id: service/type/ClusterIP/empty
description: When the Service type is specified as "ClusterIP" and the clusterIP
field is empty, a cluster-internal IP address for load-balancing to endpoints is
allocated.
- id: service/type/ClusterIP/static
description: When the Service type is specified as "ClusterIP" and the clusterIP
field is specified as an IP address in the cluster service range, and that IP is
not already assigned to another service, that IP is be allocated as a cluster-internal
IP address for load-balancing to endpoints.
- id: service/type/ClusterIP/None
description: When the Service type is specified as "ClusterIP" and the clusterIP
field is "None", no virtual IP is allocated and the endpoints are published as a
set of endpoints rather than a stable IP.
- id: service/type/NodePort
description: When the Service type is specified as "NodePort" , a cluster-internal
IP address for load-balancing to endpoints is allocated as for type "ClusterIP".
Additionally, a cluster-wide port is allocated on every node, routing to the clusterIP.
- id: service/type/ExternalName
description: When the Service type is specified as "ExternalName", the cluster DNS provider
publishes a CNAME pointing from the service to the specified external name.

View File

@ -0,0 +1,7 @@
suite: pod/readinessGates
description: Suite for pod readiness gates
behaviors:
- id: pod/readinessGates/single
description: If a readinessGate is specified and the corresponding condition is not "True", then the Pod Ready condition MUST be "False", even if all containers are Ready.
- id: pod/readinessGates/multiple
description: If multiple readinessGates are specified and the corresponding condition is not "True" for one or more of these, then the Pod Ready condition MUST be "False", even if all containers are Ready.

View File

@ -0,0 +1,43 @@
suite: pod/spec
description: Base suite for pods
behaviors:
- id: pod/basic-create
description: When a Pod resource is created with a single container and sufficient resources, a Pod MUST be created on a node with the specified container image.
- id: pod/basic-delete
description: When a Pod resource is delete, the Pod containers must receive a TERM signal and the Pod MUST be deleted.
- id: pod/hostname
description: When the hostname field is set, a container running in the Pod MUST report the hostname as the specified value.
- id: pod/subdomain
description: If specified, the fully qualified Pod hostname will be "<hostname>.<subdomain>.<pod
namespace>.svc.<cluster domain>". If not specified, the pod will not have a
domainname at all.
- id: pod/terminationGracePeriodSeconds/in-spec
description: When the terminationGracePeriodSeconds is specified in the spec,
processes running in the Pod MUST NOT receive a hard termination signal for at
least that number of seconds after a delete request.
- id: pod/terminationGracePeriodSeconds/in-delete
description: When the terminationGracePeriodSeconds is specified in a delete request,
processes running in the Pod MUST NOT receive a hard termination signal for at
least that number of seconds after the delete request.
- id: pod/activeDeadlineSeconds
description: Optional duration in seconds the pod may be active on the node relative
to StartTime before the system will actively try to mark it failed and kill
associated containers. Value must be a positive integer.
- id: pod/hostNetwork/true
description: When hostNetwork is set to true, the Pod MUST use the host's network
namespace.
- id: pod/hostNetwork/false
description: When hostNetwork is set to false, the Pod MUST NOT use the host's network
namespace.
- id: pod/hostPID/true
description: When hostPID is set to true, the Pod MUST use the host's process
namespace.
- id: pod/hostPID/false
description: When hostPID is set to false, the Pod MUST NOT use the host's process
namespace.
- id: pod/hostIPC/true
description: When hostIPC is set to true, the Pod MUST use the host's inter-process
communication namespace.
- id: pod/hostIPC/false
description: When hostIPC is set to false, the Pod MUST NOT use the host's inter-process
communication namespace.