Commit Graph

204 Commits

Author SHA1 Message Date
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
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
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
Prashanth Balasubramanian
cc09a603dd Code changes 2016-01-11 16:27:12 -08:00
Kenneth Shelton
d399a8f8cc * Added UDP LB support (for GCE) 2016-01-05 20:51:21 +00: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
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
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
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
eulerzgy
f8f9afb874 alias local packagename for pkg/util/errors 2015-10-18 09:37:46 +08: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
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
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
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
Brendan Burns
0e71ea1253 Maintain an IP address independent of the forwarding rule for GCE 2015-10-01 21:42:36 +00: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
71b96422f4 set capital in some files 2015-09-30 14:46:20 +08:00
saadali
7771151767 GCE PD attach/detach operations should poll to verify successful completion 2015-09-29 14:32:06 -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
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
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
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
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
Isaac Hollander McCreery
d3398e2aed GCE tokens behavior to new format 2015-09-02 14:13:51 -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
CJ Cullen
cb7d3f0148 Return an error from gce.EnsureTCPLoadBalancer with no hosts. 2015-08-28 17:15:47 -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
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
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