kubernetes/pkg/controller
Khaled Henidak (Kal) 6675eba3ef
dual stack services (#91824)
* api: structure change

* api: defaulting, conversion, and validation

* [FIX] validation: auto remove second ip/family when service changes to SingleStack

* [FIX] api: defaulting, conversion, and validation

* api-server: clusterIPs alloc, printers, storage and strategy

* [FIX] clusterIPs default on read

* alloc: auto remove second ip/family when service changes to SingleStack

* api-server: repair loop handling for clusterIPs

* api-server: force kubernetes default service into single stack

* api-server: tie dualstack feature flag with endpoint feature flag

* controller-manager: feature flag, endpoint, and endpointSlice controllers handling multi family service

* [FIX] controller-manager: feature flag, endpoint, and endpointSlicecontrollers handling multi family service

* kube-proxy: feature-flag, utils, proxier, and meta proxier

* [FIX] kubeproxy: call both proxier at the same time

* kubenet: remove forced pod IP sorting

* kubectl: modify describe to include ClusterIPs, IPFamilies, and IPFamilyPolicy

* e2e: fix tests that depends on IPFamily field AND add dual stack tests

* e2e: fix expected error message for ClusterIP immutability

* add integration tests for dualstack

the third phase of dual stack is a very complex change in the API,
basically it introduces Dual Stack services. Main changes are:

- It pluralizes the Service IPFamily field to IPFamilies,
and removes the singular field.
- It introduces a new field IPFamilyPolicyType that can take
3 values to express the "dual-stack(mad)ness" of the cluster:
SingleStack, PreferDualStack and RequireDualStack
- It pluralizes ClusterIP to ClusterIPs.

The goal is to add coverage to the services API operations,
taking into account the 6 different modes a cluster can have:

- single stack: IP4 or IPv6 (as of today)
- dual stack: IPv4 only, IPv6 only, IPv4 - IPv6, IPv6 - IPv4

* [FIX] add integration tests for dualstack

* generated data

* generated files

Co-authored-by: Antonio Ojea <aojea@redhat.com>
2020-10-26 13:15:59 -07:00
..
apis/config Add back openapi gen for generic types and clean up doc.go 2020-10-16 10:54:15 -07:00
bootstrap Run hack/update-vendor.sh 2020-05-16 07:54:33 -04:00
certificates remove unused const failedExpiration 2020-10-22 18:57:36 +08:00
clusterroleaggregation Run hack/update-vendor.sh 2020-05-16 07:54:33 -04:00
cronjob Use pager's context instead of TODO 2020-09-23 20:18:03 +02:00
daemon Merge pull request #89482 from renatoviana12/master 2020-10-05 20:00:19 -07:00
deployment Merge pull request #89482 from renatoviana12/master 2020-10-05 20:00:19 -07:00
disruption Fixed percentage behavior in instr 2020-09-30 21:23:05 +01:00
endpoint dual stack services (#91824) 2020-10-26 13:15:59 -07:00
endpointslice dual stack services (#91824) 2020-10-26 13:15:59 -07:00
endpointslicemirroring find . -type f \( -name "*.go" -or -name "*.md" \) -print0 | xargs -0 gsed -i 's/the the /the /g' 2020-09-21 16:37:12 -04:00
garbagecollector Revert "Merge pull request #93156 from logicalhan/triage-api-machinery" 2020-07-24 13:01:02 +05:30
history automated refactor 2020-03-05 14:59:46 -08:00
job Number of failed jobs should exceed the backoff limit and not big equal. 2020-08-11 11:06:09 +03:00
namespace Fix namespace controller cleanup orphaning 2020-08-07 13:26:28 -04:00
nodeipam Add providerless tags 2020-07-30 13:48:40 -04:00
nodelifecycle Do not evict pods which tolerate all NoExecute taints 2020-08-05 12:50:43 -04:00
podautoscaler Merge pull request #90691 from arjunrn/container-resource-hpa 2020-10-23 05:51:51 -07:00
podgc code clean for podgc 2020-07-04 23:01:16 +08:00
replicaset test: ensure WaitForCacheSync is called after starting sharedInformerFacotry 2020-09-15 16:02:35 +08:00
replication Run update-bazel.sh 2020-06-22 10:49:15 +09:00
resourcequota Add more tests for LRU cache lookup 2020-09-04 15:09:03 +02:00
serviceaccount Move client_builder to k8s.io/controller-manager 2020-10-19 14:48:22 -07:00
statefulset Remove redundant variable 2020-10-16 09:53:34 +09:00
testutil Run hack/update-vendor.sh 2020-05-16 07:54:33 -04:00
ttl Lint ttl_controller 2020-09-28 14:22:37 +02:00
ttlafterfinished Replace StartLogging(klog.Infof) with StartStructuredLogging(0) 2020-06-15 17:48:35 +09:00
util dual stack services (#91824) 2020-10-26 13:15:59 -07:00
volume Merge pull request #94489 from ialidzhikov/fix/volume-expand 2020-10-19 15:08:07 -07:00
BUILD Move client_builder to k8s.io/controller-manager 2020-10-19 14:48:22 -07:00
client_builder_dynamic.go Move client_builder to k8s.io/controller-manager 2020-10-19 14:48:22 -07:00
controller_ref_manager_test.go remove unused code of (pkg/controller) 2018-10-09 08:15:30 +08:00
controller_ref_manager.go switch over k/k to use klog v2 2020-05-16 07:54:27 -04:00
controller_utils_test.go Do not swallow NotFound error for DeletePod in dsc.manage 2020-06-04 16:41:38 +08:00
controller_utils.go Migrate to log calls to klog.InfoS and klog.ErroS for pkg/controller 2020-06-05 13:23:01 +08:00
doc.go
informer_factory.go Use metadata informers instead of dynamic informers in controller manager 2019-07-11 12:18:52 -04:00
lookup_cache.go
OWNERS Adding cheftako to pkg/controller/OWNERS 2020-07-09 16:10:59 -07:00