Commit Graph

378 Commits

Author SHA1 Message Date
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
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