Commit Graph

666 Commits (1014bc411a929e5586202fed923600d2724631e0)

Author SHA1 Message Date
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
Jess Frazelle 3bd8704489 Merge pull request #36536 from nikhiljindal/disableTest
Disabling flaky federation unit tests
2016-11-09 16:07:49 -05:00
nikhiljindal 6b5375b32c Disabling flaky unit tests 2016-11-09 12:22:36 -08:00
nikhiljindal a519506c35 Fixing scripts to bring up federation control plane 2016-11-09 09:47:24 -08:00
nikhiljindal 8ca1b3092f Fixing federation secret controller unit test flakiness 2016-11-08 14:08:59 -08:00
Kubernetes Submit Queue 0271eac28f Merge pull request #35765 from mfanjie/master
Automatic merge from submit-queue

register default functions for federation/apis/core

fix issue #35667 and all related e2e test fail on federation.
2016-11-08 09:53:14 -08: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
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
mbohlool c7129ff3d8 Update federation OpenAPI spec 2016-11-07 02:47:23 -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
Kubernetes Submit Queue 3c17fa5d36 Merge pull request #36048 from madhusudancs/federation-kubefed-init-10c
Automatic merge from submit-queue

[Federation][init-10c] Fix hyperkube binary path in the image and disable auth mechanisms we don't support for now.

Please review only the last commit here. This is based on PR #36047 which will be reviewed independently.

Design Doc: PR #34484

cc @kubernetes/sig-cluster-federation @nikhiljindal
2016-11-06 20:46:52 -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
Madhusudan.C.S 4618eedcf6 [Federation][init-10c] Disable auth mechanisms we don't support for now. 2016-11-05 19:38:45 -07:00
Madhusudan.C.S 41b39f3019 [Federation][init-10b] Update local kubeconfig with the new federation API server credentials. 2016-11-05 19:37:48 -07:00
Kubernetes Submit Queue c80acb4cb8 Merge pull request #35481 from smarterclayton/apidoc
Automatic merge from submit-queue

Describe graceful deletionTimestamp more accurately

Spawned from #34160
2016-11-05 18:51:47 -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
Madhusudan.C.S 8d8eca5f2a [Federation][init-10a] Make the federation API server and controller manager image names configurable.
This enables testing non-release images.
2016-11-05 16:42:14 -07:00
Madhusudan.C.S 1de77559f3 [Federation][init-09] Implement unit tests for `kubefed init`. 2016-11-05 16:35:42 -07:00
Kubernetes Submit Queue a788f662ea Merge pull request #30601 from madhusudancs/fed-cm-kubeconfig-from-flags
Automatic merge from submit-queue

Read the federation controller manager kubeconfig from a filesystem path

This decoupling from the Kubernetes API allows admins to run federation control plane components wherever they like, even outside Kubernetes. This also makes the federation controller manager read its config from one single place in a uniform and/or consistent way, instead of spreading the config around command line flags and secrets.

``` release-note
Federation controller manager can consume the federation API server kubeconfig from a file configured via --kubeconfig flag.

If you are upgrading your Cluster Federation components from v1.4.x, please update your `federation-apiserver` and `federation-controller-manager` manifests to the new version:
```

cc @kubernetes/sig-cluster-federation
2016-11-05 15:35:23 -07:00
Clayton Coleman 0be25e481b
generated: docs 2016-11-04 23:38:37 -04:00
Kubernetes Submit Queue ec6a5d279f Merge pull request #36019 from mwielgus/fed-secret-nn
Automatic merge from submit-queue

Switch federated secret controller to use NamespacedName

To make it cleaner and consistent with other controllers.

cc: @quinton-hoole
2016-11-04 20:24:19 -07:00
Marcin 8b91e49510 Autogenerated bazel 2016-11-05 01:14:09 +01:00
Madhusudan.C.S efafff4078 [Federation] Update the deprecated name for 1.5 and try with flags only when `--kubeconfig` is non-empty. 2016-11-04 11:31:31 -07:00
Madhusudan.C.S dbfc110934 For backwards compatibility, directly try to build the rest client config from the secret if --kubeconfig flag is empty. 2016-11-04 11:31:30 -07:00
Madhusudan.C.S 362c561bd4 Read the federation controller manager kubeconfig from a filesystem path.
This decoupling from the Kubernetes API allows admins to run federation
control plane components wherever they like, even outside Kubernetes.
2016-11-04 11:31:30 -07:00
Marcin d010d1d897 Autogen updates for configmap controller 2016-11-04 16:44:40 +01:00
Marcin Wielgus 493cdf9328 Federated ConfigMap controller 2016-11-04 16:43:00 +01:00
Madhusudan.C.S efea270553 [Federation][init-08] Refactor the tests by pulling the common utilities into a testing package.
This makes these utilities reusable by other packages.
2016-11-04 01:03:41 -07:00
Madhusudan.C.S dd365b42bf [Federation][init-07] Pull the default federation namespace into a constant. 2016-11-04 00:13:20 -07:00
Madhusudan.C.S caef02cf43 [Federation][init-06] Check for the availability of federation API server's service loadbalancer address before waiting.
This speeds up the tests. Otherwise tests end up unnecessarily waiting for the
poll interval/duration which is 5 seconds right now.
2016-11-04 00:12:11 -07:00
Madhusudan.C.S d70d961689 [Federation][init-05] Separate the notions of controller manager name and federation name in the controller manager deployment spec. 2016-11-03 16:12:03 -07:00
Madhusudan.C.S 47977fbbc4 [Federation][init-04] Explicitly specify the number of API server and controller manager replicas. 2016-11-03 15:45:53 -07:00
Madhusudan.C.S 1b929bd4c1 [Federation][init-03] Print the federation API server address on success. 2016-11-03 15:45:24 -07:00
Kubernetes Submit Queue fc6db328ce Merge pull request #35859 from madhusudancs/federation-kubefed-init-02
Automatic merge from submit-queue

[Federation][init-02] Stop passing command factory to the init command.

Please review only the last commit here. This is based on PR #35856 which will be reviewed independently.

Design Doc: PR #34484

cc @kubernetes/sig-cluster-federation @nikhiljindal
2016-11-03 13:53:03 -07:00
Kubernetes Submit Queue 758c56cc85 Merge pull request #35856 from madhusudancs/federation-kubefed-init-01
Automatic merge from submit-queue

[Federation] Add unit tests for `kubefed init`'s certificate generator.

Please review only the last commit here. This is based on PR #35594 which will be reviewed independently.

These are a subset of unit tests for code introduced in PR #35594

Design Doc: PR #34484

cc @kubernetes/sig-cluster-federation @quinton-hoole
2016-11-03 11:19:01 -07:00
Kubernetes Submit Queue 2f84a7c8d2 Merge pull request #35594 from madhusudancs/federation-kubefed-init-00
Automatic merge from submit-queue

[Federation][init] Implement `kubefed init` command that performs federation control plane bootstrap.

Please review only the last commit here. This is based on PR #35593 which will be reviewed independently.

I am intentionally not including the unit tests in this PR to better distribute and parallelize reviews. This PR is already big.

I will add a release note separately for this entire feature, so please don't worry too much about the release note here in the PR.

Design Doc: PR #34484

cc @kubernetes/sig-cluster-federation @quinton-hoole @nikhiljindal
2016-11-03 02:08:14 -07:00
Madhusudan.C.S b8109eae5b [Federation][init-02] Stop passing command factory to the init command.
Init command completely relies on the host factory, so it is unnecessary
to pass the default command factory to the init command.
2016-11-02 19:28:17 -07:00
Madhusudan.C.S 331ef53b69 [Federation][init-01] Add unit tests for `kubefed init`'s certificate generator. 2016-11-02 19:27:39 -07:00
Kubernetes Submit Queue 9a7ad2e20d Merge pull request #35592 from madhusudancs/federation-kubefed-04
Automatic merge from submit-queue

[Federation][(Un)join-01] Refactor common functions and structs into a util package.

Please review only the last commit here. This is based on PR #35495 which will be reviewed independently.

Design Doc: PR #34484

cc @kubernetes/sig-cluster-federation @quinton-hoole @nikhiljindal
2016-11-02 14:48:46 -07:00
Kubernetes Submit Queue d28f7031a1 Merge pull request #35494 from madhusudancs/federation-kubefed-02
Automatic merge from submit-queue

[Federation][unjoin-00] Implement `kubefed unjoin` command.

Please review only the last commit here. This is based on PR #35493 which will be reviewed independently.

I will add a release note separately for this entire feature, so please don't worry too much about the release note here in the PR.

Design Doc: PR #34484

cc @kubernetes/sig-cluster-federation @quinton-hoole @nikhiljindal
2016-11-02 13:36:43 -07:00
Madhusudan.C.S 4a9377027d [Federation][init] Implement `kubefed init` command that performs federation control plane bootstrap. 2016-11-02 13:36:41 -07:00
Madhusudan.C.S 9a0fc0c4f5 [Federation][(Un)join-01] Refactor common functions and structs into a util package. 2016-11-02 13:36:09 -07:00
Madhusudan.C.S 3c692ebd77 [Federation] Implement the `kubefed` command.
Also:
1. Add it to the client build targets list.
2. Register `kubefed join` and `kubefed unjoin` commands.
2016-11-02 12:48:20 -07:00
Kubernetes Submit Queue 7d14b568c3 Merge pull request #36001 from smarterclayton/change_double_decode
Automatic merge from submit-queue

Avoid double decoding all client responses

Fixes #35982 

The linked issue uncovered that we were always double decoding the response in restclient for get, list, update, create, and patch.  That's fairly expensive, most especially for list.  This PR refines the behavior of the rest client to avoid double decoding, and does so while minimizing the changes to rest client consumers.

restclient must be able to deal with multiple types of servers. Alter the behavior of restclient.Result#Raw() to not process the body on error, but instead to return the generic error (which still matches the error checking cases in api/error like IsBadRequest). If the caller uses
.Error(), .Into(), or .Get(), try decoding the body as a Status.

For older servers, continue to default apiVersion "v1" when calling restclient.Result#Error(). This was only for 1.1 servers and the extensions group, which we have since fixed.

This removes a double decode of very large objects (like LIST) - we were trying to DecodeInto status, but that ends up decoding the entire result and then throwing it away.  This makes the decode behavior specific to the type of action the user wants.

```release-note
The error handling behavior of `pkg/client/restclient.Result` has changed.  Calls to `Result.Raw()` will no longer parse the body, although they will still return errors that react to `pkg/api/errors.Is*()` as in previous releases.  Callers of `Get()` and `Into()` will continue to receive errors that are parsed from the body if the kind and apiVersion of the body match the `Status` object.

This more closely aligns rest client as a generic RESTful client, while preserving the special Kube API extended error handling for the `Get` and `Into` methods (which most Kube clients use).
```
2016-11-02 11:36:41 -07:00