k8s-merge-robot
318705feb9
Merge pull request #20378 from jtblin/jtblin/11543-aws-cloud-provider-private-hosted-dns-zone-via-api
...
Auto commit by PR queue bot
2016-02-08 23:43:59 -08:00
k8s-merge-robot
fec0d127b3
Merge pull request #15938 from justinsb/aws_ebs_cleanup
...
Auto commit by PR queue bot
2016-02-08 21:42:52 -08:00
Tim Hockin
fecb71420c
Demote static IPs ASAP for easier cleanup
...
This exposed bugs in the IP promotion/demotion logic.
2016-02-06 21:15:06 -08:00
k8s-merge-robot
257c3ad776
Merge pull request #20153 from sky-uk/fix-sg-comparison
...
Auto commit by PR queue bot
2016-02-06 12:25:26 -08:00
k8s-merge-robot
1b52e0ec3a
Merge pull request #20210 from jsafrane/devel/gce-tags
...
Auto commit by PR queue bot
2016-02-05 21:36:25 -08:00
Tim Hockin
a6cb6d76e3
Use defer for IP release
2016-02-04 16:40:28 -08:00
Jerome Touffe-Blin
0a36db19bf
Fix #11543 - use DescribeInstances API to retrieve the correct private DNS name
2016-02-04 08:48:25 +11:00
Justin Santa Barbara
f61a5d0400
AWS: Switch arguments to AttachDisk/DetachDisk to match GCE
2016-02-03 20:43:23 +00:00
Justin Santa Barbara
6c87a4be7c
AWS: Handle deleting volume that no longer exists
...
The tests in particular double-delete volumes, so we need to handle this
graciously.
2016-02-03 20:43:14 +00:00
Justin Santa Barbara
1ae1db6027
AWS: Update copy-paste of GCE PD code to latest version
...
We are (sadly) using a copy-and-paste of the GCE PD code for AWS EBS.
This code hasn't been updated in a while, and it seems that the GCE code
has some code to make volume mounting more robust that we should copy.
2016-02-03 20:43:14 +00:00
Rudi Chiarito
a0831a2378
Mass fix of Infof and co. missing the trailing "f", even when formatting placeholders are used
2016-02-03 11:34:59 -05:00
k8s-merge-robot
df4d50a7ac
Merge pull request #20098 from brendandburns/flake2
...
Auto commit by PR queue bot
2016-02-02 04:22:45 -08:00
k8s-merge-robot
bf9523a03a
Merge pull request #20195 from bprashanth/fix_zone_url
...
Auto commit by PR queue bot
2016-02-02 03:50:05 -08:00
k8s-merge-robot
5a6cf15c09
Merge pull request #19874 from justinsb/aws_fix_findinstancesbynodenames
...
Auto commit by PR queue bot
2016-02-01 21:38:46 -08:00
Brendan Burns
2aa5dc317b
Try harder to delete cloud resources in service tests
2016-02-01 15:34:55 -08:00
k8s-merge-robot
3db1a6c3ce
Merge pull request #19976 from aarondav/elb-timeout
...
Auto commit by PR queue bot
2016-01-30 18:57:56 -08:00
k8s-merge-robot
d63398a543
Merge pull request #18829 from lebauce/openstack-use-os-ext-ips
...
Auto commit by PR queue bot
2016-01-29 17:49:43 -08:00
Fabio Yeon
eb2c2d1af4
Merge pull request #20111 from fabioy/fix-tmp-tests
...
Add temp directory creation method for tests.
2016-01-29 09:51:12 -08:00
Fabio Yeon
7205a160ac
Remove all instances of "/tmp" from unit tests and replace with a common
...
tmp directory creator. Exception is documented.
2016-01-27 16:11:22 -08:00
Prashanth Balasubramanian
bcd39900b3
Modify Create/SetGlobalForwardingRule to just take a link.
2016-01-27 16:00:45 -08:00
Prashanth Balasubramanian
cba768322a
Add cloudprovider methods for ssl.
2016-01-27 16:00:45 -08:00
Jan Safranek
23cd0913f7
Tag dynamically created GCE PD disks.
...
GCE disks don't have tags, we must encode the tags into Description field.
It's encoded as JSON, which is both human and machine readable:
description: '{"kubernetes.io/created-for/pv/name":"pv-gce-oxwts","kubernetes.io/created-for/pvc/name":"myclaim","kubernetes.io/created-for/pvc/namespace":"default"}'
2016-01-27 15:16:05 +01:00
Prashanth Balasubramanian
5dec84c0dc
Fix zone in cloudprovider method.
2016-01-26 19:12:31 -08:00
James Ravn
c3383b3422
Fix formatting of aws_test.go
2016-01-26 15:13:25 +00:00
James Ravn
b4bbc3b3ef
Fix removal of aws security group ingress
...
The ip permission method now checks for containment, not equality, so
order of parameters matter. This change fixes
`removeSecurityGroupIngress` to pass in the removal permission first to
compare against the existing permission.
2016-01-26 13:57:52 +00:00
Dogan Narinc and James Ravn
190c829ac5
Fix AWS ip permission comparison on security group
...
Change isEqualIPPermission to consider the entire list of security group
ids on when checking if a security group id has already been added.
This is used for example when adding and removing ingress rules to the
cluster nodes from an elastic load balancer. Without this, once there
are multiple load balancers, the method as it stands incorrectly returns
false even if the security group id is in the list of group ids. This
causes a few problems: dangling security groups which fill up an
account's limit since they don't get removed, and inability to recreate
load balancers in certain situations (receiving an
InvalidPermission.Duplicate from AWS when adding the same security
group).
2016-01-26 11:30:27 +00:00
Rudi Chiarito
76e29ed455
Register ECR credential plugin only when an AWS cloud instance is created
2016-01-25 22:18:45 -05:00
Quinton Hoole
10f7985dfb
Merge pull request #19995 from justinsb/gce_label_pd
...
Ubernetes-Lite GCE: Label volumes with zone information
2016-01-25 10:34:10 -08:00
Aaron Davidson
97689c326d
Reduce healthy threshold and check interval for Amazon ELBs
...
According to AWS, the ELB healthy threshold is "Number of consecutive health check successes before declaring an EC2 instance healthy." It has an unusual interaction with Kubernetes, since all nodes will enter either an unhealthy state or a healthy state together depending on the service's healthiness as a whole.
We have observed that if our service goes down for the unhealthy threshold (which is 2 checks at 30 second intervals = 60 seconds), then the ELB will stop serving traffic to all nodes in the cluster, and will wait for the healthy threshold (currently 10 * 30 = 300 seconds) AFTER the service is restored to add back the cluster nodes, meaning it remains unreachable for an extra 300 seconds.
With the new settings, the ELB will continue to timeout dead nodes after 60 seconds, but will restore healthy nodes after 20 seconds. The minimum value for healthyThreshold is 2, and the minimum value for interval is 5 seconds. I went for 10 seconds instead of the minimum sort of arbitrarily because I was not sure how much this value may affect the scalability of clusters in EC2, as it does put some extra load on the kube-proxy.
2016-01-23 11:10:37 -08:00
Justin Santa Barbara
1276675512
Ubernetes-Lite: Error if a PD name is ambiguous
...
We don't cope well if a PD is in multiple zones, but this is actually
fairly easy to detect. This is probably justified purely on the basis
that we never want to delete the wrong volume (DeleteDisk), but also
because this means that we now warn on creation if a disk is in multiple
zones (with the labeling admission controller).
This also means that with the scheduling predicate in place, that many
of our volume problems "go away" in practice: you still can't create or
delete a volume when it is ambiguous, but thereafter the volume will be
labeled with the zone, that will match it only to nodes with the same
zone, and then we query for the volume in that zone when we
attach/detach it.
2016-01-22 17:16:38 -05:00
Justin Santa Barbara
900567288b
Ubernetes Lite: Label volumes with zone information
...
When volumes are labeled, they will only be scheduled onto nodes in the
same zone.
2016-01-22 17:16:31 -05:00
Zach Loafman
7189db3701
Merge pull request #19396 from justinsb/aws_mountdevice
...
AWS: Use a strongly typed mountDevice
2016-01-22 11:04:23 -08:00
Justin Santa Barbara
2201c631b3
Fix for panic when instance not found
...
This removes a panic I mistakenly introduced when an instance is not
found, and also restores the exact prior behaviour for
getInstanceByName, where it returns cloudprovider.InstanceNotFound when
the instance is not found.
2016-01-21 19:15:09 -05:00
Alex Mohr
f64a40f315
Merge pull request #19863 from justinsb/aws_fix_loadbalancer_tcp_check
...
AWS: Eliminate assumptions about all load-balancer ports matching
2016-01-21 10:52:20 -08:00
Alex Mohr
b8f8a62775
Merge pull request #19862 from justinsb/aws_fix_tcploadbalancer_comment
...
AWS: Fix comment to reflect new method name
2016-01-21 10:51:37 -08:00
Alex Mohr
8e9bebb424
Merge pull request #19861 from justinsb/aws_remove_dead_code
...
AWS: Remove dead code
2016-01-21 10:51:06 -08:00
Alex Mohr
819cdc85d3
Merge pull request #19390 from danielschonfeld/optimize-kubelet-heartbeat-aws
...
optimize kubelet heartbeats instance data to be cached for AWS
2016-01-21 10:33:00 -08:00
Alex Mohr
d2d349bc84
Merge pull request #19334 from resouer/network
...
Networking should be used to hold network related pkgs
2016-01-21 10:26:13 -08:00
Alex Mohr
eaa61a72b0
Merge pull request #17919 from justinsb/multizone_gce
...
Ubernetes Lite support for GCE
2016-01-21 10:22:34 -08:00
k8s-merge-robot
0f6f521beb
Merge pull request #18959 from jsafrane/devel/cinder-tags
...
Auto commit by PR queue bot
2016-01-21 03:33:58 -08:00
Justin Santa Barbara
43cbfb74fe
Ubernetes Lite GCE: Support multiple zones in GCE cloud provider
...
We adapt the existing code to work across all zones in a region.
We require a feature-flag to enable Ubernetes-Lite
Reasons:
* There are some behavioural changes if users create volumes with
the same name in two zones.
* We don't want to make one API call per zone if we're not running
Ubernetes-Lite.
* Ubernetes-Lite is still experimental.
There isn't a parallel flag implemented for AWS, because at the moment
there would be no behaviour changes from this.
2016-01-20 23:04:53 -05:00
Justin Santa Barbara
9f44c72ba9
AWS: findInstancesByNodeNames should not make O(N) API calls
...
findInstancesByNodeNames was a simple loop around
findInstanceByNodeName, which made an EC2 API call for each call.
We've had trouble with this sort of behaviour hitting EC2 rate limits on
bigger clusters (e.g. #11979 ).
Instead, change this method to fetch _all_ the tagged EC2 instances, and
then loop through the local results. This is one API call (modulo
paging).
We are currently only using findInstancesByNodeNames for the load
balancer, where we attach every node, so we were fetching all but one of
the instances anyway.
Issue #11979
2016-01-20 12:37:22 -05:00
Justin Santa Barbara
0586d866de
AWS: Eliminate assumptions about all load-balancer ports matching
...
It costs us basically nothing to just check all the ports, and
protects us against future changes to the controller.
2016-01-20 09:30:46 -05:00
Justin Santa Barbara
12dd568662
AWS: Fix comment to reflect new method name
...
TCPLoadBalancer.EnsureTCPLoadBalancer => LoadBalancer.EnsureLoadBalancer
2016-01-20 09:28:28 -05:00
Justin Santa Barbara
30882265b6
AWS: Remove dead code
...
I think I added these functions by mistake; they aren't used and
apparently never were.
2016-01-20 09:23:53 -05:00
k8s-merge-robot
4969f11089
Merge pull request #19439 from bprashanth/compute_dep
...
Auto commit by PR queue bot
2016-01-16 10:38:11 -08:00
Harry Zhang
936a11e775
Use networking to hold network related pkgs
...
Change names of unclear methods
Use net as pkg name for short
2016-01-15 13:46:16 +08:00
Mike Danese
1f0b10bd22
Merge pull request #19538 from mesosphere/jdef_mesos_026_compat
...
MESOS: compatibility w/ mesos v0.26
2016-01-14 13:44:42 -08:00
Daniel Schonfeld
12cbc9ff89
optimize ExternalId() and InstanceId() to returned cached results directly from the metadata service
2016-01-13 23:36:57 -05:00
James DeFelice
ad1803a4ce
construct master URIs from MasterInfo.Address if present; prefer /state over /state.json
2016-01-12 17:49:19 +00:00
Sylvain Baubeau
b9dfe1b737
Use Openstack os-ext-ips extension to qualify IP address types
...
fixes #18409
2016-01-12 15:03:47 +01:00
David Oppenheimer
8ac484793d
Comment out calls to httptest.Server.Close() to work around
...
https://github.com/golang/go/issues/12262 . See #19254 for
more details. This change should be reverted when we upgrade
to Go 1.6.
2016-01-11 23:02:11 -08:00
Prashanth Balasubramanian
cc09a603dd
Code changes
2016-01-11 16:27:12 -08:00
k8s-merge-robot
37b5726716
Merge pull request #14431 from Defensative/UDP-LB
...
Auto commit by PR queue bot
2016-01-08 12:39:02 -08:00
k8s-merge-robot
e0e305c6be
Merge pull request #19337 from danielschonfeld/optimize-list-routes
...
Auto commit by PR queue bot
2016-01-08 10:19:47 -08:00
Justin Santa Barbara
03900b1dc9
AWS: Use a strongly typed mountDevice
...
We've had problems in the past from using a string with passing the
wrong value when detaching; stronger typing would have caught this for
us.
2016-01-08 00:25:11 -05:00
Daniel Schonfeld
24c44e7a8e
optimize ListRoutes to fetch instances only once per call
...
Issue #12121 - fixes courtesy of @justinsb - thank you
2016-01-07 14:32:37 -05:00
Justin Santa Barbara
e7c3a08947
AWS: Provide newly required initialization arguments
...
It seems that some formerly optional arguments are now required in the
latest aws-sdk-go, see e.g.
https://github.com/aws/aws-sdk-go/issues/452 .
2016-01-06 13:37:02 -05:00
Kenneth Shelton
9e6c45c395
Updated comments
...
Updated documentation
Fixed e2e test
2016-01-05 20:51:21 +00:00
Kenneth Shelton
d399a8f8cc
* Added UDP LB support (for GCE)
2016-01-05 20:51:21 +00:00
Trevor Pounds
bbc181d1f8
Remove unused EC2 metadata functions.
2016-01-04 16:10:23 -08:00
Trevor Pounds
89d7eb050a
Update AWS cloud provider to aws-sdk-go v1.0.2.
2016-01-04 16:10:23 -08:00
Justin Santa Barbara
7444216d4f
AWS: Delete routes during create if they are black-holed
...
If a route already exists but is invalid (e.g. from a crash), we
automatically delete it before trying to create a route that would
otherwise conflict.
2016-01-03 18:19:12 -05:00
Justin Santa Barbara
f9a6ac077e
Ubernetes Lite: Volumes can dictate zone scheduling
...
For AWS EBS, a volume can only be attached to a node in the same AZ.
The scheduler must therefore detect if a volume is being attached to a
pod, and ensure that the pod is scheduled on a node in the same AZ as
the volume.
So that the scheduler need not query the cloud provider every time, and
to support decoupled operation (e.g. bare metal) we tag the volume with
our placement labels. This is done automatically by means of an
admission controller on AWS when a PersistentVolume is created backed by
an EBS volume.
Support for tagging GCE PVs will follow.
Pods that specify a volume directly (i.e. without using a
PersistentVolumeClaim) will not currently be scheduled correctly (i.e.
they will be scheduled without zone-awareness).
2015-12-31 12:27:01 -05:00
Jan Safranek
815d1e0865
Tag OpenStack Cinder volumes created by Kubernetes.
...
This synchronizes Cinder with AWS EBS code, where we already tag volumes with
claim.Namespace and claim.Name (and pv.Name, as suggested in separate PR).
2015-12-21 11:36:42 +01:00
Jan Safranek
2f06ebf9b7
Implement Creater and Deleter interfaces for Cinder.
2015-12-16 14:23:14 -05:00
Jan Safranek
1b7445a6e2
Use SSD as default volume type.
...
General purpose SSD ('gp2') volume type is just slighly more expensive than
Magnetic ('standard' / default in AWS), while the performance gain is pretty
significant.
So far, the volumes were created only during testing, where the extra cost
won't make any difference. In future, we plan to introduce QoS classes, where
users could choose SSD/Magnetic depending on their use cases.
'gp2' is just the default volume type for (hopefuly) short period before these
QoS classes are implemented.
2015-12-15 12:14:48 +01:00
Jan Safranek
6ff5286df9
Implement Creater and Deleter interfaces for AWS EBS.
...
Also mark the created EBS volumes with tags, so the admin knows
who/what created the volumes.
2015-12-15 10:22:49 +01:00
Jan Safranek
700d92c2a8
AWS: Use GiB as units for disk sizes.
...
From some reason, MiBs were used for public functions and AWS cloud provider
recalculated them to GiB. Let's expose what AWS really supports and don't hide
real allocation units.
2015-12-15 10:18:00 +01:00
k8s-merge-robot
56cd501598
Merge pull request #18427 from mesosphere/sttts-cloud-provider-npe
...
Auto commit by PR queue bot
2015-12-09 08:45:06 -08:00
Dr. Stefan Schimanski
60ce27cb50
cloudprovider/mesos: fix panics when the Mesos master cannot be reached
2015-12-09 12:58:38 +01:00
Robert Bailey
2ecf504a2e
Change the gce constant for session affinity to have the capitalization
...
shown in the documentation.
Fixes #18347
2015-12-08 09:36:49 -08:00
Mike Danese
dcdd7f1ca8
remove vagrant cloud provider
2015-12-02 13:20:54 -08:00
Sebastien LAWNICZAK
3eae5895f8
Passing DomainID/DomainName to AuthOptions
...
To be able to use Domains with IdentityV3, domain-id/domain-name in provider config should be passed to gophercloud.AuthOptions
2015-12-01 23:12:25 +01:00
k8s-merge-robot
74049947d2
Merge pull request #12589 from slaws/os-vip-with-floatingip
...
Auto commit by PR queue bot
2015-12-01 02:01:39 -08:00
saadali
42b200a0a0
Refactor GCE wrapper library to allow execution from E2E test suite
...
This reverts commit 147b6911f5
, reversing
changes made to 6fd986065b
.
2015-11-25 11:48:06 -08:00
k8s-merge-robot
9a4a8075ed
Merge pull request #15537 from jsafrane/devel/cinder-hostname
...
Auto commit by PR queue bot
2015-11-24 06:47:40 -08:00
Jerome Touffe-Blin
4a01539ded
Fix #17647 - AWS add tag to SG only if existing tag
2015-11-23 22:08:17 +11:00
Jerzy Szczepkowski
8a922e22be
Revert "Refactor GCE wrapper library to allow execution from E2E test suite"
2015-11-23 09:24:32 +01:00
k8s-merge-robot
3fbf0cb810
Merge pull request #17276 from saad-ali/fixErrorCreatingPD
...
Auto commit by PR queue bot
2015-11-21 23:32:30 -08:00
saadali
882469dd7b
Refactor GCE wrapper library to allow execution from E2E test suite
2015-11-20 11:41:10 -08:00
Brendan Burns
4903474bad
Remove container api, its no longer generated and breaking godeps.
2015-11-19 09:20:28 -05:00
Dr. Stefan Schimanski
2f45d5706b
Add node status update controller
2015-11-16 11:48:04 +01:00
Dr. Stefan Schimanski
0c1d90bf5f
Add ListWithoutKubelet to mesos cloud provider
2015-11-16 11:48:04 +01:00
Dr. Stefan Schimanski
6a2602a51b
Make cloud provider return disappearence of slave to the node controller
...
- implement ExternalID in Mesos cloud provider. This is used by the node
controller to detect disappeared nodes.
- add test case for ExternalID
2015-11-16 11:48:04 +01:00
k8s-merge-robot
e86c3de65b
Merge pull request #16633 from brendandburns/aws2
...
Auto commit by PR queue bot
2015-11-13 02:01:55 -08:00
Brendan Burns
64aa189bd2
Make the AWS provider target the metadata server for local data lookup
2015-11-12 15:15:01 -08:00
Jan Safranek
7fc8bcae60
openstack: cache InstanceID and use it for volume management.
...
Hostnames are not related to server names or instance IDs in any way,
don't use them when attaching/detaching volumes.
2015-11-12 11:10:38 +01:00
Justin Santa Barbara
55c4140a0a
AWS: Refactor interfaces to take a single request arg
...
Cleaning up some of the older code that tried to abstract the AWS SDK,
from when the AWS SDK was less consistent (pre aws-sdk-go).
2015-11-08 22:35:12 -08:00
k8s-merge-robot
45028e8c3d
Merge pull request #14493 from BugRoger/fix_devicemapping_cache_invalidation
...
Auto commit by PR queue bot
2015-10-29 06:43:10 -07:00
k8s-merge-robot
0ced872a26
Merge pull request #16142 from bprashanth/cloudprovider_methods
...
Auto commit by PR queue bot
2015-10-26 19:44:48 -07:00
Prashanth Balasubramanian
f7db2eefef
cloudprovider methods to list resources and get health
2015-10-26 13:36:27 -07:00
Daniel Smith
b07dd73f26
Merge pull request #16053 from saad-ali/attachDetachMutextFix
...
Fix GCE Cloud/Attach/Detach stability issues
2015-10-26 13:05:27 -07:00
Tim Hockin
42c7fec490
Add a cloud-provider hook to scrub DNS for pods
...
GCE needs this hook and it seems general enough to include.
2015-10-23 17:01:49 -07:00
saadali
19115b2a22
Fix GCE Cloudprovider waitForOp bug and make GCE attach/detach atomic operations.
2015-10-23 11:58:56 -07:00
k8s-merge-robot
d453976e8a
Merge pull request #15918 from justinsb/fix_typos
...
Auto commit by PR queue bot
2015-10-20 13:37:14 -07:00
Steve Milner
8da2d4002f
Fixes remaining imports per #15319
2015-10-20 07:13:13 -04:00
Justin Santa Barbara
67d3a93166
Fix misc typos
...
Mostly in comments, but also renamed the (test) function
migUdpateCmdBase -> migUpdateCmdBase.
2015-10-20 05:52:45 -04:00
Justin Santa Barbara
c465e91681
AWS: Log all calls at V(4), using a handler
...
Fixes #12122
2015-10-19 18:54:59 -04:00
eulerzgy
f8f9afb874
alias local packagename for pkg/util/errors
2015-10-18 09:37:46 +08:00
k8s-merge-robot
1bba475a9d
Merge pull request #15735 from mesosphere/jdef-fix-tasks-and-profiling
...
Auto commit by PR queue bot
2015-10-17 02:20:18 -07:00
k8s-merge-robot
a6634adc1c
Merge pull request #15435 from zhengguoyong/adjust_package_name_pkgcloudprovider
...
Auto commit by PR queue bot
2015-10-16 08:30:32 -07:00
James DeFelice
76dda4fbe9
set defaults for http transport
2015-10-15 21:30:43 +00:00
combk8s
59b392c4fa
Capitalize the first letter in some log files
2015-10-15 11:03:56 +08:00
Dawn Chen
80bf32ce56
Merge pull request #14879 from tpounds/aws-cloud-cleanup
...
AWS Cloud Provider Cleanup
2015-10-12 12:25:52 -07:00
eulerzgy
8b174f7f33
adjust package name for pkg/cloudprovider
2015-10-10 16:44:54 +08:00
Alex Robinson
3bbfe48e0a
Merge pull request #15286 from a-robinson/ensure
...
Correctly support updates in EnsureTCPLoadBalancer for GCE.
2015-10-09 17:34:40 -07:00
Alex Robinson
29c607bed6
Only use static IPs for GCE forwarding rules while creating or updating
...
them, not in the steady state once they've been created. This makes it
much less likely that users will run into static IP quota issues.
Also add slightly more parallelism to the deletion of load balancers
now that I realize the static IPs can be deleted in parallel with
forwarding rules :)
2015-10-09 19:03:57 +00:00
Alex Robinson
2a5a121505
Fix small comments.
2015-10-09 17:38:55 +00:00
Trevor Pounds
5d5013a722
Remove unreachable panic statement.
...
The availability zone always exist since it is retrieved
from the instance's EC2 metadata service during cloud
provider construction.
2015-10-09 10:19:56 -07:00
Trevor Pounds
4407ca9a64
Remove unused method.
2015-10-09 10:19:56 -07:00
Trevor Pounds
f71533ce20
Remove unnecessary describe VPC call.
...
The external DescribeVPCs call is unnecessary since only the VPC ID
is used and it is retrieved from the EC2 metadata service.
2015-10-09 10:19:56 -07:00
Trevor Pounds
326dd7c1c0
Remove private struct field. It is only used at construction.
2015-10-09 10:19:56 -07:00
Alex Robinson
429fa7a378
Correctly support updates in EnsureTCPLoadBalancer for GCE.
...
Previously we'd just tear everything down and recreate it, which makes
for a pretty bad experience because it causes downtime whenever the
service controller restarts and has to make sure everything is in the
desired state.
This adds more code than I'd prefer, but makes it much cleaner and more
organized than it was before, in my opinion. I didn't bother
parallelizing anything because it's complex enough as it is, right now.
It's consistently passing the existing e2es and worked when I tested
manually, but this could definitely use additional e2e tests and/or some
serious refactoring to make real unit tests feasible. I'll follow up
with one or two e2e tests that make sense (updating an LB or killing the
controller manager, perhaps).
2015-10-08 23:20:48 +00:00
Prashanth Balasubramanian
02aa5e183c
Add HTTPHealthCheck crud operations to cloudprovider library.
2015-10-07 13:22:56 -07:00
Michael Schmidt
48776f3feb
Fix for Invalidation of DeviceMapping-Cache
2015-10-06 09:58:04 +02:00
Alex Robinson
d481ba7547
Merge pull request #14964 from a-robinson/lbdelete
...
Unrevert #14608 and decrease the latency of GCE load balancer deletions
2015-10-05 16:26:07 -07:00
Alex Robinson
90a9e01a68
Delete GCE external load balancer components in parallel.
...
This will cut down on the amount of time it takes to delete an external
load balancer, which should reduce the likelihood of resource leaks when
clusters are deleted.
2015-10-05 22:43:25 +00:00
Alex Robinson
cfdde6f7d4
Fix PR for maintaining a GCE IP independently of the forwarding rule.
...
This code was in rough shape, so I've fixed the issues with the original
PR as well as a few other changes:
1. Clarify the error messages related to the "gce Addresses" to make it
clear we're talking about static IP addresses
2. Fix the bug in the original PR, which was a nil pointer dereference
from passing op to waitForRegionOp when the address doesn't exist.
3. Rearrange the steps of EnsureTCPLoadBalancerDeleted to be the reverse
of EnsureCreated, which mostly just seems like good practice to me.
This is also supported by the following two bugs I found :(
4. Fix an independent bug of returning too early if the target pool
doesn't exist, effectively stranding the firewall. This was likely
introduced because target pools used to be the last thing deleted,
so it was previously safe to return there.
5. Fix an independent bug of not returning an error waiting for the
target pool to be deleted failed. This was very possibly causing
target pool leaks in our e2e tests. This was similarly due to
assuming that the target pool was the last thing deleted in the
function, then having the firewall deletion stuck in after it.
2015-10-05 22:43:15 +00:00
Alex Robinson
d578e7738d
Merge pull request #14242 from simonswine/fix_mulitple_subnets_per_az
...
aws: fixes ELB creation with multiple subnets per AZ
2015-10-05 13:06:19 -07:00
Marcin Wielgus
5adeb00583
Merge pull request #15048 from Huawei-PaaS/fixed_typos_for_cloudprovider
...
Fixed some typos and improved comments for cloudprovider
2015-10-05 17:49:15 +02:00
qiaolei
919add69be
Fixed some typos and improved comments
2015-10-03 22:43:10 +08:00
k8s-merge-robot
cc34aee8ab
Merge pull request #14526 from saad-ali/issue13751GCEPollOps
...
Auto commit by PR queue bot
2015-10-02 09:46:28 -07:00
k8s-merge-robot
a34855e0d1
Merge pull request #14657 from justinsb/aws_more_regions
...
Auto commit by PR queue bot
2015-10-02 03:48:25 -07:00
Brendan Burns
0e71ea1253
Maintain an IP address independent of the forwarding rule for GCE
2015-10-01 21:42:36 +00:00
Christian Simon
c1a14bd163
aws: fixes ELB creation with multiple subnets per AZ
...
Only takes the first available subnet in a AZ, ignore other subnets
and log warning about this.
Removes AWS region comparison for subnet AZs. A VPC is only in a single
AWS region.
Fixes #12381
2015-10-01 21:38:11 +01:00
k8s-merge-robot
8356270cce
Merge pull request #14430 from Defensative/updated-fw-tags
...
Auto commit by PR queue bot
2015-10-01 03:51:13 -07:00
eulerzgy
4c588d771c
ent
2015-09-30 14:49:19 +08:00
eulerzgy
71b96422f4
set capital in some files
2015-09-30 14:46:20 +08:00
Brendan Burns
4b1d3d8b0c
Merge pull request #14245 from tpounds/update-to-aws-sdk-go-v0.9.9
...
Update to aws-sdk-go v0.9.9
2015-09-29 19:31:14 -07:00
saadali
7771151767
GCE PD attach/detach operations should poll to verify successful completion
2015-09-29 14:32:06 -07:00
Justin Santa Barbara
fda6243c5e
AWS: Recognize cn-north-1 & us-gov-west-1 regions
...
These two regions were accidentally omitted. This list now matches the
list we use elsewhere (e.g. when choosing an AMI).
Fixes #14420
2015-09-28 07:01:45 -07:00
Trevor Pounds
ea85e2319b
Use set interface methods.
2015-09-25 23:19:33 -07:00
Brian Grant
9f01981863
Revert "Maintain an IP address independent of the forwarding rule for GCE plus bug fixes"
2015-09-25 22:04:35 -07:00
Trevor Pounds
9cd91d111d
Use AWS SDK EC2 metadata client.
2015-09-25 17:03:22 -07:00
Trevor Pounds
df0718caa1
Migrate source to aws-sdk-go v0.9.9.
...
Upgrading to aws-sdk-go >= v0.9.0 requires a
source migration via awsmigrate-renamer tool.
see: http://aws.amazon.com/releasenotes/2948141298714307
2015-09-25 17:03:22 -07:00
Alex Robinson
242d28cf68
Fix PR for maintaining a GCE IP independently of the forwarding rule.
...
This code was in rough shape, so I've fixed the issues with the original
PR as well as a few other changes:
1. Clarify the error messages related to the "gce Addresses" to make it
clear we're talking about static IP addresses
2. Fix the bug in the original PR, which was a nil pointer dereference
from passing op to waitForRegionOp when the address doesn't exist.
3. Rearrange the steps of EnsureTCPLoadBalancerDeleted to be the reverse
of EnsureCreated, which mostly just seems like good practice to me.
This is also supported by the following two bugs I found :(
4. Fix an independent bug of returning too early if the target pool
doesn't exist, effectively stranding the firewall. This was likely
introduced because target pools used to be the last thing deleted,
so it was previously safe to return there.
5. Fix an independent bug of not returning an error waiting for the
target pool to be deleted failed. This was very possibly causing
target pool leaks in our e2e tests. This was similarly due to
assuming that the target pool was the last thing deleted in the
function, then having the firewall deletion stuck in after it.
2015-09-25 18:49:51 +00:00
Brendan Burns
a5f4484f24
Maintain an IP address independent of the forwarding rule for GCE
2015-09-25 16:36:13 +00:00
Christopher Eck
511e3e1be9
Fix for issue #14466 . Don't use tag filtering when looking up which VPC an AWS node is attached to.
2015-09-24 09:51:35 -07:00
Kenneth Shelton
65ad351c7f
* Removed host tag tests as they now require real live nodes
2015-09-23 09:10:52 -07:00
Kenneth Shelton
aef8ba00e0
Ran gofmt -s
2015-09-23 08:40:51 -07:00
Kenneth Shelton
967fac0adc
Changed to use sets utility
2015-09-22 12:26:50 -07:00
Kenneth Shelton
10f79eb490
Updated GCE FW target tag logic to use the set of longest tag prefixes from all instances
2015-09-22 09:31:41 -07:00
Trevor Pounds
1a7f8dc30c
Check load balancer and cluster have the same region.
2015-09-21 12:38:00 -07:00
Trevor Pounds
4775a8a5bb
Remove superfluous ELB region lookup logic.
...
The ELB client lookup isn't necessary because the service
does not operate across regions. Instead the client should
be built like the others by querying for the region from
the master node's metadata service.
2015-09-21 12:38:00 -07:00
Trevor Pounds
ed8748a6b6
Remove obsolete TCPLoadBalancer interface method.
2015-09-21 12:38:00 -07:00
Daniel Martí
586cb9126a
Move pkg/util.Time to pkg/api/unversioned.Time
...
Along with our time.Duration wrapper, as suggested by @lavalamp.
2015-09-17 17:51:27 -07:00
Sebastien LAWNICZAK
4c57053d2c
Code review correction
...
Inverting code path on CreateTcploadBalancer to avoid branch divergence
Removing useless variable vipAddr as vip have information needed
Renaming 'error' variable on EnsureTCPLoadBalancerDeleted to be consistent
2015-09-16 21:17:46 +02:00
k8s-merge-robot
22f698f5b0
Merge pull request #13953 from liguangbo/change_iff_to_if_and_only_if
...
Auto commit by PR queue bot
2015-09-16 08:35:20 -07:00
liguangbo
4df68f03a3
change iff to if and only if to improve annotation readability
2015-09-16 08:29:36 +00:00
Prashanth Balasubramanian
bd0eb34aec
InstanceGroups
2015-09-14 16:04:41 -07:00
Prashanth Balasubramanian
d096aaffd8
BackendServices
2015-09-14 16:04:41 -07:00
Prashanth Balasubramanian
9b929addec
GlobalForwardingRules
2015-09-14 16:04:40 -07:00
Prashanth Balasubramanian
b3a1c585cd
TargetHttpProxy
2015-09-14 16:04:34 -07:00
Prashanth Balasubramanian
83a2dfdef0
UrlMap
2015-09-14 16:02:08 -07:00
Abhishek Shah
44ce4aa423
Create a LB for a K8S with the LB-IP provided by user.
2015-09-10 21:05:06 -07:00
tummychow
78ce5da988
Move util.StringSet into its own package
...
A lot of packages use StringSet, but they don't use anything else from
the util package. Moving StringSet into another package will shrink
their dependency trees significantly.
2015-09-10 12:04:15 -07:00
Jan Safranek
f7384827b8
Fixed error handling of cloud init.
...
Avoid creating a new 'err' variable in the 'if'-branch, shadowing the one
in the outer scope.
Any error from subsequent 'cloud, err = GetCloudProvider()' was not propagated
to 'err' variable in the outer scope and thus errors were never returned from
this function.
This is hard to debug error on OpenStack, when content of --cloud-config=
file is wrong or connection to OpenStack fails. Such error is never logged
and Kubernetes thinks everything is OK.
2015-09-08 10:46:49 +02:00
Isaac Hollander McCreery
219a1fae62
Second attempt at GCE tokens behavior to new format
2015-09-04 08:36:55 -07:00
Piotr Szczesniak
b813ebadee
Revert "GCE tokens behavior to new format"
2015-09-04 10:26:19 +02:00
Piotr Szczesniak
30d7f0e101
Merge pull request #13449 from ihmccreery/tokens
...
GCE tokens behavior to new format
2015-09-04 09:11:09 +02:00
Abhi Shah
b8179eae24
Merge pull request #13467 from simonswine/feature_enhanced_vpc_detection
...
Enhanced detection of VPC for cloudprovider AWS
2015-09-03 15:47:28 -07:00
Isaac Hollander McCreery
d3398e2aed
GCE tokens behavior to new format
2015-09-02 14:13:51 -07:00
Christian Simon
1bfba8a590
Enhanced detection of VPC for cloudprovider AWS
...
* use metadata of instance rather than hardcoded VPC name
* test coverage for retrieval of network metadata
2015-09-02 16:28:55 +01:00
Daniel Smith
e25540c955
Merge pull request #9663 from swagiaal/aws-add-shared-credentials-provider
...
Add SharedCredentials Provider to AWS
2015-09-01 15:24:29 -07:00
Brendan Burns
9c37fe29c8
Merge pull request #12227 from freeformz/remove_code_google_com
...
s:code.google.com/p:github.com/scalingdata:
2015-09-01 10:07:44 -07:00
Edward Muller
63207741de
go fmt these
2015-08-31 11:29:33 -07:00
Edward Muller
69da77c6b0
s:code.google.com/p:github.com/scalingdata:
...
Because code.google.com is going away. Probably #1 of several.
2015-08-31 11:29:33 -07:00
Sami Wagiaalla
4a33c9cb44
Add SharedCredentials Provider to AWS
...
This will allows authentication with the AWS API using the
~/.aws/credentials file which is created by runnign 'aws configure' on
a node.
Signed-off-by: Sami Wagiaalla <swagiaal@redhat.com>
2015-08-31 11:20:46 -04:00
Sreekanth Pothanis
f5da6b34ce
Cinder Volume Plugin
2015-08-30 19:56:27 -07:00
CJ Cullen
cb7d3f0148
Return an error from gce.EnsureTCPLoadBalancer with no hosts.
2015-08-28 17:15:47 -07:00
Prashanth B
05b205bab6
Revert "Volume Plugin for Cinder; Openstack Block Storage"
2015-08-28 10:56:24 -07:00
Prashanth B
8d0d54ffed
Merge pull request #6689 from spothanis/cinder-vol-plugin
...
Volume Plugin for Cinder; Openstack Block Storage
2015-08-28 10:47:31 -07:00
Yu-Ju Hong
d839ab2024
Merge pull request #12940 from Miciah/Warning-to-Warningf
...
glog.Warning -> glog.Warningf
2015-08-26 13:36:05 -07:00
Sreekanth Pothanis
c841a20361
Cinder Volume Plugin
2015-08-25 15:13:56 -07:00
Alex Robinson
87d86cf7a4
Be more lenient when deriving the node tag from a node name on GCE.
2015-08-24 23:03:42 +00:00
Saad Ali
5ec3c78190
Merge pull request #8366 from justinsb/idempotent_loadbalancer
...
Make LoadBalancer creation more self-healing; don't delete on AWS
2015-08-20 14:30:55 -07:00
Miciah Masters
8aa299da90
glog.Warning -> glog.Warningf
...
Fix three places where glog.Warning is used with a formatted string.
2015-08-19 16:22:28 -04:00
Robert Bailey
ca168ce285
Merge pull request #12262 from jgriffiths1993/hf-12261
...
Replace Port with NodePort for creating LB members
2015-08-18 09:14:30 -07:00
Justin Santa Barbara
907090a777
Move new files into pkg/cloudprovider/providers/aws/
...
They were not caught by the general reorg because they weren't on
master.
2015-08-17 08:59:29 -04:00
Justin Santa Barbara
d947a8f78b
Update imports to new k8s.io style
2015-08-17 08:58:46 -04:00
Justin Santa Barbara
08e904ad96
AWS: Configure LoadBalancer health checks
...
ELB will automatically create a health check, but if we update the
listeners the old health check port sticks around, and all the instances
are marked offline.
Update the health-checks to match the listeners: we just check the first
valid service port, with some hard-coded options for timeouts / retries etc.
2015-08-17 08:58:46 -04:00
Justin Santa Barbara
924350d5f6
AWS: Make load balancer creation idempotent on AWS
...
This turned out to be a little convoluted, but is needed because deleting an ELB on AWS
is a painful UX - it won't have the same endpoint when it is recreated.
Also started splitting the provider into files, but only for new functions (so far!)
2015-08-17 08:58:46 -04:00
Justin Santa Barbara
87df1d6fb6
Change CreateTCPLoadBalancer -> EnsureTCPLoadBalancer; implementations auto-delete if already exists
...
Previously the servicecontroller would do the delete, but by having the cloudprovider
take that task on, we can later remove it from the servicecontroller, and the
cloudprovider can do something more efficient.
2015-08-17 08:58:45 -04:00
Joshua Griffiths
a9aa2c6acc
Replace Port with NodePort for creating LB members
2015-08-17 08:47:00 +01:00
CJ Cullen
e20467afcb
Clean up GCE metadata calls. Remove GetNodeResources from all providers.
2015-08-14 07:29:52 -07:00
Sebastien LAWNICZAK
be5f9094d0
Fix : do not try to delete floatingIP if it does not exists
2015-08-13 15:51:06 +02:00
Sebastien LAWNICZAK
65c23ea0e7
Add floatingIP allocation for LB creation on openstack
2015-08-13 15:41:59 +02:00
Bryan Stenson
9541414742
create cloudprovider "providers" package
...
move all providers into new package
update all references to old package path
2015-08-11 22:36:51 -07:00
Kris Rousey
565189f5b8
Correcting all go vet errors
2015-08-11 13:55:37 -07:00
CJ Cullen
1f3c322ded
Merge pull request #12438 from derekparker/handle-fqdn-gce
...
Handle full hostname when computing host tag on GCE
2015-08-11 10:11:23 -07:00
Filip Grzadkowski
38c3e351d8
Merge pull request #12203 from jgriffiths1993/subnetid-vip
...
Pass SubnetID to vips.Create()
2015-08-11 10:59:56 +02:00
Alex Robinson
cd3c3fe479
Merge pull request #12373 from cjcullen/network
...
Use full URLs for GCE networks
2015-08-10 14:21:42 -07:00
Veres Lajos
9f77e49109
typofix - https://github.com/vlajos/misspell_fixer
2015-08-08 22:31:48 +01:00
Derek Parker
48fadc1570
Handle full hostname when computing host tag on GCE
...
The current code assumes the full domain name will not be included,
which is not always the case. This patch adds support for computing the
host tag from a fully qualified domain name.
2015-08-08 10:20:29 -05:00
CJ Cullen
5882c35e45
Use full URLs for GCE networks
2015-08-07 14:58:28 -07:00
Mike Danese
17defc7383
run gofmt on everything we touched
2015-08-05 17:52:56 -07:00
Mike Danese
8e33cbfa28
rewrite go imports
2015-08-05 17:30:03 -07:00
Joshua Griffiths
950bc8401b
Check for nil, not unspecified
2015-08-05 18:28:25 +01:00
Eric Paris
b4fb24f4bd
Move from code.google.com to google.golang.org for google-api-go-client
2015-08-04 20:08:55 -04:00
Joshua Griffiths
c911df6b46
Pass SubnetID to vips.Create()
2015-08-04 14:51:22 +01:00
gmarek
d27ad5b714
Controller codebase refactoring
2015-08-03 17:06:25 +02:00
gmarek
4e772738ca
Emit event when NodeController is evicting Pods.
2015-08-03 10:19:51 +02:00
Mike Danese
20129b0adf
Merge pull request #12028 from cjcullen/kl2
...
Make gce.ExternalID() use metadata server when requesting current external ID
2015-07-31 15:43:58 -07:00
Mike Danese
ad90c92693
Merge pull request #12042 from cjcullen/retry
...
Make gce operation polling more robust.
2015-07-31 14:50:37 -07:00
CJ Cullen
a4c64a5829
Make gce.ExternalID() use metadata server when requesting current external ID
...
Use the already computed instanceID instance of looking it up again.
2015-07-31 12:01:45 -07:00
Mike Danese
7a1d4477db
Merge pull request #12029 from iterion/use-external-id-for-routes
...
Use external id when reconciling routes
2015-07-31 10:23:11 -07:00
CJ Cullen
983748b2e2
Make gce operation polling more robust.
...
Only fail the operation if we cannot poll it 3 consecutive times.
2015-07-31 10:08:41 -07:00
Adam Sunderland
75674e7f4b
Fetch AWS PrivateDNSName for route recon
2015-07-31 10:57:38 -05:00
Mike Danese
dd3195084d
Merge pull request #11992 from pmorie/nodecontroller-now
...
Accurately report ts used to make decisions in node-controller.go
2015-07-30 11:18:06 -07:00
Mike Danese
1ae4a94257
Merge pull request #11949 from justinsb/golang_switch_type_autocast
...
Cleanup #11029 to use go autocast-after-type-switch
2015-07-30 09:54:33 -07:00
Mike Danese
1b84fb7d74
make testclient threadsafe by guarding internal state with accessors
2015-07-29 16:17:17 -07:00
Paul Morie
1ff8964c20
Accurately report ts used to make decisions in node-controller.go
2015-07-29 17:11:19 -04:00
Justin Santa Barbara
edd21d1e7a
Cleanup #11029 to use go autocast-after-type-switch
...
(thanks to brendandburns for the suggestion)
2015-07-28 12:10:31 -04:00
Daniel Smith
8d5a6b063c
Merge pull request #11029 from justinsb/fix_aws_security_group_races
...
AWS: Fix security group races
2015-07-27 16:15:43 -07:00
Alex Robinson
60611c253e
Add a resync period for services in the service controller.
...
This should ensure all load balancers get deleted even if a reordering of
watch events causes us to strand one after its service has been deleted,
because the sync will notice that the service controller's cache has a
service in it that no longer exists in the apiserver.
It could still leak in the case that the controller manager is killed
between when it leaks something and the sync runs, but this should
improve things.
2015-07-27 18:03:13 +00:00
Justin Santa Barbara
23a190cd97
Fixes per review
...
Primarily go style issues; also a TODO that really exponential backoff
is the correct policy for API call retries.
2015-07-26 18:30:02 -04:00
Justin Santa Barbara
092d407a48
AWS: Fix race in security-group read/create
...
We need to find the ID for a named security group, or create a new one.
We do this by listing the security groups, and then doing a create if we
cannot find one. This is a race though; against another thread if the
AWS API were consistent, but generally because the AWS API is actually
eventually consistent.
We wrap it in a retry loop.
2015-07-26 18:16:05 -04:00
Justin Santa Barbara
d7bace23ff
AWS: Fix race-condition in tagging of security group
...
When we create a security-group in the AWS API, there is sometimes
a delay before we can tag it (the AWS API is eventually consistent).
So we wrap CreateTags in a simple retry loop.
2015-07-26 18:16:05 -04:00
Vish Kannan
2a5a6b99cb
Merge pull request #10635 from smarterclayton/cloud_provider_should_err
...
Cloud provider should return an error
2015-07-23 17:50:45 -07:00
Daniel Smith
15d50f4211
Fix part of #9382
2015-07-23 15:48:45 -07:00
Alex Robinson
b0351ff266
Detect if UpdateTCPLoadBalancer left its GCE target pool in an incorrect state.
2015-07-17 19:01:21 +00:00
Alex Robinson
e943c47e68
Fix issue of comparing instance URLs with different project ID representations
...
in GCE target pools.
2015-07-15 21:24:45 +00:00
Brendan Burns
a8f02e5472
Automatically open a firewall when creating a GCE load balancer.
2015-07-10 14:35:29 -07:00
Alex Robinson
b52c6f673e
Increase the rate limiting of GCE's token source. The burst being at 3
...
means transient errors won't incur such long waits, but repeating
failures shouldn't be retrying every second.
2015-07-09 22:51:23 +00:00
CJ Cullen
53c9f324c2
Add prometheus metrics for altTokenSource.
2015-07-07 15:25:23 -07:00
Yu-Ju Hong
530bff315f
Merge pull request #10719 from justinsb/aws_mountpoints
...
AWS: Some images require volume mounts on /dev/xvdX
2015-07-07 10:48:19 -07:00
Yu-Ju Hong
736b3cb050
Merge pull request #10181 from swagiaal/aws-ebs-name
...
Use instance availability zone for AWS EBS
2015-07-06 11:39:33 -07:00
Justin Santa Barbara
f33df03d50
AWS: Some images require volume mounts on /dev/xvdX
...
It seems impossible to determine from outside. Thankfully we're running
the attachment from inside the instance, so can check for /dev/sdX or
/dev/xvdX.
More modern images seem to be moving to /dev/xvdX
2015-07-04 10:45:06 -04:00
Justin Santa Barbara
591a113406
AWS: Return InstanceNotFound from ExternalID when not found
...
Despite finding and documenting the importance of this, I was still doing it
wrong!
2015-07-04 10:41:38 -04:00
Justin Santa Barbara
5ae7c13ad3
AWS: Use private dns name for node name again
...
This is a partial reversion of #9728 , and should fix #10612 .
9728 used the AWS instance id as the node name. But proxy, logs
and exec all used the node name as the host name for contacting the minion.
It is possible to resolve a host to the IP, and this fixes logs. But
exec and proxy also require an SSL certificate match on the hostname,
and this is harder to fix.
So the sensible fix seems to be a minimal reversion of the changes in #9728 ,
and we can revisit this post 1.0.
2015-07-03 01:23:51 -04:00
Clayton Coleman
d8bb4552de
Cloud provider should return an error
...
Not fatal - makes cloud provider useful in methods that
can return error.
2015-07-01 14:41:49 -04:00
Sami Wagiaalla
4a6a492281
Use instance availability zone for AWS EBS
...
Signed-off-by: Sami Wagiaalla <swagiaal@redhat.com>
2015-06-25 16:00:30 -04:00
Justin Santa Barbara
4461daa218
AWS: Enabling resize tests
2015-06-24 19:01:42 -04:00
Justin Santa Barbara
2a5ed2f086
AWS: Use auto-scaling group to run minions
...
This uses the dynamic CIDR work, and we set source-dest-check to false
when we configure the route (which kind-of makes sense)
2015-06-19 10:22:15 -04:00
Satnam Singh
9f32599bee
Merge pull request #9720 from justinsb/aws_routes
...
Refactor Routes, and dynamically configure minion CIDRs on AWS
2015-06-18 17:16:29 -07:00
Justin Santa Barbara
0ad16a187d
Refactor findRouteTable to be less verbose
...
Thanks for the suggestion @cjcullen
2015-06-18 17:08:32 -07:00
Justin Santa Barbara
a4e15cdf3e
AWS: Configure minion routes dynamically
...
We need to implement the Routes interface, and then enable the functionality in the cluster scripts.
2015-06-18 14:59:37 -07:00
Justin Santa Barbara
a3b43a36fd
Refactor cloud route interface, to avoid assumption that routes are named
2015-06-18 14:59:37 -07:00
Justin Santa Barbara
a77bc9cfc4
Document assumption made by node-controller, and fix AWS to match
...
ExternalID must return "", cloudprovider.InstanceNotFound if the instance
is not found, for nodecontroller to remove nodes corresponding to deleted instances.
2015-06-18 14:55:10 -07:00
Satnam Singh
4c13f8957d
Merge pull request #10057 from justinsb/aws_id_as_name_2
...
Fix of reverted #9728
2015-06-18 14:07:21 -07:00
Justin Santa Barbara
bd512ae06d
AWS: Use the instance id as the node name
...
The EC2 instance id is the canonical node name on EC2.
2015-06-18 12:40:10 -07:00
Justin Santa Barbara
df87470ecf
Allow cloud providers to return a node identifier different from the hostname
2015-06-18 12:40:05 -07:00
Satnam Singh
e4f5529a2d
Revert "Allow nodename to be != hostname, use AWS instance ID on AWS"
2015-06-18 11:27:55 -07:00
CJ Cullen
abf1e768dc
Pass through an explicit PROXY_SSH_USER.
...
Use user@user instead of user@hostname in case hostname is too long.
2015-06-18 10:35:02 -07:00
Satnam Singh
790ca2344f
Merge pull request #9728 from justinsb/aws_id_as_name
...
Allow nodename to be != hostname, use AWS instance ID on AWS
2015-06-18 10:17:39 -07:00
CJ Cullen
15596ede41
Make AddSSHKeys a controller loop. Make sure master's always initializes m.tunnels.
2015-06-17 17:46:27 -07:00
Justin Santa Barbara
c89b0cd807
AWS: Use the instance id as the node name
...
The EC2 instance id is the canonical node name on EC2.
2015-06-17 00:40:43 -04:00
Justin Santa Barbara
efaead81dc
Allow cloud providers to return a node identifier different from the hostname
2015-06-17 00:40:43 -04:00
Justin Santa Barbara
bf7946c326
AWS: Define new m4 instance types
2015-06-17 00:04:05 -04:00
Justin Santa Barbara
1561fce81c
servicecontroller: last state applied to LB vs last state seen
...
We need the last state seen for interpreting the change-stream,
separately we need to track the last state we successfully applied to the
load balancer.
2015-06-16 18:59:03 -04:00
CJ Cullen
4d5d0457ef
Fix mislooping in ssh.go. Add retries to AddSSHKeys.
2015-06-16 00:08:37 -07:00
Brendan Burns
99bf48dc2f
Merge pull request #9542 from brendandburns/validate
...
Change the way we test if a disk is already attached.
2015-06-09 22:00:06 -07:00
Brendan Burns
3350eecedf
Change the way we test if a disk is already attached.
...
Validated by manual introspection on a running GCE cluster.
2015-06-09 17:50:52 -07:00
krousey
f62a2a1bb6
Merge pull request #9451 from cjcullen/mig
...
Use Node IP Address instead of Node.Name in minion.ResourceLocation.
2015-06-09 15:52:12 -07:00
krousey
3d803ab7b2
Merge pull request #9410 from cjcullen/ratelimit
...
Add a RateLimiter for the gce altTokenSource.
2015-06-09 11:11:48 -07:00
CJ Cullen
2d85e4a094
Use Node IP Address instead of Node.Name in minion.ResourceLocation.
...
Refactor GetNodeHostIP into pkg/util/node (instead of pkg/util to break import cycle).
Include internalIP in gce NodeAddresses.
2015-06-08 16:58:00 -07:00
krousey
afb9a7e362
Merge pull request #9373 from justinsb/aws_lb_cleanup
...
Make deletion of an AWS load balancer clean
2015-06-08 16:49:21 -07:00
CJ Cullen
be0d24824d
Add a RateLimiter for the gce altTokenSource.
2015-06-08 11:16:52 -07:00
Justin Santa Barbara
c2caa3f1da
AWS: Fix cleanup of security group
...
The most reliable way seems to be to deauthorize the LB security group from
other groups, then delete the LB itself, then repeatedly retry to delete the LB
security group.
We can't delete the LB security group until the LB is actually completely
deleted, but the LB is hidden from the API during deletion. So our only real
option is to retry deletion of the LB security group until the expected error
goes away when the LB is fully deleted.
2015-06-06 23:20:34 -04:00
Justin Santa Barbara
1700259508
AWS: Ignore the UserId when determining whether we can skip revoking a security group
...
Otherwise we weren't correctly de-authorizing the AWS LB SG from the Node SG
2015-06-06 12:37:01 -04:00
Justin Santa Barbara
8fafefd728
Fix doc for edge-case return from removeSecurityGroupIngress
2015-06-06 12:25:50 -04:00
Justin Santa Barbara
e32c66c6f4
Fix typo: Ingess -> Ingress
2015-06-06 12:22:50 -04:00
CJ Cullen
cb317604ab
Some refactoring. Only selectively use ssh proxy.
...
Add NetworkName to gce.Config.
Add locking to uses of master.tunnels.
2015-06-05 14:55:16 -07:00
Brendan Burns
7ea533d871
Add the SSHTunnel transport to the kubelet client.
2015-06-05 14:55:15 -07:00
CJ Cullen
de9a5f43bc
Specify sshUser, sshKeyfile in kube-apiserver manifest.
...
Trim space on ssh key so GCE doesn't treat it as 2 lines.
A couple other minor fixes.
2015-06-05 14:55:15 -07:00
Brendan Burns
5115fd5703
Add key generation.
2015-06-05 14:55:15 -07:00
Justin Santa Barbara
48e8a8b0ec
AWS: Set up security groups, to mirror GCE firewalling
...
Some slightly fussy code to enable load-balancers to talk to
instances, but otherwise relatively simple.
2015-06-05 16:10:08 -04:00
Justin Santa Barbara
33a3d884f2
AWS: Filter by Cluster tag, rationalize EC2 abstraction
...
Whenever we do a list we now filter on tags so we only see resources relating
to our cluster.
Also, rationalize all the DescribeX calls:
* They all take a request object (so that we can pass filters)
* They do paging if that is required (and return the underlying resources)
* They wrap any error with a "error while listing X: %v" message
2015-06-05 16:09:01 -04:00
Quinton Hoole
f048d0dff7
Merge pull request #9105 from anguslees/openstack-provider
...
Openstack LB improvements
2015-06-05 12:06:12 -07:00
Angus Lees
75f49b331a
Ignore "unspecified" externalIP during LB create
...
Previously we always passed `Address: externalIP.String()` while
creating a loadbalancer VIP. This passed "0.0.0.0" when externalIP was
unspecified, effectively making it mandatory to specify an externalIP.
This change correctly leaves `Address` unspecified when externalIP is
unspecified (has a zero value).
(Thanks to @justinsb for the report)
2015-06-05 16:27:45 +10:00
Quinton Hoole
b5251de193
Merge pull request #9261 from justinsb/aws_d2_instance_types
...
AWS: Add d2 instance types
2015-06-04 13:11:43 -07:00
Trevor Pounds
6eea271656
Guard against non AWS errors.
2015-06-04 10:33:36 -07:00
Justin Santa Barbara
41f52546bc
AWS: Add d2 instance types
...
Another family of instance types, I think the next-gen of hs1
2015-06-04 12:57:33 -04:00
Trevor Pounds
7cdf573015
Update aws-sdk-go dependency from awslabs to aws.
2015-06-03 23:07:42 -07:00
Brian Grant
f72fa67924
Revert "Use Node IP Address instead of Node.Name in minion.ResourceLocation."
2015-06-03 18:19:22 -07:00
Brian Grant
d6d52b41c6
Merge pull request #9189 from justinsb/fix_9123
...
Avoid nil-pointer dereference panics in AWS
2015-06-03 12:34:34 -07:00
Justin Santa Barbara
e3eb23f464
Avoid nil-pointer dereference panics in AWS
...
These were introduced because the new official AWS SDK uses *string
where the old library used strings. We now use the helpers much
more (orEmpty and isNilOrEmpty).
Fixes #9123
2015-06-03 12:24:23 -04:00
Angus Lees
9394635cc0
Make EnsureTCPLoadBalancerDeleted idempotent
...
This change allows EnsureTCPLoadBalancerDeleted to be called repeatedly
to reattempt deleting objects that may have failed on a previous run.
Specifically, if the VIP is already deleted, then an attempt is made to
lookup the pool by name. Returns success when both the VIP and pool are
not found.
Fixes #8352
2015-06-03 17:21:31 +10:00
feihujiang
ebc8eab590
get Events to be logged
2015-06-03 15:05:07 +08:00
CJ Cullen
4e5d0da839
Use Node IP Address instead of Node.Name in minion.ResourceLocation.
...
Refactor GetNodeHostIP into pkg/util/node (instead of pkg/util to break import cycle).
Include internalIP in gce NodeAddresses. Remove NodeLegacyHostIP
2015-06-02 20:01:49 -07:00
Angus Lees
785a775777
Actually delete LBaaS monitors after disassociating
...
Partially addresses issue #8352
2015-06-02 15:25:51 +10:00
Angus Lees
6491922562
Catch 404 and return exists=false from GetTCPLoadBalancer
...
Previouly getVipByName treated 404 like any other unexpected error
return and passed it up the chain. This caused the "if ErrNotFound then
exists=false" logic in GetTCPLoadBalancer to never fire.
This change teaches getVipByName to return ErrNotFound on a 404 server
response.
2015-06-02 15:25:40 +10:00
Eric Tune
8b498aee4a
Merge pull request #8495 from gmarek/fix_ratelimit
...
Move evicting pods to separate thread to allow for correct ratelimitting.
2015-06-01 10:29:37 -07:00
gmarek
1490543d54
Move evicting pods to separate thread to allow for correct ratelimitting.
2015-06-01 11:39:20 +02:00
Justin Santa Barbara
1e99426d5b
Support for AWS ELB
2015-05-29 18:53:35 -04:00
Justin Santa Barbara
c741b8f3ae
Pass ports as []*api.ServicePort into LoadBalancer provider
...
Because AWS needs the NodePort; this also paves the way for e.g. UDP balancing
2015-05-29 18:47:05 -04:00
Rohit Jnagal
9184ccf24d
Merge pull request #8960 from erictune/nodectrlevent
...
Add event about Node when cannot assign CIDR.
2015-05-29 14:54:16 -07:00
Rohit Jnagal
ae8bc2c47b
Merge pull request #8887 from brendandburns/balancer
...
Add event generation when create/delete of balancers fails.
2015-05-29 13:32:11 -07:00
Prashanth B
6c209ec193
Revert "Revert "Wake up rcs when pods get DeletionFinalStateUnknown tombstones""
2015-05-29 09:24:39 -07:00
Tim Hockin
32bb3ae8f1
Merge pull request #7775 from simon3z/cloud-provider-id
...
api: add the ProviderID attribute to NodeSpec
2015-05-28 15:54:00 -07:00
Tim Hockin
081ab3abac
Merge pull request #8853 from caesarxuchao/HostToNodeName
...
update PodSpec.Host to PodSpec.NodeName
2015-05-28 15:50:12 -07:00
Tim Hockin
2cadd4c86e
Merge pull request #8906 from justinsb/aws_volume_fixes
...
Fix AWS volumes
2015-05-28 15:30:33 -07:00
Eric Tune
a271b306b0
Add event about Node when cannot assign CIDR.
2015-05-28 14:51:48 -07:00
Chao Xu
9c1153322e
update PodSpec.Host to PodSpec.NodeName in /pkg/api/types.go and /pkg/api/v1beta3/types.go
2015-05-28 14:10:06 -07:00
Brendan Burns
9ccd349a7d
Add event generation when create/delete of balancers fails.
2015-05-28 13:51:39 -07:00
Tim Hockin
b69fad211e
Revert "Wake up rcs when pods get DeletionFinalStateUnknown tombstones"
2015-05-28 10:23:55 -07:00
Federico Simoncelli
1a41082ca8
cloudprovider: vagrant InstanceID implementation
...
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-05-28 13:02:11 -04:00
Federico Simoncelli
154eccefe2
cloudprovider: openstack InstanceID implementation
...
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-05-28 13:02:11 -04:00
Federico Simoncelli
afcda70190
cloudprovider: gce InstanceID implementation
...
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-05-28 13:02:11 -04:00
Federico Simoncelli
185d0e19d5
cloudprovider: aws InstanceID implementation
...
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-05-28 13:02:11 -04:00
Federico Simoncelli
466a7daaa8
cloudprovider: ovirt InstanceID implementation
...
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-05-28 13:02:11 -04:00
Federico Simoncelli
2a89428d44
api: add the ProviderID attribute to NodeSpec
...
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-05-28 13:01:58 -04:00
Federico Simoncelli
faba12951a
cloudprovider: add support for InstanceID method
...
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-05-28 12:47:50 -04:00
Federico Simoncelli
194343267d
cloudprovider: add the ProviderName method
...
This patch adds the ProviderName method used to identify the cloud
provider.
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-05-28 12:47:47 -04:00
Quinton Hoole
9b67435cf3
Merge pull request #8899 from roberthbailey/ip-from-metadata
...
For GCE, compute the external IP by using the local metadata server
2015-05-28 08:29:38 -07:00
Justin Santa Barbara
97a312f72c
Fix AWS volume detach
2015-05-28 06:48:19 -04:00
Wojciech Tyczynski
6ffe46a9e0
Merge pull request #8822 from bprashanth/fifo_rc
...
Wake up rcs when pods get DeletionFinalStateUnknown tombstones
2015-05-28 10:50:28 +02:00
Robert Bailey
1dfaa93ccd
For GCE, compute the external IP by using the local metadata
...
server. This is in many ways a revert of #7530 but after auditing
the code I found that this function is now only used to determine
an address of the node where it is currently running.
2015-05-27 17:41:41 -07:00
Prashanth Balasubramanian
8fa66bd962
Delta fifo includes objects in DeleteFinalStateUnknow, rcs stop faster
2015-05-27 16:45:51 -07:00
Tim Hockin
f69eb0af67
Merge pull request #8831 from a-robinson/tp
...
Adjust the sleep time before tearing down e2e clusters and add a rough formula
2015-05-27 12:42:49 -07:00
derekwaynecarr
2f1dd9228f
Fix Vagrant node registration and kube-push
2015-05-27 10:50:57 -04:00
Alex Robinson
9d61a95464
Adjust the sleep time before tearing down e2e clusters and add a rough formula
...
for determining how long the sleep should be.
2015-05-26 21:09:05 +00:00
Saad Ali
c5525ecfdc
Merge pull request #8704 from roberthbailey/dead-flags
...
Deprecate flags for nodecontroller
2015-05-26 09:54:01 -07:00
Justin Santa Barbara
bb697cee7e
Clear LoadBalancerStatus both on LB delete and on update in the API
...
Although it takes some time to destroy a load balancer, we hide this complexity
from the user.
2015-05-22 19:14:28 -04:00
Justin Santa Barbara
a271771341
Richer errors for validation
2015-05-22 19:14:28 -04:00
Justin Santa Barbara
7346cc8042
Add ServiceType = NodePort; wire everything up
2015-05-22 19:14:28 -04:00
Justin Santa Barbara
e49ad95462
Mark PublicIPs as deprecated & rename to DeprecatedPublicIPs in the latest API
...
We need to keep them in the API so that we can round-trip between versions.
2015-05-22 19:14:27 -04:00
Justin Santa Barbara
973c2e4819
Add Type to ServiceSpec: ClusterIP or LoadBalancer
2015-05-22 19:14:21 -04:00
Justin Santa Barbara
3884d5fc59
Add LoadBalancer status to ServiceStatus
...
This will replace publicIPs
2015-05-22 18:27:05 -04:00
Robert Bailey
d0bcf953e9
Deprecate the following flags for node-controller:
...
--node-milli-cpu
--node-memory
--machines
--minion-regexp
--sync-nodes
Remove the following flags from the standalon kubernetes binary:
--node-milli-cpu
--node-memory
2015-05-22 15:18:36 -07:00
Dawn Chen
17ac4b1dfc
Merge pull request #8297 from iterion/switch-to-aws-sdk-go
...
AWS: Switch to aws-sdk-go
2015-05-22 12:31:07 -07:00
Dawn Chen
677a4aa1a7
Merge pull request #8164 from cjcullen/cloudprovider
...
Route creation reconciler loop.
2015-05-22 12:27:50 -07:00
Quinton Hoole
6d8eaa924e
Merge pull request #7852 from a-robinson/tp
...
Prevent stranding of partial load balancers resources
2015-05-22 10:12:30 -07:00
CJ Cullen
e6da5b9601
Make routecontroller_test less hacky.
...
Rename reconcilePodCIDRs to reconcileNodeCIDRs.
Add comments and TODOs about using controller framework.
2015-05-21 18:05:11 -07:00
David Oppenheimer
6b428ef1a8
Merge pull request #7170 from simon3z/node-events
...
Node events recording fixes
2015-05-21 12:54:38 -07:00
Dawn Chen
b5c1098cb6
Merge pull request #8576 from a-robinson/svc
...
Fix misordered assignment in service controller
2015-05-21 09:38:08 -07:00
Federico Simoncelli
2f503c57a5
nodecontroller: improve node status event recording
...
This patch substitutes the misleading reason "unknown" for the event
recording. For symmetry with kubelet's message "online" the conditions
Unknown and False are reported as "offline".
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-05-20 18:46:01 -04:00
Federico Simoncelli
21c57a5633
nodecontroller: remove unused ready event recording
...
It's not nodecontroller setting the node to Ready so it's impossible to
reach this condition.
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-05-20 18:45:58 -04:00
CJ Cullen
0d12a15971
Route creation reconciler loop.
2015-05-20 14:21:30 -07:00
CJ Cullen
bf646abf8d
Revert "Revert "Modify nodes to register directly with the master.""
...
This reverts commit c53786ab31
.
2015-05-20 14:21:03 -07:00
Quinton Hoole
c53786ab31
Revert "Modify nodes to register directly with the master."
2015-05-20 13:47:51 -07:00
Alex Robinson
4214b76924
Fix misordered assignment in service controller
2015-05-20 11:51:48 -06:00
Adam Sunderland
ad9f2d7a56
Fix Some AWS Issues
2015-05-20 10:42:27 -05:00
Alex Robinson
dbf224475d
Require DeleteTCPLoadBalancer to be idempotent and change the service
...
controller to rely on that, so that we won't strand partial resources
from them anymore (target pools in GCE, pools in OpenStack, etc.).
2015-05-19 17:06:54 +00:00
Alex Robinson
dc2f10d51b
Make openstack's impl of DeleteTCPLoadBalancer idempotent with respect
...
to load balancers having already been deleted.
2015-05-19 17:06:50 +00:00
Robert Bailey
01467e0bb8
Modify nodes to register directly with the master.
...
- Delete nodes when they are no longer ready and don't exist in the
cloud provider.
- Label each node with it's hostname.
- Add flag to skip node registration.
- Add a test for registering an existing node.
2015-05-19 09:55:07 -07:00
Brian Grant
2c81050e6f
Merge pull request #8457 from davidopp/master
...
Fix stylistic isues with #5547 . Closes #4910 .
2015-05-19 07:43:21 -07:00
David Oppenheimer
44b1e1ca0c
Fix stylistic isues with #5547 . Closes #4910 .
2015-05-18 23:32:06 -07:00
Tim Hockin
a548d542db
Rename AffinityType to ServiceAffinity
2015-05-18 17:21:30 -07:00
Victor Marmol
45874d5f76
Merge pull request #5547 from gmarek/client3
...
Add a resource specifying number of Pods that are allowed to run on Kubelet.
2015-05-18 11:11:43 -07:00
Victor Marmol
4ba22e713a
Merge pull request #8296 from jlowdermilk/gen-analytics
...
Add ga-beacon analytics to gendocs scripts
2015-05-18 08:40:02 -07:00
Alex Robinson
3cf80e76c8
Properly handle nil cached services in the service controller's node reconciler.
...
Add a test that catches the former bug.
2015-05-17 22:36:48 -07:00
Jeff Lowdermilk
553f9f822b
Add ga-beacon analytics to gendocs scripts
...
hack/run-gendocs.sh puts ga-beacon analytics link into all md files,
hack/verify-gendocs.sh verifies presence of link.
2015-05-15 18:56:38 -07:00
Alex Robinson
edf5a78604
Don't try deleting a target pool if we failed to delete its forwarding rule.
2015-05-15 22:05:23 +00:00
gmarek
27d660d0ac
Add a resource specifying number of Pods that are allowed to run on Kubelet.
2015-05-15 10:57:46 +02:00
Adam Sunderland
6f6ca0433f
Fixing Tests
2015-05-14 19:24:27 -05:00
Adam Sunderland
9849db7fdf
Fixing Many Issues
2015-05-14 18:53:47 -05:00
David Oppenheimer
7a21d7ab1f
Merge pull request #8053 from jdef/upstream_mesos_cloud
...
integrate mesos cloud provider with k8s proper
2015-05-14 13:57:39 -07:00
Adam Sunderland
ff9996c100
Use aws-sdk-go
2015-05-14 14:18:25 -05:00
gmarek
8a4717d3f5
Remove unused ClusterName from NodeController
2015-05-14 18:01:23 +02:00
CJ Cullen
5e3d2b9138
Kubelet configure cbr0 instead of configure-vm.sh
2015-05-12 23:00:12 -07:00
James DeFelice
7387a2d0cd
address review comments of @davidopp
2015-05-12 17:05:34 +00:00
James DeFelice
eca9fd58c7
mesos cloud provider implementation
2015-05-12 16:02:26 +00:00
Prashanth Balasubramanian
4fdd5bc3f3
Ratelimit replica creation
2015-05-08 14:24:25 -07:00
CJ Cullen
fbd125e4e2
Remove restriction that cluster-cidr be a class-b
2015-05-06 15:01:13 -07:00
CJ Cullen
292d33e33c
Add synchronization around nodeMap
2015-05-05 17:11:38 -07:00
Jerzy Szczepkowski
e967ffd522
Added flag to set cluster class B network address for pods, add flag to disable allocation CIDRs for Pods. Fixed synchornization bug in NodeController registerNodes().
2015-05-05 16:10:43 -07:00
Tomek Kulczynski
290c7b94ef
Make nodecontroller configure nodes' pod IP ranges
2015-05-05 16:10:42 -07:00
Alex Robinson
5be3a5a9dc
Merge pull request #7783 from GoogleCloudPlatform/revert-7609-lb
...
Revert "Truncate GCE load balancer names to 63 chars"
2015-05-05 15:23:35 -07:00
Quinton Hoole
8bc481d65c
Merge pull request #7669 from a-robinson/lb
...
Change the cloud provider TCPLoadBalancerExists function to GetTCPLoadBalancer...
2015-05-05 11:42:06 -07:00
Quinton Hoole
1c7f6b82c7
Revert "Truncate GCE load balancer names to 63 chars"
2015-05-05 11:02:18 -07:00
Quinton Hoole
83b70c4411
Revert "Revert #7145 now that #7609 is in, and fix the tests that were relying on it"
2015-05-02 23:32:21 -07:00
Jeff Lowdermilk
b447dc0c54
Merge pull request #7635 from a-robinson/length
...
Revert #7145 now that #7609 is in, and fix the tests that were relying on it
2015-05-01 17:48:41 -07:00
Alex Robinson
a047250b53
Change the cloud provider TCPLoadBalancerExists function to GetTCPLoadBalancer,
...
which returns the IP/DNS address of the load balancer, enabling more
intelligent reconciliation in the service controller.
2015-05-01 17:42:23 -07:00
Eric Paris
6b3a6e6b98
Make copyright ownership statement generic
...
Instead of saying "Google Inc." (which is not always correct) say "The
Kubernetes Authors", which is generic.
2015-05-01 17:49:56 -04:00
Alex Robinson
890ff7b4aa
Revert #7145 now that #7609 is in, and fix the tests that were relying on it.
2015-05-01 10:49:23 -07:00
Brendan Burns
40549dc083
Truncate GCE load balancer names to 63 chars
2015-04-30 17:54:11 -07:00
Brian Grant
2d37650c65
Merge pull request #7530 from mbforbes/nodeExternal
...
Make nodes report their external IP rather than the master's.
2015-04-30 12:29:45 -07:00
Piotr Szczesniak
11a2dc496f
Added TerminationGracePeriod field to PodSpec and grace-period flag to kubectl stop
...
Those are changes which touch users required by Termination Notice
Addresses #6804
2015-04-30 18:00:33 +02:00
Max Forbes
e1c2e6b4b1
Make nodes report their external IP rather than the master's.
2015-04-29 15:44:25 -07:00
Wojciech Tyczynski
534a2fd27c
Merge pull request #7171 from ravigadde/master
...
Node controller change to use field selector
2015-04-28 13:14:11 +02:00
Marek Grabowski
7a122a42d4
Merge pull request #7040 from justinsb/aws_nodeaddresses
...
AWS: Return public & private addresses in GetNodeAddresses
2015-04-28 10:56:50 +02:00
Ravi Gadde
4b5f851520
Node controller change to use field selector
2015-04-27 12:12:13 -07:00
Robert Bailey
0f22b6fc4d
Merge pull request #7251 from a-robinson/tp
...
Move load balancer host / target pool reconciliation to the service controller
2015-04-24 13:17:54 -07:00
Alex Robinson
5d9564b1cc
Improve GCE's implementation of UpdateTCPLoadBalancer to only make the
...
update calls if anything has changed.
2015-04-24 18:44:19 +00:00
Alex Robinson
6ae8e40d3d
Move the logic for reconciling the host targets of external load balancers
...
from the node controller to the service controller before impending changes
to the node controller make it not fit there anymore.
2015-04-24 18:44:04 +00:00
Angus Lees
8818966d1f
OpenStack: lb_method required when creating LbaaS pool
...
This change takes lb-method from [LoadBalancer] section of cloud
provider config file, defaulting to ROUND_ROBIN.
Fixes #7199
2015-04-23 15:19:14 +10:00
Brian Grant
15c2986a07
Merge pull request #7067 from ravigadde/master
...
Added field selector for listing pods
2015-04-22 07:12:21 -07:00
Brian Grant
1a9c179271
Merge pull request #7145 from caesarxuchao/6812
...
Resolve #6812 , limit length of load balancer names
2015-04-22 07:09:23 -07:00
caesarxuchao
e9c5e44767
Use service UID as the ELB name
2015-04-21 12:20:42 -07:00
Justin Santa Barbara
5efd1e717f
Add FakeEC2 Instances support for matching by instance id
2015-04-21 06:51:43 -07:00
Ravi Gadde
bf8f258471
Added field selector for listing pods.
2015-04-21 06:33:28 -07:00
Dawn Chen
28e0c68d65
Register node with nodename only.
2015-04-20 14:16:21 -07:00
Kenjiro Nakayama
2e702b0c61
Replace hostname -f with uname -n
2015-04-20 14:16:21 -07:00
Justin Santa Barbara
335f42b38c
AWS: Return public & private addresses in GetNodeAddresses
2015-04-19 21:10:44 -07:00
Masahiro Sano
b2d68c79b7
use auto reauth when access token is expired
2015-04-18 18:41:54 +09:00
Robert Bailey
f633ac0ab5
Restrict functions and structs that aren't used outside of the
...
nodecontroller to have package private scope. This makes reasoning
about the code in this package much simpler.
2015-04-15 20:56:07 -07:00
Alex Robinson
fc08a0a71b
Do service creation/update/deletion work in a pool of goroutines, protecting
...
each service with a lock to ensure that no two goroutines will process a
service at the same time. This is needed to avoid weird race conditions.
2015-04-15 00:30:18 +00:00
Alex Robinson
9a351e3670
Move validation of load balancers only supporting TCP ports to validation.go.
2015-04-14 18:56:51 +00:00
Alex Robinson
ccc300289f
Implement a ServiceController that watches services and handles keeping
...
external load balancers up-to-date based on the service's specs, using
the new DeltaFIFO watch queue class. Remove the old registry REST
handler code for creating/updating/deleting load balancers.
Also clean up a bunch of the GCE cloudprovider code related to load balancers.
2015-04-14 18:56:24 +00:00
Alex Robinson
a11106edd3
Put the node controller in its own package rather than in the generic
...
cloudprovider/controller package.
2015-04-14 18:34:59 +00:00
Deyuan Deng
236db3c252
Remove kubelet dependency on nodecontroller
2015-04-13 16:59:45 -04:00
Wojciech Tyczynski
59ab41c8f7
Merge pull request #6292 from jszczepkowski/scale-pool
...
Updating target pools on cloud nodes change.
2015-04-13 10:58:49 +02:00
Dawn Chen
c19437395b
Merge pull request #6702 from ddysher/remove-nodeinfo
...
Remove nodeinfo endpoint from kubelet
2015-04-10 14:54:16 -07:00
Justin Santa Barbara
9462471bcd
Fix some mistaken volumeId -> volumeID changes
2015-04-10 13:25:44 -07:00
Justin Santa Barbara
933cf60af7
Style: volumeId -> volumeID
2015-04-10 13:25:44 -07:00
Justin Santa Barbara
98c9ebbc50
Style: Aws -> AWS
2015-04-10 13:25:44 -07:00
Justin Santa Barbara
2afc1840b6
Style: awsId -> awsID
2015-04-10 13:25:44 -07:00
Justin Santa Barbara
46f9c2cc3c
Style: Ebs -> EBS
2015-04-10 13:25:44 -07:00
Justin Santa Barbara
5a887e83e7
Remove now-unused instanceId parameter from newAwsCloud
2015-04-10 13:25:43 -07:00
Justin Santa Barbara
4e176771b6
Make fetching the aws instance id optional, so we can use it on e2e
2015-04-10 13:25:43 -07:00
Justin Santa Barbara
aa6051026e
Add comment about EBS status being a bit slow through API
2015-04-10 13:25:43 -07:00
Justin Santa Barbara
0101bf2081
Fix detached-check logic, warn on multiple attachments
2015-04-10 13:25:43 -07:00
Justin Santa Barbara
21beabd0a7
Default attachment status to detached
...
So no-attachments = status detached
2015-04-10 13:25:43 -07:00
Justin Santa Barbara
6c823dbdab
Small clean-ups
2015-04-10 13:25:42 -07:00
Justin Santa Barbara
f2184e0860
Fix comment
2015-04-10 13:25:42 -07:00
Justin Santa Barbara
ee72fa4d61
Tolerate volume being already-attached
2015-04-10 13:25:42 -07:00
Justin Santa Barbara
86ddc0f96a
Fix mountpoint values
2015-04-10 13:25:42 -07:00
Justin Santa Barbara
e56e2ee46a
Strip leading slash from url path when parsing aws volume
2015-04-10 13:25:42 -07:00
Justin Santa Barbara
743f2edb56
Fix tests
2015-04-10 13:25:42 -07:00
Justin Santa Barbara
89089900d7
Fix merge problems
2015-04-10 13:25:42 -07:00
Justin Santa Barbara
2812936d34
Simplify logic of pd.go
2015-04-10 13:25:42 -07:00
Justin Santa Barbara
6a4153fc0a
Always create volumes in the active k8s zone
2015-04-10 13:25:42 -07:00
Justin Santa Barbara
ffadd5533a
Fix AWS region vs zone
...
We were specifying a region, but naming it as a zone in util.sh
The zone matters just as much as the region, e.g. for EBS volumes.
We also change the config to require a Zone, not a Region.
But we fallback to get the information from the metadata service.
2015-04-10 13:25:42 -07:00
Justin Santa Barbara
8fde691aa7
Fix tests
2015-04-10 13:25:42 -07:00
Justin Santa Barbara
edf0292d4a
Add initial support for Volumes to AWS
2015-04-10 13:25:42 -07:00
Deyuan Deng
868e05ce96
Remove nodeinfo endpoint from kubelet
2015-04-10 15:47:32 -04:00
Jerzy Szczepkowski
1c042208c7
Added retrying update of balancers in case some of updates failed.
2015-04-10 16:06:56 +02:00
Jerzy Szczepkowski
eb253a694e
Updating target pools on cloud nodes change.
...
Implemented updating target pools for external services on chage of cloud nodes. Related to #5241 .
2015-04-10 16:06:56 +02:00
Wojciech Tyczynski
88eb0b0295
FieldSelector for node List()
2015-04-10 12:53:16 +02:00
Daniel Smith
629d94657e
Merge pull request #6624 from gmarek/status_to_subresource
...
Update NodeStatus use subresources.
2015-04-09 16:00:15 -07:00
gmarek
ccc56d3c3c
Update NodeStatus use subresources.
2015-04-09 14:07:40 +02:00
Piotr Szczesniak
c1dd881f48
Added events back to Node Controller
...
It reverts @davidopp temp fix #6443 .
Fixes #6199 .
2015-04-09 10:37:07 +02:00
Masahiro Sano
d04cc5ced4
List in NodesInterface takes label selector
2015-04-08 23:41:27 +09:00
gmarek
72182735b9
Remove Node Controllers ability to pull status from Kubelet
2015-04-08 09:44:42 +02:00
David Oppenheimer
8599564c96
Merge pull request #6535 from davidopp/master
...
Change default Kubelet NodeStatusUpdateFrequency from 2s to 10s.
2015-04-07 13:37:03 -07:00
David Oppenheimer
d8aa57872a
Change default Kubelet NodeStatusUpdateFrequency from 2s to 10s.
2015-04-07 12:36:09 -07:00
Clayton Coleman
51db3bd654
Create a new testclient package that can be backed by disk files
...
Standardize how our fakes are used so that a test case can use a
simpler mechanism for providing large, complex data sets, as well
as represent queries over time.
2015-04-07 14:56:15 -04:00
David Oppenheimer
402bf60366
Merge pull request #6214 from gmarek/move_consts_to_flags
...
Move NodeController constants to flags
2015-04-07 11:31:11 -07:00
gmarek
ef56dca6b6
Remove ConditionSchedulable
2015-04-07 17:01:07 +02:00
gmarek
321a81047c
Move NodeController constants to flags
2015-04-07 12:33:03 +02:00
gmarek
751d1d25ff
Add timestamp cache to NodeController
2015-04-07 09:15:35 +02:00
Rohit Jnagal
f2f3da15e1
Merge pull request #6370 from justinsb/aws_config_optional
...
Make AWS configuration file optional (fall-back to metadata service)
2015-04-06 14:29:28 -07:00
David Oppenheimer
c4a595aa7f
Remove use of events from NodeController, to temporarily fix #6199
2015-04-04 11:56:43 -07:00
Justin Santa Barbara
b61fc222bb
Make AWS configuration file optional (fall-back to metadata service)
2015-04-03 13:42:31 -07:00
James DeFelice
4d3a9e2203
fixes #6416
2015-04-03 19:13:25 +00:00
Piotr Szczesniak
8bc9f5fef7
Added rate limiting to pod deletion
...
Fixes #6228
2015-04-03 06:58:59 +02:00
Federico Simoncelli
f78301c5ab
kubelet: log offline event message recording
...
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-04-02 09:07:32 -04:00
Piotr Szczesniak
5c6439d449
Removed PodStatus.Host
...
Fixes #6165
2015-04-02 16:38:45 +02:00
CJ Cullen
5e6e67ba59
Add an alternative TokenSource to the GCE CloudProvider.
2015-04-01 17:52:30 -07:00
Piotr Szczesniak
81683441b9
Merge pull request #6156 from gmarek/retry_loop
...
Add a retry loop to UpdateStatus in NodeController
2015-04-01 09:16:11 +02:00
Victor Marmol
44fda1fcd1
Merge pull request #6161 from justinsb/populate_addresses_new_nodes
...
Make sure we have addresses for newly discovered nodes
2015-03-31 14:46:06 -07:00
Victor Marmol
c93cd4a0d1
Merge pull request #6225 from cjcullen/cloudprovider
...
Fix typed-nil passing in cloudprovider/plugins
2015-03-31 13:04:11 -07:00
Justin Santa Barbara
72ee90494e
Add unit test
2015-03-31 12:58:29 -07:00
Brian Grant
3354cffbf0
Merge pull request #6182 from thockin/plural_services_20
...
Implement multi-port Services
2015-03-31 12:55:21 -07:00
Zach Loafman
fc8ba8d77b
Merge pull request #6011 from justinsb/aws_specify_zone
...
Fix AWS region vs zone
2015-03-31 12:26:05 -07:00
CJ Cullen
aa91bde375
Fix typed-nil passing in cloudprovider/plugins
2015-03-31 10:32:02 -07:00
gmarek
fa6d5e259f
Add a retry loop to UpdateStatus in NodeController
2015-03-31 11:22:02 +02:00
Tim Hockin
eeff1b74fb
Fixes from feedback and testing
2015-03-30 23:52:37 -07:00
Tim Hockin
186818d787
WIP: Implement multi-port Services
2015-03-30 19:28:11 -07:00
saadali
e0f71cb21f
Make each new instance of kubelet generate a new event channel (instead of reusing existing).
2015-03-30 14:22:16 -07:00
Federico Simoncelli
0e60374346
nodes: record an event on NodeReady changes
...
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-03-30 12:01:09 -04:00
Justin Santa Barbara
527d3f1f99
Make sure we have addresses for newly discovered nodes
2015-03-30 08:51:33 -07:00
Victor Marmol
d5ce931f0b
Merge pull request #6069 from simon3z/kubelet-reboot-logic
...
node: move the reboot detection logic to kubelet
2015-03-30 08:45:37 -07:00
Justin Santa Barbara
63f63aa9de
Don't list AWS instances until they are actually ready
2015-03-30 08:06:18 -07:00
Federico Simoncelli
fe2d1f6762
node: move the reboot detection logic to kubelet
...
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-03-30 09:33:07 -04:00
Justin Santa Barbara
c1337cbaeb
Make some of the more repetitive AWS tests table-driven
2015-03-27 07:31:16 -07:00
Justin Santa Barbara
583892da2d
Fix AWS region vs zone
...
We were specifying a region, but naming it as a zone in util.sh
The zone matters just as much as the region, e.g. for EBS volumes.
We also change the config to require a Zone, not a Region.
But we fallback to get the information from the metadata service.
2015-03-26 15:11:05 -07:00
gmarek
5a11748018
Move Capacity from NodeSpec to NodeStatus
2015-03-26 15:28:48 +01:00
Rohit Jnagal
49ff04765b
Add validation for node creation.
2015-03-25 21:55:03 +00:00
Federico Simoncelli
2db64d3f90
nodecontroller: record node reboot event
...
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-03-25 15:06:53 -04:00
Federico Simoncelli
5b3056cdb7
nodecontroller: add event recorder support
...
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-03-25 15:06:53 -04:00
Brendan Burns
bfceb21007
Add support for grabbing the externalIP in the GCE cloud provider.
2015-03-24 21:21:50 -07:00
Deyuan Deng
ca68f4a9d1
Rename ConditionFull->ConditionTrue, ConditionNone->ConditionFalse
2015-03-24 17:28:59 -04:00
Deyuan Deng
c5675b8924
Use fake time in nodecontroller unittest; rename receiver 's' to 'nc'
2015-03-24 14:23:48 -04:00
Deyuan Deng
b51d491f05
Delete all pods based on condition transition time.
2015-03-24 14:23:48 -04:00
Deyuan Deng
cf548765c9
Change kubelet update frequency to 2s, and make it a constant.
2015-03-24 14:23:48 -04:00
Deyuan Deng
0d5f8dfde1
Node controller monitor node status
2015-03-24 14:19:56 -04:00
Jordan Liggitt
a75b501821
Improve ResourceLocation API, allow proxy to use authenticated transport
2015-03-24 11:11:34 -04:00
Jerzy Szczepkowski
34a8a3a844
Running node selector predicate on kubelet.
...
Added checking on kubelet if scheduled pods have matching node selector. This is the last step to fix #5207 .
2015-03-23 08:21:58 +01:00
Brendan Burns
5fb18c6f33
Merge pull request #5101 from justinsb/aws_getnoderesources
...
Add support for GetNodeResources to AWS
2015-03-17 07:30:34 -07:00
Angus Lees
1437e6b7ca
OpenStack: Return multiple private+public NodeAddresses
...
Add better support for the new NodeAddresses call. Note the returned
list may include IPv6 addresses (as strings) on many OpenStack clouds.
2015-03-16 17:11:36 +11:00
Angus Lees
8f5064bfea
nodecontroller: Include error in error messages
...
Makes debugging node creation failures far easier...
2015-03-16 15:36:45 +11:00
Angus Lees
437853b8cd
Keep resources as numeric values
...
Previously, this code converted to a string and reparsed back to a
numeric Quantity. Keeping it numeric avoids the overhead, but also
removes a (theoretical) run-time panic if the re-parse failed.
In addition, since Quantity can now store quantities <1, convert
openstack.org/rxTxFactor back to its original ratio, rather than
arbitrarily scaling it up by 1000.
2015-03-16 15:35:45 +11:00
Angus Lees
e14b73bd30
Reauthenticate to OpenStack periodically
...
It appears that gophercloud's "AllowReauth" AuthOption doesn't actually
do anything, and the keystone/auth token is never refreshed. Eventually
it expires and all OpenStack calls receive HTTP 401 responses.
This change reauthenticates every time the Instances() or
TCPLoadBalancer() API object is requested. This is more frequently than
required, but exposing token expiry information will require gophercloud
surgery.
2015-03-16 15:35:45 +11:00
Angus Lees
762225ed47
OpenStack: Align logging levels with devel/logging.md
2015-03-16 15:35:43 +11:00
Angus Lees
4ff292a65e
OpenStack: Support loadbalancer client IP affinity
2015-03-16 15:33:54 +11:00
Justin Santa Barbara
51aded0661
Add support for GetNodeResources to AWS
2015-03-13 22:59:28 -04:00
Alex Robinson
579edee4c2
Merge pull request #5346 from justinsb/cloudprovider_multiple_addresses
...
Let CloudProvider return list of NodeAddress, not just one net.IP
2015-03-13 15:45:11 -07:00
Justin Santa Barbara
c3a6d00099
Rename TestIPAddress -> TestNodeAddresses
2015-03-13 18:09:31 -04:00
Justin Santa Barbara
99da56fb06
Fix problems identified in review
2015-03-13 18:07:08 -04:00
Brendan Burns
cf68593fc2
Merge pull request #5228 from justinsb/aws_lb_string
...
Change cloud provider CreateTCPLoadBalancer to return endpoint as string
2015-03-13 12:16:26 -07:00
Deyuan Deng
97e12957e6
Merge pull request #5257 from deads2k/deads-eliminate-wait-for-no-nodes
...
eliminate wait with no nodes
2015-03-13 13:48:49 -04:00
Ravi Sankar Penta
f6ecec5880
Allow admin user to explicitly unschedule the node
...
Setting Unschedulable on the node will not touch any existing pods
on the node but will block scheduling of new pods on the node.
2015-03-12 14:27:27 -07:00
Prashanth Balasubramanian
4849f33cc5
Don't check status of a failed delete operation
2015-03-12 08:52:18 -07:00
Justin Santa Barbara
bc16d83a51
Let CloudProvider return list of NodeAddress, not just one net.IP
...
This lets cloud providers populate the NodeAddress array
2015-03-11 16:50:26 -07:00
Brian Grant
9aa744925e
Merge pull request #5030 from simon3z/nodeinfo
...
Add support for fetching node collected information
2015-03-10 14:05:41 -07:00
deads2k
91b92eba2f
eliminate wait with no nodes
2015-03-10 14:22:43 -04:00
Dawn Chen
56cbe6c59f
Merge pull request #5231 from mikedanese/no-more-globals
...
Move global func into NodeController
2015-03-10 11:12:45 -07:00
Brian Grant
b3d3db08ef
Merge pull request #5064 from justinsb/ignore_stopped_aws_instances
...
Ignore EC2 instances that are stopped
2015-03-10 11:03:34 -07:00
Federico Simoncelli
644d775bc1
kubelet: retport system info in node information
...
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-03-10 10:11:02 -04:00
Federico Simoncelli
1b18440f35
kubelet: add GetNodeInfo implementation
...
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-03-10 10:11:01 -04:00
Justin Santa Barbara
3eab40cabd
AWS support for Zones
2015-03-10 05:49:26 -07:00
Mike Danese
14f705c74c
move global func into NodeController
2015-03-09 21:25:19 -07:00
Justin Santa Barbara
5d36d3cdbe
Change cloud provider CreateTCPLoadBalancer to return endpoint as string
...
Some load balancers (particularly AWS ELB) define the public endpoint
as a hostname (instead of using IP addresses).
This is a partial fix for #5224 ; there will also be some proxy work.
2015-03-09 20:35:13 -07:00
Justin Santa Barbara
a3ae480acc
Ignore EC2 instances that are stopped
...
Otherwise we pick up previous cluster instances (in EC2, stopped instances hang around for
a while - maybe 30 minutes?)
2015-03-09 19:03:46 -07:00
Brendan Burns
8dd61e25fa
Merge pull request #5137 from ddysher/gce-externalid
...
Use FormatInt instead of string for external id.
2015-03-09 13:47:24 -07:00
Daniel Smith
2a7be5619a
Merge pull request #5116 from justinsb/skip_duplicate_node_address
...
Don't allow duplicate values in NodeAddresses
2015-03-09 11:59:54 -07:00
Eric Tune
b259640a5f
Merge pull request #5072 from justinsb/fix_aws_test
...
Fix the logic around the AWS instance test
2015-03-06 13:49:41 -08:00