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
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