Commit Graph

712 Commits

Author SHA1 Message Date
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
jianhuiz
4dcdfd4aa8 add job controller 2017-08-07 11:36:45 -07:00
Irfan Ur Rehman
0bea0ca1d9 [Federation] hpa controller 2017-08-06 00:38:45 +05:30
Kubernetes Submit Queue
b6ff77eecf Merge pull request #50134 from m1093782566/fed-controller
Automatic merge from submit-queue

fix typos in federation-controller

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

fix some typos in federation-controller.

**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
NONE
```
2017-08-05 07:16:16 -07:00
m1093782566
1562bbef93 fix typos in federation-controller 2017-08-04 14:52:28 +08:00
Daniel Dao
6d8f2dddec fed/clustercontroller: fix race when updating data
updates for ClusterController's maps were made without locking which can lead
to race conditions which were detectede in https://github.com/kubernetes/kubernetes/issues/49958

This change adds a RWMutex to protect the data. We lock and unlock them
whenever the data is accessed to make sure that we dont slow down too much.

Signed-off-by: Daniel Dao <dqminh89@gmail.com>
2017-08-02 10:56:30 +01:00
Kubernetes Submit Queue
3e53afa6bc Merge pull request #46519 from shashidharatd/fed-dc-ut
Automatic merge from submit-queue (batch tested with PRs 46519, 49794, 49720, 49692, 49821)

Federation: Add delaying deliverer to dns controller

**What this PR does / why we need it**:
- if `ensureDNSRecords` returned an error there was no retry, so now introduced an delaying deliverer which would reattempt to do ensureDNSRecords.
- ~~Revamped unit test cases of DNS controller. Added more test cases and increased the test coverage.
This was a leftover job from earlier refactoring PR's.~~

```release-note
NONE
```

/assign @quinton-hoole 
cc @marun @madhusudancs @kubernetes/sig-federation-pr-reviews
2017-08-01 03:04:38 -07:00
Kubernetes Submit Queue
eae2917402 Merge pull request #46283 from ktsakalozos/feature/nodeport-port
Automatic merge from submit-queue

Adding option to set the federation api server port if nodeport is set

**What this PR does / why we need it**: Kubefed will deploy the respected services and then it will do a health check. Prior to this patch if the user selects the nodeport a random port is opened. In environments where firewalls are in place this random port selection will cause the health check to fail. With this patch we enable users to designate a specific port, after for example opening it on their firewall.    

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

**Special notes for your reviewer**:

**Release note**: 

```
Kubefed init allows for setting port in Nodeport configuration
```
2017-07-30 04:01:36 -07:00
Kubernetes Submit Queue
d4897e875b Merge pull request #47160 from shashidharatd/fed-internalclientset
Automatic merge from submit-queue (batch tested with PRs 46913, 48910, 48858, 47160)

federation: Stop using and remove federation internalclientset

**What this PR does / why we need it**:
This probably a left over job. We should not be using the internal clientset and instead be using versioned ones as described in #29934

**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
NONE
```

/assign @nikhiljindal 
/cc @kubernetes/sig-federation-misc
2017-07-25 23:00:38 -07:00
Kubernetes Submit Queue
66a1ae38ea Merge pull request #43443 from irfanurrehman/kubefed-doc-1
Automatic merge from submit-queue (batch tested with PRs 43443, 46193, 49071, 47252)

[Federation][Kubefed] Support reference document autogeneration for kubefed

This PR is needed to address the documentation issue https://github.com/kubernetes/kubernetes.github.io/issues/2888

Apart from the code auto generation have updated some descriptions for consistency.

**Special notes for your reviewer**:
@kubernetes/sig-federation-misc 
cc @madhusudancs @csbell  

**Release note**:

```NONE
```
2017-07-25 21:52:45 -07:00
shashidharatd
d51ae181a5 Auto generated files 2017-07-26 06:22:30 +05:30
shashidharatd
dbbcb568d4 Converted usage of federation internal clientset to versioned clientset 2017-07-26 06:20:08 +05:30
supereagle
adc0eef43e remove duplicated import and wrong alias name of api package 2017-07-25 10:04:25 +08:00
Kubernetes Submit Queue
cf9f00bb95 Merge pull request #48200 from irfanurrehman/fed-sched-generic-args
Automatic merge from submit-queue (batch tested with PRs 48043, 48200, 49139, 36238, 49130)

[Federation] Make arguments to scheduling type adapter methods generic

This is in the process of trying to rebase https://github.com/kubernetes/kubernetes/pull/45993 on latest.
cc @marun @perotinus 
@kubernetes/sig-federation-misc 
Hoping I get some attention to this and later PRs soon.

Associated issue https://github.com/kubernetes/kubernetes/issues/49181

**Release note**:

```NONE
```
2017-07-19 01:57:27 -07:00
Irfan Ur Rehman
0deb4ef3f3 [Federation] Make arguments to scheduling type adapter methods generic 2017-07-18 20:19:37 +05:30
shashidharatd
980ee7cb85 Auto generated files 2017-07-18 14:11:17 +05:30
shashidharatd
e8b80a2f68 Added delaying deliverer to retry ensureDNSRecords 2017-07-18 14:11:17 +05:30
Dr. Stefan Schimanski
2bbe72d4e0 deepcopy: misc fixes for static deepcopy compilation
- port direct calls to deepcopy funcs
- apimachinery: fix types in unstructured converter test
- federation: fix deepcopy registration
2017-07-18 09:28:48 +02:00
Jacob Simpson
b565f53822 update-bazel.sh 2017-07-17 15:06:08 -07:00
Chao Xu
9d489c8504 manual changes 2017-07-17 15:05:38 -07:00
Jacob Simpson
29c1b81d4c Scripted migration from clientset_generated to client-go. 2017-07-17 15:05:37 -07:00
Maru Newby
228ab0d882 fed: Move namespace propagation to the sync controller 2017-07-12 13:54:24 -07:00
Maru Newby
7e772ee3eb fed: Provide client config to adapter factory
This will allow the namespace adapter to initialize a namespaced
resource deleter.
2017-07-12 13:54:24 -07:00
Maru Newby
5ed095b401 fed: Replace NamespacedName for namespace sync compatibility 2017-07-12 13:54:22 -07:00
Kubernetes Submit Queue
3e89fe241d Merge pull request #47829 from CaoShuFeng/Warning-Warningf
Automatic merge from submit-queue (batch tested with PRs 44412, 44810, 47130, 46017, 47829)

Use glog.*f when a format string is passed

ref:
https://godoc.org/github.com/golang/glog

I use the following commands to search all the invalid usage:
$ grep "glog.Warning(" * -r | grep %
$ grep "glog.Info(" * -r | grep %
$ grep "glog.Error(" * -r | grep %
$ grep ").Info(" * -r | grep % | grep glog.V(

**Release note**:

```
NONE
```
2017-07-11 20:00:26 -07:00
Kubernetes Submit Queue
8aaffb4018 Merge pull request #44810 from FengyunPan/fix-Errorf
Automatic merge from submit-queue (batch tested with PRs 44412, 44810, 47130, 46017, 47829)

Return clusterErr rather than err

The updateClusterIngressUIDToMasters() should return clusterErr, not err.
If the 'err' of 'masterCluster, masterUID, err := ic.getMasterCluster()' is nil and the 'clusterErr' of 'clusterObj, clusterErr := api.Scheme.DeepCopy(cluster)' is not nil, updateClusterIngressUIDToMasters() will return ("", nil).

And do not log fallbackUID when fallbackUID is nil.
2017-07-11 20:00:18 -07:00
Cao Shufeng
0c577c47d5 Use glog.*f when a format string is passed
ref:
https://godoc.org/github.com/golang/glog

I use the following commands to search all the invalid usage:
$ grep "glog.Warning(" * -r | grep %
$ grep "glog.Info(" * -r | grep %
$ grep "glog.Error(" * -r | grep %
$ grep ").Info(" * -r | grep % | grep "glog.V("
2017-07-10 19:04:03 +08:00
Dr. Stefan Schimanski
7ffa2faeac Workaround tcpv4-only-systems connect issue in test
Fixes https://github.com/kubernetes/kubernetes/issues/47304.

Workarounds https://github.com/golang/go/issues/18806 (fixed in Go 1.9+).
2017-07-10 09:27:48 +02:00
Maru Newby
d6b2ec2ca8 fed: Remove flakey and redundant replicaset unit test 2017-07-07 10:57:06 -07:00
Kubernetes Submit Queue
c75170ad8e Merge pull request #46848 from zjj2wry/err_message
Automatic merge from submit-queue

Fix some err message

**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
NONE
```
2017-07-06 10:02:03 -07:00
Jonathan MacMillan
90ee0c4e0b [Federation] Convert the deployment controller to a sync controller. 2017-06-28 17:15:48 -07:00
Jordan Liggitt
dc4f46b85a Retry finding RBAC version if not found in discovery cache 2017-06-26 12:45:22 -04:00
Irfan Ur Rehman
e825ca53bd [Federation][Kubefed] Address review comment 2017-06-25 22:23:21 +05:30
FengyunPan
26c6cb3877 [Federation]Remove duplicate constants 2017-06-24 11:14:50 +08:00
Jonathan MacMillan
16943f6f30 [Federation] Convert the ReplicaSet controller to a sync controller. 2017-06-22 17:47:43 -07:00
Chao Xu
60604f8818 run hack/update-all 2017-06-22 11:31:03 -07:00
Chao Xu
945593d4de manually fix unit tests 2017-06-22 11:30:59 -07:00
Chao Xu
f2d3220a11 run root-rewrite-import-client-go-api-types 2017-06-22 11:30:59 -07:00
Chao Xu
cde4772928 run ./root-rewrite-all-other-apis.sh, then run make all, pkg/... compiles 2017-06-22 11:30:52 -07:00
Chao Xu
f4989a45a5 run root-rewrite-v1-..., compile 2017-06-22 10:25:57 -07:00
Kubernetes Submit Queue
d86c267112 Merge pull request #46099 from shashidharatd/revert-45798-federated-service
Automatic merge from submit-queue (batch tested with PRs 47851, 47824, 47858, 46099)

Revert "[Federation] Fix federated service reconcilation issue due to addition of External…"

Reverts kubernetes/kubernetes#45798

Reverting the temporary fix as the problem is fixed in #45869.
with that fix federation also can default ExternalTrafficLocalOnly if not set.

Issue: #45812

cc @MrHohn @madhusudancs @kubernetes/sig-federation-bugs
2017-06-21 15:21:19 -07:00
Kubernetes Submit Queue
0a1e20d605 Merge pull request #47473 from janetkuo/revert-47103
Automatic merge from submit-queue (batch tested with PRs 47451, 47410, 47598, 47616, 47473)

Revert "Ignore `daemonset-controller-hash` label key in federation before comparing the federated object with its cluster equivalent."

This reverts commit 3530c9ce87.

~This needs to wait for #47258, otherwise federation test won't pass~ (merged)

**Release note**:

```release-note
NONE
```
2017-06-15 19:52:15 -07:00
Kubernetes Submit Queue
ce76bab3b3 Merge pull request #46960 from lukaszo/fedint
Automatic merge from submit-queue

Add NodeInternalIP as a fallback to federation api-server nodeport service

Previously NodeLegacyHostIP was used as a fallback (see #41243) but in 1.7 it was removed (#44830)
Now clusters where nodes have not set ExternalIP can not be used by kubefed to setup federation.

cc @shashidharatd 

```release-note
kubefed will now configure NodeInternalIP as the federation API server endpoint when NodeExternalIP is unavailable for federation API servers exposed as NodePort services
```
2017-06-14 07:52:12 -07:00
Janet Kuo
1dc3b77580 Revert "Ignore daemonset-controller-hash label key in federation before comparing the federated object with its cluster equivalent."
This reverts commit 3530c9ce87.
2017-06-13 17:00:27 -07:00
Konstantinos Tsakalozos
8c1e0593bb Use a pointer to mark the nodeport port, if any. 2017-06-13 12:58:53 +03:00
Derek Carr
77f5721152 Incorrect output in kubefed init 2017-06-10 14:48:26 -04:00
Madhusudan.C.S
3530c9ce87 Ignore daemonset-controller-hash label key in federation before comparing the federated object with its cluster equivalent.
Kubernetes daemonset controller writes a daemonset's hash to the object
label as an optimization to avoid recomputing it every time. Adding a
new label to the object that the federation is unaware of causes
problems because federated controllers compare the objects in
federation and their equivalents in clusters and try to reconcile them.
This leads to a constant fight between the federated daemonset
controller and the cluster controllers, and they never reach a stable
state.

Ideally, cluster components should not update an object's spec or
metadata in a way federation cannot replicate. They can update an
object's status though. Therefore, this daemonset hash should be a
field in daemonset's status, not a label in object meta. @janetkuo says
that this label is only a short term solution. In the near future, they
are going to replace it with revision numbers in daemonset status. We
can then rip this bandaid out.
2017-06-07 09:28:48 -07:00
Konstantinos Tsakalozos
538e57713e Fixing style errors 2017-06-06 12:20:03 +03:00
Clayton Coleman
034f06d7e4 Remove Initializers from federation 2017-06-05 19:12:36 -04:00
Kubernetes Submit Queue
6236522738 Merge pull request #46498 from zjj2wry/adherence
Automatic merge from submit-queue (batch tested with PRs 45871, 46498, 46729, 46144, 46804)

Fix some comments in dnsprovider

**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
NONE
```
2017-06-05 03:06:22 -07:00