Commit Graph

764 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
ca8d97d673 Merge pull request #53743 from DirectXMan12/feature/polymorphic-scale-client
Automatic merge from submit-queue (batch tested with PRs 53743, 53564). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Polymorphic Scale Client

This PR introduces a polymorphic scale client based on discovery information that's able to scale scalable resources in arbitrary group-versions, as long as they present the scale subresource in their discovery information.

Currently, it supports `extensions/v1beta1.Scale` and `autoscaling/v1.Scale`, but supporting other versions of scale if/when we produce them should be fairly trivial.

It also updates the HPA to use this client, meaning the HPA will now work on any scalable resource, not just things in the `extensions/v1beta1` API group.

**Release note**:
```release-note
Introduces a polymorphic scale client, allowing HorizontalPodAutoscalers to properly function on scalable resources in any API group.
```

Unblocks #29698
Unblocks #38756
Unblocks #49504 
Fixes #38810
2017-10-23 13:39:07 -07:00
Kubernetes Submit Queue
668bedd943 Merge pull request #53863 from marun/fed-move-cluster
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

fed: Move cluster generator & constants from kubectl to kubefed pkg

This will ensure the history of the federation-only files can be cheaply retained during the branch filtering that will occur for #52992.

cc: @kubernetes/sig-multicluster-pr-reviews

/sig multicluster
/area federation
/assign irfanurrehman shashidharatd
/release-note-none
2017-10-21 04:44:10 -07:00
Kubernetes Submit Queue
1e67feac75 Merge pull request #50740 from dixudx/kubefed_add_imagepull
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

support imagePullSecrets and imagePullPolicy in kubefed init

**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 #50718

**Special notes for your reviewer**:
/assign @gyliu513 

**Release note**:

```release-note
support imagePullSecrets and imagePullPolicy in kubefed init
```
2017-10-20 05:06:23 -07:00
Solly Ross
eac2049fc9 [client-go] avoid Registry in fake REST client
Previously, the fake RESTClient in client-go required a Registry.  It
used the Registry to fetch the GroupVersion for the fake client.
However, the way it did so was dubious in some cases (it hard-coded the
default API group in places), and not strictly necssary.

This updates the fake client to just recieve the GroupVersion and
internal group name directly, instead of requiring a Registry, so that
it can be consumed in unit tests where a Registry isn't necessarily
readily available (e.g. elsewhere in client-go).
2017-10-19 11:01:44 -04:00
Dr. Stefan Schimanski
cad0364e73 Update bazel 2017-10-18 17:24:04 +02:00
Dr. Stefan Schimanski
7773a30f67 pkg/api/legacyscheme: fixup imports 2017-10-18 17:23:55 +02:00
Jeff Grafton
aee5f457db update BUILD files 2017-10-15 18:18:13 -07:00
Maru Newby
15dcb45c4a fed: Move cluster generator & constants from kubectl to kubefed pkg
This will ensure the history of the federation-only files can be
cheaply retained during branch filtering.
2017-10-12 23:44:43 -07:00
Dr. Stefan Schimanski
9488150762 SimpleNameGenerator: unify to use k8s.io/apiserver/pkg/storage/names 2017-10-11 16:05:52 +02:00
Dr. Stefan Schimanski
ed586da147 apimachinery: remove Scheme.DeepCopy 2017-10-06 14:59:17 +02:00
Kubernetes Submit Queue
aa7d9b1da9 Merge pull request #52950 from liggitt/persist-rbac-v1
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Change RBAC storage version to v1 for 1.9

v1 was introduced in 1.8, but storage version remained at v1beta1 to accommodate HA rolling upgrades. in 1.9, we can change the persisted and preferred version to v1

```release-note
RBAC objects are now stored in etcd in v1 format. After completing an upgrade to 1.9, RBAC objects (Roles, RoleBindings, ClusterRoles, ClusterRoleBindings) should be migrated to ensure all persisted objects are written in `v1` format, prior to `v1alpha1` support being removed in a future release.
```
2017-10-03 00:24:31 -07:00
Di Xu
5b7f2b3310 support imagePullSecrets and imagePullPolicy in kubefed init 2017-10-03 14:34:35 +08:00
Kubernetes Submit Queue
028ee090f6 Merge pull request #49393 from hongchaodeng/etcd_update
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

etcd: update version to 3.1.10

ref: https://github.com/kubernetes/kubernetes/issues/49386

Need image pushed:
```
gcr.io/google_containers/etcd:3.1.10
```
2017-10-02 23:29:51 -07:00
Kubernetes Submit Queue
0b86b2ca87 Merge pull request #50749 from dixudx/kubefed_add_nodeSelector
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

support nodeSelector in kubefed init

**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 #50716

**Special notes for your reviewer**:
/assign @gyliu513 

**Release note**:

```release-note
support nodeSelector in kubefed init
```
2017-10-02 21:07:37 -07:00
Hongchao Deng
39e5a56691 etcd: update version to 3.1.10 2017-10-02 12:27:46 -07:00
Kubernetes Submit Queue
b80b7b08c9 Merge pull request #53075 from alrs/fix-federation-controller-swallowed-errors
Automatic merge from submit-queue (batch tested with PRs 52630, 53110, 53136, 53075). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

federation/pkg/federation-controller/util: fix swallowed errors

**What this PR does / why we need it**: The re-declaration of `err` inside the `if` block causes it to be lost before the check on line 93, even though it is reassigned on lines 95 and 90. By declaring the secret variable on line 71 I was able to ditch the `:=` assignment on line 72, meaning we can keep the `err` variable previously defined before the block on line 47.

```release-note NONE
```
2017-09-27 12:58:25 -07:00
Kubernetes Submit Queue
655f443786 Merge pull request #52630 from shashidharatd/fed-deployment
Automatic merge from submit-queue (batch tested with PRs 52630, 53110, 53136, 53075). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Simplify deployment in federation CI jobs

**What this PR does / why we need it**:
Introduce a new variable `USE_PV_FOR_ETCD` to control whether to use PV for federation etcd. `USE_PV_FOR_ETCD` is set to false by default and can be overridden in CI jobs where we want to test with PV. For most of the federation CI jobs, it does not matter whether we use PV for etcd or not. We can overcome some issues by not depending on PV's in federation setup like failure to bind to PV and leaking PD's. etc...
#50543 is one such issue associated with PV.

This PR also contain a commit to fix couple of minor issues and removing unnecessary include of cluster/common script.

**Release note**:
```release-note
NONE
```

/assign @madhusudancs 
/cc @kubernetes/sig-federation-pr-reviews
2017-09-27 12:58:16 -07:00
Lars Lehtonen
097e063826 federation/pkg/federation-controller/util: fix swallowed errors 2017-09-26 12:32:16 -07:00
Dr. Stefan Schimanski
5427ff1583 federation: simplify deepcopy calls 2017-09-26 09:55:53 +02:00
shashidharatd
33c075d91b Move logs related to etcd pvc creation inside conditional 2017-09-26 12:23:46 +05:30
Jordan Liggitt
232db3b888 Change RBAC storage version to v1 for 1.9 2017-09-25 10:02:21 -04:00
Kubernetes Submit Queue
6759586c2c Merge pull request #51438 from zhangxiaoyu-zidif/refactor-federation-dns-test-sets
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>..

Refactor federation dns test case with sets.String

**What this PR does / why we need it**:
change to make got and want use sets.String instead, since that is both safe and more clearly shows the intent.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-09-23 07:55:00 -07:00
Kubernetes Submit Queue
19cf8af8b7 Merge pull request #47049 from dshulyak/tls_config_coredns
Automatic merge from submit-queue (batch tested with PRs 47806, 49539, 48763, 47049, 50600). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>..

Allow to specify tls config for etcd in federation coredns provider

Closes: https://github.com/kubernetes/kubernetes/issues/42995

```release-note
CoreDNS provider config allows setting TLS certificates for etcd client.
```
2017-09-22 21:20:56 -07:00
Kubernetes Submit Queue
8657a74e13 Merge pull request #49950 from irfanurrehman/fed-hpa-targetObj
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>..

[Federation] Hpa controller controls target objects

This is in the series of PRs over https://github.com/kubernetes/kubernetes/pull/45993.
The last commit is reviewable. Probably the last PR in this chain with e2e tests for relevant scenario, including the scenario created by this PR is soon to follow.

**Special notes for your reviewer**:
@kubernetes/sig-federation-pr-reviews 
@quinton-hoole 

**Release note**:

```NONE
```
2017-09-21 17:01:10 -07:00
zhangxiaoyu-zidif
1fb849efd7 Refactor federation dns test case with sets.String 2017-08-28 09:42:15 +08:00
Kubernetes Submit Queue
f1916dfb33 Merge pull request #50131 from m1093782566/SubResource
Automatic merge from submit-queue (batch tested with PRs 51229, 50131, 51074, 51167, 51213)

Fix typos in kubefed

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

Fix some typos in kubefed.

**Which issue this PR fixes** : fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-08-25 03:16:04 -07:00
Irfan Ur Rehman
da2db332f1 [Federation]build files for hpa controller controlling target objects 2017-08-24 15:34:37 +05:30
Irfan Ur Rehman
a5d441f71e [Federation]hpa controller controls distribution of target objects
After hpa controller determines the replica nums needed per cluster, it also
controls the distribution of target objs (rs or deployment) into the correct
clusters by telling the corresponding controllers, which clusters they should
put the objects into (passed as list of selected clusters in annotations).
2017-08-24 15:34:37 +05:30
Kubernetes Submit Queue
078a3b653b Merge pull request #50607 from lukaszo/logdns
Automatic merge from submit-queue (batch tested with PRs 50531, 50853, 49976, 50939, 50607)

Log error from ensureDNSRecords

Hiding errors is not a good idea. It took me some time to figure it out why my coredns is not working. It turned out that I had wrong etcd configuration but errors about it were hidden.

```release-note
NONE
```
2017-08-21 15:46:24 -07:00
gmarek
0504cfbc25 Make metav1.(Micro)?Time functions take pointers 2017-08-17 11:24:28 +02:00
Di Xu
c860b059c3 support nodeSelector in kubefed init 2017-08-17 10:00:53 +08:00
ymqytw
b776df8a20 move i18n to kubectl/util 2017-08-16 12:27:36 -07:00
Kubernetes Submit Queue
ef0f723bfd Merge pull request #50316 from shashidharatd/flake-fix
Automatic merge from submit-queue

[Federation] Fix flake in TestUpdateClusterRace

**What this PR does / why we need it**:
Fix #50262

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

**Special notes for your reviewer**:
Although we do locking/unlocking while using protected data in ClusterController, there are chances that `clusterClient` can be deleted as it is a pointer. Also its better to lock/unlock once for the function `UpdateClusterStatus` instead of multiple locks/unlocks.

**Release note**:
```
NONE
```

/assign @madhusudancs 
/cc @dminh @kubernetes/sig-federation-bugs
2017-08-15 01:33:51 -07:00
Irfan Ur Rehman
f8a105c32a [Federation] Autogenerated file changes for kubefed doc fix 2017-08-14 20:08:50 +05:30
Irfan Ur Rehman
8a7709de9b [Federation] Kubefed doc fix 2017-08-14 19:54:23 +05:30
Łukasz Oleś
3ebb140095 Log error from ensureDNSRecords 2017-08-14 12:06:57 +02:00
shashidharatd
aadd93442f Auto generated file 2017-08-12 12:34:23 +05:30
shashidharatd
103068043c Use DiscoveryClient from kube clientSet instead of creating new one 2017-08-12 12:33:36 +05:30
shashidharatd
3eee17bf99 Refactor TestUpdateClusterRace and TestUpdateClusterStatusOK 2017-08-12 12:33:36 +05:30
shashidharatd
88e64e61ce Refactor updateClusterStatus to reduce locking 2017-08-12 12:33:36 +05:30
Jordan Liggitt
7f1a617496 select an RBAC version for kubefed it knows how to speak 2017-08-11 19:48:21 -04:00
Jeff Grafton
a7f49c906d Use buildozer to delete licenses() rules except under third_party/ 2017-08-11 09:32:39 -07:00
Jeff Grafton
33276f06be Use buildozer to remove deprecated automanaged tags 2017-08-11 09:31:50 -07:00
m1093782566
33fa153702 Fix typos in kubefed package 2017-08-11 14:23:59 +08:00
Kubernetes Submit Queue
e2b0d5642a Merge pull request #50367 from gmarek/fed
Automatic merge from submit-queue (batch tested with PRs 49725, 50367, 50391, 48857, 50181)

Don't call one of pointless conversions

@kubernetes/sig-federation-pr-reviews
2017-08-10 01:47:15 -07:00
Kubernetes Submit Queue
85e2e5dd9a Merge pull request #49642 from liggitt/rbac-v1
Automatic merge from submit-queue (batch tested with PRs 49642, 50335, 50390, 49283, 46582)

Add rbac.authorization.k8s.io/v1

xref https://github.com/kubernetes/features/issues/2

Promotes the rbac.authorization.k8s.io/v1beta1 API to v1 with no changes

```release-note
The `rbac.authorization.k8s.io/v1beta1` API has been promoted to `rbac.authorization.k8s.io/v1` with no changes.
The `rbac.authorization.k8s.io/v1alpha1` version is deprecated and will be removed in a future release.
```
2017-08-10 00:53:17 -07:00
Kubernetes Submit Queue
82b3a80ad1 Merge pull request #49583 from irfanurrehman/fed-hpa-configTimeout
Automatic merge from submit-queue (batch tested with PRs 50016, 49583, 49930, 46254, 50337)

[Federation] Make the hpa scale time window configurable

This PR is on top of open pr https://github.com/kubernetes/kubernetes/pull/45993.
Please review only the last commit in this PR.
This adds a config param to controller manager, the value of which gets passed to hpa adapter via sync controller.
This is needed to reduce the overall time limit of the hpa scaling window to much lesser (then the default 2 mins) to get e2e tests run faster. Please see the comment on the newly added parameter.

**Special notes for your reviewer**:
@kubernetes/sig-federation-pr-reviews 
@quinton-hoole 
@marun to please validate the mechanism used to pass a parameter from cmd line to adapter.

**Release note**:

``` 
federation-controller-manager gets a new flag --hpa-scale-forbidden-window.
This flag is used to configure the duration used by federation hpa controller to determine if it can move max and/or min replicas 
around (or not), of a cluster local hpa object, by comparing current time with the last scaled time of that cluster local hpa. 
Lower value will result in faster response to scalibility conditions achieved by cluster local hpas on local replicas, but too low 
a value can result in thrashing. Higher values will result in slower response to scalibility conditions on local replicas.
```
2017-08-09 14:14:27 -07:00
Jordan Liggitt
dd7be70a4a Add rbac.authorization.k8s.io/v1 2017-08-09 17:04:54 -04:00
gmarek
e742c31f97 Don't call one of pointless conversions 2017-08-09 16:37:31 +02:00
Kubernetes Submit Queue
f0ff280f42 Merge pull request #45993 from irfanurrehman/fed-hpa
Automatic merge from submit-queue (batch tested with PRs 45993, 50293)

[Federation] HPA controller

This PR implements the design listed in https://github.com/kubernetes/community/pull/593.
This is still a work in progress, and needs more unit tests to be added.
I will add the integration tests and e2e tests in a separate PR(s).

@kubernetes/sig-federation-pr-reviews 

**Release note**:

```
Horizontal Pod Autoscaling is now available as an alpha feature in federation. 
It can be used to distribute and scale workload across clusters joined in a federation. 
In its current form, it works only on cpu utilization and the support for other metrics is yet to be built in.
```
2017-08-08 02:54:53 -07:00