Commit Graph

2238 Commits

Author SHA1 Message Date
FengyunPan2
6f700b1e6e Add subnet-id annotation for openstack cloud provider
Currently user only specify subnet-id in cloud.conf file.
If user want to specify other subnet for some special services,
the subnet-id annotation should be a good choice.
2018-04-04 19:13:48 +08:00
Bowei Du
635ee5ad55 Add support for multiple certificates to targetproxy 2018-04-02 23:34:08 -07:00
Brendan Burns
966b9e1db0 Update tests. 2018-04-02 10:34:30 -07:00
Brendan Burns
d263c255bf Update code for new SDK. 2018-04-02 10:34:30 -07:00
Mikhail Mazurskiy
468655b76a Use typed events client directly 2018-04-01 18:57:29 +10:00
Kubernetes Submit Queue
3538676841 Merge pull request #61786 from grayluck/ensureelb-test
Automatic merge from submit-queue (batch tested with PRs 61871, 61890, 61786). 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>.

Add unit testcases for ensureExternalLoadBalancer to make sure it doesn't panic when errors raised.

**What this PR does / why we need it**:
Add unit testcases for ensureExternalLoadBalancer to make sure it doesn't panic when errors raised. Increase code coverage from 76.5% to 81.5%.

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

**Special notes for your reviewer**:
-->

**Release note**: 

```release-note
NONE
```

\assign @MrHohn
2018-03-30 14:32:02 -07:00
Kubernetes Submit Queue
7a1e44456f Merge pull request #61890 from dims/better-specify-dhcp-domain-for-hostname
Automatic merge from submit-queue (batch tested with PRs 61871, 61890, 61786). 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>.

Specify DHCP domain for hostname

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

In 9a8c6db448, we looked at the hostname
in the metadata service and used '.' as the delimiter to chop off the
dhcp_domain (specified in nova.conf). However administrators need to
better control the dhcp domain better as there may be a '.' in the host
name itself. So let's introduce a config option that we can use and
default it to what nova uses when dhcp_domain is not specified which is
"novalocal"


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

**Special notes for your reviewer**:

**Release note**:

```release-note
new dhcp-domain parameter to be used for figuring out the hostname of a node
```
2018-03-30 14:31:59 -07:00
yankaiz
6714d17b61 Add unit testcases for ensureExternalLoadBalancer to make sure it doesn't panic when errors raised. 2018-03-30 11:36:47 -07:00
Pengfei Ni
7ec0315c39 some updates 2018-03-30 16:52:42 +08:00
Pengfei Ni
094dbded65 Add support of Azure standard load balancer and public IP 2018-03-30 16:52:36 +08:00
Davanum Srinivas
da5ccf7fb7 Specify DHCP domain for hostname
In 9a8c6db448, we looked at the hostname
in the metadata service and used '.' as the delimiter to chop off the
dhcp_domain (specified in nova.conf). However administrators need to
better control the dhcp domain better as there may be a '.' in the host
name itself. So let's introduce a config option that we can use and
default it to what nova uses when dhcp_domain is not specified which is
"novalocal"
2018-03-29 21:31:02 -04:00
Kubernetes Submit Queue
d7ec46c5de Merge pull request #61000 from dims/split-host-name-when-dhcp-domain-is-present-in-host-name
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>.

Split out the hostname when default dhcp_domain is used in nova.conf

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

When /etc/nova/nova.conf does not have specify dhcp_domain to empty
string, a default string of '.novalocal' is returned by the meta data
service. So we need to just split the string and pick the first one
in the array.

```
$ curl http://169.254.169.254/latest/meta-data/hostname
testvm-1.novalocal
$ curl http://169.254.169.254/latest/meta-data/public-hostname
testvm-1.novalocal
$ curl http://169.254.169.254/latest/meta-data/local-hostname
testvm-1.novalocal
```

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-03-27 20:28:02 -07:00
Kubernetes Submit Queue
2bc231eb57 Merge pull request #61143 from satyasm/ipam-perf-cloud-mock
Automatic merge from submit-queue (batch tested with PRs 61402, 61143, 61427, 60592). 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>.

Performance tests and fix for IPAM controller.

Tests the four modes of allocations. Can be run using
./test-performance.sh under tests/integration/ipamperf
directory. See ./test-performance.sh -h for supported flags.



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

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

**Special notes for your reviewer**:
Please see the implementation  notes comment block in cloud.go for core details of how 
the mocking works. README.md has details on how the tests can be run on the 
command line.

**Release note**:

```release-note
Performance test framework and basic tests for the IPAM controller, to simulate behavior
of the four supported modes under lightly loaded and loaded conditions, where load is 
defined as the number of operations to perform as against the configured kubernetes
API server QPS.
```
2018-03-27 15:33:09 -07:00
Davanum Srinivas
9a8c6db448 Split out the hostname when default dhcp_domain is used in nova.conf
When /etc/nova/nova.conf does not have specify dhcp_domain to empty
string, a default string of '.novalocal' is returned by the meta data
service. So we need to just split the string and pick the first one
in the array.

```
$ curl http://169.254.169.254/latest/meta-data/hostname
testvm-1.novalocal
$ curl http://169.254.169.254/latest/meta-data/public-hostname
testvm-1.novalocal
$ curl http://169.254.169.254/latest/meta-data/local-hostname
testvm-1.novalocal
```
2018-03-27 12:08:48 -04:00
Kubernetes Submit Queue
2edeb07aac Merge pull request #61743 from rramkumar1/apply-cloud-provider-patch
Automatic merge from submit-queue (batch tested with PRs 61644, 61624, 61743, 61019, 61287). 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>.

Add support for setting a custom rate limiter in gce cloud provider

**What this PR does / why we need it**:
This PR makes it possible to use a custom rate limiter for the GCE cloud provider layer. This is a copy of the raw vendor patch made in https://github.com/kubernetes/ingress-gce/pull/148.

Fixes: https://github.com/kubernetes/ingress-gce/issues/154

**Special notes for your reviewer**:

**Release note**:
```release-note
None
```

/assign @bowei
2018-03-27 06:41:16 -07:00
Kubernetes Submit Queue
bb6f0bf1ce Merge pull request #61300 from grayluck/gce-lb-test
Automatic merge from submit-queue (batch tested with PRs 60499, 61715, 61688, 61300, 58787). 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>.

Unit tests for external load balancer

**What this PR does / why we need it**:
Unit test for external load balancer. Increase the code coverage of gce_loadbalancer_external.go from 61.6% to 76.5%.

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

**Special notes for your reviewer**:
-->

**Release note**:

```release-note
NONE
```
2018-03-27 04:08:12 -07:00
Kubernetes Submit Queue
79e1297f9b Merge pull request #61531 from feiskyer/delete-node
Automatic merge from submit-queue (batch tested with PRs 61434, 61501, 59609, 61467, 61531). 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>.

Ensure cloudprovider.InstanceNotFound is reported when the VM is not found on Azure

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

Azure ExponentialBackoff will still try to get VM information even when the VM has already been removed on Azure:

1365ce3419/pkg/cloudprovider/providers/azure/azure_backoff.go (L52-L60)

It should report `cloudprovider.InstanceNotFound` early and avoid calling Azure APIs on such case.

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

**Special notes for your reviewer**:

Should be cherry-picked to v1.9

**Release note**:

```release-note
Ensure cloudprovider.InstanceNotFound is reported when the VM is not found on Azure
```
2018-03-26 19:52:17 -07:00
Kubernetes Submit Queue
408588a407 Merge pull request #61467 from feiskyer/azure-service-tags
Automatic merge from submit-queue (batch tested with PRs 61434, 61501, 59609, 61467, 61531). 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>.

Add support of specifying service tags for Azure cloud provider

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

This PR adds support of specifying service tags for Azure cloud provider by annotation `service.beta.kubernetes.io/azure-allowed-service-tags`.

Refer https://docs.microsoft.com/en-us/azure/virtual-network/security-overview#service-tags for more information about this feature.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
Azure cloud provider now supports specifying allowed service tags by annotation `service.beta.kubernetes.io/azure-allowed-service-tags`
```
2018-03-26 19:52:14 -07:00
Rohit Ramkumar
455fcac51c Add support for setting a custom rate limiter in gce cloud provider 2018-03-26 15:45:34 -07:00
yankaiz
af5a7e2488 Unit tests for external load balancer. 2018-03-26 11:01:52 -07:00
Kubernetes Submit Queue
df7ee3a543 Merge pull request #61441 from agau4779/remove-alphagate-validation
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>.

[GCE] Remove validation of Alpha Feature Gates

**What this PR does / why we need it**:
As per discussion with @bowei, @freehan, and @nicksardo , remove validation on Alpha Feature Gates so we can be more flexible with adding or removing new features.

**Release note**:
```release-note
NONE
```
2018-03-26 09:31:29 -07:00
Kubernetes Submit Queue
915798d229 Merge pull request #60563 from hzxuzhonghu/replace-context
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>.

Replace package "golang.org/x/net/context" with "context"

**What this PR does / why we need it**:
Replace package "golang.org/x/net/context" with "context"

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

**Special notes for your reviewer**:
As of Go 1.7 this package(golang.org/x/net/context) is available in the standard library under the name context. see (https://godoc.org/golang.org/x/net/context)

It is almost machinery replace. 

**Release note**:

```release-note
NONE
```
2018-03-23 16:34:23 -07:00
Ashley Gau
ad026f29d3 remove knownAlphaFeatures, only store input features. 2018-03-23 09:20:35 -07:00
Pengfei Ni
bace00689b Ensure cloudprovider.InstanceNotFound is reported when the VM is not found on Azure 2018-03-23 09:22:27 +08:00
Satyadeep Musuvathy
77da96c7f6 Performance tests and fix for IPAM controller.
Tests the four modes of allocations. Can be run using
./test-performance.sh under tests/integration/ipamperf
directory. See ./test-performance.sh -h for supported flags.
2018-03-22 13:21:22 -07:00
Ashley Gau
d5904e7a4e Remove validation of Alpha Feature Gates 2018-03-22 11:02:42 -07:00
hzxuzhonghu
70e45eccf2 Replace "golang.org/x/net/context" with "context" 2018-03-22 20:57:14 +08:00
Kubernetes Submit Queue
d383ca1062 Merge pull request #60980 from n-marton/master
Automatic merge from submit-queue (batch tested with PRs 60980, 61273, 60811, 61021, 61367). 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>.

fix for openstack member cleanup for multiple port cases

**What this PR does / why we need it**:
Fixing an openstack lb issue.
**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes: #60976

**Special notes for your reviewer**:
The problem with the code was that if multiple ports were exposed then that created multiple members for each listener, and the deletion process iterated over each listener with an array of every member resulting listener - member mismatch, which caused not found exception from lbaasv2.

**Release note**:

```release-note

```
2018-03-22 02:08:12 -07:00
Pengfei Ni
b7813b15a1 Add verification of supported service tags 2018-03-22 15:36:08 +08:00
Kubernetes Submit Queue
33d480b599 Merge pull request #61366 from zetaab/fixnotfound
Automatic merge from submit-queue (batch tested with PRs 61354, 61366, 61386, 61394, 60755). 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>.

fix waitLoadbalancerDeleted timeout always

**What this PR does / why we need it**: waitLoadbalancerDeleted function goes always to timeout because not working check

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-03-21 23:44:10 -07:00
Kubernetes Submit Queue
a29b047aa7 Merge pull request #61352 from dims/stabilize-openstack-test-when-running-against-real-openstack-cloud
Automatic merge from submit-queue (batch tested with PRs 60373, 61098, 61352, 61359, 61362). 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>.

Stabilize openstack_test when running against real cloud

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

in TestReadConfig, we are setting some env vars for testing if
we read them back properly. However this interferes with running
the unit test harness against a real openstack cloud where we
source the OS_* environment variables. Adding code here to save
and reset variables.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-03-21 22:39:15 -07:00
Pengfei Ni
7d9d571659 Add support of specifying service tags for Azure cloud provider 2018-03-21 16:51:40 +08:00
Kubernetes Submit Queue
22a040a1b9 Merge pull request #60459 from agau4779/gce-internal-lb-tests
Automatic merge from submit-queue (batch tested with PRs 57871, 61094, 60459, 61089, 61105). 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>.

[GCE] Internal Loadbalancer Tests

**What this PR does / why we need it**:
Adds unit tests for the GCE Internal Loadbalancer. According to the test coverage tool, this PR brings test coverage of `gce_loadbalancer_internal.go` from 0% to 74.0%.

```release-note
NONE
```

/assign nicksardo bowei
2018-03-20 23:34:36 -07:00
Kubernetes Submit Queue
e3ac40264f Merge pull request #61002 from FengyunPan2/fix-isNotFound
Automatic merge from submit-queue (batch tested with PRs 60898, 60912, 60753, 61002, 60796). 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>.

IsNotFound should check ErrDefault404 and ErrUnexpectedResponseCode

Related to: #60658 #60976
Refer to:
 https://github.com/gophercloud/gophercloud/pull/103/files#diff-e8ad71423a1527851f282515739eecc2R265

**Release note**:
```release-note
NONE
```
2018-03-20 17:37:17 -07:00
Kubernetes Submit Queue
aeec2953d1 Merge pull request #59931 from zetaab/shutdoos
Automatic merge from submit-queue (batch tested with PRs 60189, 59542, 59931, 60621, 60353). 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>.

do not delete node in openstack, if those still exist in cloudprovider

**What this PR does / why we need it**: Deleting nodes in kubernetes cluster causes problems. It will lead to situations like labels and taints are missing from nodes when node will return online.

**Which issue(s) this PR fixes**:


**Special notes for your reviewer**:

```release-note
Nodes are not deleted from kubernetes anymore if node is shutdown in Openstack.
```
2018-03-20 00:42:12 -07:00
Jesse Haka
70c2baaff8 fix isnotfound
remove changes to isnotfound
2018-03-20 07:08:59 +02:00
Kubernetes Submit Queue
9df57d2812 Merge pull request #60086 from dougm/vsphere-finder
Automatic merge from submit-queue (batch tested with PRs 59740, 59728, 60080, 60086, 58714). 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>.

vSphere: Minimize property collection via Finder

The 'All' parameter of the 'NewFinder' function controls property collection while searching the inventory.
When 'All' is set to 'false', Finder collects the minimal set of object properties required to search inventory.
When 'All' is set to 'true', Finder collects *all* object properties, which are *not* required to search inventory.
Setting 'All' to 'true' is only useful when inspecting all properties of an object,
such as by certain govc commands when the '-json' or '-dump' flags are specified.

Changing All=false in VCP minimizes the SOAP payload size and marshalling required on both sides, without impacting any functionality.



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

Changing All=false in VCP minimizes the SOAP payload size and marshalling required on both sides, without impacting any functionality.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-03-19 21:34:36 -07:00
Davanum Srinivas
97b4110d9f Stabilize openstack_test when running against real cloud
in TestReadConfig, we are setting some env vars for testing if
we read them back properly. However this interferes with running
the unit test harness against a real openstack cloud where we
source the OS_* environment variables. Adding code here to save
and reset variables.
2018-03-19 10:48:11 -04:00
Ashley Gau
e07a944c49 add Get/Set methods, mutex on instanceGroupAttrs. 2018-03-13 13:17:24 -07:00
Ashley Gau
7fff54cfdd move shared test cluster vars into method + type 2018-03-13 13:18:08 -07:00
Ashley Gau
ac6ff68e20 test ensureInternalBackendService, ensureInternalBackendServiceGroups 2018-03-13 13:17:55 -07:00
Ashley Gau
26c0a0d11f expect no error when correct resources already exist. DeleteWrongResources -> ClearPreviousResources 2018-03-13 13:17:24 -07:00
Ashley Gau
8855702ed2 test that deleting twice does not throw error 2018-03-13 13:17:24 -07:00
Ashley Gau
42c5bca0c0 rename to _test.go, update-bazel, comments 2018-03-13 13:17:24 -07:00
Ashley Gau
7648696c88 test updateInternalLoadBalancer 2018-03-13 11:13:41 -07:00
Ashley Gau
fd2bf37d28 hooks for updating healthchecks, firewalls, regional backendservices 2018-03-13 11:13:41 -07:00
Ashley Gau
ebd54ea5e3 test ensureInternalLoadBalancer and ensureInternalLoadBalancerDeleted 2018-03-13 11:13:41 -07:00
Ashley Gau
f625b4a2d9 add hooks to add, remove, insert instances from instancegroups 2018-03-13 11:13:41 -07:00
Ashley Gau
ad1f206329 isolate logic to be shared with internal lb tests into separate file 2018-03-13 11:13:41 -07:00
Kubernetes Submit Queue
17195553cc Merge pull request #60772 from feiskyer/const-cleanup
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>.

Code cleanup: group consts togather

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

This is a code cleanup, which groups all consts togather.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-03-12 12:42:34 -07:00