Commit Graph

455 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
aeac661b1c Merge pull request #44108 from csbell/fed-disable-orphan
Automatic merge from submit-queue

[Federation] Use cascading deletion when deleting resources in underlying clusters

The Federation control plane issues a delete command unless it wants to orphan the underlying per-cluster resource. When issuing that command, always set the orphanDependents to false.

/release-note-none
/sig-federation
2017-04-06 00:48:42 -07:00
Kubernetes Submit Queue
586e6d034f Merge pull request #44084 from nikhiljindal/removeFinalizers
Automatic merge from submit-queue (batch tested with PRs 44084, 42964)

Removing both finalizers in federation controllers in a single update

Fixes https://github.com/kubernetes/kubernetes/issues/43828

There is a bug right now where the controller fails to delete the object if one finalizer is removed and the second isnt.
This updates the code so that both the finalizers are removed in a single API call. Kept the code changes minimum to enable cherrypick in 1.6.x

cc @csbell @kubernetes/sig-federation-bugs
2017-04-05 20:45:18 -07:00
nikhiljindal
607d34132d Autogenerated bazel changes 2017-04-05 18:21:24 -07:00
nikhiljindal
0655f3d61a Removing both finalizers in federation controller in a single update 2017-04-05 18:21:23 -07:00
Christian Bell
39d4fbfe36 fed: Disable orphaning of per-cluster resources on deletion.
The Federation control plane issues a delete command unless it wants to orphan the underlying per-cluster resource. When issuing that command, always set the orphanDependents to false.
2017-04-05 13:07:28 -07:00
NickrenREN
5439d1b576 Update some event types 2017-04-05 15:16:56 +08:00
Maru Newby
bc67565070 fed: Refactor secret controller start for reuse 2017-03-30 12:58:39 -07:00
Maru Newby
6d656dfe4a fed: Enable cluster controller stop and refactor start for reuse 2017-03-30 12:58:39 -07:00
Maru Newby
522aeb7f36 fed: s/NewclusterController/NewClusterController 2017-03-30 12:58:39 -07:00
Kubernetes Submit Queue
7d7d91fb71 Merge pull request #42567 from FengyunPan/fix_UpdateClusterStatus
Automatic merge from submit-queue (batch tested with PRs 41297, 42638, 42666, 43039, 42567)

Delete offline restclient from clusterKubeClientMap

When federation controller manager checks cluster status, it will
delete the offline cluster from clusterSet, but do not delete the
corresponding restclient from the map clusterKubeClientMap for
the offline cluster. This patch can fix it.



**What this PR does / why we need it**:

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
```
2017-03-25 18:15:26 -07:00
Kubernetes Submit Queue
1e092179b5 Merge pull request #42723 from FengyunPan/update_description
Automatic merge from submit-queue

Update the description to match function

The description of NewReplicaSetController() does not match
its function, and the description of NewDeploymentController()
does not match its function. Let's update their descriptions.



**What this PR does / why we need it**:

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
```
2017-03-24 11:27:50 -07:00
Kubernetes Submit Queue
f880340314 Merge pull request #43231 from csbell/service-race
Automatic merge from submit-queue

[Federation] Fix deletion logic in service controller

This is a regression from 1.5 exposed by cascading deletions. In order to apply updates, the service controller locks access to a cached service and spawns go routines without waiting for them. When updates and deletions arrive in quick succession, previous goroutines remain active and race with the deletion logic. Coupled with this, the service_helper was not re-evaluating the value of the DeletionTimestamp.

Without this patch, federation will sometimes leak resources at destruction time about half the time.

In e2e land, about 4-5 test runs cause service tests to eat up all global fwd-ing rules and in turn, every subsequent ingress test will fail until we manually clean up leaked resources. No possibility to go green in fed e2e until this is merged.
2017-03-20 00:19:23 -07:00
Christian Bell
3769435a45 Fix deletion logic in service controller.
This is a regression from 1.5 exposed by cascading deltions. In order to apply updates, the service controller locks access to a cached service and spawns go routines without waiting for them. When updates and deletions arrive in quick succession, previous goroutines remain active and race with the deletion logic. Coupled with this, the service_helper was not re-evaluating the value of the DeletionTimestamp.

Without this patch, federation will sometimes leak resources at destruction time.
2017-03-19 22:49:21 -07:00
Marcin Wielgus
77024470f3 Fix federated config map unit tests 2017-03-16 20:36:00 +01:00
FengyunPan
d5798fac5c Delete cluster client for a Cluster deletion
When federation controller manager checks cluster status, it will
delete the offline cluster from clusterSet, but do not delete the
corresponding restclient from the map clusterKubeClientMap for
the offline cluster. This patch can fix it.
2017-03-14 14:51:28 +08:00
Maru Newby
02a294533b fed: Fix flakey ingress unit test
The unit test for the ingress controller was previously adding
a cluster twice, which resulted in a cluster being deleted and added
back.  The deletion was racing the controller shutdown to close
informer channels.  This change ensures that the informer clears its
map of informers when Stop() is called to prevent a double close, and
that the test no longer adds the cluster twice.
2017-03-13 13:18:06 -07:00
Christian Bell
9a37fe6dff [Federation] Deployments unaware of ReadyReplicas
The Deployment controller was not propagating ReadyReplicas to underlying clusters causing these errors:
```
Error syncing cluster controller: Deployment.apps "federation-deployment" is invalid: status.availableReplicas: Invalid value: 5: cannot be greater than readyReplicas
```

This was caught in e2e testing and is a 1.6 regression for support that was added in #37959. Without this fix, users will be unable to scale up their deployments.
2017-03-10 15:00:02 -08:00
FengyunPan
9777273828 Update the description to match function
The description of NewReplicaSetController() does not match
its function, and the description of NewDeploymentController()
does not match its function. Let's update their descriptions.
2017-03-08 19:31:35 +08:00
shashidharatd
867d49569e Fix federation controller-manager initialization 2017-03-06 02:58:10 +05:30
Kubernetes Submit Queue
2ebf6edef3 Merge pull request #41942 from csbell/fw-name
Automatic merge from submit-queue

Add ProviderUid support to Federated Ingress

This PR (along with GLBC support [here](https://github.com/kubernetes/ingress/pull/278)) is a proposed fix for #39989. The Ingress controller uses a configMap reconciliation process to ensure that all underlying ingresses agree on a unique UID. This works for all of GLBC's resources except firewalls which need their own cluster-unique UID. This PR introduces a ProviderUid which is maintained and synchronized cross-cluster much like the UID. We chose to derive the ProviderUid from the cluster name (via md5 hash).

Testing here is augmented to guarantee that configMaps are adequately propagated prior to Ingress creation.

```release-note
Federated Ingress over GCE no longer requires separate firewall rules to be created for each cluster to circumvent flapping firewall health checks.
```

cc @madhusudancs @quinton-hoole
2017-03-04 02:51:04 -08:00
Kubernetes Submit Queue
6675dada8d Merge pull request #42375 from nikhiljindal/controllerRequiredResources
Automatic merge from submit-queue (batch tested with PRs 42369, 42375, 42397, 42435, 42455)

Fixing federation controllers to support controllers flag

Fixes https://github.com/kubernetes/kubernetes/issues/42374

cc @kubernetes/sig-federation-pr-reviews
2017-03-03 23:21:40 -08:00
Christian Bell
8fff7c8805 Add support for 'providerUid' in ingress objects. The providerUid
gives each ingress object a cluster-unique Uid that can be
leveraged by ingress providers.

In the process, supplement the testing of configMap updates to
ensure that the updates are propagated prior to any ingress
object being created. Configmap key/vals for Uid and ProviderUid
must exist at time of Ingress creation.
2017-03-02 11:18:22 -08:00
Kubernetes Submit Queue
adc5293ce6 Merge pull request #41841 from csbell/dont-disable-configmap
Automatic merge from submit-queue (batch tested with PRs 41931, 39821, 41841, 42197, 42195)

Revert conditional updates to configmap that breaks ingress

Don't prevent configmap updates to happen on existing ingress-uid configmap despite the lack of ingress objects. Otherwise, ingress objects get created with the wrong name.
2017-03-01 20:07:59 -08:00
nikhiljindal
244f8c87ea autogenerated bazel changes 2017-03-01 17:50:51 -08:00
nikhiljindal
6d891be3be Fixing federation controllers to support controllers flag 2017-03-01 17:50:51 -08:00
Chao Xu
5bfacf59f6 API 2017-02-28 23:05:40 -08:00
Dr. Stefan Schimanski
f11d76ae44 Update client 2017-02-27 22:01:57 +01:00
Dr. Stefan Schimanski
395be3b401 apimachinery: handle duplicated and conflicting type registration 2017-02-27 21:58:21 +01:00
Kubernetes Submit Queue
15ddc69217 Merge pull request #41927 from ncdc/shared-informers-15-federation
Automatic merge from submit-queue (batch tested with PRs 42044, 41694, 41927, 42050, 41987)

federation: use generated listers

**What this PR does / why we need it**: switch federation code to use generated listers

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
```

cc @smarterclayton @derekwaynecarr @marun @gmarek @wojtek-t @deads2k @liggitt @sttts @timothysc @nikhiljindal @jianhuiz @kubernetes/sig-federation-pr-reviews @kubernetes/sig-scalability-pr-reviews
2017-02-26 23:16:53 -08:00
Kubernetes Submit Queue
2a6414bc91 Merge pull request #42044 from timchenxiaoyu/daemonnotdeamon
Automatic merge from submit-queue

daemon not deamon
2017-02-26 22:45:32 -08:00
timchenxiaoyu
5ec5e0be49 daemon not deamon 2017-02-24 17:15:51 +08:00
Andy Goldstein
a3a2246f73 federation: use generated listers 2017-02-23 13:56:52 -05:00
Alejandro Escobar
a56a694be9 moved multiple duplicate strings to constants, updated test that when flacking paniced instead of just failing.
updated tests to avoid panic if channel returns nil.

updated tests based on PR recs.
2017-02-23 09:48:07 -08:00
Christian Bell
676291474a Revert conditional updates to configmap that breaks ingress 2017-02-21 18:02:58 -08:00
deads2k
db0b0bd0f5 move metav1 conversions to metav1 2017-02-14 11:47:23 -05:00
Christian Bell
eceba860d4 Add finalizers to federated configmaps 2017-02-13 14:36:17 -08:00
nikhiljindal
ca6f821738 Autogenerated bazel changes 2017-02-06 10:50:40 -08:00
nikhiljindal
74676f6995 Updating federation namespace controller to share namespaced resources deletion code with kube namespace controller 2017-02-06 10:50:40 -08:00
nikhiljindal
740aa93838 Fix deployment unit test by adding a dummy update reactor 2017-02-03 12:16:13 -08:00
nikhiljindal
64643c6582 Update the tests to check for only one update finalizer operation 2017-02-02 22:04:12 -08:00
nikhiljindal
78ab9ae218 Adding both finalizers in federation controller in a single update 2017-02-02 22:04:11 -08:00
Dr. Stefan Schimanski
de2eee391a Update bazel 2017-02-02 15:19:04 +01:00
Dr. Stefan Schimanski
ef8bb4e7e7 Move pkg/api.FinanlizerOrphan into metav1 2017-02-02 15:17:34 +01:00
Kubernetes Submit Queue
96cfe7b938 Merge pull request #36734 from YuPengZTE/devPunctuation
Automatic merge from submit-queue

error strings should not end with punctuation

**What this PR does / why we need it**:
Delete the end punctuation of error strings
**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:
https://github.com/golang/go/wiki/CodeReviewComments#error-strings
**Release note**:

```release-note
```

Signed-off-by: yupeng <yu.peng36@zte.com.cn>
2017-02-01 02:55:48 -08:00
deads2k
8a12000402 move client/record 2017-01-31 19:14:13 -05:00
deads2k
2c1c0f3f72 move workqueue to client-go 2017-01-30 09:08:21 -05:00
deads2k
9488e2ba30 move testing/core to client-go 2017-01-26 13:54:40 -05:00
deads2k
2734f8f892 move dynamic and discovery clients 2017-01-26 08:37:06 -05:00
Dr. Stefan Schimanski
a0137e9b28 Update generated files 2017-01-25 19:49:45 +01:00
Dr. Stefan Schimanski
d7eb3b6870 pkg/util: move uuid and strategicpatch into k8s.io/apimachinery 2017-01-25 19:45:09 +01:00
deads2k
b0b156b381 make tools/cache authoritative 2017-01-25 08:29:45 -05:00
Clayton Coleman
be6d2933df
refactor: Move *Options references to metav1 2017-01-24 13:41:51 -05:00
deads2k
5a8f075197 move authoritative client-go utils out of pkg 2017-01-24 08:59:18 -05:00
Clayton Coleman
469df12038
refactor: move ListOptions references to metav1 2017-01-23 17:52:46 -05:00
Antoine Pelisse
62af7dd33d OWNERS: Update latest OWNERS files
These files have been created lately, so we don't have much information
about them anyway, so let's just:
- Remove assignees and make them approvers
- Copy approves as reviewers
2017-01-23 10:05:48 -08:00
deads2k
335ef747d6 mechanical 2017-01-23 10:03:55 -05:00
deads2k
1ce0637b27 move listers out of cache to reduce import tree 2017-01-20 15:01:38 -05:00
deads2k
ee6752ef20 find and replace 2017-01-20 08:04:53 -05:00
deads2k
c587b8a21e re-run client-gen 2017-01-20 08:02:36 -05:00
deads2k
c47717134b move utils used in restclient to client-go 2017-01-19 07:55:14 -05:00
deads2k
cdb2934bbc remove kubernetes copy of clientcmd types 2017-01-19 07:39:19 -05:00
Clayton Coleman
9a2a50cda7
refactor: use metav1.ObjectMeta in other types 2017-01-17 16:17:19 -05:00
deads2k
f31ecdd0f7 generated changes 2017-01-17 08:32:05 -05:00
deads2k
26c46971f2 move PatchType to apimachinery 2017-01-17 08:32:05 -05:00
Kubernetes Submit Queue
f74b4bbbad Merge pull request #38094 from yarntime/fix_update_typo
Automatic merge from submit-queue

fix typos

fix typos.
2017-01-16 18:22:33 -08:00
deads2k
77b4d55982 mechanical 2017-01-16 09:35:12 -05:00
Klaus Ma
25fe1e0d82 Made cache.Controller to be interface. 2017-01-13 13:33:23 +08:00
Kubernetes Submit Queue
9d0b999e6d Merge pull request #39327 from shashidharatd/federation
Automatic merge from submit-queue (batch tested with PRs 39475, 38666, 39327, 38396, 39613)

Fix a bug in cascading deletion of federation objects

When FinalizerOrphan is present and set to true in federated object we are currently removing the FinalizerOrphan first and then removing FinalizerDeleteFromUnderlyingClusters. if a reconciliation is triggered in between the finalizer removals, it has undesired effect of object deletion in federated cluster.

So we should remove  FinalizerDeleteFromUnderlyingClusters first and then remove FinalizerOrphan, when FinalizerOrphan is set to true.

@nikhiljindal, @madhusudancs
2017-01-11 09:14:54 -08:00
deads2k
6a4d5cd7cc start the apimachinery repo 2017-01-11 09:09:48 -05:00
yarntime@163.com
f7c737e8a9 fix typos 2017-01-11 16:08:20 +08:00
Kubernetes Submit Queue
94cca27385 Merge pull request #36390 from nikhiljindal/cascDelSvc
Automatic merge from submit-queue (batch tested with PRs 38212, 38792, 39641, 36390, 39005)

Updating federated service controller to support cascading deletion

Ref https://github.com/kubernetes/kubernetes/issues/33612

Service controller is special than other federation controllers because it does not use federatedinformer and updater to sync services (it was written before we had those frameworks).
Updating service controller code to instantiate these frameworks and then use deletion helper to perform cascading deletion.
Note that, I havent changed the queuing logic in this PR so we still dont use federated informer to manage the queue. Will do that in the next PR.

cc @kubernetes/sig-federation-misc  @mwielgus @quinton-hoole


```release-note
federation: Adding support for DeleteOptions.OrphanDependents for federated services. Setting it to false while deleting a federated service also deletes the corresponding services from all registered clusters.
```
2017-01-10 19:48:14 -08:00
Kubernetes Submit Queue
36eae5a01c Merge pull request #38352 from yarntime/fix_operation_typo
Automatic merge from submit-queue (batch tested with PRs 39628, 39551, 38746, 38352, 39607)

fix typos

fix typos.
2017-01-10 11:54:19 -08:00
nikhiljindal
e7f9f54acd autogenerated bazel changes 2017-01-09 17:08:53 -08:00
nikhiljindal
1b4a998bcb Updating federation service controller to support cascading deletion 2017-01-09 17:08:52 -08:00
Jeff Grafton
20d221f75c Enable auto-generating sources rules 2017-01-05 14:14:13 -08:00
shashidharatd
526590007c Fix a bug in cascading deletion of federation objects 2016-12-31 00:53:10 +05:30
Mike Danese
161c391f44 autogenerated 2016-12-29 13:04:10 -08:00
Kubernetes Submit Queue
8c28bb3a5a Merge pull request #37659 from mwielgus/update-namespace
Automatic merge from submit-queue

Enable update tests in federated namespace controller

Previously it was disabled because of flakiness.

cc: @nikhiljindal @madhusudancs
2016-12-27 08:30:35 -08:00
Kubernetes Submit Queue
45d2449f13 Merge pull request #39061 from xulike666/fix-typo-assistant
Automatic merge from submit-queue

Fix typo for federation/*

**What this PR does / why we need it**:
 Increase code readability for this new member in v1.5

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: 

**Special notes for your reviewer**: 
Could we develop a typo-fix bot along with a k8s terminology dictionary ? 

**Release note**:

```release-note
```
2016-12-21 07:07:29 -08:00
Aaron.L.Xu
853167624e fix typo for federation/* 2016-12-20 20:00:10 -08:00
yupeng
af2a143404 fix typo
Signed-off-by: yupeng <yu.peng36@zte.com.cn>
2016-12-20 11:38:56 +08:00
Chao Xu
6709b7ada2 run hack/update-codegen.sh
run hack/verify-gofmt.sh
update bazel
2016-12-14 12:39:49 -08:00
Chao Xu
c81057be2c move federation_release_1_5 to federation_clientset 2016-12-14 12:39:49 -08:00
Chao Xu
03d8820edc rename /release_1_5 to /clientset 2016-12-14 12:39:48 -08:00
Mike Danese
c87de85347 autoupdate BUILD files 2016-12-12 13:30:07 -08:00
Wojciech Tyczynski
aa7da5231f Update bazel files 2016-12-09 09:42:02 +01:00
Wojciech Tyczynski
e8d1cba875 GetOptions in client calls 2016-12-09 09:42:01 +01:00
Kubernetes Submit Queue
133117e146 Merge pull request #35116 from shashidharatd/fed-coredns-provider
Automatic merge from submit-queue

Add CoreDNS as Federation DNS provider

This PR contains following
1. DNS provider implementation for CoreDNS with etcd as backend
2. Script for optionally deploying CoreDNS in federation control plane

Still to do:
1. HA for CoreDNS service need to be handled, would be taken up in subsequent PR
2. Need to configure CoreDNS as fallback DNS to in-cluster KubeDNS(Manual Step). Need to consider automation.

Request for review: @quinton-hoole @madhusudancs @nikhiljindal @kshafiee @deepak-vij
cc @kubernetes/sig-cluster-federation
2016-12-08 18:50:05 -08:00
Jordan Liggitt
6819706adf
Pass addressable values to DeepCopy 2016-12-08 14:16:01 -05:00
yarntime@163.com
c747586b07 fix typo 2016-12-08 09:56:01 +08:00
Kubernetes Submit Queue
e56b1ec1cd Merge pull request #38173 from yarntime/fix_typo_in_ingress
Automatic merge from submit-queue

fix typo in ingress

fix typo.
2016-12-06 21:11:05 -08:00
shashidharatd
2807e8050e Implement CoreDNS as external dns provider for federation 2016-12-06 16:20:55 +05:30
yarntime@163.com
16c582ed37 fix typo 2016-12-06 17:18:25 +08:00
Kevin Wang
007d7a802f Add option to disable federation ingress controller 2016-12-06 15:14:21 +11:00
Marcin Wielgus
b70e194fea Enable update tests in federated namespace controller 2016-12-05 19:40:54 +01:00
Marcin
3b255d8955 Bazel update for federated secret controller tests 2016-12-05 13:00:21 +01:00
Marcin Wielgus
3e61baf3f0 Enable update tests for federated secret controller 2016-12-05 12:58:33 +01:00
Kubernetes Submit Queue
778bab2b81 Merge pull request #37407 from mwielgus/ingress_ctrl_fix
Automatic merge from submit-queue

Enable updates in federated ingress controller tests

And make channel in test helper non-blocking.

cc: @nikhiljindal @madhusudancs
2016-12-05 02:41:44 -08:00
Clayton Coleman
3454a8d52c
refactor: update bazel, codec, and gofmt 2016-12-03 19:10:53 -05:00
Clayton Coleman
5df8cc39c9
refactor: generated 2016-12-03 19:10:46 -05:00
yupeng
31c46e1d2c error strings should not end with punctuation
Signed-off-by: yupeng <yu.peng36@zte.com.cn>
2016-12-03 15:42:47 +08:00
Marcin
be979ac276 Update bazel for ingress tests 2016-12-02 15:13:14 +01:00
Marcin Wielgus
ac8184dfcc Ingress test fixes 2016-12-02 15:13:08 +01:00
Marcin
a50b8c9ab3 Bazel update 2016-12-01 15:15:29 +01:00
Marcin Wielgus
741aa4898e Enable update unit test in federated daemonset controller 2016-12-01 15:15:26 +01:00
Kubernetes Submit Queue
737edd02a4 Merge pull request #35258 from feiskyer/package-aliase
Automatic merge from submit-queue

Fix package aliases to follow golang convention

Some package aliases are not not align with golang convention https://blog.golang.org/package-names. This PR fixes them. Also adds a verify script and presubmit checks.

Fixes #35070.

cc/ @timstclair @Random-Liu
2016-11-30 16:39:46 -08:00
Kubernetes Submit Queue
9068bdc693 Merge pull request #37572 from mwielgus/ing-fix-loop
Automatic merge from submit-queue

Fix infinte loop in federated ingress controller

Previously ingress controller was constantly scheduling reconcilation, even if no updates were needed. That behavior creates a big mess in the logs and consumes resources. 

This pr also fixes the stop function for federated ingress controller.

cc: @nikhiljindal @madhusudancs
2016-11-30 10:00:51 -08:00
Kubernetes Submit Queue
d9fcabcbd0 Merge pull request #37290 from mwielgus/rev-fed-dep
Automatic merge from submit-queue

Revision handling in federated deployment controller

Deployment controller in regular kubernetes automatically adds an annotation in deployment. This causes a bit of confusion in controller and tests. This PR skips revision annotation in checks. In the next K8S release we will need to have better support for deployment revisions. 

Helps with #36588

cc: @nikhiljindal @madhusudancs
2016-11-30 09:21:25 -08:00
Kubernetes Submit Queue
d51f07b60d Merge pull request #37353 from nikhiljindal/serviceDelete
Automatic merge from submit-queue

Stop deleting underlying services when federation service is deleted

Fixes https://github.com/kubernetes/kubernetes/issues/36799

Fixing federation service controller to not delete services from underlying clusters when federated service is deleted.
None of the federation controller should do this unless explicitly asked by the user using DeleteOptions. This is the only federation controller that does that.

cc @kubernetes/sig-cluster-federation @madhusudancs

```release-note
federation service controller: stop deleting services from underlying clusters when federated service is deleted.
```
2016-11-30 06:02:39 -08:00
Pengfei Ni
f584ed4398 Fix package aliases to follow golang convention 2016-11-30 15:40:50 +08:00
Kubernetes Submit Queue
631612028a Merge pull request #37323 from nikhiljindal/firstClusterPR
Automatic merge from submit-queue

Fixing the logic to select first cluster in federated ingress controller

Ref https://github.com/kubernetes/kubernetes/issues/36074.

Before this change, ingress controller was using cluster with clusterIndex = 0 as the first cluster to create the ingress in.
But the ordering of clusters can change and hence ingress controller ended up creating the ingress in multiple clusters.
This PR fixes it by using an annotation on federated ingress. Controller now picks up a cluster randomly as the first cluster and creates ingress there. This clusters name is stored as an annotation on the federated ingress. Contoller does not create an ingress in any other cluster if this annotation is set on the federated ingress and IP has not been propagated. Once IP has been propagated, controller creates the ingress in all clusters.

cc @kubernetes/sig-cluster-federation @madhusudancs
2016-11-29 09:00:14 -08:00
Marcin Wielgus
d3155002b8 Fix infinte loop in federated ingress controller 2016-11-28 21:42:06 +01:00
Chao Xu
bcc783c594 run hack/update-all.sh 2016-11-23 15:53:09 -08:00
Chao Xu
eca157588d federation 2016-11-23 15:53:09 -08:00
nikhiljindal
34eae2207e Stop deleting underlying services when federation service is deleted 2016-11-23 13:02:39 -08:00
nikhiljindal
63799452b2 Fixing the logic to select first cluster in federated ingress controller 2016-11-23 10:54:29 -08:00
Kubernetes Submit Queue
5c918def7a Merge pull request #36602 from jianhuiz/federation-replicaset-controller-ready-available-replicas
Automatic merge from submit-queue

populate ready replicas and aviable replicas to federated replicaset …

populate ready replicas and aviable replicas to federated replicaset status

@nikhiljindal #33312
#29481 #32771

@deepak-vij
2016-11-22 20:45:24 -08:00
Kubernetes Submit Queue
280560a1eb Merge pull request #37271 from nikhiljindal/E2edsi
Automatic merge from submit-queue

Fixing the ingress annotation key in federated ingress controller

Fixing a few issues found during debugging https://github.com/kubernetes/kubernetes/issues/36074.

cc @kubernetes/sig-cluster-federation @madhusudancs @bprashanth
2016-11-22 16:10:04 -08:00
Marcin Wielgus
11b9706a19 Revision handling in federated deployment controller 2016-11-22 16:20:15 +01:00
nikhiljindal
e98e335718 Fixing the ingress annotation key in federated ingress controller 2016-11-21 22:49:02 -08:00
Kubernetes Submit Queue
ab184e1b1f Merge pull request #36399 from mwielgus/fedrc1
Automatic merge from submit-queue

Make desired objects in fed controller reconcilation function fully writable

When creating desired objects for sub-cluster in reconciliate functions we don't make full copies. This may result in unexpected race condition in the future when someone actually adds some object modifications (not needed in most cases but anyway - the cost of extra copy will be relatively small comparing to inter-cluster traffic). In case of ReplicaSet and Deployment the spec copy was a shallow one - ok for setting just replicas but also error-prone in the future.

cc: @quinton-hoole @nikhiljindal @madhusudancs
2016-11-21 00:00:26 -08:00
Kubernetes Submit Queue
47a431e82f Merge pull request #36336 from justinsb/federation_dns_hosted_zone_2
Automatic merge from submit-queue

Federation: allow specification of dns zone by ID
2016-11-17 00:49:09 -08:00
Kubernetes Submit Queue
3e6210994c Merge pull request #36605 from mwielgus/test-fix-1
Automatic merge from submit-queue

Federation test util fix - 1

* Make nil and empty map equivalent when testing ObjectMeta equivalence
* Add a function that waits for a particular content inside federated store

cc: @nikhiljindal @madhusudancs
2016-11-11 08:21:59 -08:00
Marcin Wielgus
2fb71ed955 Test equality in get from storage 2016-11-11 16:00:16 +01:00
Marcin Wielgus
92c3e20e93 Make null and empty as equivalent in ObjectMetaEquivalent 2016-11-11 16:00:16 +01:00
Kubernetes Submit Queue
e4e3e41522 Merge pull request #36613 from mwielgus/watcher-fix-2
Automatic merge from submit-queue

Ensure proper serialization of updates and creates in federation test watcher

Fix for finalizer test problems. The issue there was that the updates were coming out of order. It was caused by firing updates in new goroutines in test watcher. The proper solution is to order them in a queue and fire in order on a single goroutine.

Ref: https://github.com/kubernetes/kubernetes/issues/36473#issuecomment-259605870

cc: @nikhiljindal @madhusudancs
2016-11-10 16:28:24 -08:00
Marcin Wielgus
3540846fbe Ensure proper serialization of updates and creates in federation test watcher 2016-11-10 23:23:24 +01:00
Marcin
41e13fcfa7 Automaticaly generated bazel 2016-11-10 21:37:04 +01:00
Marcin Wielgus
b560066e01 Wait for deployment in the storage in deployment controller test 2016-11-10 21:08:32 +01:00
jianhuiz
939ae93e87 populate ready replicas and aviable replicas to federated replicaset status 2016-11-10 10:11:10 -08:00
Kubernetes Submit Queue
7d312c2b47 Merge pull request #36476 from nikhiljindal/deployRS
Automatic merge from submit-queue

Adding cascading deletion support to federation replicaset and deployments

Forked from https://github.com/kubernetes/kubernetes/pull/36330

Ref #33612
Adding cascading deletion support for federated replicasets and deployments.

```release-note
federation: Adding support for DeleteOptions.OrphanDependents for federated replicasets and deployments. Setting it to false while deleting a federated replicaset or deployment also deletes the corresponding resource from all registered clusters.
```
2016-11-10 05:36:43 -08:00
nikhiljindal
675da90d51 autogenerated bazel and test owner changes 2016-11-09 21:41:19 -08:00
nikhiljindal
7c721cbc2f Updating federation ingress controller to support cascading deletion 2016-11-09 21:39:51 -08:00
nikhiljindal
434b1cc406 Updating daemon set controller to support cascading deletion 2016-11-09 21:39:51 -08:00
nikhiljindal
6b5375b32c Disabling flaky unit tests 2016-11-09 12:22:36 -08:00
nikhiljindal
d26c438a72 autogenerated bazel and test owner changes 2016-11-08 20:05:04 -08:00
nikhiljindal
1802400700 Updating deployment controller to support cascading deletion 2016-11-08 20:05:04 -08:00
nikhiljindal
54c2fbbfdf Updating federation replicaset controller to support cascading deletion 2016-11-08 20:05:04 -08:00
nikhiljindal
8ca1b3092f Fixing federation secret controller unit test flakiness 2016-11-08 14:08:59 -08:00
Marcin Wielgus
f91b3feee4 Make objects in fed controller reconcilation function fully writable 2016-11-08 11:16:31 +01:00
Kubernetes Submit Queue
a0758f6767 Merge pull request #36338 from nikhiljindal/delCode
Automatic merge from submit-queue

Deleting dead code from federation service controller
2016-11-07 23:41:32 -08:00
Kubernetes Submit Queue
d8fa6a99a2 Merge pull request #36296 from nikhiljindal/cascDelFedSecret
Automatic merge from submit-queue

Adding cadcading deletion support for federated secrets

Ref https://github.com/kubernetes/kubernetes/issues/33612

Adding cascading deletion support for federated secrets.
The code is same as that for namespaces.  Just ensuring that DeletionHelper functions are called at right places in secret_controller.
Also added e2e tests.

cc @kubernetes/sig-cluster-federation @caesarxuchao

```release-note
federation: Adding support for DeleteOptions.OrphanDependents for federated secrets. Setting it to false while deleting a federated secret also deletes the corresponding secrets from all registered clusters.
```
2016-11-07 22:15:08 -08:00
Justin Santa Barbara
df4280651c Federation: allow specification of dns zone by ID
If we have a public & private zone with the same name (which is common
on AWS), this means we can still create records.  Also tighten up some
of the logic to allow for zones with duplicate names.
2016-11-07 17:21:36 -05:00
nikhiljindal
11ede23257 bazel changes 2016-11-07 11:43:00 -08:00
nikhiljindal
17b2178222 Adding cadcading deletion support to federated secrets 2016-11-07 11:42:59 -08:00
nikhiljindal
647b826d69 Fix a data race condition in federation namespace controller 2016-11-07 11:34:27 -08:00
Kubernetes Submit Queue
e6fadcbf4b Merge pull request #36283 from nikhiljindal/nscascdelTests
Automatic merge from submit-queue

Adding more e2e tests for federated namespace cascading deletion and fixing bugs

Ref https://github.com/kubernetes/kubernetes/issues/33612

Adding more e2e tests for testing cascading deletion of federated namespace.
New tests are now verifying that cascading deletion happen when DeletionOptions.OrphanDependents=false and it does not happen when DeleteOptions.OrphanDependents=true.

Also updated deletion helper to always add OrphanFinalizer. generic registry will remove it if DeleteOptions.OrphanDependents=false. Also updated namespace registry to do the same.

We need to add the orphan finalizer to keep the orphan by default behavior. We assume that its dependents are going to be orphaned and hence add that finalizer. If user does not want the orphan behavior, he can do so using DeleteOptions and then the registry will remove that finalizer.

cc @kubernetes/sig-cluster-federation @caesarxuchao @derekwaynecarr
2016-11-07 01:37:14 -08:00
nikhiljindal
1fe6ee8915 Deleting dead code from federation service controller 2016-11-06 21:48:05 -08:00
nikhiljindal
aa518d13de Adding more e2e tests for federated namespace cascading deletion and fixing a few bugs 2016-11-05 20:57:57 -07:00
Kubernetes Submit Queue
42fe4ab027 Merge pull request #35372 from justinsb/federation_dns_hosted_zone_1
Automatic merge from submit-queue

Federation: separate notion of zone-name & dns-suffix
2016-11-05 17:29:09 -07:00