Commit Graph

850 Commits (1dfd6ab0c11d95ef5d5352509c90fdab5ce4ed29)

Author SHA1 Message Date
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
Deyuan Deng 3c460831ca Use FormatInt instead of string for external id. 2015-03-06 13:45:52 -05:00
Brendan Burns 5b6a78fc77 Place external load balancers in a namespace, and add a test to validate the behavior. 2015-03-06 17:16:27 +01:00
Justin Santa Barbara bf031fb082 Don't allow duplicate values in NodeAddresses 2015-03-05 16:40:28 -08:00
Brian Grant 9fcb48cab6 Merge pull request #4434 from ddysher/node-hostip
Node addresses
2015-03-05 10:33:15 -08:00
Justin Santa Barbara e25c9f8644 Fix the logic around the AWS instance test
We test that when we get instances with the same name that we get an error
2015-03-05 09:31:47 -05:00
Justin Santa Barbara cc81742e40 Implement EC2 filter in tests 2015-03-05 09:06:29 -05:00
Justin Santa Barbara 3012724d13 Strip single-quotes around regex for AWS
It looks like GCE ignores them; we can't
2015-03-04 17:34:51 -05:00
Deyuan Deng 9b0af8df63 Node addresses 2015-03-04 16:47:31 -05:00
Eric Tune 0059c39211 Merge pull request #5008 from ddysher/external-id
Move Node.ExternalID to CloudNodes()
2015-03-04 12:30:38 -08:00
Mike Danese a663d3b1f3 mock LookupIP to speedup nodecontroller_test on some runtimes 2015-03-04 10:27:45 -08:00
Deyuan Deng 53e17f0fa5 Move Node.ExternalID to CloudNodes() 2015-03-03 19:37:46 -05:00
derekwaynecarr 8150649cf3 nodecontroller sync cloud was not setting external id in all code paths 2015-03-03 16:39:06 -05:00
Brendan Burns 843fa71f2b Merge pull request #4938 from tkulczynski/opfix
Fix waiting for GCE Operations
2015-03-02 10:47:46 -08:00
Tomek Kulczynski c4e786c701 Fix waiting for GCE Operations 2015-03-02 13:34:37 +01:00
Jerzy Szczepkowski e0548c3c03 Node controller supports disabling node probes.
Node controller supports disabling sending node probes and updating node statuses. Controlled by --sync_node_status flag. Resolves #4565.
2015-02-27 08:21:04 +01:00
Brendan Burns a862c37b29 Merge pull request #4383 from simon3z/instances-id
cloudprovider: add instance id to NodeSpec
2015-02-26 14:13:49 -08:00
Brendan Burns 7665b2668f Merge pull request #4770 from gmarek/client4
Add waiting for GCE operations to finish before proceeding in various functions.
2015-02-26 13:05:11 -08:00
Federico Simoncelli b942b1cb71 vagrant: report the nodes external id
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-02-26 20:52:13 +00:00
Federico Simoncelli bfb93a1928 openstack: report the nodes external id
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-02-26 20:52:13 +00:00
Federico Simoncelli ad6091be99 gce: report the nodes external id
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-02-26 20:52:13 +00:00
Federico Simoncelli 6b16f80dc1 aws: report the nodes external id
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-02-26 20:52:12 +00:00
Federico Simoncelli 1fc56aa023 ovirt: report the nodes external id
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-02-26 20:52:12 +00:00
Federico Simoncelli a450da4fd0 cloudprovider: add instance id to NodeSpec
Sometimes for external applications it is important to identify the
cloud instance of the nodes. Until this patch there was no contract
that the node name returned by List was also the unique identifier of
the cloud instance. This new API ensures that an external application
can reliably retrieve the relevant instance id of the nodes.

Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-02-26 20:52:12 +00:00
Federico Simoncelli 8844c06574 ovirt: fetch instance ip address from rest-api
This patch adds the support for returning the ip address of the instances
when reported by the guest-agent and from the rest-api.

Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-02-26 20:52:12 +00:00
Deyuan Deng d47fd48e55 Fix delete pod namespace; include error message when failed deleting pods 2015-02-25 20:03:22 -05:00
gmarek 0be5aa52e6 Apply comments 2015-02-25 08:06:45 +01:00
Justin Santa Barbara e457286983 Fix typo: registrying -> registering 2015-02-24 16:21:14 -08:00
gmarek 9996654c4c Add waiting for GCE operations to finish before proceeding in various
functions.
2015-02-24 14:32:21 +01:00
Mike Danese 5267127af1 api: rename conditionkind -> conditiontype 2015-02-23 22:13:21 -08:00
Tim Hockin 003c0986b4 Merge pull request #4478 from thommay/rackspace_cloud_base
Basic Rackspace cloud support
2015-02-17 13:41:31 -08:00
Thom May 8357e1521a Basic Rackspace cloud support
This enables all but Load Balancer support for the Rackspace public
cloud platform.
2015-02-17 10:59:40 +00:00
Salvatore Dario Minonne bc868b97b8 Fix typos in vagrant.go 2015-02-14 06:20:03 +01:00
Federico Simoncelli 45bc19beb5 ovirt: fix IPAddress lookup implementation
The ovirt instance is reported using its hostname. The IPAddress
implementation should lookup the ip (instead of parsing it as if
it was already an address).

Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-02-11 17:47:26 -05:00
Deyuan Deng 4c6f6e0efc Refactor RegisterRetryCount, improve tests 2015-02-09 17:55:28 -05:00
Deyuan Deng 55b9944cfe Remove pods from failed node 2015-02-09 17:50:24 -05:00
Ravi Sankar Penta 3a5ef05f64 Make periodic sync nodes from cloud provider optional.
--sync_nodes=false gives user flexibility to add/remove nodes in the
cluster using REST api/kubectl cli and at the same time can use
cloud provider for other resources like persistent disks, etc.
2015-02-09 13:42:44 -08:00
Deyuan Deng 91b43a4b16 Merge pull request #4165 from smarterclayton/ignore_already_exists_errors_on_create_node
NodeController should tolerate when nodes already exist
2015-02-09 11:01:17 -05:00
Clayton Coleman 8c1206ca2d NodeController should tolerate when nodes already exist
During startup, if nodes have already been defined the controller
does not need to create them, just needs to keep them up to date.
When defining a static list, the controller would loop and fail
repeatedly if the node existed.

I don't know if we need to update the node during registration,
as long as the sync loop checks it later.
2015-02-08 21:44:08 -05:00
Deyuan Deng 08721e0a00 Populate node statu transition timestamp and reason 2015-02-06 18:42:41 -05:00
Mike Danese 14bfec92f2 rename probe.Status to probe.Result. 2015-02-05 15:49:58 -08:00
Deyuan Deng de51527a28 Lower case node names before registering 2015-02-03 18:07:12 -05:00
Deyuan Deng 53d44a6f5f Move hostip to sync status 2015-01-30 16:03:30 -05:00
Deyuan Deng c793c4f0ab Sync node status from node controller to master. 2015-01-29 23:17:15 -05:00
Victor Marmol 41bc0b301d Using metadata library for GCE metadata fetch.
Fixes #3343.
2015-01-28 09:20:25 -08:00
Fumitoshi Ukai 54f498acd5 cloudprovider/gce: use golang.org/x/oauth2
code.google.com/p/goauth2 is deprecated.
use golang.org/x/oauth2 instead.

hooks/prepare-commit-msg ignore Godeps
for sh's boilerplate check.
2015-01-16 12:17:52 +09:00
Deyuan Deng 0e13a24864 Post hostip for static machines 2015-01-09 19:38:10 -05:00
Deyuan Deng a2651bfcc7 Rename minioncontroller to nodecontroller 2015-01-08 14:52:10 -05:00
Daniel Smith 2050131b9a ParseOrDie -> MustParse; stop returning pointer 2015-01-07 15:21:35 -08:00
Daniel Smith 35f54addca Update more packages, tests, binaries for quantity
make etcd registry pass test
fix kubelet config for quantity
fix openstack for quantity
fix controller for quantity
fix last tests for quantity
wire into binaries
fix controller manager
fix build for 32 bit systems
2015-01-07 15:21:35 -08:00
Daniel Smith 7f49ba0dcf Put quantity into packages
kubelet, GCE, validation, client
2015-01-07 15:21:34 -08:00
Rohit Jnagal 62ecd5f3ff Fix few vet errors.
There are quite a few 'composite literal uses unkeyed fields' errors that I have kept out of this patch.
And there's a couple where vet just seems confused. These are the easiest ones.
2015-01-07 08:40:16 +00:00
Brendan Burns 1d58958db8 Fix the build. 2014-12-23 10:28:26 -08:00
Brendan Burns c7d3b12d43 Merge pull request #2051 from anguslees/openstack-provider
Openstack provider
2014-12-23 09:33:19 -08:00
Mike Foley c4e94efe16 Sticky Session Implementation
- Added process to cleanup stale session affinity records
- Automatically set cloud provided load balancer for sticky session if the service requires it - Note, this only works on GCE right now.
- Changed sessionAffinityMap a map to pointers instead of structs to improve performance
- Commented out cookie and protocol from sessionAffinityDetail to avoid confusion as it is not yet implemented.
2014-12-18 18:46:10 -05:00
Brendan Burns 1dcb025559 Handle PD already being attached to the machine. 2014-12-11 13:00:26 -08:00
Clayton Coleman d1d7505272 Rename client Minions->Nodes, select the correct path for v1beta3
Replaces the client public interface but leaves old references to "minions"
for a later refactor.  Selects the path "nodes" for v1beta3 and "minions"
for older versions.
2014-12-10 12:08:19 -05:00
Clayton Coleman 19379b5a38 Internal rename api.Minion -> api.Node 2014-12-10 12:08:18 -05:00
Deyuan Deng 2ecea9ce7b Query hostIP for instances 2014-12-05 23:26:33 -05:00
Richard Larocque 51efd38e75 Print SyncCloud errors
This small change would have saved me a lot of time while investigating
issue #2746.
2014-12-05 11:50:21 -08:00
Angus Lees a00f73c360 Add additional logging to openstack cloud provider
Turned out to be invaluable while debugging issues - I expect it will be
for others too.

Conflicts:
	pkg/cloudprovider/openstack/openstack.go
2014-11-26 16:41:11 +11:00
Angus Lees 5499981ad3 Implement TCPLoadBalancer OpenStack cloud provider
Also add a trivial implementation of Zones() too.

This only supports a single region/zone currently (the region where
kubernetes is running).
2014-11-26 16:40:35 +11:00
Angus Lees f184eebc9b Update openstack provider to gophercloud v1.0 API 2014-11-26 16:08:43 +11:00
Deyuan Deng a4e7604266 Merge pull request #2478 from smarterclayton/refactor_minion_to_match_v1beta3
Move the internal minion representation to match v1beta3
2014-11-20 21:37:43 -05:00
Clayton Coleman 156000ef6d Move the internal minion representation to match v1beta3
Moves to 'Spec' and 'Status' internally and removes duplicate
fields.  Moves Capacity into Spec and drops use of NodeResources
2014-11-20 20:53:08 -05:00
Tim Hockin ea960711ff Clean up error logs.
Use %v for errors, tidy some messages, make error messages start lowe-case
(as per go guidelines).  Just accumulated nits.
2014-11-21 09:45:26 +08:00
Deyuan Deng 762e9a0f57 Create a backgroud task to register static list of machines. 2014-11-20 20:22:32 -05:00
Brendan Burns 2aa52d043b Add external services v2 support. 2014-11-14 11:32:54 -08:00
Brendan Burns d3e48c9525 Add the container API to our dependencies.
Update google-api-go-client
2014-11-14 10:38:22 -08:00
Brendan Burns aabf1c3573 Add a clusters interface and GCE implementation. 2014-11-14 10:38:03 -08:00
Clayton Coleman 6d31c2bf8a util.EncodeJSON proven harmful, remove it everywhere
People were misusing EncodeJSON in tests when they should be using
runtime.EncodeOrDie(testapi.Codec(), obj).  Removing the potential
for cutting self on sharp objects.
2014-11-13 10:38:13 -05:00
Deyuan Deng 019b7fc74c Separate minion controller from master. 2014-10-30 20:24:15 -04:00
Clayton Coleman 644eb70085 Refactor tests to split ObjectMeta from TypeMeta 2014-10-24 11:22:21 -04:00
Clayton Coleman bb77a5d15f Rename ID -> Name 2014-10-22 15:00:26 -04:00
Clayton Coleman 6ae611aedd Write BoundPods to etcd instead of ContainerManifestList
Rename ManifestFactory -> BoundPodFactory and change the general structure
of the call to focus on BoundPod.
2014-10-16 19:29:08 -04:00
Daniel Smith 595d4b4abd Merge pull request #1676 from anguslees/openstack-provider
Add OpenStack cloud provider
2014-10-15 12:05:33 -07:00
Angus Lees fffa0527d4 Implement Instances interface for OpenStack cloud provider 2014-10-15 14:09:27 +11:00
Angus Lees a90d503fce Read user/pass from config and authenticate to OpenStack 2014-10-15 14:09:27 +11:00
Angus Lees a8ab55b413 Add skeleton for new OpenStack cloud provider 2014-10-15 13:52:12 +11:00
Deyuan Deng 2bd88d4544 Remove OnceAndForever util, create a Run() method on MinionController. 2014-10-14 18:47:42 -04:00
Deyuan Deng ec46e94dc2 Create MinionController to sync minions from cloudprovider (pkg cloudprovider/controller). 2014-10-14 18:45:25 -04:00
Tim Hockin d84816aaec Merge pull request #1709 from erictune/move_line
Fix format specifiers in Printf-type functions.
2014-10-09 20:40:35 -07:00
Eric Tune 800284164a Fix format specifiers in Printf-type functions. 2014-10-09 17:06:32 -07:00
Danny Jones 4ec25f3b81 Adds support for attaching GCEPersitentDisks
Adds GCEPersistentDisk volume struct
Adds gce-utils to attach disk to kubelet's VM.
Updates config to give compute-rw to every minion.
Adds GCEPersistentDisk to API
Adds ability to mount attached disks
Generalizes PD and adds tests.
PD now uses an pluggable API interface.
Unit Tests more cleanly separates TearDown and SetUp
Modify boilerplate hook to omit build tags
Adds Mounter interface; mount is now built by OS
TearDown() for PD now detaches disk on final refcount
Un-generalized PD; GCE calls moved to cloudprovider

Address comments.
2014-10-08 20:03:59 -07:00
Brendan Burns 1551b48347 Add a resource fit scheduler predicate. Set sensible defaults. 2014-10-03 15:09:59 -07:00
Clayton Coleman 4e56dafecc Introduce some default log verbosity control
Move a lot of common error logging into better buckets:

glog.Errorf() - Always an error
glog.Warningf() - Something unexpected, but probably not an error
glog.V(0) - Generally useful for this to ALWAYS be visible
            to an operator
            * Programmer errors
            * Logging extra info about a panic
            * CLI argument handling
glog.V(1) - A reasonable default log level if you don't want
            verbosity
            * Information about config (listening on X, watching Y)
            * Errors that repeat frequently that relate to conditions
              that can be corrected (pod detected as unhealthy)
glog.V(2) - Useful steady state information about the service
            * Logging HTTP requests and their exit code
            * System state changing (killing pod)
            * Controller state change events (starting pods)
            * Scheduler log messages
glog.V(3) - Extended information about changes
            * More info about system state changes
glog.V(4) - Debug level verbosity (for now)
            * Logging in particularly thorny parts of code where
              you may want to come back later and check it
2014-09-25 16:30:14 -04:00
Daniel Smith bb0cd95a83 fix non-gofmt'd things 2014-09-24 14:27:10 -07:00
Dawn Chen bdfd5045f3 Refactory a little bit. 2014-09-24 09:41:30 -07:00
Dawn Chen 4796120f70 Debugging to fix e2e testing issue 2014-09-23 17:35:50 -07:00
Ragnar Dahlén b548465adf Initial impl. of cloud provider interface for AWS 2014-09-11 22:28:56 +01:00
derekwaynecarr 0c20fffa06 No DNS in vagrant cross minions, need explicit IP as host 2014-09-11 13:38:50 -04:00
Federico Simoncelli 320fd528e2 Add support for oVirt cloud provider
This patch adds the initial support for the oVirt cloud provider.

Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2014-09-11 13:08:46 +00:00
Federico Simoncelli 6add1993c9 Support configurations for cloudproviders
Cloud providers may need specific configurations to run properly (e.g.
authentication parameters, uri, etc.).

This patch adds the simplest implementation for passing configurations
to cloudproviders: a new apiserver -cloud_config flag to specify the
path to an arbitrary configuration file.

Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2014-09-08 21:46:53 +00:00
derekwaynecarr 7f75aae8ab Improve vagrant hostname support across cluster 2014-09-05 16:39:39 -04:00
Vojtech Vitek (V-Teq) 42c656501c Add several missing pkg Godoc files
Signed-off-by: Vojtech Vitek (V-Teq) <vvitek@redhat.com>
2014-09-02 13:41:11 +02:00
Vojtech Vitek (V-Teq) 59f58cd043 Unify Godoc formatting, fix various typos
Signed-off-by: Vojtech Vitek (V-Teq) <vvitek@redhat.com>
2014-09-02 13:41:03 +02:00
Tim Hockin f7d54390f9 Make cloud providers be plugins 2014-08-20 20:16:41 -07:00
Tim Hockin eb9f3394c5 Move VagrantCloud into its own pkg 2014-08-20 20:16:41 -07:00
Tim Hockin b23bef26eb Move GCECloud into its own pkg 2014-08-20 20:16:41 -07:00
Tim Hockin 95e0be9a63 Move FakeCloud into its own pkg 2014-08-20 20:16:41 -07:00
derekwaynecarr 8df21b84a1 Add vagrant cloudprovider 2014-08-18 14:30:31 -04:00
Brendan Burns c27ab18481 Don't use zone for regional load balancers. 2014-08-05 11:38:33 -07:00
Brendan Burns 1d8407cf7d Don't hard code load balancer zone. 2014-08-05 11:38:33 -07:00
Brendan Burns c717b872a3 Don't hard code load balancer zone. 2014-07-28 15:54:16 -07:00
Yuki Sonoda (Yugui) 820b67e41f Fixes golint errors in pkg/cloudprovider 2014-07-10 20:46:56 +09:00
Brendan Burns d5516e4cdc Activate gce minion list. 2014-07-01 11:33:58 -07:00
Brendan Burns 93019b8563 Add a minion registry that is backed by a cloud provider. 2014-06-26 13:00:07 -07:00
Brendan Burns 420b2fdd57 Add support for populating host ip address. 2014-06-18 14:57:50 -07:00
Brendan Burns 57869958bc Add IP look up if the Cloud Provider is not null
Add Instance info to the Cloud Provider interface
2014-06-18 14:27:43 -07:00
Brendan Burns 31427d2d6f Add a fake cloud impl.
Update the service registry with unit tests.
2014-06-18 14:22:41 -07:00
Brendan Burns 2759b2367f Add load balancing support to services. 2014-06-17 12:37:39 -07:00