Alex Robinson
9992abdfcf
Merge pull request #3997 from smarterclayton/make_master_index_optional
...
Make master index optional when master is used in other contexts
2015-02-02 12:45:18 -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
Alex Robinson
7868fe468e
Merge pull request #3618 from saad-ali/fix2410
...
Make master service IP static (no longer randomly assigned)
2015-02-02 11:05:58 -08:00
derekwaynecarr
4c33e36a88
Plumb restmapper properly through apiserver and tests
2015-02-02 10:26:19 -05:00
Clayton Coleman
42175b433a
Make master index optional when master is used in other contexts
...
OpenShift provides a default URL at the root that shows the UI. The
provided flag makes loading the index handler optional for now.
2015-01-30 22:19:55 -05:00
saadali
e83fd7b8e7
Make master service IP static (no longer randomly assigned)
2015-01-30 16:07:19 -08:00
Clayton Coleman
49ee27988d
Print the returned object in the event of a publish error
...
resp.Object is a pointer, so printing resp doesn't show what the
server returned.
2015-01-30 18:27:50 -05:00
Joe Beda
6bdede6925
Convert kube-apiserver to hyperkube.
...
Part of #108 .
Also:
* Added hyperkube cmd (not built by default yet).
* Added version support to hyperkube
* Remove health_check_minions flag from apiserver as it is no longer used with #3733
2015-01-30 13:06:28 -08:00
Brian Grant
207d0f5d40
Merge pull request #3878 from thockin/infra_name
...
Use a constant for the pod infra container name
2015-01-30 09:18:00 -08:00
Satnam Singh
9a8d20a2fc
Merge pull request #3969 from GoogleCloudPlatform/alex-mohr-patch-1
...
Update master.go's UpdateAllContainers to every 5 seconds instead of 30.
2015-01-30 07:58:43 -08:00
Deyuan Deng
c793c4f0ab
Sync node status from node controller to master.
2015-01-29 23:17:15 -05:00
Alex Mohr
3ac5b611b1
Update master.go
...
Make pod status update every 5 seconds instead of every 30 to mask the issue #3952 . I suspect (but haven't confirmed) that #3927 doesn't completely address the issue since it will still happily cache a Pending status for up to 30 seconds even though the pod may have transitioned to Running already.
2015-01-29 18:54:35 -08:00
Brendan Burns
3624b65f1c
Transform the podCache into a write-through cache.
...
Don't always clear podInfo, instead occasionally garbage collect.
2015-01-28 22:15:23 -08:00
derekwaynecarr
829fa69527
Introduce a ResourceQuota object
2015-01-28 15:03:19 -05:00
Tim Hockin
70ab406751
Use a constant for the pod infra container name
...
This is an implementation detail that has leaked out of kubelet. Use a
constant to prevent divergence, for now. Plan to get rid of it.
@dchen1107
2015-01-28 10:13:02 -08:00
Tim Hockin
60119db5d5
More e2e damage from renaming "net" to "POD"
...
This stops the bleeding. Will followup with a constant.
2015-01-28 09:58:19 -08:00
derekwaynecarr
091cbe5fa2
Add a limit range resource
2015-01-27 16:41:27 -05:00
Brendan Burns
f124842505
Clear pod cache on delete.
2015-01-26 17:26:43 -08:00
Dawn Chen
c65f83f424
Merge pull request #3795 from ddysher/pod-cache-semantic
...
fix pod-cache with node semantic change
2015-01-26 16:04:48 -08:00
Clayton Coleman
6410f37a32
Merge pull request #3591 from ddysher/node-client-update
...
Add node update method to client interface
2015-01-26 15:47:18 -05:00
Deyuan Deng
881be6c952
fix pod-cache with node semantic change
2015-01-25 16:59:00 -05:00
Deyuan Deng
e71227388e
add node update method to client interface
2015-01-23 16:40:33 -05:00
Brian Grant
3ae67f8153
Merge pull request #3548 from nikhiljindal/listHandlers
...
Updating handleIndex in master to list all valid paths.
2015-01-21 15:42:50 -08:00
nikhiljindal
51007cc798
Updating handleIndex in master to list all valid paths.
...
The list of valid paths is computed from http.ServeMux and
restful.WebService.
Adding a mux helper - wrapper over mux, that keeps track of the paths
handled by mux.
2015-01-21 13:40:01 -08:00
Andrew Seidl
6dee1d7fa4
Fix typos in user-facing strings
2015-01-18 01:32:34 -06: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
nikhiljindal
1ccae67b6e
master.go cleanup: Deleting unused public methods and converting rest to private
2015-01-15 16:22:43 -08:00
Clayton Coleman
90c835af47
The API server setup logging is debug specific, bump above V(4)
...
Reduces some chatter in test suites where we are confident this code
already works. Also removed any logging which is obvious from swagger.
Finally, rolls up InstallREST related errors all the way back to master,
which will glog.Fatalf (coding errors).
2015-01-15 14:25:58 -05:00
Paul Morie
fd834ae84d
Pods should see services only from their own ns
2015-01-14 17:06:36 -05:00
Dawn Chen
26a6628d8a
Merge pull request #3374 from lavalamp/fix
...
Fix minion listing
2015-01-12 16:36:46 -08:00
Daniel Smith
3e75195ff3
make minion registry not intolerably slow
2015-01-12 16:20:52 -08:00
Daniel Smith
6e70853e83
genericize ip cache
2015-01-12 16:04:43 -08:00
nikhiljindal
6ddfb10728
Setting WebServicesUrl in swagger config, so that the api docs contain correct basepath
2015-01-12 13:48:39 -08:00
Clayton Coleman
22c99c98e2
Split RESTStorage into separate interfaces
...
Omit unimplemented interfaces from Swagger
2015-01-12 12:19:45 -05:00
nikhiljindal
7e909ed743
Changes to improve swagger ui.
...
- Separating out index, version and api handlers into independent web
services. Moved the index handler to /welcome, version handler to
/version and the api handler to /api,
2015-01-09 10:56:24 -08:00
Clayton Coleman
7fd887df61
Enable v1beta3 API via --runtime_config=api/v1beta3 flag
...
This exposes the proper v1beta3 API endpoint when the user specifies
the --runtime_config=api/v1beta3 argument to the apiserver. v1beta3
is still considered experimental and subject to change.
--runtime_config is a map of string keys and values, that can be
specified by providing
--runtime_config=a=b,b=c,d,e
Only the key must be specified, the value can be omitted.
Enables v1beta3 in hack/local-up-cluster.sh and hack/test-cmd.sh
2015-01-08 13:01:24 -05:00
derekwaynecarr
a56087cdf8
Remove client from attributes, remove admission control interface, fix-up error codes
2015-01-07 14:42:31 -05:00
derekwaynecarr
520ae3ef27
Implement basic admission control framework
2015-01-07 14:42:31 -05:00
nikhiljindal
1db30aeb51
Moving swagger-ui files from www/swagger-ui to third-party/swagger-ui
...
and adding LICENSE and README files
2015-01-05 16:27:33 -08:00
Daniel Smith
6916235513
Make locking simpler
...
add test for node existence cache behavior
2014-12-22 15:11:28 -08:00
Daniel Smith
dc5383dcf8
add ttl as param to ip cache
2014-12-22 14:14:03 -08:00
Daniel Smith
545d87d554
Move clock to util
2014-12-22 14:14:03 -08: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
Brendan Burns
ba25ae49d7
Merge pull request #3070 from nikhiljindal/setApiVersion
...
Adding skeleton swagger UI
2014-12-19 17:16:04 -08:00
nikhiljindal
bf96e95899
ran gofmt
2014-12-19 16:16:54 -08:00
nikhiljindal
f12f5ed34b
1. Adding swagger-ui/dist files.
...
2. Updating datafile.go to include it.
3. Updating master,go to use it.
2014-12-19 14:56:20 -08:00
Daniel Smith
a63bd1bdfa
Remove an unneeded trip over the network when getting/listing pods.
2014-12-18 17:47:59 -08:00
Deyuan Deng
3f84924095
Use constant for port number
2014-12-16 11:45:27 +08:00
bgrant0607
f621a05d74
Merge pull request #2945 from smarterclayton/support_optional_swagger
...
Make Swagger API support optional, so that consumers can define their own
2014-12-15 16:13:13 -08:00
Clayton Coleman
cd4135666e
Make Swagger API support optional, so that consumers can define their own
...
OpenShift would like to also enable swagger, but we need to register our
services as swagger services prior to the SwaggerAPI being started. I've
added a bool (default false) to master.Config to enable swagger, and split
the method in master out so that a downstream consumer can call it.
2014-12-15 15:29:55 -05: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
Daniel Smith
9c0fbf1f02
Merge pull request #2908 from brendandburns/kubelet
...
Add an api object for the kubelet, and a versioned endpoint.
2014-12-12 16:01:46 -08:00
Brendan Burns
d4b9979382
Add an api object for the kubelet, and a versioned endpoint.
2014-12-12 15:26:28 -08:00
Eric Tune
029a9b6400
Remove whoami handler.
...
This was a temporary thing. Not aware of anyone using it.
2014-12-11 21:31:06 -08:00
Brendan Burns
59b5546b28
Turn on node level validation, and make the validation set dynamic.
2014-12-10 22:02:45 -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
9030759df8
Add 'nodes' everywhere 'minions' can be used in api / cli
2014-12-10 12:08:18 -05:00
Clayton Coleman
2c27f7d332
Allow an empty service
2014-12-09 12:48:53 -05:00
Mike Danese
5bda95f9fe
added healthz check to the proxy with configurable port
2014-11-23 09:07:19 -08: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
Jordan Liggitt
c895331277
Make master take authenticator.Request interface instead of tokenfile
2014-11-19 15:07:51 -05:00
markturansky
8af4ccb111
v1beta3 Pod refactor
2014-11-18 09:25:42 -05:00
Brian Grant
7583e1a643
Automatic API generation by adopting go-restful
2014-11-14 16:49:19 +00:00
Clayton Coleman
21a6e96418
Merge pull request #2126 from brendandburns/validatez
...
Add etcd to the list of services to validate.
2014-11-10 14:53:41 -05:00
Eric Tune
c068b56919
Return InsecureHandler from master.
...
Subsequent changes will make use of both
m.Handler and m.InsecureHandler for different ports.
2014-11-06 09:11:31 -08:00
Brendan Burns
d7dc20fd6a
Add etcd to the list of services to validate.
...
Also add minions.
2014-11-05 21:22:01 -08:00
Daniel Smith
c163535563
Allow (delayed) apiserver starting when network interface isn't available immediately.
2014-11-05 12:07:33 -08:00
bgrant0607
fc0dab630c
Merge pull request #2086 from markturansky/v1beta3_refactor
...
Refactor internal API for Services to match v1beta3
2014-11-04 21:48:02 -08:00
markturansky
bd7643c033
refactor services to v1beta3
2014-11-04 14:23:53 -05:00
Eric Tune
1668c6f107
Authorization based on namespace, kind, readonly.
...
Also, pass Authorizer into master.Config.
2014-11-03 17:45:15 -08:00
Eric Tune
3045035512
Get user from request and put in authz attribs.
...
Added integration tests for user-based auth.
2014-11-03 16:38:56 -08:00
Eric Tune
795bc7f976
Require a KubeletClient in master.New().
...
Without this, tests which create a master
will panic with a nil pointer when the periodic
podCache update runs.
Deleted unused FakePodInfoGetter.
Added FakeKubeletClient.
Passed to master.New.
Required a KubeletClient in master.New.
2014-11-03 16:09:41 -08:00
Eric Tune
55c2d6bbbb
Add basic Authorization.
...
Added basic interface for authorizer implementations.
Added default "authorize everything" and "authorize nothing
implementations.
Added authorization check immediately after authentication check.
Added an integration test of authorization at the HTTP level of
abstraction.
2014-10-31 12:04:33 -07:00
Deyuan Deng
019b7fc74c
Separate minion controller from master.
2014-10-30 20:24:15 -04:00
Eric Tune
9713b58caa
Allocate mux in master.New()
...
Callsites no longer allocate a mux.
Master now exposes method to install handlers
which use the master's auth code. Not used
but forks (openshift) are expected to use these
methods. These methods will later be a point
for additional plug-in functionality.
Integration tests now use the master-provided
handler which has auth, rather than using the mux,
which didn't. Fix TestWhoAmI now that /_whoami
sits behind auth.
2014-10-29 14:31:07 -07:00
Daniel Smith
070c6c0440
Fix missing portalNets in tests once and for all by adding a default.
2014-10-29 12:27:35 -07:00
Daniel Smith
a036ebc1be
Switch models. No master election.
2014-10-29 11:38:45 -07:00
Daniel Smith
7146ec9d49
Implement kubernetes & kubernetes-ro services
2014-10-29 11:29:28 -07:00
Daniel Smith
94e736e286
Merge pull request #2009 from smarterclayton/unify_meta
...
Unify Accessor for ObjectMeta/TypeMeta/ListMeta
2014-10-29 09:58:46 -07:00
Daniel Smith
dca7363459
Serve API version list, test with an integration test.
2014-10-28 17:35:56 -07:00
Eric Tune
f7ebc7d0d5
Added /_whoami and integration test for auth(z|n)
...
Added new endpoint /_whoami for debugging authentication.
Added integration test which checks that a user is authenticated
using token authentication.
Rearranged initialization of authenticator to support preceeding.
2014-10-28 09:33:45 -07:00
Clayton Coleman
66ace4c270
Begin to unify ResourceVersioner and SelfLinker
...
Create a new MetadataAccessor interface that combines both
and use it where previously latest.ResourceVersioner and SelfLinker
were being used.
Adds Namespace to the get/set interface. Adds TODO about future
fast path for metadata (as per thockin's comment)
2014-10-27 16:00:55 -04:00
Eric Tune
245585f364
Move handler setup: cmd/apiserver -> pkg/master
...
Moved CORS handler setup and authorizer setup.
Will allow for integration test of authorization.
2014-10-27 11:43:12 -07:00
Eric Tune
40a5ca034d
Integration test on master, not just apiserver.
...
Moved code from cmd/apiserver to pkg/master.
test/integration/client_test made to use a master object,
instead of an apiserver.Handle.
Subsequent PRs will move more handler-installation into
pkg/master, with the goal that every http.Handler of a
standalone apiserver process can also be tested
in a "testing"-style go test.
In particular, a subsequent PR will test
authorization.
2014-10-27 09:14:58 -07:00
derekwaynecarr
580cb5ea4f
Rework client.Interface
2014-10-24 11:47:30 -04:00
Clayton Coleman
644eb70085
Refactor tests to split ObjectMeta from TypeMeta
2014-10-24 11:22:21 -04:00
Clayton Coleman
7550c146dc
Replace struct initializers for TypeMeta with ObjectMeta
2014-10-24 11:22:21 -04:00
Haney Maxwell
3160500940
Refactor kubelet access and add SSL
2014-10-22 14:53:59 -07:00
Clayton Coleman
bb77a5d15f
Rename ID -> Name
2014-10-22 15:00:26 -04:00
bgrant0607
71c6f8ee5c
Merge pull request #1875 from lavalamp/fix3
...
fix typo
2014-10-20 12:13:43 -07:00
Daniel Smith
82bbcee8d9
Move port definitions to their own package
2014-10-20 11:28:12 -07:00
Daniel Smith
082a9d8af9
fix typo
2014-10-20 10:28:38 -07: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
Tim Hockin
e907011111
Core support for ip-per-service
2014-10-16 08:36:47 -07: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