Commit Graph

407 Commits

Author SHA1 Message Date
Jason Zhao
8b16c3dafb addressed comments 2017-08-21 14:21:02 -07:00
xswack
671c0560ae Replace the deprecated function with the suggest function 2017-08-21 10:50:52 +08:00
Alex Rowley
5d94c2014a Fix typo in comment 2017-08-18 19:08:41 +01:00
Kubernetes Submit Queue
c573d8192f Merge pull request #50255 from mattlandis/aws-duplicate-subnets
Automatic merge from submit-queue (batch tested with PRs 50255, 50885)

AWS: Arbitrarily choose first (lexicographically) subnet in AZ

When there is more than one subnet for an AZ on AWS choose arbitrarily
chose the first one lexicographically for consistency.



**What this PR does / why we need it**:
If two subnets were to be used appear in the same aws az which one is chosen is currently not consistent.  This could lead to difficulty in diagnosing issues.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
```
2017-08-18 05:21:57 -07: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
Robert Rati
926f070719 Make ClusterID required for AWS. #48954 2017-08-07 15:47:00 -04:00
Matt Landis
10794e7f6e Arbitrarily chose first (lexicographically) subnet in AZ on AWS.
When there is more than one subnet for an AZ on AWS choose arbitrarily
chose the first one lexicographically for consistency.
2017-08-07 07:41:47 -07:00
Jason Zhao
43e606a5da support multiple ec2 ips in aws provider 2017-08-03 15:57:59 -07:00
Nathan Button
7119a45371 We never want to modify the globally defined SG 2017-07-28 11:03:55 -07:00
Kubernetes Submit Queue
0940a25440 Merge pull request #48612 from derekwaynecarr/aws-tags
Automatic merge from submit-queue

Warn if aws has no cluster id provided

**What this PR does / why we need it**:
we info log a message when no cluster id is provided that should be a warning given its impact.

fixes https://github.com/kubernetes/kubernetes/issues/49568

**Release note**:
```release-note
NONE
```
2017-07-26 09:40:47 -07:00
Kubernetes Submit Queue
9e56e58647 Merge pull request #47177 from rrati/aws-additional-logging
Automatic merge from submit-queue (batch tested with PRs 49107, 47177, 49234, 49224, 49227)

Added logging to AWS api calls. #46969

Additionally logging of when AWS API calls start and end to help diagnose problems with kubelet on cloud provider nodes not reporting node status periodically.  There's some inconsistency in logging around this PR we should discuss.

IMO, the API logging should be at a higher level than most other types of logging as you would probably only want it in limited instances.  For most cases that is easy enough to do, but there are some calls which have some logging around them already, namely in the instance groups.  My preference would be to keep the existing logging as it and just add the new API logs around the API call.
2017-07-20 15:08:20 -07:00
Luke Heidecke
c8b6924424 Fix on-premises term in error string and comments 2017-07-20 13:04:33 +09:00
Robert Rati
92f030ca24 Added logging to AWS api calls. #46969 2017-07-14 21:37:05 -04: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
Derek Carr
b6fabe5b9e Warn if aws has no cluster id provided 2017-07-07 11:57:20 -04:00
Robert Rati
d6a5175c05 Use %q formatter for error messages from the AWS SDK. #47789 2017-06-23 10:02:21 -04:00
Kubernetes Submit Queue
aaa5b2b642 Merge pull request #47575 from justinsb/fix_36902
Automatic merge from submit-queue (batch tested with PRs 47915, 47856, 44086, 47575, 47475)

AWS: Fix suspicious loop comparing permissions

Because we only ever call it with a single UserId/GroupId, this would
not have been a problem in practice, but this fixes the code.

Fix #36902 

```release-note
NONE
```
2017-06-23 04:06:25 -07:00
Kubernetes Submit Queue
be0b045072 Merge pull request #47401 from justinsb/fix_39374
Automatic merge from submit-queue (batch tested with PRs 47922, 47195, 47241, 47095, 47401)

AWS: Set CredentialsChainVerboseErrors

This avoids a rather confusing error message.

Fix #39374

```release-note
NONE
```
2017-06-22 21:33:34 -07:00
Chao Xu
60604f8818 run hack/update-all 2017-06-22 11:31:03 -07:00
Chao Xu
f4989a45a5 run root-rewrite-v1-..., compile 2017-06-22 10:25:57 -07:00
Kubernetes Submit Queue
1499b6bddc Merge pull request #45268 from redbaron/aws-elb-attach-sgs
Automatic merge from submit-queue

New annotation to add existing Security Groups to ELBs created by AWS cloudprovider

**What this PR does / why we need it**:
When K8S cluster is deployed in existing VPC there might be a need to attach extra SecurityGroups to ELB created by AWS cloudprovider. Example of it can be cases, where such Security Groups are maintained by another team.

**Special notes for your reviewer**:
For tests to pass depends on https://github.com/kubernetes/kubernetes/pull/45168  and therefore includes it

**Release note**:
```release-note
New 'service.beta.kubernetes.io/aws-load-balancer-extra-security-groups' Service annotation to specify extra Security Groups to be added to ELB created by AWS cloudprovider
```
2017-06-20 18:06:29 -07:00
Kubernetes Submit Queue
5780cd06d1 Merge pull request #47572 from justinsb/fix_47524
Automatic merge from submit-queue

AWS: Remove blackhole routes in our managed range

Blackhole routes otherwise acccumulate unboundedly.  We also are careful
to ensure that we do so only within the managed range, which requires
enlisting the help of the routecontroller.

Fix #47524

```release-note
AWS: clean up blackhole routes when using kubenet
```
2017-06-20 17:00:30 -07:00
Justin Santa Barbara
737607ba6b AWS: Fix suspicious loop comparing permissions
Because we only ever call it with a single UserId/GroupId, this would
not have been a problem in practice, but this fixes the code.

Fix #36902
2017-06-15 09:20:41 -04:00
Justin Santa Barbara
3d2b71b78f AWS: Maintain a cache of all instances for ELB
We maintain a cache of all instances, and we invalidate the cache
whenever we see a new instance.  For ELBs that should be sufficient,
because our usage is limited to instance ids and security groups, which
should not change.

Fix #45050
2017-06-14 23:39:18 -04:00
Kubernetes Submit Queue
8e4ec18adf Merge pull request #47516 from gnufied/fix-filter-limit-aws
Automatic merge from submit-queue (batch tested with PRs 47510, 47516, 47482, 47521, 47537)

Batch AWS getInstancesByNodeNames calls with FilterNodeLimit

We are going to limit the getInstancesByNodeNames call with a batch
size of 150.

Fixes - #47271

```release-note
AWS: Batch DescribeInstance calls with nodeNames to 150 limit, to stay within AWS filter limits.
```
2017-06-14 20:32:45 -07:00
Justin Santa Barbara
11f8886f12 AWS: Remove blackhole routes in our managed range
Blackhole routes otherwise acccumulate unboundedly.  We also are careful
to ensure that we do so only within the managed range, which requires
enlisting the help of the routecontroller.

Fix #47524
2017-06-14 23:02:55 -04:00
Kubernetes Submit Queue
b361814e8e Merge pull request #47411 from justinsb/fix_47409
Automatic merge from submit-queue (batch tested with PRs 47470, 47260, 47411, 46852, 46135)

AWS: Remove getInstancesByRegex (dead code)

Fix #47409

```release-note
NONE
```
2017-06-14 12:52:21 -07:00
Kubernetes Submit Queue
6c38d009ce Merge pull request #47406 from justinsb/fix_47404
Automatic merge from submit-queue

AWS: Process disk attachments even with duplicate NodeNames

Fix #47404


```release-note
AWS: Process disk attachments even with duplicate NodeNames
```
2017-06-14 10:21:20 -07:00
Hemant Kumar
ffa622f9c7 Batch AWS getInstancesByNodeNames calls with FilterNodeLimit
We are going to limit the getInstancesByNodeNames call with a batch
size of 150
2017-06-14 10:46:46 -04:00
Kubernetes Submit Queue
48bea51d04 Merge pull request #47399 from justinsb/fix_41904
Automatic merge from submit-queue (batch tested with PRs 46929, 47391, 47399, 47428, 47274)

AWS: Richer log message when metadata fails

Not a resolution, but should at least help determine the issue.

Issue #41904

```release-note
NONE
```
2017-06-13 10:52:11 -07:00
Kubernetes Submit Queue
d216cfc41a Merge pull request #47391 from justinsb/fix_47067
Automatic merge from submit-queue (batch tested with PRs 46929, 47391, 47399, 47428, 47274)

AWS: Perform ELB listener comparison in case-insensitive manner

Fix #47067

```release-note
AWS: Avoid spurious ELB listener recreation - ignore case when matching protocol
```
2017-06-13 10:52:08 -07:00
Justin Santa Barbara
b87c4398c7 AWS: Remove getInstancesByRegex (dead code)
Fix #47409
2017-06-13 12:37:45 -04:00
Justin Santa Barbara
bd526b0bc0 AWS: Process disk attachments even with duplicate NodeNames
Fix #47404
2017-06-13 03:09:43 -04:00
Justin Santa Barbara
9803840b5f AWS: Perform ELB listener comparison in case-insensitive manner
Fix #47067
2017-06-13 02:22:38 -04:00
Justin Santa Barbara
bad277e98b AWS: Set CredentialsChainVerboseErrors
This avoids a rather confusing error message.

Fix #39374
2017-06-13 01:56:10 -04:00
Justin Santa Barbara
9d8a721bb9 AWS: Richer log message when metadata fails
Not a resolution, but should at least help determine the issue.

Issue #41904
2017-06-13 01:46:09 -04:00
Justin Santa Barbara
30ecfbc7ee aws: remove redundant tests 2017-06-13 01:19:23 -04:00
Justin Santa Barbara
0a174089cd Use awsInstanceID to query instances
Also reuse existing mapping code, rather than reimplementing.

Issue #47394
2017-06-13 01:19:23 -04:00
Justin Santa Barbara
8aad321d69 Create strong typed awsInstanceID 2017-06-13 01:19:19 -04:00
Justin Santa Barbara
f10c9eed69 Follow our go code style: error -> err
Issue #47394
2017-06-13 01:07:07 -04:00
Maxim Ivanov
2e5773b45d New Service annotation to specify ELB SGs
Service objects can be annotated with
`service.beta.kubernetes.io/aws-load-balancer-extra-security-groups`

to specify existing security groups to be added to ELB
created by AWS cloudprovider
2017-06-09 12:10:33 +01:00
ublubu
c261f98a60 bugfix for ProviderID parsing & corresponding unit test 2017-06-08 23:12:28 -04:00
ublubu
bc9d2e8832 use aws://[instance-id] as the ProviderID 2017-06-08 22:09:08 -04:00
ublubu
baa85c830a InstanceTypeByProviderID 2017-06-07 23:47:59 -04:00
Kynan Rilee
17783afc94 NodeAddressesByProviderID for AWS cloudprovider 2017-06-07 23:47:59 -04:00
Kubernetes Submit Queue
4220b7303e Merge pull request #45500 from nbutton23/nbutton-aws-elb-security-group
Automatic merge from submit-queue (batch tested with PRs 36721, 46483, 45500, 46724, 46036)

AWS: Allow configuration of a single security group for ELBs

**What this PR does / why we need it**:
AWS has a hard limit on the number of Security Groups (500).  Right now every time an ELB is created Kubernetes is creating a new Security Group.  This allows for specifying a Security Group to use for all ELBS

**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**:
For some reason the Diff tool makes this look like it was way more changes than it really was. 
**Release note**:

```release-note
```
2017-06-03 08:08:40 -07:00
Kubernetes Submit Queue
348bf1e032 Merge pull request #46627 from deads2k/api-12-labels
Automatic merge from submit-queue (batch tested with PRs 46239, 46627, 46346, 46388, 46524)

move labels to components which own the APIs

During the apimachinery split in 1.6, we accidentally moved several label APIs into apimachinery.  They don't belong there, since the individual APIs are not general machinery concerns, but instead are the concern of particular components: most commonly the kubelet.  This pull moves the labels into their owning components and out of API machinery.

@kubernetes/sig-api-machinery-misc @kubernetes/api-reviewers @kubernetes/api-approvers 
@derekwaynecarr  since most of these are related to the kubelet
2017-06-02 23:37:38 -07:00
Kubernetes Submit Queue
5c048ac258 Merge pull request #45168 from redbaron/fix-aws-tagging
Automatic merge from submit-queue (batch tested with PRs 43505, 45168, 46439, 46677, 46623)

fix AWS tagging to add missing tags only

It seems that intention of original code was to build map of missing
tags and call AWS API to add just them, but due to typo full
set of tags was always (re)added

```release-note
NONE
```
2017-06-01 05:43:39 -07:00
Kubernetes Submit Queue
43ac38e29e Merge pull request #45049 from wongma7/volumeinuse
Automatic merge from submit-queue (batch tested with PRs 46686, 45049, 46323, 45708, 46487)

Log an EBS vol's instance when attaching fails because VolumeInUse

Messages now look something like this:
E0427 15:44:37.617134   16932 attacher.go:73] Error attaching volume "vol-00095ddceae1a96ed": Error attaching EBS volume "vol-00095ddceae1a96ed" to instance "i-245203b7": VolumeInUse: vol-00095ddceae1a96ed is already attached to an instance
        status code: 400, request id: f510c439-64fe-43ea-b3ef-f496a5cd0577. The volume is currently attached to instance "i-072d9328131bcd9cd"
weird that AWS doesn't bother to put that information in there for us (it does when you try to delete a vol that's in use)
```release-note
NONE
```
2017-06-01 03:42:05 -07:00