Commit Graph

724 Commits

Author SHA1 Message Date
Cesar Wong
8df4758ee9 Pod log subresource
Adds a Log subresource to Pod storage. The Log subresource implements
rest.GetterWithOptions and produces a ResourceStreamer resource that
will stream the log output from the pod's host node.
2015-04-07 07:56:24 -04:00
Cesar Wong
58a1b308c1 Refactor storage return for pod etcd storage
Convert the return value of pods rest.NewStorage to a struct.
This will allow returning more storage objects for a pod (sub resources)
without awkwardly adding more return values.
2015-04-07 07:46:30 -04:00
markturansky
4e528a847a added PVClaim status subresource 2015-04-06 14:42:22 -04:00
markturansky
ff86ae0705 Fixed RESTCreate/Update interface methods 2015-04-06 08:46:44 -04:00
markturansky
69d1d235cd Rebased and updated 2015-04-06 08:46:44 -04:00
markturansky
95bd170ca2 PV & PVC Client implementation 2015-04-06 08:46:43 -04:00
Daniel Smith
34b399ca02 Fix incorrect reference to name in v1beta3 API. 2015-04-03 14:10:47 -07:00
Daniel Smith
0c2d3ffe68 Single-key matching behavior in generic.Matcher 2015-04-03 13:11:21 -07:00
Brian Grant
414be101b6 Merge pull request #6352 from piosz/api
Removed PodStatus.Host
2015-04-02 13:16:24 -07:00
Wojciech Tyczynski
6b08958264 Kubelet watching only its own Node 2015-04-02 18:39:59 +02:00
Piotr Szczesniak
5c6439d449 Removed PodStatus.Host
Fixes #6165
2015-04-02 16:38:45 +02:00
Clayton Coleman
dec3209229 Merge pull request #6246 from derekwaynecarr/finalize_fix
Fix Namespace Termination
2015-04-01 17:34:56 -04:00
derekwaynecarr
b745f51c65 Client must specifiy a resource version on finalize 2015-04-01 11:16:45 -04:00
Victor Marmol
2de37624e8 Merge pull request #6252 from krousey/string_format_cleanup
Fixing a lot of string formatting issues
2015-03-31 16:57:36 -07:00
Kris Rousey
6904c4d585 Fixing a lot of string formatting issues with regards to:
* Improper format specifier (e.g. %s for bools or %s for ints)
  * More or less parameters than format specifiers
  * Not calling a formatting function when it should have (e.g. Error() instead of Errorf())
2015-03-31 16:47:10 -07:00
Tim Hockin
186818d787 WIP: Implement multi-port Services 2015-03-30 19:28:11 -07:00
Andy Goldstein
d7c5f427cb Pass ctx to Validate, ValidateUpdate
Pass ctx to Validate/ValidateUpdate. This is useful so strategies can
access data such as the current user.
2015-03-30 17:33:08 -04: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
Brian Grant
a4bf91c8c0 Merge pull request #5690 from satnam6502/failputnover
Give better error message for PUTs with no resource version
2015-03-27 07:12:56 -07:00
Piotr Szczesniak
768c733bed Merge pull request #5971 from bprashanth/rc_watch_fields
Add the ability to watch fields of a replication controller
2015-03-27 10:19:41 +01:00
Tim Hockin
0f36c68244 Add REST PrepareForUpdate() hook
As per discussion with @snmarterclayton.  I implemented this for most
types in the "obvious" way.  I am not sure how to implement
this for a couple types, though.
2015-03-26 13:48:41 -07:00
Tim Hockin
b2687c1a84 rename ResetBeforeCreate to PrepareForCreate 2015-03-26 13:48:34 -07:00
Prashanth Balasubramanian
b0068d05f8 Add the ability to watch fields of an rc 2015-03-26 11:01:56 -07:00
gmarek
5a11748018 Move Capacity from NodeSpec to NodeStatus 2015-03-26 15:28:48 +01:00
Satnam Singh
cd05c8b9bc Give better error message for PUTs with no resource version 2015-03-25 15:52:48 -07:00
Rohit Jnagal
49ff04765b Add validation for node creation. 2015-03-25 21:55:03 +00:00
Derek Carr
bf14cbf682 Merge pull request #5930 from markturansky/fix_quota_registry_names
Changed arg names from 'pod' to 'resourceQuota'
2015-03-25 15:03:41 -04:00
Masahiro Sano
c49af0b7cb port minion registry to generic etcd 2015-03-26 02:44:35 +09:00
markturansky
89a17a410c changed arg names from 'pod' to 'resourceQuota' 2015-03-25 13:23:31 -04:00
Saad Ali
1f50bd226b Merge pull request #5854 from fgrzadkowski/delete_pod_cache
Delete pod_cache and rely on updating pod status by kublet.
2015-03-25 09:17:09 -07:00
Filip Grzadkowski
74da3b14b0 Delete pod_cache and rely on updating pod status by kublet. 2015-03-25 15:08:09 +01:00
Masahiro Sano
410e11c305 port endpoints to generic etcd 2015-03-25 22:15:19 +09: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
Clayton Coleman
97560c409f Merge pull request #5554 from derekwaynecarr/namespace_controller
Namespace Controller to support Namespace Termination
2015-03-24 12:59:00 -04:00
Jordan Liggitt
a75b501821 Improve ResourceLocation API, allow proxy to use authenticated transport 2015-03-24 11:11:34 -04:00
derekwaynecarr
84c9709299 Increase controller sync time for namespace cleanup 2015-03-24 10:44:34 -04:00
derekwaynecarr
29c491ef2e Namespace.Spec.Finalizer support 2015-03-24 10:36:06 -04:00
Prashanth Balasubramanian
ef6601646d Migrate replication controllers to generic etcd 2015-03-23 17:59:25 -07:00
Clayton Coleman
9bb797fe93 Rename NewREST -> NewStorage to align on terminology 2015-03-23 16:52:21 -04:00
Clayton Coleman
5a3f0adbcc Remove older names 2015-03-23 16:52:21 -04:00
Clayton Coleman
d46087db50 Move REST* interfaces into pkg/api/rest
Dependency chain is now api -> api/rest -> apiserver.  Makes the
interfaces much cleaner to read, and cleans up some inconsistenties
that crept in along the way.
2015-03-23 16:52:21 -04:00
Clayton Coleman
65425f690c Move field errors to pkg/util/fielderrors
Allows pkg/api to take a reference to labels.Selector and fields.Selector
2015-03-22 17:43:34 -04:00
Saad Ali
f57540c7a0 Merge pull request #5532 from nikhiljindal/event
Adding GetFieldSelector() to client.EventInterface
2015-03-20 15:05:14 -07:00
nikhiljindal
1b87060aec Adding GetFieldSelector() to client.EventInterface 2015-03-20 13:58:23 -07:00
Abhishek Gupta
b0c23c1046 Headless Services: Adding option to specify None for PortalIP 2015-03-20 12:10:03 -07:00
Clayton Coleman
428d2263e5 Graceful deletion of resources
This commit adds support to core resources to enable deferred deletion
of resources.  Clients may optionally specify a time period after which
resources must be deleted via an object sent with their DELETE. That
object may define an optional grace period in seconds, or allow the
default "preferred" value for a resource to be used. Once the object
is marked as pending deletion, the deletionTimestamp field will be set
and an etcd TTL will be in place.

Clients should assume resources that have deletionTimestamp set will
be deleted at some point in the future.  Other changes will come later
to enable graceful deletion on a per resource basis.
2015-03-19 15:33:32 -04:00
Prashanth Balasubramanian
960e16c397 Embed etcdgeneric in RESTStorage for pods 2015-03-18 16:31:33 -07:00
gmarek
a3b137ce8e Cleanup of validation.go 2015-03-18 08:59:35 +01:00
Brian Grant
407589147e Merge pull request #5005 from jdef/persistent_bindings
Persist Bindings annotations alongside pod Host assignment
2015-03-16 16:16:44 -07:00
Clayton Coleman
bddef32193 Prepare EtcdHelper to extract more data from Node
In order to support graceful deletion, the resource object will
need access to the TTL value in etcd.  Also, in the future we
may want to get the creation index (distinct from modifiedindex)
and expose it to clients.  Change EtcdResourceVersioner to be
more type specific (objects vs lists) and provide a default
implementation that relies on the internal API convention.

Also, rename etcd_tools.go to etcd_helper.go and split a few
things up.
2015-03-16 15:33:50 -04:00
Clayton Coleman
4ca90e0343 FakeEtcdClient should return KeyNotFound on Delete 2015-03-16 14:22:03 -04:00
Clayton Coleman
143015025a Support TTL in genericetcd#Update 2015-03-16 14:22:01 -04: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
derekwaynecarr
9824d2b5f7 Embed generic etcd in namespace rest store 2015-03-16 10:45:04 -04:00
derekwaynecarr
2d13dfaf13 Improvements to namespace registry to align with pod model 2015-03-16 10:16:28 -04:00
Dawn Chen
34e9c82c70 Convert RestartPolicy to string for v1beta3.
Fixed #3607 and spiritually support #5475
2015-03-13 18:38:07 -07:00
Eric Tune
e214802e45 Merge pull request #5460 from derekwaynecarr/eliminate_resource_quota_usage
Eliminate resource quota usage
2015-03-13 16:10:26 -07:00
Daniel Smith
b02412f44e Merge pull request #5443 from bprashanth/rc_validation
Add an rc strategy, start delta validating updates
2015-03-13 13:52:19 -07:00
derekwaynecarr
799e3fa9cc Eliminate ResourceQuotaUsage in favor of ResourceQuota status 2015-03-13 16:52:09 -04:00
Prashanth Balasubramanian
6193608e9b Add an rc strategy, start delta validating updates 2015-03-13 13:09:03 -07: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
James DeFelice
20eb3c49c5 resolves #4103
clarify resource conflict status, rebase to master
remove ResourceConflict, replace usage with Conflict
2015-03-13 12:16:51 +00:00
Jerzy Szczepkowski
ba9d02c0c7 Cleanup: removed BoundPodFactory.
Removed unused code: BoundPodFactory. Fixes #5384.
2015-03-13 10:44:25 +01: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
Brian Grant
19b6c85fa5 Merge pull request #5363 from wojtek-t/no_bound_pods_in_scheduler
Make scheduler to watch PodSpec.Host instead Status.Host
2015-03-12 10:57:03 -07:00
Wojciech Tyczynski
9f2f10d6db Make scheduler to watch PodSpec.Host instead Status.Host 2015-03-12 13:38:58 +01:00
Yu-Ju Hong
533299bf0a Copy Spec.Host to Status.Host on pod creation 2015-03-11 21:53:51 -07:00
Eric Tune
e9b6c75b6a Stop updating boundPods objects.
Does not clean up your existing boundPods records.
Does not clean up all the dead code.  Future PRs from me
will do that.
2015-03-11 16:06:03 -07:00
Prashanth Balasubramanian
28d9260c0b Sync replication count with the api server on pod creation/deletion. 2015-03-11 13:29:20 -07:00
Brian Grant
1a75c8843c Merge pull request #5256 from jszczepkowski/podspec-host
Implemented writing Host in Pod.Spec during binding.
2015-03-11 11:30:45 -07:00
Jerzy Szczepkowski
9a6857cf2c Fixed writing Host in Pod.Spec during binding.
Fixed writing Host in Pod.Spec during binding. Related to #5207.
2015-03-11 14:48:10 +01:00
Eric Tune
5e8d70f76b Remove HostPort conflict checking.
We decided to get rid of boundPods.   Removing this check is
a prerequisite for that.  This check had some value before we had
IP-per-Pod.  However, AIUI, use of HostPort is strongly discouraged
in Kubernetes.  It still exists as part of a Pod spec because
of ContainerVM, where it is used.  But, this change does not affect
ContainerVM, where there is no master.

If someone did create pods with HostPort using kubernetes, the following
would happen:
  - The scheduler would try not to put two conflicting pods on the same
    machine (pkg/scheduler/predicates.go : PodFitsPorts() )
  - I'm not sure if it is currently possible for a race to occur where
    the PodFitsPorts check were bypassed.   Maybe it could happen.
  - If the kubelet was sent conflicting pods, it would detect them in
    ( pkg/kubelet/kubelet.go :  filterHostPortConflicts() ).  It would
    arbitrarily pick one pod to run and another to ignore.
  - If all of the above happened and the user filed and issue on github,
    we might figure out that the user used HostPort and tell the user to stop.

TODO:
 - e2e test
 - Several of the demos in examples/ use hostPort.  Change them to
   not specify hostPort and have a service instead.
2015-03-10 22:46:30 -07:00
Salvatore Dario Minonne
925fa6baf8 Adding fields selector 2015-03-10 22:13:10 +01:00
Brian Grant
6062e14313 Merge pull request #5220 from nikhiljindal/camelCaseFieldSelectors
Changing v1beta3 field selectors to be camelCased
2015-03-10 09:35:03 -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
nikhiljindal
916ca9cc68 Changing v1beta3 field selectors to be camelCased 2015-03-09 18:01:01 -07:00
Brian Grant
7b72d9539f Merge pull request #5054 from smarterclayton/switch_to_sub_bindings
Make Pod binding a subresource (and be generic to other types)
2015-03-09 16:41:26 -07:00
Alex Mohr
37bfb0d7cf Merge pull request #5159 from brendandburns/coverage
Expand test coverage in master.
2015-03-09 13:26:37 -07:00
Clayton Coleman
dfc19185f5 Add a subbindings resource as /pods/{name}/binding
Allows POST to create a binding as a child. Also refactors internal
and v1beta3 Binding to be more generic (so that other resources can
support Bindings).
2015-03-09 15:37:19 -04:00
James DeFelice
bf02d17244 rebased to master 2015-03-09 14:08:11 +00:00
James DeFelice
4943fe937b implemented nil err checks, cc @yujuhong @davidopp 2015-03-09 14:06:27 +00:00
James DeFelice
e5350d61a8 added comment suggested by @davidopp 2015-03-09 14:06:27 +00:00
James DeFelice
436790ccd1 add unit test for #4757
fixed compilation error
2015-03-09 14:06:27 +00:00
Brendan Burns
7c654a3d1b Expand test coverage in master, kubectl/cmd/util, pkg/registry/resourcequota, and api/rest. 2015-03-07 15:24:39 -08: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
Brendan Burns
2700871b04 Merge pull request #5013 from smarterclayton/misc_fixup
Small cleanups to a number of client behaviors
2015-03-06 15:41:34 +01:00
Daniel Smith
3ef3777192 Make unexported fields panic (informatively)
...Also fix some incorrect calls to semantic.DeepEqual, and a bug where
it returned true incorrectly.
2015-03-05 21:40:37 -08:00
Salvatore Dario Minonne
75f2efb500 moving ParseSelector to Parse for labels only. 2015-03-05 22:39:36 +01:00
Brian Grant
9fcb48cab6 Merge pull request #4434 from ddysher/node-hostip
Node addresses
2015-03-05 10:33:15 -08:00
Daniel Smith
4cd59e629a Merge pull request #5010 from smarterclayton/update_resource_version
genericetcd.Etcd should test resourceVersion
2015-03-04 14:49:05 -08:00
Deyuan Deng
9b0af8df63 Node addresses 2015-03-04 16:47:31 -05:00
Mike Danese
5cbf89c060 plumb through changes on ReplicationController and Service 2015-03-04 10:38:42 -08:00
Mike Danese
e1ca63f569 SetObj and CreateObj optionally accept an object to fill with the result of the get 2015-03-04 10:38:42 -08:00
Clayton Coleman
a52b0f2619 Switch List/Watch to ListPredicate/WatchPredicate 2015-03-04 10:48:05 -05:00
Clayton Coleman
3d52aac13c genericetcd.Etcd should test resourceVersion
Also fix that Update was returning AlreadyExists instead of
NotFound (when create is disabled) and that Update when CreateOnUpdate
was true was not populating the returned object.

Added more tests
2015-03-03 19:54:43 -05:00
Brian Grant
fca9fd68c7 Merge pull request #4779 from smarterclayton/status_endpoints
Minimal status mutation change
2015-03-03 11:00:02 -08:00
Daniel Smith
c4822dc060 Revert "Revert "Adding converter functions to convert field label selectors to internal version before matching""
This reverts commit 5f35a67002.
2015-03-02 15:00:09 -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
Clayton Coleman
3d290089ae Minimal status mutation change
PUT /api/v1beta3/namespaces/default/pods/foo/status
    {
      "metadata": {...}, // allowed for valid values
      "spec": {}, // ignored
      "status": {...}, // allowed, except for Host
    }

Exposes the simplest possibly change. Needs a slight refactoring
to RESTUpdateStrategy to split merging which can be done in a
follow up.
2015-03-01 22:35:17 -05:00
Zach Loafman
5f35a67002 Revert "Adding converter functions to convert field label selectors to internal version before matching" 2015-02-28 11:42:49 -08: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
Daniel Smith
d68c738fcf Merge pull request #4575 from nikhiljindal/versionedFieldSelector
Adding converter functions to convert field label selectors to internal version before matching
2015-02-27 16:33:15 -08:00
nikhiljindal
48e7945f65 Versioning the field selectors 2015-02-27 16:10:59 -08:00
Lénaïc Huard
cd719d97df Fix kubernetes and kubernetes-ro services creation
If `kube-apiserver` is started before `etcd` is reachable, `kube-apiserver`
fails to create those services.
However, in the `Create` function, an IP has already been reserved for them.
When `etcd` comes back, the `Create` function fails because it considers that
the IP is already used.

If the service couldn't be created, the reserved IP should be released.
2015-02-27 18:01:03 +01:00
Satnam Singh
19b927ea57 Name a cluster and use it to make forwarding rules for GCE 2015-02-23 17:04:33 -08:00
Daniel Smith
650f6cb826 Revert "Multi-port Endpoints" 2015-02-23 13:53:21 -08:00
Tim Hockin
160f288832 Implement multi-port Endpoints
This is a part of multi-port services.
2015-02-22 09:35:12 -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
ae0062d001 Part 2 of plural ports: make endpoints a struct
Includes conversions for v1b[12] and tests and fixups for call sites.
2015-02-18 19:54:15 -08:00
Tim Hockin
34eaa0dbd6 Part 1 of plural ports: Add protocol to Endpoints
This makes it easier to make the second step, which is moving endpoints
to a struct instead of a string.
2015-02-18 18:58:04 -08:00
Paul Morie
a131a5e491 Add test for secret RESTStorage 2015-02-18 13:02:22 -05:00
Paul Morie
fb001ada21 Secret API resource 2015-02-18 11:54:56 -05:00
Tim Hockin
876b0c4619 Merge pull request #4484 from jszczepkowski/load-balancer
Update for external load balancer.
2015-02-17 17:04:08 -08:00
Paul Weil
8d7d03a2f8 service NewList should return ServiceList 2015-02-17 16:30:29 -05:00
Jerzy Szczepkowski
397c1fc69a Update for external load balancer.
Implementation of updating external load balancer on service update. This partially fixes #4411.
2015-02-17 21:49:36 +01:00
Yu-Ju Hong
9e72ec023b Remove obsolete defaulting in service/rest.go 2015-02-17 10:34:50 -08:00
Clayton Coleman
72da3b4424 Move rest.Pods to pkg/registry/pod/rest.go 2015-02-16 10:09:28 -05:00
Clayton Coleman
7a93af57c0 Remove pods from pkg/registry/etcd/etcd.go since they are in their own type
Altered the master initialization code
2015-02-16 10:09:27 -05:00
Clayton Coleman
247e467217 Collapse pod REST+Registry to a single object using generic/etcd 2015-02-16 10:09:27 -05:00
Clayton Coleman
8440310ea0 Adapt to changes to generic etcd/registry 2015-02-13 13:11:33 -05:00
Clayton Coleman
23d199ded9 Make generic etcd more powerful and return operations from etcd
When we complete an operation, etcd usually provides a response
object.  Return that object up instead of querying etcd twice.
2015-02-13 13:11:33 -05:00
Saad Ali
3bc8f4e793 Merge pull request #4359 from erictune/no_bound_pod_envs
Stop putting env vars into BoundPods.
2015-02-12 09:12:19 -08:00
Clayton Coleman
b2d50ce1cc Merge pull request #4329 from smarterclayton/bindings_incorrectly_removed
Bindings were not correctly removed across namespaces on pod update and delete
2015-02-12 11:43:22 -05:00
Eric Tune
5b4569697f Stop putting env vars into BoundPods.
They will still show up in etcd.  They never were available
through the API.

A subsequent PR(s) will rip out all BoundPods code.
Working in small increments.

This PR will cause users on lagging cloud providers
to not get env vars in their pods if they update to this code.
They have already been warned via email.

Removed unit tests of BasicBoundPodFactory.
There is adequate coverage in pkg/kubelet/kubelet_test.go.
2015-02-12 08:37:23 -08:00
Clayton Coleman
7d43971614 Merge pull request #4326 from yujuhong/phantom_pods
Allow AtomicUpdate() to surface the error when the key doesn't exist
2015-02-12 10:19:09 -05:00
Yu-Ju Hong
6813683ee2 Allow AtomicUpdate() to surface the error when the key doesn't exist
In some cases, when the key doesn't exist, AtomicUpdate should simply fail and
surface the error. This change adds a new function parameter "ignoreNotFound"
for this purpose.
2015-02-11 21:56:28 -08:00
Clayton Coleman
26f08b7807 RESTStorage should not need to know about async behavior
Also make sure all POST operations return 201 by default.
Removes the remainder of the asych logic in RESTStorage and
leaves it up to the API server to expose that behavior.
2015-02-11 16:26:08 -05:00
Clayton Coleman
6f85b655cc Bindings were not correctly removed across namespaces on pod update and delete
BoundPods must be checked for Name and Namespace equality, not just name
equality. In the future, we should also check for UID equality.
2015-02-11 14:35:28 -05:00
derekwaynecarr
0bd0e12bbc Add support for Namespace as Kind
Add example for using namespaces
2015-02-10 09:50:50 -05:00
derekwaynecarr
151be7773c Rename api.Namespace to api.NamespaceValue to avoid name collision 2015-02-10 09:44:29 -05:00
Brendan Burns
783e1de5bb Add some locking to prevent go data race logic from tripping. 2015-02-05 17:27:58 -08:00
Brendan Burns
b08bd8671f Merge pull request #4157 from saad-ali/updateEventApi
Add "Update Event" to Kubernetes API
2015-02-05 14:50:48 -08:00
Tim Hockin
a20fb598bc Merge pull request #4132 from jszczepkowski/master
Improve "constraint violation" error message.
2015-02-05 13:43:29 -08:00
Jerzy Szczepkowski
18c5fa1ae7 Applied comments. 2015-02-05 20:32:51 +01:00
Brian Grant
50b1034b6c Merge pull request #4122 from pmorie/comment
Clarify commenting in endpoints_controller
2015-02-05 07:09:56 -08:00
saadali
a41f520bf0 Add "Update Event" to Kubernetes API 2015-02-05 00:07:51 -08:00
Jerzy Szczepkowski
ad4c2ee630 Improve "constraint violation" error message. 2015-02-05 00:29:28 +01:00
Paul Morie
3229a634a0 Clarify commenting in endpoints_controller 2015-02-04 15:14:05 -05:00
Brian Grant
3f28badae3 Merge pull request #3854 from yujuhong/defaults
Migrate API defaulting to a centralized location
2015-02-04 11:41:23 -08:00
Tim Hockin
411666decb Get rid of ServiceSpec.ProxyPort
As far as I know, nobody uses it.  It was replaced by PublicIPs.  If I were
being very polite I would leave it in internal, but since I am 99.99% sure
nobody uses it, I am cutting it.  Let's argue about it.
2015-02-03 22:45:00 -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
Clayton Coleman
1588970ec4 Turn 409 into 500 Try Again Later when using generateName
If a client says they want the name to be generated, a 409 is
not appropriate (since they didn't specify a name). Instead, we
should return the next most appropriate error, which is a 5xx
error indicating the request failed but the client *should* try
again.  Since there is no 5xx error that exactly fits this purpose,
use 500 with StatusReasonTryAgainLater set.

This commit does not implement client retry on TryAgainLater, but
clients should retry up to a certain number of times.
2015-02-02 14:46:25 -05:00
Clayton Coleman
e485dc93ca Minions should have common logic with create
TODO: disable / document generate names for cluster scoped resources.
2015-02-02 14:46:25 -05:00
Clayton Coleman
0a87f0332b Add name generation to services 2015-02-02 14:46:25 -05:00
Clayton Coleman
5603714df8 Use name generation on pods via replication controllers
The generated name is '<controllerName>-%s', unless controllerName-
would be long enough to cause a validation error.
2015-02-02 14:44:53 -05:00
Clayton Coleman
a7c9a12286 Add name generation and normalize common create flows
Adds `ObjectMeta.GenerateName`, an optional string field that defines
name generation behavior if a Name is not provided.

Adds `pkg/api/rest`, which defines the default Kubernetes API pattern
for creation (and will cover update as well). Will allow registries
and REST objects to be merged by moving logic on api out of those places.

Add `pkg/api/rest/resttest`, which will be the test suite that verifies
a RESTStorage object follows the Kubernetes API conventions and begin
reducing our duplicated tests.
2015-02-02 14:44:53 -05:00
saadali
e83fd7b8e7 Make master service IP static (no longer randomly assigned) 2015-01-30 16:07:19 -08:00
Deyuan Deng
662bcb9c3d Fix node hostip issue 2015-01-30 14:23:18 -05:00
Deyuan Deng
c793c4f0ab Sync node status from node controller to master. 2015-01-29 23:17:15 -05:00
Brian Grant
0345211e0c Merge pull request #3921 from nikhiljindal/OperationClean
Some more operations code cleanup
2015-01-29 14:54:05 -08:00
Tim Hockin
d01ea11a6e Merge pull request #3856 from smarterclayton/validation_logic_needs_cleanup
Validation of ObjectMeta is inconsistently applied
2015-01-29 14:12:44 -08:00
Brendan Burns
2d4e72f1fa Add some extra checking around a call to list pods. 2015-01-28 22:22:54 -08:00
nikhiljindal
dc92d3c7a2 Cleaning up the operations code in client 2015-01-28 21:04:16 -08:00
derekwaynecarr
829fa69527 Introduce a ResourceQuota object 2015-01-28 15:03:19 -05: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
a0356bca96 Unify validation logic for create and update paths
Ensure ObjectMeta is consistently validated on both create and update

Make PortalIP uncleareable
2015-01-28 13:10:37 -05:00
Tim Hockin
a480794efc Tighten validation of Name and Namespace 2015-01-27 17:04:59 -05:00
derekwaynecarr
74f368f50e Modified LimitRangeItem.Kind to LimitRangeItem.Type, added example files 2015-01-27 16:41:28 -05:00
derekwaynecarr
091cbe5fa2 Add a limit range resource 2015-01-27 16:41:27 -05: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
Brendan Burns
f124842505 Clear pod cache on delete. 2015-01-26 17:26:43 -08:00
Daniel Smith
09e30a6a63 log on health checks 2015-01-14 17:38:48 -08:00
Daniel Smith
2bee4ac572 Merge pull request #3381 from a-robinson/events2
Improve client recording of events such that clients are
2015-01-14 15:21:16 -08:00
Daniel Smith
c13ae34b02 Merge pull request #3445 from saad-ali/fix3172
Remove CONDITION from event object completely
2015-01-14 15:03:06 -08:00
Eric Tune
88c68e0349 Merge pull request #3331 from pmorie/services
Service visibility w/in namespaces, master services, set env vars in kubelet
2015-01-14 15:01:05 -08:00
saadali
90dfdcecd5 Remove CONDITION from event object completely
# *** ERROR: *** Some files have not been gofmt'd.  To fix these
# errors, run gofmt -s -w <file>, or cut and paste the following:
#   gofmt -s -w pkg/kubecfg/resource_printer.go pkg/proxy/config/config.go pkg/runtime/types.go
#
# Your commit will be aborted unless you override this warning. To
# commit in spite of these format errors, delete the following line:
#   COMMIT_BLOCKED_ON_GOFMT
2015-01-14 14:17:16 -08:00
Paul Morie
fd834ae84d Pods should see services only from their own ns 2015-01-14 17:06:36 -05:00
Tim Hockin
e86d4cd3c6 Use a strong type for UID fields 2015-01-14 13:53:43 -08:00
Alex Robinson
be6b1cf0e2 Push the full channel logic into the implementation of the broadcaster
in watch/mux.go rather than being in the client event recording code.
2015-01-13 02:22:30 +00: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
Clayton Coleman
302629569b Remove unimplemented methods 2015-01-12 12:20:01 -05:00
Clayton Coleman
22c99c98e2 Split RESTStorage into separate interfaces
Omit unimplemented interfaces from Swagger
2015-01-12 12:19:45 -05:00
Clayton Coleman
2741126cd4 Merge pull request #3239 from smarterclayton/healthy_registry_should_decorate
HealthyRegistry should only decorate minions, not omit them
2015-01-08 10:34:56 -05: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
Clayton Coleman
a0d711816d HealthyRegistry should only decorate minions, not omit them
Fixes #3098
2015-01-07 11:09:41 -05:00
Dawn Chen
e3c019128e Add EventSource to api to have both Component and Host information. 2015-01-06 16:08:20 -08:00
Tim Hockin
ca27fb259c Don't use pointers for session affinity 2014-12-29 14:43:17 -08:00
Tim Hockin
fb0a7a9693 Add apiserver proxy support for pods.
This is useful for testing mostly.
2014-12-23 12:51:24 -08:00
Daniel Smith
65cf5f29b7 Merge pull request #3095 from derekwaynecarr/events_not_namespace
Namespace scope events in storage
2014-12-22 16:01:38 -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
derekwaynecarr
b47cde2465 Namespace scope events in storage 2014-12-22 13:01:20 -05:00
Daniel Smith
9fee1b0503 Merge pull request #3051 from brendandburns/flake
Add a PodUnknown phase and make ListPods return even when there are errors
2014-12-19 16:45:44 -08:00
Brendan Burns
5e8490d5fe Add a PodUnknown phase and make ListPods return even when there are errors
obtaining info for some pods.
2014-12-19 15:08:48 -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
82d0d68571 Merge pull request #3027 from jdef/rest_no_network_settings
only log about no network settings for running pods
2014-12-18 10:19:20 -08:00
Brendan Burns
36bc3604b9 Merge pull request #2893 from brendandburns/pd3
Make it easier to update nodes, make it possible to update capacity.
2014-12-18 10:18:54 -08:00
Deyuan Deng
677f68ec02 Fix node Get() error code 2014-12-18 23:03:52 +08:00
James DeFelice
b3c7aa8a53 only log about no network settings for running pods 2014-12-18 08:41:56 -05:00
Brendan Burns
cf0b41535f Make it easier to update nodes, make it possible to update capacity. 2014-12-17 21:50:26 -08:00
Dawn Chen
deafd90280 PodStatus 2014-12-17 11:39:09 -08:00
Clayton Coleman
88715cc6ef Rename Event.Status to Event.Condition to match v1beta3 agreement
Question - should this be a phase?  Seems like no, since phase implies
defined lifecycle and this field is explicitly not defined.
2014-12-16 09:43:10 -05:00
Deyuan Deng
45bfcb451b Enable watch on node changes. 2014-12-16 08:12:31 +08:00
Daniel Smith
f1f20f820a Merge pull request #2942 from brendandburns/kubelet
revert the revert along with fixes to make it pass e2e tests.
2014-12-15 13:17:52 -08:00
Daniel Smith
a2638da2a7 Merge pull request #2899 from derekwaynecarr/update_generic_etcd
Update generic etcd to enable namespace scoped resources
2014-12-15 13:10:51 -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
derekwaynecarr
92e2c2b302 Updated default function names, keyroot to keyrootfunc 2014-12-15 10:42:13 -05:00
derekwaynecarr
6353612f40 Update generic etcd to enable namespace scoped resources 2014-12-15 10:42:13 -05: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