Daniel Smith
fd952862c3
Remove pods from the assumed pod list when they are deleted
2015-03-30 11:16:55 -07:00
Tim Hockin
8ae203825b
Implement multi-port endpoints
...
Instead of endpoints being a flat list, it is now a list of "subsets"
where each is a struct of {Addresses, Ports}. To generate the list of
endpoints you need to take union of the Cartesian products of the
subsets. This is compact in the vast majority of cases, yet still
represents named ports and corner cases (e.g. each pod has a different
port number).
This also stores subsets in a deterministic order (sorted by hash) to
avoid spurious updates and comparison problems.
This is a fully compatible change - old objects and clients will
keepworking as long as they don't need the new functionality.
This is the prep for multi-port Services, which will add API to produce
endpoints in this new structure.
2015-03-27 12:36:32 -07:00
Piotr Szczesniak
31901ed9d0
Changed PodInfo to be a list
...
This change is to make API consistent with our convention.
Fixes #3622
2015-03-26 10:15:25 +01:00
Rohit Jnagal
49ff04765b
Add validation for node creation.
2015-03-25 21:55:03 +00: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
Victor Marmol
f7135b3dd4
Merge pull request #5827 from spothanis/master
...
added cloud provider flag to kubelet
2015-03-25 10:50:18 -07:00
Filip Grzadkowski
74da3b14b0
Delete pod_cache and rely on updating pod status by kublet.
2015-03-25 15:08:09 +01:00
Filip Grzadkowski
0804a5c823
Fix race in integration test
2015-03-25 14:28:57 +01:00
Sreekanth Pothanis
1c06cde4c4
added cloud provider flag to kubelet
...
This is to fix issue #5667
2015-03-24 19:32:50 -07:00
Clayton Coleman
aee9bdd69a
Merge pull request #5805 from liggitt/node_proxy
...
Improve ResourceLocation API, allow proxy to use authenticated transport
2015-03-24 13:01:54 -04:00
Filip Grzadkowski
632ca506ce
* Update pod status only when it changes.
...
* Refactor syncing logic into a separate struct
2015-03-24 16:41:00 +01:00
Jordan Liggitt
a75b501821
Improve ResourceLocation API, allow proxy to use authenticated transport
2015-03-24 11:11:34 -04:00
Wojciech Tyczynski
f80cac1775
Integration test for reading Pods via http & file
2015-03-24 12:05:41 +01:00
Clayton Coleman
d020ca00b8
Pass hostname to all kubelet config sources instead of os.Hostname()
...
Make applyDefaults be tied to the current config source.
2015-03-23 15:58:45 -04:00
Clayton Coleman
bd12cfea69
Integration tests should do a faster status sync loop
2015-03-23 14:48:28 -04:00
Tim Hockin
bfadae77e0
Promote volume plugins, prep for persistent vols
...
Move pkg/kubelet/volume/... to pkg/volume/...
Some renames to make the soon-to-come persistent volumes work clearer.
2015-03-20 13:49:40 -07:00
Brian Grant
11f9733599
Merge pull request #5587 from nikhiljindal/enable3
...
Updating integration tests to test both API versions - v1beta1 and 3
2015-03-18 16:14:20 -07:00
nikhiljindal
7e36bbab3c
Updating integration tests to test both API versions - v1beta1 and 3
2015-03-18 15:24:11 -07:00
Filip Grzadkowski
1a352b74ba
Periodically update pod status from kubelet.
2015-03-18 12:11:39 +01:00
Yu-Ju Hong
929fb63b33
Sync static pods from Kubelet to the API server
...
Currently, API server is not aware of the static pods (manifests from
sources other than the API server, e.g. file and http) at all. This is
inconvenient since users cannot check the static pods through kubectl.
It is also sub-optimal because scheduler is unaware of the resource
consumption by these static pods on the node.
This change syncs the information back to the API server by creating a
mirror pod via API server for each static pod.
- Kubelet creates containers for the static pod, as it would do
normally.
- If a mirror pod gets deleted, Kubelet will re-create one. The
containers are sync'd to the static pods, so they will not be
affected.
- If a static pod gets removed from the source (e.g. manifest file
removed from the directory), the orphaned mirror pod will be deleted.
Note that because events are associated with UID, and the mirror pod has
a different UID than the original static pod, the events will not be
shown for the mirror pod when running `kubectl describe pod
<mirror_pod>`.
2015-03-17 08:45:56 -07:00
Filip Grzadkowski
18b728ff44
Revert "Periodically update pod status from kubelet."
2015-03-17 13:51:45 +01:00
Filip Grzadkowski
336525a27d
Periodically update pod status from kubelet.
2015-03-16 23:03:03 +01:00
Jeff Lowdermilk
e37fd2a84d
Merge pull request #5477 from dchen1107/clean
...
Convert RestartPolicy to string for v1beta3.
2015-03-16 10:23:52 -07:00
Dawn Chen
34e9c82c70
Convert RestartPolicy to string for v1beta3.
...
Fixed #3607 and spiritually support #5475
2015-03-13 18:38:07 -07:00
Victor Marmol
dc96ea6300
Run cAdvisor inside the Kubelet.
...
cAdvisor is started as a Kubelet dependency during startup of the
Kubelet before the sync loops start.
2015-03-13 16:06:02 -07:00
Dawn Chen
0cc2b62b4a
Merge pull request #5265 from ddysher/kubelet-post-status
...
kubelet post node status to master
2015-03-13 15:29:22 -07:00
Timothy St. Clair
7eebf674d4
Update to option enable profiling on the master daemon processes.
...
--profiling=true , default is false
2015-03-13 10:45:01 -05:00
Eric Tune
cf22810ffc
This is a combination of 2 commits.
...
Fix log messages and var names in integr test
It says "pods" where the things are actually "containers".
2015-03-12 14:10:52 -07:00
Eric Tune
ac7bf05079
Kubelet has not even heard of etcd.
2015-03-11 16:29:31 -07:00
Victor Marmol
7d53425bbc
Merge pull request #5337 from erictune/no_hostport_integ_test
...
Don't use hostPort in integration test.
2015-03-11 16:00:11 -07:00
Eric Tune
1a2da5b8f5
Don't use hostPort in integration test.
...
The integration test will fail if I check in my pending PR
to remove boundPods. Kubernetes eventually does the right
thing, but getting the integration test to check expectations
is hard because the scheduling behavior is unpredictable.
The boundPods removal is needed to fix P1 bug and speeds up
the scheduler considerably.
2015-03-11 15:30:56 -07:00
Prashanth Balasubramanian
28d9260c0b
Sync replication count with the api server on pod creation/deletion.
2015-03-11 13:29:20 -07:00
Deyuan Deng
9982aaa960
kubelet post node status to master
2015-03-10 23:17:36 -04: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
Paul Morie
a486ab078f
Fix selfLink issues in integration test
2015-03-10 14:40:16 -04:00
Mike Danese
46ec580771
add PATCH to apiserver
2015-03-10 10:56:15 -07:00
Federico Simoncelli
1b18440f35
kubelet: add GetNodeInfo implementation
...
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-03-10 10:11:01 -04:00
Alex Mohr
da9622a6d7
Revert "Revert "Deleting old sample JSON; moving those in use; updating referenc..."
2015-03-09 14:44:14 -07:00
Alex Mohr
44b9b7aea5
Revert "Deleting old sample JSON; moving those in use; updating references"
2015-03-09 14:18:40 -07:00
Alex Mohr
ee276b26cb
Merge pull request #5124 from MikeJeffrey/ex3
...
Deleting old sample JSON; moving those in use; updating references
2015-03-09 10:58:44 -07:00
MikeJeffrey
4da6d413be
Deleting old sample JSON; moving those in use; updating references
2015-03-06 17:24:45 -08:00
Jordan Liggitt
02622b1401
Plumb tls and cert options into kubelet start
2015-03-05 16:30:52 -05:00
Victor Marmol
71e545bf81
Merge pull request #4970 from dchen1107/podstatus
...
Hide POD container from end users
2015-03-02 17:15:24 -08:00
Dawn Chen
dad365fb2b
Hide POD container from end users
2015-03-02 17:03:28 -08:00
Brendan Burns
fe973461f5
Merge pull request #4916 from thockin/plural_21_endpoints
...
Rename type Port to ContainerPort
2015-03-02 10:53:32 -08:00
Filip Grzadkowski
86b1c90097
Add flag to control probing pods statuses from kubelets.
2015-03-02 16:06:14 +01:00
Tim Hockin
ea548b8260
Rename type Port to ContainerPort
...
Sadly I had to do this by hand - I just could not get gorename to fix up
users of it.
2015-02-27 21:05:59 -08: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
Daniel Smith
650f6cb826
Revert "Multi-port Endpoints"
2015-02-23 13:53:21 -08:00
Tim Hockin
e0fd83096c
Rename type Port to ContainerPort
...
Sadly I had to do this by hand - I just could not get gorename to fix up
users of it.
2015-02-21 22:26:38 -08:00
Tim Hockin
7fe7f8a542
move pkg/kubelet/server to cmd/kubelet/app
2015-02-20 08:49:12 -08:00
Dawn Chen
34df171693
Debugging message for debugging #4500
2015-02-18 14:40:24 -08:00
Clayton Coleman
eebe00c259
Test namespace overlap in test-integration.sh
2015-02-16 16:31:32 -05:00
Clayton Coleman
3e2e4714a2
Always set ?namespace in query if specified
...
Revise our code to only call Request.Namespace() if a namespace
*should* be present. For root scoped resources, namespace should
be ignored. For namespaced resources, it is an error to have
Namespace=="".
2015-02-16 00:23:38 -05:00
Clayton Coleman
9175082a1c
Split naming behavior out into objects that are derived from the request
...
Fix bug with cross namespace queries not being possible. Ensure selflink
is set on lists correctly.
2015-02-16 00:23:38 -05:00
Dawn Chen
f5f2b6f773
Check if kubelet does know such Pod before querying status.
2015-02-11 10:16:04 -08:00
Mike Danese
043794492e
implement readiness.
2015-02-10 08:30:09 -08: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
Deyuan Deng
f5bc43a46c
Merge pull request #3498 from pravisankar/ravi/sync-nodes-optional
...
Make periodic sync nodes from -cloud_provider/-machines optional.
2015-02-09 17:45:56 -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
Clayton Coleman
4369e31b9d
Integration tests should use 127.0.0.1 consistently
2015-02-09 14:30:31 -05:00
Mike Danese
14bfec92f2
rename probe.Status to probe.Result.
2015-02-05 15:49:58 -08:00
Yu-Ju Hong
4a72addaeb
Factor out API defaulting from validation logic
...
Currently, the validation logic validates fields in an object and supply default
values wherever applies. This change factors out defaulting to a set of
defaulting callback functions for decoding (see #1502 for more discussion).
* This change is based on pull request 2587.
* Most defaulting has been migrated to defaults.go where the defaulting
functions are added.
* validation_test.go and converter_test.go have been adapted to not testing the
default values.
* Fixed all tests with that create invalid objects with the absence of
defaulting logic.
2015-02-03 00:55:42 -08:00
Joe Beda
d96afdd645
Move 'pkg/standalone' package to 'pkg/kubelet/server'.
...
This paves the way to hyperkube for the kubelet.
2015-02-02 14:03:13 -08:00
Clayton Coleman
7f39a37eee
Fix integration tests to not depend on setting pod.Status on create
...
Allow the master to have pod/node cache timeouts controlled via a config
flag for integration tests.
Move integration test to '127.0.0.1' so that it correctly returns a health
check, and enable health check testing on the integration test.
2015-02-02 14:46:23 -05:00
saadali
e83fd7b8e7
Make master service IP static (no longer randomly assigned)
2015-01-30 16:07:19 -08:00
Deyuan Deng
c793c4f0ab
Sync node status from node controller to master.
2015-01-29 23:17:15 -05:00
nikhiljindal
dc92d3c7a2
Cleaning up the operations code in client
2015-01-28 21:04:16 -08:00
Mrunal Patel
19e0605f5b
Replace "net" by "pod infra" in docs and format strings.
2015-01-28 15:03:06 -08:00
Tim Hockin
c8f61885df
Merge pull request #3695 from mikedanese/ready
...
refactor pkg/health into more reusable pkg/probe
2015-01-28 11:00:32 -08:00
Clayton Coleman
5117189e03
Merge pull request #3707 from nikhiljindal/preOperations
...
Removing support for asynchronous server requests
2015-01-28 13:02:52 -05:00
nikhiljindal
de60600608
Making all operations synchronous
2015-01-27 18:47:56 -08:00
Mike Danese
5dc6362f8a
rename probe.Healthy to probe.Success and renam probe.Unhealthy to probe.Failure.
2015-01-27 11:20:30 -08:00
Mike Danese
a298402bd4
remove pkg/health and move everything over to pkg/probe
2015-01-27 11:20:30 -08:00
Tim Hockin
6cb275829f
Implement volumes as plugins.
...
Break up the monolithic volumes code in kubelet into very small individual
modules with a well-defined interface. Move them all into their own packages
and beef up testing along the way.
2015-01-20 11:45:45 -08:00
Brendan Burns
e86c8f9e53
Merge pull request #3565 from dchen1107/podstatus
...
Introduce PodStatusResult, and deprecate PodContainerInfo.
2015-01-16 12:05:07 -08:00
Dawn Chen
15e9fa8a9d
Introduce PodStatusResult, and deprecate PodContainerInfo.
2015-01-16 09:10:40 -08:00
Daniel Smith
46f8a56dba
Merge pull request #3376 from erictune/channel_api
...
Kublet watches Pods.
2015-01-15 14:48:12 -08:00
Joe Beda
6bd6b905f5
Address code review comments
...
Add some documentation.
Create new util.InitFlags() function to merge and parse in one step.
2015-01-15 09:12:20 -08:00
Joe Beda
dcd00c936e
Move all kubernetes to posix flags
2015-01-15 09:12:19 -08:00
Eric Tune
b759f67ee3
Kublet watches Pods.
...
Added a kubelet config source for watching pods on apiserver.
The pods are converted to boundpods for merging with other
config sources.
The preferred way to create a kubelet is now to pass an apiserver
client but not an etcd client. Changed cmd/integration to use
apiserver to talk to kubelets. And cmd/kubernetes.
Unit, integration, and e2e tests pass, except for a failure of the pd
e2e test which was unrelated.
2015-01-14 15:31:26 -08:00
Paul Morie
fd834ae84d
Pods should see services only from their own ns
2015-01-14 17:06:36 -05:00
Tim Hockin
905514a12b
Ensure Namespace and UID are set in kubelet
...
Make all kubelet config sources ensure that UID and Namespace are defaulted, if
need be.
We can *almost* disable the "if blank" logic for UID, except for tests that
call APIs that do not run through SyncPods. We really ought to be enforcing
invariants better.
2015-01-12 14:27:34 -08:00
Tim Hockin
5b0a65e9a3
make private root dirs for integration test kubelets
2015-01-11 16:40:06 -08:00
Deyuan Deng
a2651bfcc7
Rename minioncontroller to nodecontroller
2015-01-08 14:52:10 -05:00
Eric Tune
c2b3d678c0
Merge pull request #3248 from derekwaynecarr/admission_control_hooks
...
Implement basic admission control framework
2015-01-07 16:52:49 -08:00
derekwaynecarr
a56087cdf8
Remove client from attributes, remove admission control interface, fix-up error codes
2015-01-07 14:42:31 -05:00
derekwaynecarr
1e2b995a79
Fix admission control in tests
2015-01-07 14:42:31 -05:00
Clayton Coleman
ba53d723d3
Clean up how client is passed to Kubelet in preparation for reading pods
...
Also fixes how Kubelet server looks up pods by name when there are multiple
sources.
2015-01-07 14:40:37 -05:00
Jeff Lowdermlk
0ab39df66b
Add a rollingupdate lib and command to kubectl
...
Also decouple conditions from client for testability.
2015-01-06 17:29:05 -08:00
Tim Hockin
a57976b46d
fix call to Fatal() vs Fatalf()
2015-01-03 20:51:14 -08:00
Tim Hockin
297c8d1d5a
Parse flags for in integration test.
...
The default --v=10 might be reconsidered.
2015-01-03 20:48:19 -08:00
Clayton Coleman
e355f54eda
Update references from Path() to the appropriate segment use
2014-12-29 15:38:52 -05:00
Daniel Smith
5b8e91595a
Make pod listing costant-time
...
* move ip cache out of registry/pod
* combine, rationalize, and move pod status logic
* Fix unit and integration tests
2014-12-22 14:14:03 -08:00
Mike Danese
4850bdbe63
refactor scheduler factory to use plugin architecture style like credentialprovider and cloudprovider for configuring priority functions and fit predicates
2014-12-17 14:55:28 -08:00
Brendan Burns
a6f967b6e7
Revert "Revert "Add an api object for the kubelet, and a versioned endpoint.""
...
This reverts commit dcfcf315e5
.
2014-12-15 09:29:04 -08:00
Brendan Burns
dcfcf315e5
Revert "Add an api object for the kubelet, and a versioned endpoint."
...
This reverts commit d4b9979382
.
2014-12-12 21:13:44 -08:00
Brendan Burns
d4b9979382
Add an api object for the kubelet, and a versioned endpoint.
2014-12-12 15:26:28 -08:00
Abhishek Gupta
6b712cc700
Scheduler changes for extensibility
2014-12-08 14:47:05 -08:00