Commit Graph

377 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
6eb279ee6e Merge pull request #31512 from mwielgus/more-debug-rs
Automatic merge from submit-queue

More scheduling debug in federated replica set

cc: @quinton-hoole @jianhuiz @kubernetes/sig-cluster-federation
2016-08-26 06:49:11 -07:00
Marcin Wielgus
535a110603 More scheduling debug in federated replica set 2016-08-26 13:48:16 +02:00
Kubernetes Submit Queue
23d0937eaf Merge pull request #31438 from mwielgus/ns-controller-delete
Automatic merge from submit-queue

Proper phase/finalizer logic in federated namespace controller

Part 1 of delete logic cleanup.
Part 2 will contain namespace content deletion and tests.

cc: @quinton-hoole @kubernetes/sig-cluster-federation
2016-08-26 04:39:36 -07:00
Marcin Wielgus
31dd5e8d91 Proper phase/finalizer logic in federated namespace controller 2016-08-26 12:44:20 +02:00
Kubernetes Submit Queue
40efde7e0a Merge pull request #31390 from hongchaodeng/fix
Automatic merge from submit-queue

return destroy func to clean up internal resources of storage

What?
Provide a destroy func to clean up internal resources of storage.
It changes **unit tests** to clean up resources. (Maybe fix integration test in another PR.)

Why?
Although apiserver is designed to be long running, there are some cases that it's not.
See https://github.com/kubernetes/kubernetes/issues/31262#issuecomment-242208771
We need to gracefully shutdown and clean up resources.
2016-08-25 16:44:10 -07:00
Kubernetes Submit Queue
b44b716965 Merge pull request #31248 from wojtek-t/better_selectable_fields
Automatic merge from submit-queue

Avoid unnecessary copies & allocations in field selectors
2016-08-25 09:01:44 -07:00
Hongchao Deng
9fc0e1e98d return destroy func to clean up internal resources of storage 2016-08-25 08:32:21 -07:00
Madhusudan.C.S
8868459d92 Underscore is not a valid secret data key, so use underscore instead. 2016-08-25 00:12:12 -07:00
Kubernetes Submit Queue
4f4c50223e Merge pull request #31265 from mwielgus/fed-test-ref
Automatic merge from submit-queue

Federation controller tests refactoring - move common func to utils

cc: @quinton-hoole @kubernetes/sig-cluster-federation
2016-08-24 10:11:42 -07:00
Wojciech Tyczynski
d5a596bca1 More efficient field selectors 2016-08-24 09:08:38 +02:00
Marcin Wielgus
1d2e9a2d31 Federation controller tests refactoring 2016-08-23 18:33:04 +02:00
Kubernetes Submit Queue
d6fb8b06dd Merge pull request #31231 from mwielgus/rs-fix3
Automatic merge from submit-queue

Test if 2 federated informers in rs controller are in sync

cc: @quinton-hoole @kubernetes/sig-cluster-federation
2016-08-23 08:04:11 -07:00
Kubernetes Submit Queue
ea7d417377 Merge pull request #31237 from mwielgus/secret-tests
Automatic merge from submit-queue

Tests for data update in federated secret controller

cc: @quinton-hoole @kubernetes/sig-cluster-federation
2016-08-23 06:36:51 -07:00
Marcin Wielgus
e29cf44a1e Tests for data update in federated secret controller 2016-08-23 14:42:51 +02:00
Kubernetes Submit Queue
794761f1d6 Merge pull request #31224 from mwielgus/hadnlers-fix
Automatic merge from submit-queue

ObjectMeta equivalence in federated controller handlers + update in fed secrets

Federated secrets should trigger also on data/type update, not only on object meta.

cc: @quinton-hoole @kubernetes/sig-cluster-federation
2016-08-23 05:13:17 -07:00
Kubernetes Submit Queue
4b949093c2 Merge pull request #28921 from jianhuiz/federation-cluster-in-meta
Automatic merge from submit-queue

Add Cluster field in ObjectMeta

There will be no sub-rs, but add `Cluster` field to the ObjectMeta (for all the objects)

"To distinguish the object at the federation level from it's constituents at the cluster level we will add a "Cluster" field to the metadata of all objects (where the federation itself will also have a cluster identifier).  That way it is possible to list, interact with, and distinguish between the objects either at the federation level or at the individual cluster level based on the cluster identifier. "


@quinton-hoole @nikhiljindal @deepak-vij @mfanjie @huangyuqi

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-08-23 04:33:51 -07:00
Marcin Wielgus
7d1c85e476 Test if 2 federated informers in rs controller are in sync 2016-08-23 13:10:48 +02:00
Marcin Wielgus
3216336923 Set annotation name in federated replica set controller 2016-08-23 11:48:25 +02:00
Marcin Wielgus
1f5605763f ObjectMeta equivalence in federated controller handlers + update in fed secrets 2016-08-23 11:45:01 +02:00
Kubernetes Submit Queue
13305ef0ff Merge pull request #31139 from nikhiljindal/namespaceAdmissionControl
Automatic merge from submit-queue

federation: Adding support for namespace admission controls in federation-apiserver

Now that we have namespaces in federation apiserver, we can support namespace admission controls.

There are 3 of these:
namespace/autoprovision, namespace/exists and namespace/lifecycle.
namespace/autoprovision, namespace/exists should be deprecated in kubernetes(https://github.com/kubernetes/kubernetes/issues/31195). Adding support for namespace/lifecycle to federation-apiserver.
As in kube-apiserver, enabling namespace/lifecycle by default.


```release-note
Action required: If you have a running federation control plane, you will have to ensure that for all federation resources, the corresponding namespace exists in federation control plane.

federation-apiserver now supports NamespaceLifecycle admission control, which is enabled by default. Set the --admission-control flag on the server to change that.
```

cc @kubernetes/sig-cluster-federation @quinton-hoole
2016-08-23 00:19:08 -07:00
jianhuiz
494129b089 add generated files 2016-08-22 23:00:23 -07:00
nikhiljindal
db7af6c0d7 Fixing/updating e2e tests 2016-08-22 21:49:34 -07:00
jianhuiz
7be20b0dac add ClusterName field to ObjectMeta 2016-08-22 21:09:57 -07:00
nikhiljindal
18a8597a4e Enabling namespace admission controls 2016-08-22 17:28:03 -07:00
Quinton Hoole
97d6494c41 Add Federated Ingress Controller. 2016-08-22 12:59:54 -07:00
jianhuiz
257bda7e1c review fix 2016-08-22 09:27:31 -07:00
jianhuiz
7598d43db0 use palnner v2 and pod analyzer 2016-08-22 09:27:31 -07:00
jianhuiz
a491580597 add federation replicaset controller 2016-08-22 09:27:30 -07:00
Kubernetes Submit Queue
069929bbfd Merge pull request #31076 from mwielgus/object-meta
Automatic merge from submit-queue

Object meta fixes in federation controllers

This PR adds helper functions for handling object meta structs and applies them to the existing controllers.

cc: @quinton-hoole @jianhuiz @kubernetes/sig-cluster-federation
2016-08-21 13:19:55 -07:00
Marcin Wielgus
9b00a6654c Comments and extra tests for federated ObjectMeta utils 2016-08-21 21:14:07 +02:00
Kubernetes Submit Queue
7979801e54 Merge pull request #28860 from ericchiang/separate-apiserver-authz-options
Automatic merge from submit-queue

pkg/genericapiserver/options: don't import pkg/apiserver

Refactor the authorization options for the API server so
pkg/apiserver isn't directly imported by the options package.

Closes #28544

cc @smarterclayton

@madhusudancs, @nikhiljindal I've updated `federation/cmd/federation-apiserver/app/server.go` to include the RBAC options with this change. I don't know if this was intentionally left out in the first place but would like your feedback.
2016-08-21 09:49:14 -07:00
Marcin Wielgus
b0ec300ce8 Apply object meta functions to controllers 2016-08-21 13:02:55 +02:00
Marcin Wielgus
66df63f618 Object meta helper functions for federated controller 2016-08-21 13:02:19 +02:00
Kubernetes Submit Queue
ada58f5ff2 Merge pull request #30823 from nikhiljindal/swaggerDocs
Automatic merge from submit-queue

Adding a script to fetch swagger spec from federation apiserver

First step for https://github.com/kubernetes/kubernetes/issues/30541.
Next step is to generate docs like http://kubernetes.io/docs/api-reference/v1/definitions/ from this swagger spec.

cc @kubernetes/sig-cluster-federation @kubernetes/sig-api-machinery
2016-08-20 18:09:58 -07:00
Kubernetes Submit Queue
eaa2b6f528 Merge pull request #31042 from jianhuiz/federation-informer-kube-client
Automatic merge from submit-queue

Federation informer use kube clientset for target

This is to use kubernetes clientset as the federation informer target clientset as it's used to talking the k8s cluster.

#29939 #30669 #30207
@mwielgus @quinton-hoole @kshafiee @deepak-vij
2016-08-20 08:06:08 -07:00
nikhiljindal
56a2458d29 Adding cert and basic auth files for federation-apiserver 2016-08-20 02:17:39 -07:00
Kubernetes Submit Queue
5caf74c517 Merge pull request #30529 from hongchaodeng/r1
Automatic merge from submit-queue

change all PredicateFunc to use SelectionPredicate

What?
- This PR changes all PredicateFunc in registry to return SelectionPredicate instead of Matcher interface.

Why?
- We want to pass SelectionPredicate to storage layer. Matcher interface did not expose enough information for indexing.
2016-08-20 00:24:40 -07:00
jianhuiz
47f317eeb3 update federation controllers to use kube clientset 2016-08-19 15:51:41 -07:00
Kubernetes Submit Queue
9bc8240f1a Merge pull request #31028 from mwielgus/secret-fix
Automatic merge from submit-queue

Handle secret namespace and data properly in federated secret controller

This PR fixes what was missed in #30669 review. It uses both namespace and secret name for keying and propagates secret data to underlying clusters.

cc: @quinton-hoole @kshafiee @kubernetes/sig-cluster-federation
2016-08-19 15:47:11 -07:00
Kubernetes Submit Queue
5fb525a309 Merge pull request #30956 from nikhiljindal/clusterName
Automatic merge from submit-queue

federation: updating cluster name validation to allow DNS labels only

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

Summarizing the discussion from that PR:
* Right now, we allow name of the Cluster resource in federation/v1beta1 group version to be a subdomain (group of DNS labels separated by dots). This prevents us from using the cluster name in our dns search paths, since there is a restriction of 6 domain labels there.
* Restricting cluster name to DNS label will give us the flexibility to be able to do that in the future, if we want to. Though we do not have a concrete use case right now, the possibility is attractive.
* There is not a strong argument in favor of allowing subdomains as cluster names right now. If in future, there is one then we can get more permissive but its better to start with a stricter model.

Note that we are breaking a beta API, but it should be fine since we do not expect anyone to be using subdomain as cluster name. Have added release-note-action-required label


```release-note
Action required: federation-only: Please update your cluster name to be a valid DNS label.
Updating federation.v1beta1.Cluster API to disallow subdomains as valid cluster names. Only DNS labels are allowed as valid cluster names now.
```
2016-08-19 15:46:34 -07:00
jianhuiz
65cb176572 use kube clientset to access k8s clusters 2016-08-19 15:00:15 -07:00
Marcin Wielgus
0ec28ac86e Handle secret namespace and data properly in federated secret controller 2016-08-19 23:02:40 +02:00
kshafiee
febe9adcf0 Federated secret controller 2016-08-19 17:02:30 +00:00
Kubernetes Submit Queue
b6d4462f01 Merge pull request #30983 from mwielgus/planer2
Automatic merge from submit-queue

Support for preexisting replicas and estimated capacity in federated replicaset controller

With this PR the planer will be able to:
* Keep already existing replicas in their current clusters if rebalance = false and min/max boundaries are met.

* Limit the number of replicas in a cluster to the level that was measured by the count of running and unschedulable pods. And provide an estimate how much more pods would be nice to put in a cluster so that if they are scheduled we will be closer to the desired layout or to schedule the desired number of replicas at all.

cc: @quinton-hoole @jianhuiz @wojtek-t @kubernetes/sig-cluster-federation
2016-08-19 08:28:03 -07:00
Marcin Wielgus
8dfdc5b612 Support for preexisting replicas and estimated capacity in federated replica set planner 2016-08-19 16:14:21 +02:00
Marcin Wielgus
03fd876d25 Federated replica set pod analyser 2016-08-19 14:38:40 +02:00
Kubernetes Submit Queue
c5e3b79f32 Merge pull request #30634 from timothysc/etcd3_shouldbe_intergration_tests
Automatic merge from submit-queue

Move UTs that block on apiserver to integration tests. 

In validating etcd.v3client we had uncovered that a change in the behavior of the client https://github.com/coreos/etcd/issues/6162 , caused a number of unit tests to fail.  These test failures were due to the fact that the unit tests were trying to standup a apiserver even though there was no etcd backend stood up.  

This PR simply shuffles those tests to integration tests, which is where they should be. 

/cc @kubernetes/sig-scalability @wojtek-t @hongchaodeng @xiang90
2016-08-18 18:39:13 -07:00
nikhiljindal
473c1d5653 Update cluster name validation to allow only DNS labels 2016-08-18 18:19:19 -07:00
nikhiljindal
d76cdc7482 Adding a script to fetch swagger spec from federation apiserver 2016-08-18 17:19:21 -07:00
Kubernetes Submit Queue
83ded2858c Merge pull request #28568 from xiangpengzhao/check_ensureDnsRecords_return_value
Automatic merge from submit-queue

Check return value when calling ensureDnsRecords

When [lockedUpdateDNSRecords](https://github.com/xiangpengzhao/kubernetes/blob/check_ensureDnsRecords_return_value/federation/pkg/federation-controller/service/servicecontroller.go#L723) calls `ensureDnsRecords`, it should check the return value. If it returns error, the `ensuredCount ` should not increment.
2016-08-18 16:25:09 -07:00