Commit Graph

2013 Commits

Author SHA1 Message Date
Filip Grzadkowski
336525a27d Periodically update pod status from kubelet. 2015-03-16 23:03:03 +01:00
Derek Carr
1291401c2e Merge pull request #5516 from smarterclayton/add_ttl_to_helper
Add TTL support to etcd_helper in preparation for graceful delete
2015-03-16 17:14:35 -04:00
Victor Marmol
bdc1981eb5 Merge pull request #5433 from wojtek-t/remove_bound_pods
Remove BoundPods from Kubelet
2015-03-16 13:38:24 -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
Wojciech Tyczynski
5d95e9e671 Remove BoundPods from Kubelet 2015-03-16 19:17:21 +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
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
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
Victor Marmol
efcde725cc Merge pull request #5166 from thockin/tmpfs
Add tmpfs support as a flag on emptyDir
2015-03-13 14:48:52 -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
derekwaynecarr
df5744ad8f ResourceQuota should have labels in v1beta1 and v1beta2 2015-03-13 16:52:08 -04:00
Tim Hockin
caca5e7358 Add tmpfs support to EmptyDir
# *** ERROR: *** docs are out of sync between cli and markdown
# run hack/run-gendocs.sh > docs/kubectl.md to regenerate

#
# Your commit will be aborted unless you regenerate docs.
    COMMIT_BLOCKED_ON_GENDOCS
2015-03-13 13:36:13 -07: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
Brian Grant
7d72b64f60 Merge pull request #5200 from nikhiljindal/eventConverter
Adding conversion functions for event field selectors
2015-03-12 16:31:57 -07:00
Brian Grant
98fedf6b2e Merge pull request #5407 from nikhiljindal/newSwagger
Updating go-restful to the latest version
2015-03-12 16:26:16 -07:00
nikhiljindal
b2276b5d4b Updating pkg/api/validation/ to consider swagger.items as object and not array 2015-03-12 16:04:11 -07:00
Nikhil Jindal
d9249a26e0 Merge pull request #5175 from thockin/plural_services_10
Make testing service validation easier
2015-03-12 15:48:37 -07: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
nikhiljindal
790a8bbd23 Adding conversion functions for event field selectors 2015-03-12 14:10:51 -07:00
Brendan Burns
266234f3b9 Make label and field selector query strings versionable. 2015-03-12 12:24:07 -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
0524d6479d v1beta3: fields that cannot be updated are marked "cannot be udpated" 2015-03-11 10:10:08 -07:00
Deyuan Deng
9982aaa960 kubelet post node status to master 2015-03-10 23:17:36 -04:00
Federico Simoncelli
daed0af3b5 api: return endpoints target object references
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-03-10 18:32:53 -04:00
Brian Grant
827a92316c Merge pull request #5251 from derekwaynecarr/namespace_lifecycle
Add a NamespacePhase to Namespace
2015-03-10 15:21:07 -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
Paul Morie
a486ab078f Fix selfLink issues in integration test 2015-03-10 14:40:16 -04:00
Brian Grant
a5ecfbfe42 Merge pull request #5185 from smarterclayton/ignore_creation_timestamp
Ignore changes to creation timestamp from clients on update
2015-03-10 11:21:13 -07:00
derekwaynecarr
7de138a9bb Add a NamespacePhase to Namespace 2015-03-10 14:11:54 -04: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
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
Tomek Kulczynski
243a3ae315 Change field names from cidr to podCIDR in json 2015-03-10 12:48:34 +01: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
Jeff Lowdermilk
d8bbda2558 Merge pull request #5016 from brendandburns/kubecfg
Differentiate between server error messages and client error messages in kubectl
2015-03-09 12:29:51 -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
Clayton Coleman
42ff28c1a2 Merge pull request #5150 from vishh/issue_3628_1
Add json description to v1beta3 API.
2015-03-09 14:38:23 -04:00
Rohit Jnagal
8798b0ae14 Merge pull request #5158 from thockin/use_fuzz_no_custom
Use new gofuzz features
2015-03-09 10:13:46 -07:00
Clayton Coleman
d016f478e0 Ignore changes to creation timestamp from clients on update
CreationTimestamp is not an authoritative field (like UID) so mismatches
can be safely ignored.
2015-03-09 12:04:35 -04:00
Tim Hockin
0b888e8673 Make testing service validation easier
Part of multi-port services.

If people like this, we could start to apply this pattern elsewhere.

TL;DR: don't redefine objects over and over changing one thing each
time.  Instead provide a func that mutates a base object to test facets
of validation.  Much easier to read and to update.
2015-03-08 21:41:37 -07: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
f505a33998 Differentiate between server error messages and client error messages in kubectl 2015-03-07 11:39:23 +01:00
Tim Hockin
fd1e49ce2f Use new gofuzz features 2015-03-07 00:04:14 -08:00
Vishnu Kannan
28aef4ba53 Add json description to v1beta3 API. 2015-03-06 23:53:35 +00:00
Brian Grant
a858c7423e Merge pull request #5070 from vishh/issue_3628
Adding description to some of the v1beta3 objects.
2015-03-06 14:49:11 -08:00
Brian Grant
f557837d43 Merge pull request #5066 from vmarmol/man
Adding links to relevant docs from API types.
2015-03-06 14:46:43 -08:00
Vishnu Kannan
bd83093b0b Adding description to some of the v1beta3 objects. 2015-03-06 21:50:50 +00:00
Daniel Smith
b0f49449e1 Merge pull request #4985 from thockin/gofuzz
Update gofuzz dep
2015-03-06 10:19:01 -08:00
Tim Hockin
ca265c5705 Merge pull request #4898 from gmarek/client2
Loosen label and annotation validation and related tests
2015-03-06 09:14:24 -08:00
Tim Hockin
f9e2df3a10 Define semantic equal for time 2015-03-06 08:21:39 -08:00
Tim Hockin
b3304c49ad Use deep spew in serialization test & go obj diff 2015-03-06 08:21:10 -08: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
Brendan Burns
de669b5435 Merge pull request #5058 from bprashanth/resourceVersion_doc
Clarify resourceVersion documentation
2015-03-06 15:41:12 +01:00
Brendan Burns
2263d86a7b Merge pull request #5073 from yujuhong/immutable
v1beta1/v1beta2: fields that cannot be updated are marked immutable
2015-03-06 15:40:43 +01:00
gmarek
bb8a4f5ed3 apply comments 2015-03-06 08:23:22 +01:00
gmarek
726a5af075 Loosen label and annotation validation and related tests 2015-03-06 08:23:22 +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
Prashanth Balasubramanian
1ed3f7ffcd Clarify documentation around resourceVersion 2015-03-05 20:57:22 -08:00
Yu-Ju Hong
823ea36cb1 v1beta1/v1beta2: fields that cannot be updated are marked "cannot be udpated" 2015-03-05 18:05:13 -08:00
Justin Santa Barbara
bf031fb082 Don't allow duplicate values in NodeAddresses 2015-03-05 16:40:28 -08:00
Brian Grant
4624d116f3 Merge pull request #5061 from thockin/docs1
Better docs for Services and public IPs.
2015-03-05 11:52:38 -08:00
Brian Grant
9fcb48cab6 Merge pull request #4434 from ddysher/node-hostip
Node addresses
2015-03-05 10:33:15 -08:00
Tim Hockin
af37dc0e16 Better docs for Services and public IPs.
Fixes #2738
2015-03-04 22:13:57 -08:00
Tim Hockin
4cb46825f2 Fix VolumeSource inline in JSON 2015-03-04 15:53:32 -08:00
Victor Marmol
c422213f54 Adding links to relevant docs from API types.
Partially addresses #3606.
2015-03-04 15:12:09 -08:00
Deyuan Deng
9b0af8df63 Node addresses 2015-03-04 16:47:31 -05:00
Brian Grant
ce908368a8 Merge pull request #5053 from yujuhong/readonly
v1beta1/v1beta2: consistent description for all read-only fields
2015-03-04 13:22:13 -08:00
Yu-Ju Hong
ea1c5a7ec1 v1beta1/v1beta2: consistent description for all read-only fields
Some fields are populated by system on creation. Such fields should have
consistent description indicating that this is read-only.
2015-03-04 13:08:19 -08:00
Brendan Burns
fb90b56bf6 Embed VolumeSource in v1beta3 and internal. 2015-03-04 02:25:40 -08:00
Clayton Coleman
bf4ab78ce9 Stop round trip testing in latest 2015-03-03 21:14:56 -05:00
Brian Grant
841b6f6970 Merge pull request #4936 from thockin/plural_24_default_dest_port
Change the v1b3 default for service ContainerPort
2015-03-03 11:01:01 -08:00
Brian Grant
fca9fd68c7 Merge pull request #4779 from smarterclayton/status_endpoints
Minimal status mutation change
2015-03-03 11:00:02 -08:00
Tim Hockin
5aadd6ecae Change the v1b3 default for service ContainerPort
In v1b1 and v1b2 we choose the "first defined port" if you do not specify a
ContainerPort.  I am proposing that v1b3 just assume the ContainerPort is the
same as the service port unless explicitly provided.  This leaves named ports
for now, but that is under discussion on its own.

This is strictly compatible, though to implement this we have to leave the
internal objects with the looser behavior until v1b[12] die.  This also adds a
link dependency so that when we DO kill v1b[12] the endpoints controller will
blow up, prompting a fix.
2015-03-03 09:40:18 -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
Clayton Coleman
0ac49d77a0 TCPSocket could not be used as it was not checked in validation
Attempting to use it gave the error "must register one handler".
Added more tests for it.
2015-03-02 15:27:11 -05:00
Zach Loafman
4937008ae0 Revert "TCPSocket could not be used as it was not checked in validation" 2015-03-02 11:14:27 -08:00
Brendan Burns
c7cbc5c991 Merge pull request #4883 from smarterclayton/fix_tcpsocket_validation
TCPSocket could not be used as it was not checked in validation
2015-03-02 10:53:48 -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
Brendan Burns
3168f165ab Merge pull request #4927 from thockin/plural_22_endpoints
Add defaults for HTTGetAction.Path & test actions
2015-03-02 10:52:55 -08:00
Tim Hockin
532c39c336 Add defaults for HTTGetAction.Path & test actions
The comment says optional - this makes it optional.  Test handler actions.
2015-03-01 21:23:18 -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
Clayton Coleman
d3a5a48d00 TCPSocket could not be used as it was not checked in validation
Attempting to use it gave the error "must register one handler".
Added more tests for it.
2015-03-01 22:31:57 -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
nikhiljindal
48e7945f65 Versioning the field selectors 2015-02-27 16:10:59 -08: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
Mike Danese
5267127af1 api: rename conditionkind -> conditiontype 2015-02-23 22:13:21 -08:00
Daniel Smith
650f6cb826 Revert "Multi-port Endpoints" 2015-02-23 13:53:21 -08:00
Tim Hockin
eed36455a7 Merge pull request #4653 from thockin/secret_fixups
Secrets fixups
2015-02-23 13:49:19 -08:00
Daniel Smith
502f040129 Merge pull request #4712 from thockin/plural_30_endpoints
Multi-port Endpoints
2015-02-23 13:48:37 -08:00
Daniel Smith
dec46ad9cb Merge pull request #4702 from smarterclayton/always_return_endpoints
Endpoints should not be omitempty for ease of client use
2015-02-23 13:47:46 -08:00
Tim Hockin
3e7248f0f4 comments on base64-ness of secrets 2015-02-23 12:40:06 -08:00
Tim Hockin
607b736a3f Rename volume source types to be consistent. 2015-02-23 12:39:57 -08:00
Tim Hockin
8bdfc352ce minor fixups as I review secrets 2015-02-23 12:39:47 -08:00
Tomek Kulczynski
09c955f94e Add node's IP range cidr to NodeSpec 2015-02-23 19:47:50 +01:00
Clayton Coleman
7a3405fded Endpoints should not be omitempty for ease of client use 2015-02-23 13:18:31 -05: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
Brendan Burns
9829128a75 Merge pull request #4580 from thockin/plural_20_endpoints
Part 2 of plural ports: make endpoints a struct
2015-02-20 15:42:19 -08:00
derekwaynecarr
3d6085e692 Add doc in types 2015-02-20 16:48:28 -05:00
Victor Marmol
51941b0974 Merge pull request #4668 from markturansky/no_list_get
Remove unused helper method from ResourceList
2015-02-20 09:54:05 -08:00
markturansky
1faa2fcea7 removed unused helper method from ResourceList 2015-02-20 11:29:30 -05:00
Andy Goldstein
5bd0e9ab05 Add streaming command execution & port forwarding
Add streaming command execution & port forwarding via HTTP connection
upgrades (currently using SPDY).
2015-02-20 09:57:02 -05: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
Brian Grant
1ba1c1c4a8 Merge pull request #4541 from yujuhong/lies
Remove obsolete comments in types.go
2015-02-18 17:05:56 -08:00
Yu-Ju Hong
be4ca11f38 Remove obsolete comments in types.go 2015-02-18 16:14:30 -08:00
Eric Tune
af67829eca Merge pull request #4515 from pmorie/secrets_wip
Secret volume plugin iteration 1
2015-02-18 15:57:31 -08:00
Mike Danese
dd1548347d add descriptions to PodCondition struct tags 2015-02-18 13:29:56 -08:00
Paul Morie
a42ff94c8f Add secret volume plugin and e2e test 2015-02-18 16:27:44 -05:00
Paul Morie
fb001ada21 Secret API resource 2015-02-18 11:54:56 -05:00
Brian Grant
76edde3c23 Merge pull request #4451 from mikedanese/validate-probe
add validation for api.Probe
2015-02-17 09:56:52 -08:00
Brian Grant
d37977feb2 Merge pull request #4465 from smarterclayton/allow_validation_error_filtering
Allow ValidationErrorList to be filtered
2015-02-17 09:44:11 -08:00
Brian Grant
2fe026e5a9 Merge pull request #4466 from mikedanese/probe-defaults
move api.Probe timeout default to central defaults
2015-02-17 09:43:30 -08:00
Mike Danese
f7df9b9d37 add validation for api.Probe 2015-02-16 21:56:03 -08:00
Clayton Coleman
619f3a6804 Allow ValidationErrorList to be filtered
Expose basic filters on an error list to ignore certain error types.
This can be used by client code to ignore errors on common schema
types like "metadata.name" or the NotFound error type.
2015-02-16 17:45:54 -05:00
Clayton Coleman
72da3b4424 Move rest.Pods to pkg/registry/pod/rest.go 2015-02-16 10:09:28 -05:00
Mike Danese
4ba8ecd1fb move api.Probe timeout default to central defaults 2015-02-15 23:44:55 -08:00
Clayton Coleman
c977a45864 Merge pull request #4419 from smarterclayton/expand_generic_resources
Expand the generic registry
2015-02-13 13:53:20 -05:00
Clayton Coleman
abe8adc2e2 Expose new REST strategy methods for Pods 2015-02-13 12:12:50 -05:00
Jordan Liggitt
083ce268e0 Put user in context, map requests to context above resthandler layer 2015-02-12 20:58:04 -05:00
Jordan Liggitt
ec66e5147e Add user helper methods to context 2015-02-12 20:44:20 -05:00
Saad Ali
cdb93a7c46 Merge pull request #4387 from smarterclayton/rename_try_again_later
Rename TryAgainLater status code to ServerTimeout
2015-02-12 12:23:57 -08:00
Clayton Coleman
c24f4a24b4 Rename TryAgainLater status code to ServerTimeout 2015-02-12 15:01:12 -05:00
Alex Robinson
60ab9904d5 Merge pull request #4371 from a-robinson/port
Add extra explanation of the purpose of service's ContainerPort field to the API comments.
2015-02-12 11:45:45 -08:00
Alex Robinson
3301f19a8a Add extra explanation of the purpose of service's ContainerPort field to
the API comments. We were asked about this in issue #4332.
2015-02-12 19:37:58 +00:00
Saad Ali
42f04587d0 Merge pull request #4363 from yujuhong/defaulting_tests
Add defaulting tests for API v1beta2 and v1beta3
2015-02-12 07:56:23 -08:00
Yu-Ju Hong
4bce52a5f6 Add defaulting tests for API v1beta2 and v1beta3
This commit also add more tests in v1beta1/defaults_test.go
2015-02-11 16:08:52 -08:00
Clayton Coleman
79cb93002e Remove asynchronous channel on RESTStorage interfaces 2015-02-11 16:26:07 -05:00
Clayton Coleman
d167c11b59 Remove layers of indirection between apiinstaller and resthandler
Make the RESTHandler feel more go-restful, set the stage for adding
new types of subresource collections.
2015-02-11 16:26:06 -05:00
Clayton Coleman
dce4cd8b1d Merge pull request #3613 from derekwaynecarr/namespace_as_kind
Namespace as kind
2015-02-10 14:49:58 -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
Mike Danese
27dfebed98 api changes to support readiness. 2015-02-09 18:27:46 -08:00
Brian Grant
e27d534b87 Merge pull request #4262 from vishh/api_resources
Rename ResourceRequirementSpec to ResourceRequirements.
2015-02-09 17:26:05 -08:00
Vishnu Kannan
d0524d4778 Rename ResourceRequirementSpec to ResourceRequirements. 2015-02-09 23:19:38 +00:00
Deyuan Deng
55b9944cfe Remove pods from failed node 2015-02-09 17:50:24 -05:00
Marek Grabowski
72a066a992 Add more information to Validator error messages. 2015-02-09 18:07:09 +01:00
Brendan Burns
31ce2a9411 Adjust replication controller validation to be more flexible about
read/write volumes.
Update docs to reflect reality as it is implemented.
2015-02-06 14:58:21 -08:00
Dawn Chen
05de54249f Merge pull request #4191 from simon3z/master
api: add image's id to ContainerStatus
2015-02-06 09:35:44 -08:00
Federico Simoncelli
e01df69565 api: add image's id to ContainerStatus
Sometimes for external applications it is important to identify
exactly what images are running. Since tags can be moved to point
to newer builds this information can be used to identify old images
running.

Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-02-06 09:01:14 -05:00
saadali
79cbcf918e Modify Event struct to allow compressing multiple recurring events in to a single event.
# *** ERROR: *** Some API files are missing the required field descriptions
# Add description tags to all non-inline fields in the following files:
#   pkg/api/v1beta1/types.go
#   pkg/api/v1beta2/types.go
#
# Your commit will be aborted unless you fix these.
#   COMMIT_BLOCKED_ON_DESCRIPTION
2015-02-05 21:50:29 -08:00
Brendan Burns
8e6f5c7201 Merge pull request #3593 from commonlisp/master
Add timeouts to HealthChecks and retry checks
2015-02-05 15:40:22 -08:00
Brendan Burns
50e855953f Merge pull request #4131 from a-robinson/validate
Add a few extra test cases for API validation of labels
2015-02-05 15:37:45 -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
Brian Grant
251348122c Merge pull request #4136 from yujuhong/fixvalidationtests
Fix tests in validation_test
2015-02-05 07:07:16 -08:00
George Kuan
e8c33b7916 Add timeouts to HealthChecks and retry checks
Fixes issue #3532. Added timeouts for HTTP and TCP checks
and enabled kubelet/probe to kubelet#maxRetries times
before declaring Failure.

Added Probe.TimeoutSecs to API

Probe variants now check container.LivenessProbe.TimeoutSeconds
Also added a test for timeouts in http_test.go.
2015-02-05 06:04:45 -08:00
saadali
a41f520bf0 Add "Update Event" to Kubernetes API 2015-02-05 00:07:51 -08:00
nikhiljindal
19f7ecf31b Deleting the API objects related to /operations 2015-02-04 20:50:45 -08:00
Yu-Ju Hong
283919e8b1 Fix tests in validation_test
Some tests expect the error cases to fail for a specific reason, but they could
fail for other reasons and still pass. This caused some changes to break the
tests without noticing the breakage. Example are the recent defaulting PR

This change fixes such tests and also updates some obsolete tests.
2015-02-04 15:44:46 -08:00
Alex Robinson
6bb374ca54 Add a few extra test cases for API validation of labels that would have
caught a bug that was in past versions. Also, copy the label key format
requirements from the API types.go comments into the labels doc.
2015-02-04 22:24:46 +00: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
Tim Hockin
1ddb68d8d7 Sketch: a third take on defaulting values 2015-02-02 22:35:58 -08:00
Brian Grant
0474c49b07 Merge pull request #4025 from ironcladlou/replica-annotations
Backport annotations to PodTemplateSpec
2015-02-02 12:54:23 -08:00
Brian Grant
efd71793f3 Merge pull request #3998 from jbeda/hyperkube-servers2
Convert scheduler and controller-manager to hyperkube
2015-02-02 12:33:55 -08:00
Dan Mace
3d7f5cc642 Backport annotations to PodTemplateSpec
Backport annotation support to v1beta1 and v1beta2 PodTemplateSpec. This
allows ReplicationController users to specify annotations for Pods in
addition to labels.
2015-02-02 15:26:32 -05: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
Brian Grant
6e415f760b Merge pull request #4017 from smarterclayton/relax_annotation_validations
Slightly relax annotation validation
2015-02-02 11:42:38 -08:00
Alex Robinson
ce164f67fd Merge pull request #3841 from vishh/api_resources
Adding an extensible resource spec to the API.
2015-02-02 11:24:13 -08:00
Joe Beda
bbb4479166 Convert controller-manager to hyperkube. 2015-02-02 10:01:36 -08:00
derekwaynecarr
a928be56ba Code review comments 2015-02-02 11:01:08 -05:00
derekwaynecarr
a216cb747c Fix logic issue in register resource handlers not doing list across all namespaces in v1beta3 2015-02-02 10:26:19 -05:00
derekwaynecarr
4c33e36a88 Plumb restmapper properly through apiserver and tests 2015-02-02 10:26:19 -05:00
derekwaynecarr
71ec444d63 Make a RESTMapper scope aware 2015-02-02 10:26:19 -05:00
Clayton Coleman
b30173658f Slightly relax annotation validation
The more aggressive validation on annotations broke openshift (and
backwards compat for our data).  This change relaxes to allow mixed
case so we can continue working in the short term, try to see if we
can agree on relaxation, and if we can't, apply the stronger
validation here.
2015-02-01 19:03:04 -05:00
Vishnu Kannan
5e36f63f8b Adding ResourceRequirementSpec to v1beta1, v1beta2, and v1beta3 APIs. The old resource
quantities 'CPU' and 'Memory' will be preserved until support for v1beta1 and v1beta2 APIs are
dropped.
Improved resource validation in the process.
2015-02-01 02:19:55 +00:00
Satnam Singh
3c3b016b8b Merge pull request #3917 from yujuhong/dedup
Refactor API object fuzzer
2015-01-30 08:07:25 -08:00
Brian Grant
ee3470def5 Merge pull request #2933 from hustcat/cap-add-drop
Add docker's add/drop capabilites
2015-01-30 06:43:49 -08:00
Ye Yin
248624fc1f Add docker's add/drop capabilites 2015-01-30 15:09:31 +08:00
Deyuan Deng
c793c4f0ab Sync node status from node controller to master. 2015-01-29 23:17:15 -05:00
Yu-Ju Hong
4cb730dad5 Refactor API object fuzzer
API object fuzzer is used to randomly populate API object for testing. Similar
code of the fuzzer was duplicated in multiple files. This change refactors the
tests and moves the fuzzer to a separate file.
2015-01-29 18:14:09 -08: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
nikhiljindal
dc92d3c7a2 Cleaning up the operations code in client 2015-01-28 21:04:16 -08:00
Brendan Burns
6bcfe4f430 Change persistentDisk to gcePersistentDisk for v1beta3 2015-01-28 14:29:53 -08:00
Eric Tune
bba01c7a54 Merge pull request #3796 from derekwaynecarr/resource_quota
Admission Control: Resource Quota
2015-01-28 13:17:08 -08:00
derekwaynecarr
0ff20c84dd Rebase errors 2015-01-28 15:09:42 -05:00
derekwaynecarr
829fa69527 Introduce a ResourceQuota object 2015-01-28 15:03:19 -05:00
Mike Danese
78f33e950a rename api.LivenessProbe to api.Probe and break out Actions 2015-01-28 11:20:44 -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
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
Satnam Singh
3a9e6d8f29 Switch to use Too Many Requests response code
Name the 429 status code
2015-01-27 14:54:30 -08:00
Clayton Coleman
72cc17b41c Omit empty quotes in message when required value field error type 2015-01-27 17:04:59 -05:00
Clayton Coleman
c6a2e574c2 Structure of BadRequest error should have Message set 2015-01-27 17:04:59 -05:00
Tim Hockin
a480794efc Tighten validation of Name and Namespace 2015-01-27 17:04:59 -05:00
derekwaynecarr
b19a8a61a8 Simplify min/max evaluation, make limitType a type 2015-01-27 16:54:50 -05:00
derekwaynecarr
4faf27e63d Validate limit.Min and limit.Max resource names using ValidateResourceName 2015-01-27 16:41:28 -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
Brian Grant
c3da4f0b19 Merge pull request #3816 from brendandburns/api2
Add NodeSelector to the PodTemplate in v1beta1.
2015-01-27 10:09:05 -08:00
Brendan Burns
33ee41090e Add NodeSelector to the PodTemplate in v1beta1 and v1beta2 2015-01-26 20:30:48 -08:00
Brendan Burns
99583fc8c5 Fix a bug in validation that was leftover from the previous way of externalizing services. 2015-01-26 13:19:27 -08:00
markturansky
131ce993c4 Added validation for annotations 2015-01-26 09:32:09 -05:00
Vishnu Kannan
c32295a180 Adding a 'Typename' strongtype for representing all compute resource types. 2015-01-23 22:17:56 +00: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
Tim Hockin
30219f8dfa Merge pull request #3664 from thockin/pull-if
Pull if
2015-01-21 13:05:28 -08:00
Tim Hockin
c729f345f0 Merge pull request #3660 from dchen1107/image
Using switch in validatePullPolicyWithDefault
2015-01-21 12:54:12 -08:00
Tim Hockin
81343aac63 Change PullPolicy constants to match 2015-01-21 12:48:56 -08:00
Tim Hockin
819803b79f Make VolumeSource not be a pointer
There's no reason for it to be a pointer.
2015-01-20 17:54:04 -08:00
Dawn Chen
cf54dcb689 Using switch in validatePullPolicyWithDefault 2015-01-20 17:41:09 -08:00
Brian Grant
dd45246150 Merge pull request #3587 from dchen1107/image
Clean up Kubernetes PullPolicy
2015-01-20 17:18:26 -08:00
Brian Grant
0b69a3f57a Merge pull request #3517 from thockin/v1b3
Rename HostDir to HostPath in v1beta3
2015-01-20 16:25:16 -08:00
Tim Hockin
60ec08db93 Rename HostDir to HostPath in v1beta3 2015-01-20 15:56:44 -08:00
Tim Hockin
b3b092b41a Merge pull request #3603 from smarterclayton/expose_type_accessor
Add TypeAccessor to api/meta for objects without Object/ListMeta
2015-01-20 14:55:43 -08:00
Clayton Coleman
5f6caaba2e Add TypeAccessor to api/meta for objects without Object/ListMeta
Adding objects that have TypeMeta (use runtime.Scheme) but do not
expose ObjectMeta/ListMeta (because they are not Kube API objects)
and wanted to get the simpler access path for in memory objects.
2015-01-20 17:37:24 -05:00
Dawn Chen
92ff4cd2b1 Remove unused helper methods for PullPolicy. 2015-01-20 11:54:22 -08:00
Dawn Chen
aec4594a8d Introduce validatePullPolicyWithDefault to validation. 2015-01-20 11:54:22 -08:00
Tim Hockin
6ff26d924c Merge pull request #3619 from smarterclayton/expose_validate_labels
Expose ValidateLabels in validation.go for reuse by other components
2015-01-20 09:11:08 -08:00
Clayton Coleman
48146e01cd Expose ValidateLabels in validation.go for reuse by other components
Label validation is common to anyone building kube resources.
2015-01-19 22:33:52 -05: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
Daniel Smith
37f5a9df07 make conversion do deep copies 2015-01-15 12:02:22 -08:00
Joe Beda
dcd00c936e Move all kubernetes to posix flags 2015-01-15 09:12:19 -08:00
derekwaynecarr
e5b550576c Forbidden should not swallow the underlying error 2015-01-15 11:22:15 -05:00
Daniel Smith
b0d9ad70de Merge pull request #3482 from lavalamp/fix
make quantity flag work with pflag package
2015-01-14 16:43:32 -08:00
Tim Hockin
1be3de895c Move util.UID to pkg/types 2015-01-14 15:22:21 -08:00
Daniel Smith
5767b41b28 make quantity flag work with pflag package 2015-01-14 15:16:53 -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
Daniel Smith
8a764c02d5 Merge pull request #3478 from thockin/uid_type
Use a strong type for UID fields
2015-01-14 14:20:22 -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
d28b51f89f Document fields, fix presubmit 2015-01-14 14:01:18 -08:00
Tim Hockin
e86d4cd3c6 Use a strong type for UID fields 2015-01-14 13:53:43 -08:00
Sam Ghods
7845ab90f8 Upgrade from gopkg.in/v2/yaml to gopkg.in/yaml.v2 everywhere 2015-01-13 15:06:25 -08:00
Tim Hockin
2ea27c3df3 Fix wrong field check in validation 2015-01-12 14:27:34 -08:00
Clayton Coleman
a52b216324 Add MethodNotSupported error 2015-01-12 12:05:04 -05:00
Daniel Smith
c81dda5d61 improve validation error message printing 2015-01-09 13:06:24 -08:00
Tim Hockin
2a2cef84d6 Merge pull request #3351 from lavalamp/fix
Fix error messages; add tests
2015-01-09 12:07:20 -08:00
Tim Hockin
4fcd496d59 change everything to use new util/errors 2015-01-08 22:10:03 -08:00
Daniel Smith
bd7b457d9c Fix error messages; add tests 2015-01-08 17:34:53 -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
Clayton Coleman
8262c30c97 Improve serialization round trip test and add v1beta3 2015-01-08 12:44:28 -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
Daniel Smith
cc04db13d6 fix overeager find-and-replace 2015-01-07 16:38:27 -08: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
0d628b3bff Make semantic deep equal public feature
* Use semantic deep equal when validating
* More test cases for deep equal
2015-01-07 15:21:34 -08:00
Daniel Smith
7f49ba0dcf Put quantity into packages
kubelet, GCE, validation, client
2015-01-07 15:21:34 -08:00
Daniel Smith
894a3e6d3f Wire resource.Quantity into api 2015-01-07 15:21:34 -08:00
derekwaynecarr
a56087cdf8 Remove client from attributes, remove admission control interface, fix-up error codes 2015-01-07 14:42:31 -05:00
Tim Hockin
ded3ef2827 Merge pull request #1185 from lavalamp/numeric
Numeric type for resources
2015-01-06 17:05:08 -08:00
Daniel Smith
cd58e49c78 remove 'i' and nasty rounding; test 2015-01-06 16:13:17 -08:00
Dawn Chen
e3c019128e Add EventSource to api to have both Component and Host information. 2015-01-06 16:08:20 -08:00
Daniel Smith
2d2df5593c Add examples & clarify comments further 2015-01-06 15:18:22 -08:00
Tim Hockin
1ec3457fc9 Beef up validation tests 2015-01-06 13:02:42 -08:00
Tim Hockin
6e8f5fea8e Fix validation for BoundPods to allow defaults
Thunking to Manifest makes a copy of the input, which is not useful for
defaulting.
2015-01-06 13:02:41 -08:00
Tim Hockin
33fcef6b42 Convert DNSPolicy wrt ContainerManifest 2015-01-06 13:02:40 -08:00
Daniel Smith
b7b2ee34de add flag helper func 2015-01-05 17:35:41 -08:00
Daniel Smith
6c6cdac0e9 Add accessor functions; round-trip test 2015-01-05 17:35:41 -08:00
Daniel Smith
18b896645c Saturation + test, also test negative numbers 2015-01-05 17:20:38 -08:00
Daniel Smith
394c9452e7 Start numeric type for resources 2015-01-05 17:20:38 -08:00
Daniel Smith
53a9d106c4 Merge pull request #3167 from thockin/affinity
Don't use pointers for session affinity
2014-12-30 17:43:47 -08:00
saadali
e8d30f019d Modify "kubectl get events" to print FieldPath so BoundPod events for the same Pod but different containers can be differentiated 2014-12-29 21:32:49 -08:00
Tim Hockin
ca27fb259c Don't use pointers for session affinity 2014-12-29 14:43:17 -08:00
Daniel Smith
998061677b Merge pull request #2909 from smarterclayton/passversiontorestmapper
Allow --api-version to properly override various default behaviors in CLI
2014-12-29 12:14:32 -08:00
Tim Hockin
652479a3b1 Add kubelet DNS flags & api disable for DNS
This adds --cluster_dns and --cluster_domain flags to kubelet.  If
non-empty, kubelet will set docker --dns and --dns-search flags based on
these.  It uses the cluster DNS and appends the hosts's DNS servers.
Likewise for DNS search domains.

This also adds API support to bypass cluster DNS entirely, needed to
bootstrap DNS.
2014-12-29 09:18:12 -08:00
Brendan Burns
9884142061 Clear node status before the validation check. 2014-12-22 11:57:31 -08:00
Clayton Coleman
8bef68d475 RESTMapper should take into account multiple versions
When a CLI command `kubectl get rc --api-version=v1beta3` is called,
the API resource name should match v1beta3, not whatever the default
RESTMapper version is.  This allows the correct resource name to be
returned ("replicationcontrollers", instead of "replicationControllers").
2014-12-22 14:46:31 -05:00
Dawn Chen
bbaff08991 Fixed #2632 2014-12-19 17:23:47 -08: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
Brendan Burns
2e17193161 Add Host to PodSpec and add a predicate to make the scheduler work. 2014-12-18 20:12:29 -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
Brendan Burns
4427672cde Merge pull request #2875 from foleymic/master
add SessionAffinity type to ServiceSpec
2014-12-17 21:53:35 -08:00
Brendan Burns
cf0b41535f Make it easier to update nodes, make it possible to update capacity. 2014-12-17 21:50:26 -08:00
Clayton Coleman
7fde4583f2 v1beta1 should return Minion as kind, rather than Node
This changes the internal name logic (for conversion) to prefer the
internal registered preferred name for a resource, and then makes
v1beta1 and v1beta2 prefer Minion.

Fixes #3010
2014-12-17 19:55:56 -05:00
Mike Foley
569ce87f0e Updated types API to include session affinity. …
- changed CLIENT-IP and NONE to be ClientIP and None respectively
 - updated conversions to support translating between api versions.
 - updated validations to validate session affinity type if specified.
2014-12-17 15:59:20 -05:00
Joe Beda
93ed9173e3 Merge pull request #2781 from commonlisp/master
simplify util.ErrorList by eliminating errorListInternal
2014-12-16 15:43:55 -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
Clayton Coleman
d9ad8cfac0 Conversions missing from v1beta1
They were in v1beta2, not sure how they got removed.
2014-12-15 16:50:05 -05:00
Clayton Coleman
dadb8431c4 Remove internal PodState in favor of internal PodStatus object 2014-12-15 16:50:05 -05:00
Clayton Coleman
787b5c488a Add PodIP and Image to v1beta3
Fixes #2900
2014-12-15 16:50:05 -05:00
Clayton Coleman
1f442d4429 Remove LivenessProbe.Type in v1beta3 2014-12-15 16:50:05 -05:00
bgrant0607
9b40c52c24 Merge pull request #2910 from smarterclayton/small_v1beta3_refactors
Fix internal -> v1beta3 round trip issues
2014-12-15 13:21:12 -08:00
Brendan Burns
d345dda1e5 Fix the kubelet uses api encode/decode by actually adding PodContainerInfo to v1beta1 2014-12-15 11:38:55 -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
Clayton Coleman
d6d87e1e3b Status should be a ListMeta, not ObjectMeta internally 2014-12-12 18:08:41 -05:00
Clayton Coleman
eb906f2993 PodStatus Message needs to be round-trippable 2014-12-12 18:08:41 -05:00
Clayton Coleman
904d0d46c3 Rename ServerOp to Operation in v1beta3 and internal
Add the appropriate rename logic internally.
2014-12-12 18:08:41 -05:00
George Kuan
5e1fc1f4e0 Fixes #1605: make ErrorList introspectable by replacing ErrorList and
ErrorList#ToError with []error and util.SliceToError() respectively
2014-12-12 10:56:31 -08:00
Vojtech Vitek (V-Teq)
87263b4380 Remove duplicated assignment from API conversion 2014-12-12 01:37:15 +01:00
bgrant0607
ecbb6c45d0 Merge pull request #2315 from ddysher/node-status
Add node status to API object.
2014-12-11 10:19:17 -08:00
bgrant0607
2232a29af7 Merge pull request #2833 from liggitt/util_time
Use util.Time consistently in types.go
2014-12-11 09:17:50 -08:00
bgrant0607
473376b085 Merge pull request #2820 from ravigadde/master
MountPath in VolumeMount is a required field. Removing the omitempty.
2014-12-11 08:55:40 -08:00
Jordan Liggitt
51bfb50698 Use util.Time consistently in types.go 2014-12-11 11:14:25 -05:00
Deyuan Deng
0332c8d4d1 Add node status to API object (all versions). 2014-12-11 08:12:27 -05:00
Dawn Chen
5865ab750e Merge pull request #2808 from simon3z/master
api: add container's id to ContainerStatus
2014-12-10 16:30:08 -08:00
Daniel Smith
f81ec248d0 Merge pull request #2786 from smarterclayton/load_opaque_objects
Allow runtime.Object to be encoded as runtime.RawExtension
2014-12-10 16:24:05 -08:00
Ravi Gadde
66f21b0b8b MountPath in VolumeMount is a required field. Removing the omitempty for
json/yaml.

Removed omitempty for mountpath
2014-12-10 12:45:31 -08:00
Federico Simoncelli
4af64b8911 api: add container's id to ContainerStatus
Sometimes for external applications it is useful to correlate the pod
containers to the real docker instances.

This patch adds a new entry in the container status (containerID) which
is used to identify the instance.

Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2014-12-10 20:38:41 +00:00
Dawn Chen
17475cdbe7 Merge pull request #2821 from lavalamp/fix
Allow, when testing, SelfLinks to be unset.
2014-12-10 12:10:51 -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
Clayton Coleman
650aead4c4 Support Node/NodeList as a valid name in all versions
Also refactor v1beta1/conversion_test.go `v1beta` -> `current` to allow
easier cut and paste of tests.
2014-12-10 11:53:38 -05:00
Clayton Coleman
5447e74129 Node/Nodelist 2014-12-10 11:48:41 -05:00
Daniel Smith
e46bfcf699 Allow, when testing, SelfLinks to be unset. Kubelet now makes events in tests. 2014-12-09 17:53:42 -08:00
bgrant0607
4a9afe61da Merge pull request #2621 from brendandburns/kubecfg
Add validation back in
2014-12-09 15:10:51 -08:00
Brendan Burns
18cfac0d31 Make validation optional, handle YAML 2014-12-09 12:37:49 -08:00
Brendan Burns
c29f5db81c Revert "Revert "Add optional validation to kubecfg/kubectl.""
This reverts commit 6590c66dd4.
2014-12-09 12:37:48 -08:00
Clayton Coleman
2c27f7d332 Allow an empty service 2014-12-09 12:48:53 -05:00
Clayton Coleman
8a833ca701 Add a List type that can contain arbitrary objects
Supports objects that the core schema may not recognize and
preserves them unmodified as runtime.Unknown
2014-12-09 10:31:17 -05:00
Tim Hockin
5ecce5d60c Add util to validate namespaced names 2014-12-08 15:31:43 -08:00
Clayton Coleman
714dbf4522 Shrink runtime.TypeMeta to be equivalent to api TypeMeta
Remove unused fuzzing
2014-12-07 20:49:07 -05:00
Jordan Liggitt
22eee15fe7 Remove uint64 bitshift workaround 2014-12-04 15:00:23 -08:00
Sam Ghods
6399854240 Remove unused YAML tags and GetYAML/SetYAML methods
Unneeded after move to ghodss/yaml.
2014-12-02 16:25:28 -08:00
Sam Ghods
9a9a1e0939 Move from go-yaml/yaml to ghodss/yaml 2014-12-02 16:24:05 -08:00
Tim Hockin
89875ef09d Loosen DNS 952 for labels 2014-12-01 12:30:43 -08:00
Tim Hockin
c857dc1196 Add namespacing for label keys 2014-12-01 12:30:43 -08:00
Tim Hockin
d5a6a54391 clean up error message on labels validation errs 2014-12-01 12:30:43 -08:00
Vojtech Vitek (V-Teq)
28f5d51a5f Add Labels and Annotations to MetadataAccessor 2014-12-01 16:36:24 +01:00
Vojtech Vitek (V-Teq)
508724b1f8 meta_test should not depend on runtime.TypeMeta 2014-12-01 16:36:21 +01:00
Tim Hockin
9afeaf36ef Fix head 2014-11-26 13:48:50 -08:00
Eric Tune
585afa1bae Merge pull request #2610 from ddysher/node-namespace
Fix node namespace.
2014-11-26 13:02:21 -08:00
Joe Beda
6590c66dd4 Revert "Add optional validation to kubecfg/kubectl."
This reverts commit acf6d82800.
2014-11-25 14:45:00 -08:00
Eric Tune
636ffed399 Merge pull request #2515 from thockin/why
Add details on Invalid validation errors
2014-11-25 14:04:27 -08:00
Deyuan Deng
c8c7a13ac6 Fix node namespace. 2014-11-25 16:30:55 -05:00
Clayton Coleman
a67912f937 Merge pull request #2517 from brendandburns/kubecfg
Add client side validation to kubecfg and kubectl.
2014-11-25 13:46:52 -06:00
Clayton Coleman
c5e9f60f9c Merge pull request #2569 from mfojtik/pluralization_fix
Fix pluralization in RESTMapper when kind ends with 'y'
2014-11-25 09:53:46 -06:00
Michal Fojtik
7235a9b1f0 Fix pluralization in RESTMapper when kind ends with 'y' 2014-11-25 11:33:13 +01:00
Brendan Burns
acf6d82800 Add optional validation to kubecfg/kubectl. 2014-11-24 22:25:22 -08:00
Brendan Burns
a5bc6301a4 Revert "Using util.Time for ContainerStatus" 2014-11-24 21:32:31 -08:00
Tim Hockin
ff8c5f9415 Add a Detail field to Validation Error 2014-11-24 17:28:42 -08:00
Tim Hockin
b08e5b24b0 Change ValidationError to a pointer
In Prep for adding at leats one more field, make this operate more list
StatusError.
2014-11-24 17:28:42 -08:00
Daniel Smith
610ab9a0db Merge pull request #2586 from dchen1107/cleanup
Using util.Time for ContainerStatus
2014-11-24 15:35:07 -08:00
Dawn Chen
acb0f1198b Using util.Time for ContainerStatus 2014-11-24 15:15:33 -08:00
Daniel Smith
668a81e894 Merge pull request #2539 from lavalamp/master
Reduce boilerplate
2014-11-24 13:45:04 -08:00
Daniel Smith
8d762c996a Remove boilerplate coversion functions 2014-11-24 12:57:34 -08:00
Deyuan Deng
b5fce5021f gitrepo validation 2014-11-23 23:03:11 -05:00
markturansky
8159c8fd25 Refactor PodCondition to PodPhase 2014-11-21 15:28:38 -05:00
bgrant0607
4c5a7e5915 Merge pull request #2492 from brendandburns/valid
Add a swagger schema validator, for validating client side json files.
2014-11-21 07:01:59 -08:00
Brendan Burns
6c53d3b462 Add a swagger schema validator, for validating client side json files. 2014-11-20 22:16:55 -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
95a9098311 fix 'go vet' warnings 2014-11-21 09:45:28 +08: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
Daniel Smith
4437f03dbf Don't hold up the entire event queue for a single bad event. Also, don't retry forever. 2014-11-20 16:01:42 -08:00
Daniel Smith
885f2b5f48 Merge pull request #2452 from bgrant0607/docfix
Document v1beta2 fields
2014-11-18 14:48:13 -08:00
Clayton Coleman
1c524607d8 Merge pull request #2097 from markturansky/v1beta3_podrefactor
Refactor internal API for Pods to match v1beta3
2014-11-18 15:28:58 -05:00
Brian Grant
76daced96f Document v1beta2 fields 2014-11-18 19:40:43 +00:00
Daniel Smith
e47887c79e Merge pull request #2444 from bgrant0607/docfix
Add descriptions to all v1beta1 API fields.
2014-11-18 10:54:11 -08:00
Daniel Smith
6ae208aea9 Merge pull request #2187 from eparis/go.net-rename
update code.goole.com/p/go.net to golang.org/x/net
2014-11-18 10:08:28 -08:00
Brian Grant
821c8542b6 Add descriptions to all v1beta1 API fields. 2014-11-18 17:53:57 +00:00
markturansky
8af4ccb111 v1beta3 Pod refactor 2014-11-18 09:25:42 -05:00
Deyuan Deng
a07661dcea Add pod restart policy validation for replication controller. 2014-11-17 23:08:23 -05:00
Deyuan Deng
c20ceea170 Add more validation for updating node. 2014-11-17 13:42:31 -05:00
Brendan Burns
271ed1c21e Merge pull request #2394 from ddysher/random-fix
Exclude service itself when checking conflict.
2014-11-17 09:47:58 -08:00
Eric Paris
4e95104953 update code.goole.com/p/go.net to golang.org/x/net
https://groups.google.com/forum/#!topic/golang-nuts/eD8dh3T9yyA
2014-11-16 22:10:24 -05:00
Deyuan Deng
241f3d702b Exclude service itself when checking conflict. 2014-11-15 10:40:40 -05:00
Tim Hockin
e987f11838 Merge pull request #2319 from brendandburns/external
Externalized services v2
2014-11-14 21:01:19 -08:00
Deyuan Deng
29a56c4f18 Use Service.Name for validation error. 2014-11-14 19:36:34 -05:00
Daniel Smith
9430bb38b8 Merge pull request #2282 from bgrant0607/docgen
Automatic API generation via go-restful
2014-11-14 13:12:25 -08:00
Brendan Burns
2aa52d043b Add external services v2 support. 2014-11-14 11:32:54 -08:00
Brendan Burns
c25ef89b24 Merge pull request #2367 from lavalamp/fix3
Yet more non-controversial fixes from #2277
2014-11-14 10:25:04 -08:00
Daniel Smith
de75e5a9bb Fix server-side namespace handling for events; add validation 2014-11-14 09:43:28 -08:00
Brian Grant
7583e1a643 Automatic API generation by adopting go-restful 2014-11-14 16:49:19 +00:00
Dawn Chen
f47f1da3d6 Merge pull request #2345 from yugui/lint/api
Fixes golint errors in pkg/api.
2014-11-13 23:21:42 -08:00
Yuki Yugui Sonoda
864bfb65da Fixes golint errors in pkg/api. 2014-11-14 13:14:23 +09:00
Dawn Chen
d004939b74 Merge pull request #2362 from erictune/nousage
Remove todos about adding usage to Pods.
2014-11-13 17:13:34 -08:00
Eric Tune
b195d982cd Remove todos about addin usage to Pods.
Usage in Pods would be quite noisy when watching pods.
People should get usage from heapster, or from
some other object TBD.
2014-11-13 16:11:10 -08:00
Dawn Chen
81107c3e98 Change the default Pull policy to PullIfNotPresent. 2014-11-13 15:23:44 -08:00
Dawn Chen
ff68b75401 Merge pull request #2333 from derekwaynecarr/validate_uid
Set uid during object create
2014-11-13 13:56:25 -08:00
derekwaynecarr
15701ff403 Set uid during object create 2014-11-13 15:25:49 -05:00
bgrant0607
7cab32b41d Merge pull request #2185 from brendandburns/history
Add a human readable message to pod state.
2014-11-13 10:52:04 -08:00
Daniel Smith
178d0af795 Fix watch for events; add test for interface implementation so it won't break again. 2014-11-12 15:22:08 -08:00
Daniel Smith
0348a67413 Merge pull request #2195 from smarterclayton/prepare_pod_template_v1beta3
Allow an internal pod template reference or object
2014-11-12 10:55:08 -08:00
derekwaynecarr
b326cbbe0c Centralize minion validation 2014-11-12 12:38:15 -05:00
Clayton Coleman
94c873e7a4 Remaining refactor for PodTemplateSpec and fixing test cases 2014-11-11 17:03:20 -05:00
Brendan Burns
3fdbb10255 Add a human readable message to pod state. 2014-11-10 21:05:27 -08:00
Dawn Chen
8ffbced280 Introduce terminationMessagePath to Container, and update conversion code
to assign the default path.

Move default setting for terminationMessagePath to conversion
from validation. Addressed other comments.
2014-11-10 10:55:56 -08:00
Clayton Coleman
72bf12c86d Update the validation logic to test PodTemplateSpec 2014-11-10 11:33:51 -05:00
Clayton Coleman
a68a493e4b Alter the error message when an error list is put in an error list 2014-11-10 11:33:51 -05:00
Clayton Coleman
74c7914f7e Conversion functions to support PodTemplateSpec 2014-11-10 11:33:31 -05:00
Clayton Coleman
e3be1e9e14 Changes to core types for introducing PodTemplateSpec 2014-11-10 11:33:31 -05:00
Dawn Chen
5342bb4306 Introduce application termination message to ContainerStatus 2014-11-07 09:32:39 -08:00
Sam Ghods
cbd13b599d Fix two compilation errors when running go build ./... 2014-11-06 12:55:27 -08:00
Clayton Coleman
4acb8e5eaf Merge pull request #2189 from lavalamp/fix
Add self links to objects sent down the watch channel.
2014-11-06 12:57:07 -05:00
derekwaynecarr
56b6273dfb Fix json serialization consistency 2014-11-06 10:24:48 -05:00
Daniel Smith
4196780eda Add self links to objects sent down the watch channel. 2014-11-05 17:22:18 -08:00
Daniel Smith
25bd151d86 Make fieldPath part of getting a reference rather than part of making an event. 2014-11-05 15:09:14 -08:00
Daniel Smith
ecebe958d2 Allow ObjectReferences to be passed to Eventf
... in place of the object they reference.
2014-11-05 15:07:40 -08:00
markturansky
119f654a13 Refactor PodStatus to PodCondition in internal API for v1beta3 2014-11-05 17:26:47 -05:00
Brian Grant
535785e3b9 Update api/validation service validation with service fields moved by #2086 2014-11-05 06:52:06 +00: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
bgrant0607
c7ff31004b Merge pull request #2094 from brendandburns/svc
Add some validation for externalized service ports.
2014-11-04 13:04:56 -08:00
markturansky
bd7643c033 refactor services to v1beta3 2014-11-04 14:23:53 -05:00
Clayton Coleman
f0c23d68f7 Add runtime.ObjectConvertor to RESTMapper 2014-11-04 10:38:00 -05:00
Clayton Coleman
dc862ae463 Return the Kind of the object with the RESTMapper 2014-11-04 10:34:47 -05:00
Daniel Smith
7c2b7b55e7 Merge pull request #2059 from smarterclayton/rest_mapping
Define a mapping between REST resource name and kind/apiVersion
2014-11-03 15:08:21 -08:00
Clayton Coleman
191c1b975c Define a mapping between REST resource name and kind/apiVersion
Allows clients to abstractly map user input to generic resource
paths as per docs/api-conventions.md
2014-11-03 17:09:06 -05:00
Brendan Burns
f556f2f82f Add some validation for externalized service ports. 2014-11-03 13:36:34 -08:00
Dawn Chen
81785d8cde Merge pull request #2124 from brendandburns/fix
Make endpoints return 400 instead of 500
2014-11-03 08:38:34 -08:00
markturansky
2260b241dc Removed 'Metadata' from all types 2014-11-03 08:47:22 -05:00
Brendan Burns
32a04e48fd Make endpoints return 400 instead of 500 2014-11-02 20:08:06 -08:00
Clayton Coleman
8a2d778248 Merge pull request #2066 from lavalamp/eventing2
Event fixes
2014-10-30 14:19:19 -04:00
Daniel Smith
a7cc25f7ff Add namespaces to event creation path. 2014-10-29 18:03:14 -07:00
Clayton Coleman
2c10dd85c3 Merge pull request #2047 from smarterclayton/make_request_testable
Make client.Request/RESTClient more testable and fakeable
2014-10-29 19:33:36 -04:00
Daniel Smith
ab9346d107 Use ID instead of Name in v1beta1 & 2 2014-10-29 15:13:44 -07:00
Clayton Coleman
71fecef6f6 Add test coverage and fix a few minor problems 2014-10-29 14:08:37 -04: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
Clayton Coleman
eac933eb44 Make client.Request more testable, break coupling with RESTClient
Moves polling to a function provided by the RESTClient, not innate
to Request. Moves doRequest from RESTClient to Request for clarity.
2014-10-28 23:00:24 -04:00
Dawn Chen
f6db096741 Merge pull request #2022 from brendandburns/gc
Add container garbage collection.
2014-10-28 13:37:16 -07:00
Daniel Smith
55c9c06b81 Merge pull request #2001 from VojtechVitek/fix_scheme_panic
Fix reflect panic in runtime/conversion
2014-10-28 13:30:40 -07:00
Brendan Burns
51bf451932 Add container garbage collection. 2014-10-28 12:52:06 -07:00
Vojtech Vitek (V-Teq)
90809c270d Use conversion.EnforcePtr() where appropriate
Signed-off-by: Vojtech Vitek (V-Teq) <vvitek@redhat.com>
2014-10-28 16:36:09 +01:00
Tim Hockin
9a617344bf Merge pull request #1945 from brendandburns/tests
Add support for git volumes.
2014-10-27 16:55:37 -07:00
Brendan Burns
b59e49fa13 Add support for git volumes. 2014-10-27 16:35:52 -07:00
Tim Hockin
bb5ca0f91b Respect a requested PortalIP if possible 2014-10-27 14:03:52 -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
Tim Hockin
37ffb41b81 Merge pull request #1830 from markturansky/label_validation
add RFC952 validation to labels
2014-10-27 09:54:18 -07:00
Brendan Burns
5d4d60783d Add requirements based scheduling. 2014-10-25 22:08:00 -07:00
Brendan Burns
87c77e5ba7 Start adding git volumes. 2014-10-24 20:44:08 -07:00
markturansky
e2365b1f96 add RFC952 label validation 2014-10-24 16:01:52 -04:00
Tim Hockin
d6effe3c6d Rename api ErrorList for clarity 2014-10-24 09:43:14 -07:00
Clayton Coleman
644eb70085 Refactor tests to split ObjectMeta from TypeMeta 2014-10-24 11:22:21 -04:00
Clayton Coleman
2475eb06cb Remove use of embedded TypeMeta accessor 2014-10-24 11:22:20 -04:00
Clayton Coleman
0f011a055f Implement conversions for v1beta1/2 to internal ObjectMeta 2014-10-24 11:22:20 -04:00
Clayton Coleman
09800643e2 Change validation now that namespace is on ObjectMeta 2014-10-24 11:22:20 -04:00
Clayton Coleman
55163a7df1 Split TypeMeta into ObjectMeta and TypeMeta 2014-10-24 11:22:20 -04:00
Clayton Coleman
3df1c2f29d Use meta.Interface and meta.Accessor 2014-10-23 18:01:25 -04:00
Clayton Coleman
e5c924585c Add support for ObjectMeta and ListMeta lookup 2014-10-22 23:56:49 -04:00
Clayton Coleman
35eaf90255 Add UID to MetaAccessor and Ref 2014-10-22 22:59:15 -04:00
Clayton Coleman
1ccb86c760 Rename methods in api/meta to be cleaner 2014-10-22 22:59:12 -04:00
Clayton Coleman
64d98cba73 Move typemeta.go to api/meta/meta.go
Prepares for the meta object to front multiple underlying types
when TypeMeta and ObjectMeta is split in internal and v1beta3, but
combined in v1beta1 and v1beta2
2014-10-22 22:28:06 -04:00
Clayton Coleman
91d9a90e4e Replace use of "id" in strings with "name" 2014-10-22 15:59:12 -04:00
Clayton Coleman
bb77a5d15f Rename ID -> Name 2014-10-22 15:00:26 -04:00
Daniel Smith
ad1212b9af Add client time to events 2014-10-22 11:12:17 -07:00
Daniel Smith
0c58ee98c8 Error instead of crash on GetRef of nil object 2014-10-17 10:49:43 -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
Clayton Coleman
892942af8f Read BoundPods from etcd instead of ContainerManifestList
There are three values that uniquely identify a pod on a host -
the configuration source (etcd, file, http), the pod name, and the
pod namespace. This change ensures that configuration properly
makes those names unique by changing podFullName to contain both
name (currently ID in v1beta1, Name in v1beta3) and namespace.

The Kubelet does not properly handle information requests for
pods not in the default namespace at this time.
2014-10-16 19:29:08 -04:00
derekwaynecarr
085ca40291 Enforce unique constraint at namespace boundary in etcd, make client and server namespace aware 2014-10-16 13:02:52 -04:00
Tim Hockin
e907011111 Core support for ip-per-service 2014-10-16 08:36:47 -07:00
Eric Tune
6f577aa321 Merge pull request #1789 from lavalamp/eventing4
Add event creation library and implement in scheduler.
2014-10-15 15:55:26 -07:00
Daniel Smith
2987747a0f Merge pull request #1794 from brendandburns/e2e
Add a pod update e2e test in go. Also adjust validation logic a little.
2014-10-15 11:59:30 -07:00
Daniel Smith
d4c750a878 Fix vet-go.sh and some things it complained about 2014-10-15 11:56:19 -07:00
Daniel Smith
10214457b7 Make scheduler emit events 2014-10-15 11:42:05 -07:00
Brendan Burns
8d38f8890e Add an e2e test in go. Also adjust validation logic a little to make it more reasonable.
Not integrated into existing e2e yet.
2014-10-14 16:43:00 -07:00
Eric Tune
bb5a17488f Use Forbidden valdiation error when no capability 2014-10-14 16:14:28 -07:00
Daniel Smith
841e9e87ff Merge pull request #1713 from brendandburns/update
Add update to the pod etcd handler.
2014-10-13 17:42:30 -07:00
Brendan Burns
4380637be7 Add update to the pod etcd handler. 2014-10-13 17:27:31 -07:00
Daniel Smith
d34914517f Shorten 'CodecForVersionOrDie' name, add 'ResourceVersioner' to testapi 2014-10-13 14:58:06 -07:00
Brendan Burns
695fbee343 Merge pull request #1742 from dchen1107/termination
Set EmptyDir when VolumeSource is absent.
2014-10-10 16:27:26 -07:00
Dawn Chen
c511b7a0ce Fix #1683 2014-10-10 15:34:48 -07:00
Dawn Chen
5f97413dd5 Merge pull request #1663 from smarterclayton/separate_pod_state_for_health_check
Refactor HealthCheck to take podUUID as its own argument
2014-10-10 09:11:59 -07: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
Clayton Coleman
935e97d59d Move ObjectDiff into util 2014-10-09 17:23:43 -04:00
Clayton Coleman
eea77a1449 Backport the BoundPods type to v1beta1/2/internal 2014-10-09 16:39:55 -04:00
erictune
aa30423dc9 Merge pull request #1337 from brendandburns/Sarsate-pd-support
Taking over PD support from sarsate
2014-10-09 09:16:04 -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
Daniel Smith
af5714da12 Fix v1beta2 types having been copied incorrectly. 2014-10-08 14:15:50 -07:00
Clayton Coleman
094bc3796a Update ObjectReference to use ResourceVersion string everywhere
Breaks backwards compat for anyone using older versions
2014-10-08 15:57:38 -04:00
Clayton Coleman
82bcdd3b3b Make ResourceVersion a string internally instead of uint64
Allows us to define different watch versioning regimes in the future
as well as to encode information with the resource version.

This changes /watch/resources?resourceVersion=3 to start the watch at
4 instead of 3, which means clients can read a resource version and
then send it back to the server. Clients should no longer do math on
resource versions.
2014-10-07 19:00:26 -04:00
Daniel Smith
7ffe791486 fix error message in validation test 2014-10-07 13:54:41 -07:00
Daniel Smith
3a62089790 Fix malformed namespace json tag 2014-10-07 13:52:51 -07:00
Clayton Coleman
0a4d4b43f6 Move IsAnAPIObject() declarations to register.go
* Add Namespace, UID, Annotations to internal/v1beta1/v1beta2
* Update v1beta3 with minor consistency tweaks
2014-10-07 14:09:01 -04:00
Daniel Smith
0212c9b29a Merge pull request #1623 from smarterclayton/rename_jsonbase
Rename JSONBase -> TypeMeta in preparation for v1beta3
2014-10-07 10:50:28 -07:00
Clayton Coleman
d3e51a0f24 Rename JSONBase -> TypeMeta in preparation for v1beta3
Will make subsequent refactor much easier
2014-10-07 11:12:16 -04:00
Clayton Coleman
363d6554ae Move Policy test helpers into their own file
Since types.go should always be equal to latest API types.go, this
makes future cut and paste refactors easier.
2014-10-07 10:24:40 -04:00
Daniel Smith
6449b30ca4 Merge pull request #1593 from thockin/utilerrlist
Move ErrorList to util
2014-10-06 16:59:34 -07:00
Brendan Burns
fca26ccc65 Merge pull request #1569 from dchen1107/termination
Initial support to propagating the termination reasons and image failures
2014-10-06 16:56:23 -07:00
Daniel Smith
e26bdd0721 Merge pull request #1591 from smarterclayton/simple_test
Add a Log method on Scheme for better debugging
2014-10-06 15:39:51 -07:00
Dawn Chen
4fdfeaa30e Addressed comments. 2014-10-06 14:41:20 -07:00
Dawn Chen
a86d496f9a Fix e2e tests. 2014-10-06 13:37:24 -07:00
Dawn Chen
9861eb7c8e Initial support of propogating the termination reasons and image failure
to apiserver. Deprecated docker.Container from API completely.

Conflicts:
	pkg/api/types.go
	pkg/kubelet/kubelet.go
2014-10-06 13:37:22 -07:00
Tim Hockin
7e83211840 Move ErrorList to util 2014-10-06 12:12:35 -07:00
Clayton Coleman
305db35422 Add a Log method on Scheme for better debugging 2014-10-05 17:17:25 -04:00
Meir Fischer
073940e66f minor comment change for grammar/consistency across v1beta* packages 2014-10-05 01:22:05 -04:00
Sam Ghods
3de1317c15 Remove JSONBase reference from v1beta3/types.go 2014-10-03 19:01:26 -07:00
Clayton Coleman
0ff77ffcb3 Some field names in validation.go not consistent
Fields are (for now) JavaScript style field accessors
2014-10-02 23:43:30 -04:00
Tim Hockin
1dda3072a4 Merge pull request #1525 from erictune/rename_dir
Directory renamed to Dir to match json property
2014-10-02 11:28:27 -07:00
erictune
883bb60b3a Merge pull request #1500 from smarterclayton/refactor_client_again
Refactor the client (again) to better support auth
2014-10-01 14:04:57 -07:00
Eric Tune
9c0769422d Directory renamed to Dir to match json property 2014-10-01 13:35:21 -07:00
Tim Hockin
710832b8b6 Merge pull request #1474 from brendandburns/resource
Add a resource fit predicate.
2014-10-01 13:12:28 -07:00
Tim Hockin
db49dc0012 Merge pull request #1458 from brendandburns/dontpull
Add the ability to turn off image pulling.
2014-10-01 12:40:47 -07:00
Brendan Burns
39d03948e7 Add resource fit predicates. 2014-10-01 12:38:09 -07:00
Brendan Burns
4c456015b6 Add the ability to turn off image pulling. 2014-10-01 12:34:22 -07:00
Clayton Coleman
ff2eca97d9 Refactor the client (again) to better support auth
* Allows consumers to provide their own transports for common cases.
* Supports KUBE_API_VERSION on test cases for controlling which
  api version they test against
* Provides a common flag registration method for CLIs that need
  to connect to an API server (to avoid duplicating flags)
* Ensures errors are properly returned by the server
* Add a Context field to client.Config
2014-10-01 15:23:37 -04:00
derekwaynecarr
016d394705 Remove redundant code in validation 2014-10-01 14:29:47 -04:00
derekwaynecarr
6625e58a20 Updates to review comments 2014-10-01 10:57:50 -04:00
derekwaynecarr
0312d80ffa Update test cases to use default context 2014-10-01 10:57:50 -04:00
derekwaynecarr
e4ec49ee6b Require namespace on controller, pod, service objects 2014-10-01 10:57:50 -04:00
Tim Hockin
88bf01b008 Merge pull request #1225 from smarterclayton/v1beta3_proposals
Proposal: v1beta3 API overhaul
2014-09-30 16:12:13 -07:00
Dawn Chen
e284e14222 Merge pull request #1475 from lavalamp/eventing3
Add GetReference()
2014-09-29 09:18:51 -07:00
Clayton Coleman
c0247d92ce Proposal for v1beta3 API
* Separate metadata from objects
* Treat lists differently from resources
* Add UID and Annotations on Metadata
* Introduce BoundPod(s) as distinct from Pod to represent pods
  scheduled onto a host
* Use "spec" instead of "state" and "status" instead of "currentState"
  * Identify current status of objects consistently
  * Use "condition" as the string label for substatus
* All string constants should be PublicGoCapitalized
* Rename Minion -> Node
* Rename ServerOp -> Operation
* Remove ContainerManifest
* Add api-conventions.md document
* Replace PodTemplateSpec in ReplCtrl with ObjectReference
2014-09-29 12:10:36 -04:00
Tim Hockin
f2cf958540 Caps for CauseType 2014-09-27 21:48:35 -07:00
Tim Hockin
e73de49f81 Caps on StatusReason* 2014-09-27 21:38:51 -07:00
Tim Hockin
523731c509 Capitalize Status.Status 2014-09-27 21:23:51 -07:00
Tim Hockin
1c02af3d16 Kill LivenessProbe.Type 2014-09-27 21:16:30 -07:00
Tim Hockin
04cdf286a4 Make and use api.Protocol type 2014-09-27 20:31:37 -07:00
Daniel Smith
6ac7578699 Add GetReference() 2014-09-26 17:40:07 -07:00
Daniel Smith
b972f72248 convert multiple return values into a struct, add SelfLinker 2014-09-26 14:52:16 -07:00
derekwaynecarr
ee19ba186d Update to use api.Context 2014-09-26 11:50:34 -04:00
derekwaynecarr
3e685674e7 Add context object to interfaces 2014-09-26 11:50:34 -04:00
Clayton Coleman
a5ed10235e Merge pull request #1354 from lavalamp/eventing
Add Event to api types
2014-09-25 16:20:49 -04:00
Daniel Smith
283eaf3931 Add new Event type
* replaces previous Event type, which is too limited.
* Remove writing of old event type.
* Fix serialiazation test to automatically test all types.
2014-09-25 11:31:35 -07:00
Brendan Burns
431caa93df Merge pull request #1335 from dchen1107/exit1
Convert existing kubernetes system to use ContainerStatus, instead of
2014-09-24 21:37:24 -07:00
Daniel Smith
bb0cd95a83 fix non-gofmt'd things 2014-09-24 14:27:10 -07:00
Dawn Chen
66eadb514a fix rebase issue. 2014-09-24 11:16:47 -07:00
Dawn Chen
0e6ec3cbfc Convert existing kubernetes system to use ContainerStatus, instead of
docker.Container directly.

Conflicts:
	pkg/kubelet/dockertools/docker.go
	pkg/registry/pod/rest.go
2014-09-24 11:16:46 -07:00
Daniel Smith
f211e46f20 handle watch errors everywhere 2014-09-22 17:37:12 -07:00
Clayton Coleman
fece926e2b Remove unnecessary EmbeddedObjects
Clarify the tests in embedded_test.go to indicate that unmarshalling
of an internal object (runtime.EmbeddedObject) will not work.  Instead,
consumers should decode raw external objects.
2014-09-22 16:03:07 -04:00
Clayton Coleman
e3da2ba2c8 Cleanup watch encoding (remove dupe Encoding)
Move standard watch encode / decode streams to use
runtime.RawExtension and embed API decoding based on
a provided codec.
2014-09-22 16:03:07 -04:00
Clayton Coleman
463a16af36 Add benchmarks for API tests 2014-09-19 17:17:54 -04:00
Clayton Coleman
5483333e29 Allow server and client to take api version as argument
* Defaults to v1beta1
* apiserver takes -storage_version which controls etcd storage version
  and the version of the client used to connect to other apiservers
* Changed signature of client.New to add version parameter
* All controller code and component code prefers the oldest (most common)
  server version
2014-09-18 23:27:28 -04:00
Brendan Burns
dc5a4a8c3f Refactor to clean up names. 2014-09-16 15:19:02 -07:00
erictune
506f51b186 Merge pull request #1330 from brendandburns/privilege
Only allow privileged containers if API server flag set.  Adds capabilities package.
2014-09-16 15:12:26 -07:00
Daniel Smith
0b75f7b543 Merge pull request #1275 from smarterclayton/v1beta2
Create v1beta2 and allow multiple Codec encodings to exist
2014-09-16 14:52:04 -07:00
Clayton Coleman
23307344ee Add round trip tests for default encoding
Turn down iterations a bit for speed
2014-09-16 17:27:59 -04:00
Clayton Coleman
61e3ce7ddc Make runtime less global for Codec
* Make Codec separate from Scheme
* Move EncodeOrDie off Scheme to take a Codec
* Make Copy work without a Codec
* Create a "latest" package that imports all versions and
  sets global defaults for "most recent encoding"
  * v1beta1 is the current "latest", v1beta2 exists
  * Kill DefaultCodec, replace it with "latest.Codec"
  * This updates the client and etcd to store the latest known version
* EmbeddedObject is per schema and per package now
* Move runtime.DefaultScheme to api.Scheme
* Split out WatchEvent since it's not an API object today, treat it
like a special object in api
* Kill DefaultResourceVersioner, instead place it on "latest" (as the
  package that understands all packages)
* Move objDiff to runtime.ObjectDiff
2014-09-16 16:26:43 -04:00
Clayton Coleman
fe614aeda2 Simple refactor for ease of readability
runtime.DefaultCodec -> latest.Codec
2014-09-16 16:12:35 -04:00
Clayton Coleman
10f68902f6 Add v1beta2 API objects 2014-09-16 16:11:26 -04:00
Brendan Burns
5b9e2a55b5 Add a flag to reject privileged containers in the apiserver. 2014-09-16 11:22:32 -07:00
Paul Morie
f94198c7a3 Expose validation method for ReplicationControllerState 2014-09-16 12:55:27 -04:00
Dawn Chen
d51c28d757 Merge pull request #1304 from brendandburns/valid
Add some lifecycle validation.
2014-09-15 16:50:03 -07:00
Brendan Burns
6efafb141f Add some lifecycle validation. 2014-09-15 16:45:26 -07:00
Daniel Smith
42dafb0e2e add PluginBase to fuzz functions 2014-09-15 13:15:46 -07:00
Clayton Coleman
0a02c6bcdf Exact copy of v1beta1 as v1beta3 for further iteration 2014-09-12 22:02:27 -04:00
Tim Hockin
9f275c81ac add a 'protocol' field to api.Service 2014-09-12 16:38:17 -07:00
Tim Hockin
b566339f0c make service validation test be table-driven 2014-09-12 16:38:17 -07:00
Dan Mace
3a3fab3f82 FEATURE: Support privileged containers in a pod
Add a Privileged field to containers in a pod, in order to facilitate pods
performing administrative tasks such as builds via Docker-in-Docker.

Discussion: https://github.com/GoogleCloudPlatform/kubernetes/issues/391
2014-09-12 09:38:11 -07:00
Dawn Chen
7b46d8c9c5 typo 2014-09-11 16:07:56 -07:00
Dawn Chen
25fbe210f6 Clean up 2014-09-11 15:30:06 -07:00
Dawn Chen
3faf393e7b Introduce ContainerStates. Currently keep it has the same set as PodStatus:
Waiting, Running, Termination. For each state, there are some meaningful
status associated with it.
2014-09-11 15:22:53 -07:00
Dawn Chen
ee129cd440 Proposed ContainerStatus for each individual Container in a Pod. 2014-09-11 14:34:21 -07:00
Daniel Smith
48913672d9 Merge pull request #1248 from brendandburns/replicas
Make replica controllers return current state.
2014-09-09 16:27:21 -07:00
brendandburns
e9d12fef05 Merge pull request #1250 from dchen1107/cleanup
Small clean up in validation.
2014-09-09 16:24:12 -07:00
Dawn Chen
80fa392f6b Small clean up in validation. errs is used as import path alias in validation.go, but it is reused
as a variable for validateVolume.
2014-09-09 16:08:21 -07:00
Brendan Burns
4ba4762827 Insert the current state of a replica controller. 2014-09-09 15:23:34 -07:00
Tim Hockin
4ff76add57 Merge pull request #1147 from dchen1107/restart
Introduce the simplest RestartPolicy and handling.
2014-09-09 14:44:42 -07:00
Dawn Chen
15cab4d053 Introduce the simplest RestartPolicy and handling. 2014-09-08 22:41:38 -07:00
Daniel Smith
41754f5bd4 Merge pull request #1192 from smarterclayton/standardize_etcd_errors
Return standard API errors from etcd registry by operation
2014-09-08 15:57:08 -07:00
Clayton Coleman
3ffe259ac7 Return standard API errors from etcd registry by operation
Adds pkg/api/errors/etcd, which defines default conversions
for common CRUD operations from etcd to api.
2014-09-08 18:46:01 -04:00
Dawn Chen
7ace5a3e83 Passing pod UUID to Kubelet. 2014-09-08 14:24:09 -07:00
Daniel Smith
1c2b65788d Rename Codec and ResourceVersioner to add Default in front, to allow for types of those names 2014-09-07 22:19:24 -07:00
Daniel Smith
828b70abb9 api and api/v1beta1 pass tests again 2014-09-07 22:19:24 -07:00
Daniel Smith
77edb91032 Add Object type to runtime, make runtime test pass. 2014-09-07 22:19:24 -07:00
Daniel Smith
2ba6503511 Add continuation to conversion routines 2014-09-07 22:19:24 -07:00
brendandburns
8e10ee5169 Merge pull request #1197 from lavalamp/fixApi
Rename Object to EmbeddedObject
2014-09-05 21:39:37 -07:00
Daniel Smith
7790961011 Rename Object to EmbeddedObject 2014-09-05 14:43:35 -07:00
Francisco Souza
6d0f84c700 api/v1beta1: use go-dockerclient instead of docker-api-structs
This involves updating go-dockerclient and removing the patched code.

Related to #692 and fsouza/go-dockerclient#146.
2014-09-05 17:31:13 -03:00
Clayton Coleman
34c40e4e48 Errors should be part of api/errors, not apiserver
Renames constructor methods to be errors.New<name> which changed a few
places.
2014-09-03 17:16:00 -04:00
Clayton Coleman
6dd4831de8 Move validation errors into their own file 2014-09-03 17:14:03 -04:00
Clayton Coleman
01e668187c Services and Endpoints weren't properly sync'ing
They need incremental changes and a resync on start.
2014-09-03 16:04:55 -04:00
Brendan Burns
dd9ecf5b79 Add types for lifecycle events. 2014-09-02 15:14:13 -07:00
Daniel Smith
a63966e73c Combine pkg/apitools and pkg/api/common and call the result pkg/runtime 2014-09-02 11:15:44 -07:00
Daniel Smith
7615c00a9a Make validation work when not in the api package. 2014-09-02 10:42:06 -07:00
Daniel Smith
eb5ca80946 Split helper test, move fuzzing to api package as serialization_test.go 2014-09-02 10:40:52 -07:00
Daniel Smith
6121e61f99 Split api into api, api/common, api/validation & apitools 2014-09-02 10:40:52 -07:00
Tim Hockin
5bed06f614 Merge pull request #1129 from VojtechVitek/godoc
Godoc improvements
2014-09-02 09:45:05 -07:00
Clayton Coleman
64c7348a19 Expand api ResourceVersioner test 2014-09-02 09:52:37 -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
Daniel Smith
aa9b9b9fa8 Invert api and api/v1beta1 dependencies
This is some cleanup that has been needed for a while.
There's still one more step that could usefully be done, which is to
split up our api package into the part that provides the helper
functions and the part that provides the internal types. That can come
later.

The v1beta1 package is now a good example of what an api plugin should
do to version its types.
2014-08-29 12:15:30 -07:00
Daniel Smith
a2b03ea93b Fix incorrect tag in MinionList 2014-08-28 20:06:17 -07:00
Clayton Coleman
cc1ab0a3db Incorrect validation error for container image 2014-08-28 09:58:16 -04:00
Daniel Smith
2a62d72140 Cleanup: remove deprecated fields the proper way 2014-08-26 17:28:36 -07:00
Clayton Coleman
0a841a49fd Naming of Reason constants is inconsistent
Changed ReasonType to StatusReason (to match the field) and
changed CauseReason to CauseType and renamed StatusCause.Reason to
Type.
2014-08-26 13:39:21 -04:00
Clayton Coleman
52923a1348 Return validation errors from storage create/update 2014-08-26 13:30:55 -04:00
Clayton Coleman
84db1da42b Convert field errors into a selector for the object
Satisfies the "Field" condition for a Cause.  Also addresses
parts of #914.
2014-08-26 13:30:55 -04:00
Clayton Coleman
d326ba2976 Add a Causes array to status details for validation errors
Uses the same constant values as api/errors for each nested
reason.
2014-08-26 13:30:55 -04:00
Clayton Coleman
60126bfe64 Make the validation types match the pending ReasonCauses 2014-08-26 13:30:55 -04:00
Satnam Singh
3f0f119e42 Very minor change to use camelCase for ReasonType as suggested in issue #914. 2014-08-25 16:57:13 -07:00
Satnam Singh
4105f7ef61 Code review changes to adjust pacakge name for storage_test.go 2014-08-25 10:38:11 -07:00
Satnam Singh
7fcaf80f67 Make validation check for legal serive port numbers. 2014-08-22 14:44:21 -07:00
Brendan Burns
5839378adc Add a validation that replicaSelector matches PodTemplate.Labels 2014-08-21 22:18:55 -07:00
Dawn Chen
5a2365b323 Fix #926
Make HostPort a real option without being set to ContainerPort if absent.
2014-08-19 15:44:50 -07:00
Brendan Burns
05ab1e49fb Address some follow up comments. 2014-08-18 12:49:52 -07:00
Tim Hockin
e472752ff9 Merge pull request #875 from brendandburns/exec
Add a in container exec based health check.
2014-08-18 12:19:22 -07:00
Brendan Burns
0caae9c1d4 Add a in container exec based health check. 2014-08-18 12:00:11 -07:00
Tim Hockin
e0d9002717 All validations return ErrorList now 2014-08-16 13:48:48 -07:00
Tim Hockin
a69979d22b Change ErrorList.Append() to append() 2014-08-16 13:34:06 -07:00
Tim Hockin
b9e65c2438 Use new api/errors, get rid of api.* error code 2014-08-15 00:14:38 -07:00
Tim Hockin
bcd588ec15 Break api error handling into a new pkg 2014-08-15 00:14:38 -07:00
Paul Morie
c69160059b Change CreationTimestamp to a util.Time and set in each storage implementation
Because time.Time doesn't work correctly with our YAML package, it is necessary
to introduce a type, util.Time, which serializes correctly to JSON and YAML.

Eventually we would like timestamping to cut across storage implementations;
for now, we set it in each storage.
2014-08-14 16:26:29 -04:00
Nan Monnand Deng
41b0e5f34c move go-dockerclient-copiedstructs to third_party/docker-api-structs 2014-08-13 14:49:03 -04:00
Daniel Smith
1a5a22c539 Fix files missing gofmt 2014-08-12 17:48:00 -07:00
Daniel Smith
c372b74bc8 Merge pull request #847 from thockin/health
Use IntOrString for health checks
2014-08-11 16:28:24 -07:00
Daniel Smith
6460a8cbf8 Correct confusing comment. 2014-08-11 15:58:59 -07:00
brendandburns
3222f61bca Merge pull request #557 from lavalamp/podLocation
Prepare for external scheduler
2014-08-11 15:27:24 -07:00
Daniel Smith
b7752a86d4 Add debugging info printing to etcd fake
And make tests pass again.
2014-08-11 13:09:24 -07:00
Tim Hockin
c67c1edfb4 Use IntOrString for TCP health check ports
Clean up code to be more testable.  Add test cases for named and numeric
ports in TCP health checks.  Improve tests.
2014-08-10 23:44:42 -07:00
Tim Hockin
7201227cb1 Use IntOrString for HTTP health check ports
Clean up code to be more testable.  Add test cases for named and numeric
ports in HTTP health checks.  Improve tests.
2014-08-10 23:26:42 -07:00
Daniel Smith
7d605467dc New scheduler API
This commit adds a Binding object. The idea is that schedulers can write
these to cause pods to be asssigned to hosts. I'll provide an implementation
along with a rudimentary scheduler plugin.

This continues k8s' tradition of phrasing all APIs as RESTful handlers.
2014-08-10 19:05:03 -07:00
Daniel Smith
5cdce0e35a Prepare for external scheduler
1. Change names of Pod statuses (Waiting, Running, Terminated).
2. Store assigned host in etcd.
3. Change pod key to /registry/pods/<podid>. Container location remains
   the same (/registry/hosts/<machine>/kublet).
2014-08-10 15:05:36 -07:00
Daniel Smith
079c9043bd Switch to new external fuzz package 2014-08-08 15:54:09 -07:00
Clayton Coleman
67dbd15929 Address remaining comments from #756
Rename Encoding to Codec, Versioning to ResourceVersioner.  Add
GoDoc.  Add Delete(key, recursive) to EtcdHelper
2014-08-06 11:25:35 -04:00
Daniel Smith
860050b507 Merge pull request #745 from smarterclayton/add_structured_reason
Evolve the api.Status object with Reason/Details
2014-08-05 13:28:19 -07:00
Clayton Coleman
4f88b778a6 Evolve the api.Status object with Reason/Details
Contains breaking API change on api.Status#Details (type change)

Turn Details from string -> StatusDetails - a general
bucket for keyed error behavior.  Define an open enumeration
ReasonType exposed as Reason on the status object to provide
machine readable subcategorization beyond HTTP Status Code. Define
a human readable field Message which is common convention (previously
this was joined into Details).

Precedence order: HTTP Status Code, Reason, Details. apiserver would
impose restraints on the ReasonTypes defined by the main apiobject,
and ensure their use is consistent.

There are four long term scenarios this change supports:

1. Allow a client access to a machine readable field that can be
   easily switched on for improving or translating the generic
   server Message.

2. Return a 404 when a composite operation on multiple resources
   fails with enough data so that a client can distinguish which
   item does not exist.  E.g. resource Parent and resource Child,
   POST /parents/1/children to create a new Child, but /parents/1
   is deleted.  POST returns 404, ReasonTypeNotFound, and
   Details.ID = "1", Details.Kind = "parent"

3. Allow a client to receive validation data that is keyed by
   attribute for building user facing UIs around field submission.
   Validation is usually expressed as map[string][]string, but
   that type is less appropriate for many other uses.

4. Allow specific API errors to return more granular failure status
   for specific operations.  An example might be a minion proxy,
   where the operation that failed may be both proxying OR the
   minion itself.  In this case a reason may be defined "proxy_failed"
   corresponding to 502, where the Details field may be extended
   to contain a nested error object.

At this time only ID and Kind are exposed
2014-08-05 16:17:53 -04:00
Daniel Smith
e75854a1f9 Merge pull request #759 from brendandburns/valid
Add c-identifier validation to service ids.
2014-08-05 12:32:02 -07:00
Brendan Burns
20a8f03d62 Add dns-952-identifier validation to service ids. 2014-08-05 11:40:48 -07:00
Daniel Smith
041d56f3d0 finish testing client/cache 2014-08-04 14:50:01 -07:00
Daniel Smith
03fe91cc4a Add ID to JSONBaseInterface 2014-08-04 14:50:01 -07:00
derekwaynecarr
e5fd877052 Validate on replicas being non-negative 2014-08-04 15:39:45 -04:00
brendandburns
27426db827 Merge pull request #756 from smarterclayton/expose_encoding_versioning_interfaces
Expose an Encoding/Versioning interface for use with etcd
2014-08-04 10:10:54 -07:00
brendandburns
e52c62565b Merge pull request #692 from lavalamp/dockerObjWrap
Copy docker client structs into v1beta1
2014-08-04 09:10:57 -07:00
Clayton Coleman
4448be2d95 Expose an Encoding/Versioning interface for use with etcd
etcd_tools.go is not dependent on the specific implementation
(which is provided by pkg/api).  All EtcdHelpers are created
with an encoding object which handles Encode/Decode/DecodeInto.
Additional tests added to verify simple atomic flows.

Begins to break up api singleton pattern.
2014-08-03 21:35:33 -04:00
erictune
5b589cf115 Merge pull request #735 from brendandburns/tcp-health
Add TCP socket based health checking.
2014-08-01 16:35:12 -07:00
Daniel Smith
828aed4cc8 Copy docker client structs, adding yaml/json tags.
Use these in our v1beta1 package so that we can pass fuzz test encode/decode.
2014-08-01 15:31:39 -07:00
Daniel Smith
1cc7fce523 Add documentation and tests to conversion. 2014-08-01 14:26:36 -07:00
Daniel Smith
5c0f5e85e2 Make api use converter package. 2014-08-01 14:26:35 -07:00
Brendan Burns
490bb28bf9 Add TCP socket based health checking. 2014-08-01 14:13:56 -07:00
Clayton Coleman
7ce23e43e7 More verbose error on missing field 2014-07-31 14:38:38 -04:00
Dawn Chen
21513b1e08 Merge pull request #691 from dchen1107/restart
Add RestartPolicy to Pod and PodTemplate
2014-07-30 15:32:20 -07:00
Dawn Chen
2740fb0abf Add RestartPolicy to Pod and PodTemplate 2014-07-30 15:31:27 -07:00
Daniel Smith
ce586c1448 Test both directions of the conversion. 2014-07-30 15:04:01 -07:00
Daniel Smith
242c8cdaec Add custom conversion function system.
As an example, demonstrate how Env.Key's deprecation ought to work.
2014-07-30 14:18:23 -07:00
brendandburns
b0d18b2af0 Merge pull request #571 from lavalamp/master
Decode/Encode everywhere
2014-07-29 17:19:33 -07:00
Daniel Smith
2396bdfa1b Incorporate new types into versioned api system.
* Made externalize/internalize generic to prevent boilerplate.
* Add fuzz testing.
* All objects pass fuzz tests now.
* This turned up some things we'll need to fix eventually. Left TODOs.
2014-07-29 15:46:57 -07:00
Daniel Smith
cd0b25f1e5 Merge pull request #639 from rafael/validate_pods
Validate pod on create and update.
2014-07-28 18:49:51 -07:00
Rafael Chacón
c9a3ab168d Validate pod on create and update.
* This commit adds pod validations on when creating and updating a pod.
2014-07-28 18:02:30 -07:00
brendandburns
71b14b464a Merge pull request #623 from smarterclayton/validate_replication_controllers
Add validation to ReplicationControllers
2014-07-28 14:46:47 -07:00
Daniel Smith
b3cc696486 All types stored in etcd are now API objects.
This means I made an api.ContainerManifestList, and added a JSONBase to
endpoints (and changed Name -> JSONBase.ID).
2014-07-28 11:27:36 -07:00
Dan McPherson
c4f4f69b93 Fixing Typos 2014-07-28 15:56:20 +02:00
Clayton Coleman
d32024870a Extend validation for ReplicationController
Provide type safe checks for empty sets of selectors.
2014-07-25 12:15:17 -04:00
Jeromy Carriere
9cad657b4c Fix internalize for ReplicationControllerList. items were created
in a new var hiding the function-scoped var.
2014-07-25 10:44:45 -04:00
Brendan Burns
bf5ae4bb9d Fork API types. 2014-07-24 21:47:08 -07:00
Clayton Coleman
09294b90ce Refactor Kubelet config sources for clarity
Create a new "Pod" concept which can identify pods from
many config sources.
2014-07-21 21:18:36 -04:00
Daniel Smith
69c483f620 Add APIObject for generic inclusion of API objects.
Includes test and json/yaml getters and setters.
2014-07-18 22:35:08 -07:00
Clayton Coleman
d1de579070 Merge pull request #493 from lavalamp/scheduler
Add websocket dep & watch api support
2014-07-18 22:18:03 -04:00
Daniel Smith
eda30d4f20 Add watch mechanism to apiserver
Implemented via HTTP and websocket. A test is present but this isn't
yet wired into anything.

Eventual purpose of this is to allow a scheduler to watch for new pods.
Or allow replication controller to watch for new items it controlls.
Generally, it'll be good to turn everything possible into a push instead
of a poll.
2014-07-18 16:47:17 -07:00
Danny Jones
136c9e112c Renames HasAll to IsSuperset; HasAll uses slice.
For the pedants. HasAll is now called IsSuperset and
the new HasAll method takes a slice instead of a set.
2014-07-18 13:58:43 -07:00
Danny Jones
2d9bad95f8 Added HasAll utility method for string set.
Added HasAll method which detects if one set contains all
of the memebers of another set.

A.HasAll(B) returns true if A is a superset of B.
2014-07-18 13:19:55 -07:00
Danny Jones
bb2843498d API modified to use source; now supports EmptyDirectory
API is now modified to use a Source struct to handle multiple volumes.

Two volume types are supported now, HostDirectory and EmptyDirectory.
2014-07-17 15:25:50 -07:00
Danny Jones
f84ff740f0 Adds initial volumes package; Supports host-dirs
Adds the framework for external volume mounts.

Currently supports bare host directory mounts.

Modifies the API to support host directory mounts from Volumes
instead of VolumeMounts.
2014-07-17 10:08:45 -07:00
Yuki Sonoda (Yugui)
07b8be4d4c Merge branch 'master' into fix/golint2
Conflicts:
	pkg/api/types.go
	pkg/health/health_check.go
	pkg/kubelet/kubelet.go
	pkg/kubelet/kubelet_server.go
	pkg/kubelet/kubelet_server_test.go
	pkg/kubelet/kubelet_test.go
2014-07-16 21:33:21 +09:00
Nan Deng
8c573ee727 Update to latest cAdvisor and use data structures directly from cAdvisor 2014-07-15 11:53:00 -07:00
Yuki Yugui Sonoda
af38bf1ef7 Fixes golint errors in pkg/api 2014-07-15 22:56:09 +09:00
Brendan Burns
3cc5ff15cf Update services to use the internal IP and port, now that its available. 2014-07-14 20:24:58 -07:00
Brendan Burns
0e798bcc3c Add link env vars. 2014-07-14 16:37:17 -07:00
Tim Hockin
779cb84625 Merge pull request #397 from brendandburns/service
Add initial validation of Service objects
2014-07-11 14:43:47 -07:00
Brendan Burns
c9babe619e Updated to use the makeInvalidError helper function. 2014-07-11 14:24:55 -07:00
Brendan Burns
e9edfc754e Add initial validation of Service objects 2014-07-11 14:24:54 -07:00
Tim Hockin
f532038281 Merge pull request #345 from smarterclayton/fix_ids
Ensure pod and manifest have a UUID in apiserver
2014-07-11 11:29:00 -07:00
Brendan Burns
6312ffebcf Address some comments from thockin@ 2014-07-11 10:14:45 -07:00
Clayton Coleman
5896ac14da Ensure pod and manifest always have a UUID
* Fixes implication #2 in docs/identifiers.md
* Replication controller lets the apiserver set the pod ID
2014-07-10 18:03:48 -04:00
Tim Hockin
06ac51e6e5 Merge pull request #389 from brendandburns/podip
Add PodIP to the info returned for a pod.
2014-07-10 11:18:05 -07:00
Yuki Sonoda (Yugui)
6914681ed0 Fixes golint errors in pkg/api 2014-07-10 20:46:35 +09:00
Brendan Burns
7b11cbd622 Add PodIP to the info returned for a pod. 2014-07-09 22:13:07 -07:00
Tim Hockin
b0b9606aea Merge pull request #365 from brendandburns/health
add http health checks.
2014-07-09 16:14:30 -07:00
brendandburns
4c309862e3 Merge pull request #371 from thockin/valid3
Accumulate errors during validation
2014-07-09 13:36:37 -07:00
Brendan Burns
41c6680943 add http health checks. 2014-07-09 12:01:43 -07:00
Brendan Burns
4b22f7a462 Add support for host ip binding to the API (and kubelet) 2014-07-09 11:13:38 -07:00
Tim Hockin
4ecefd1ba3 Define an errorList type and use it to accumulate 2014-07-09 07:56:27 -07:00
Tim Hockin
54790080b3 Accumulate validation errors
Rather than report the first error, accumulate all errors and report them all
at once.
2014-07-09 07:55:15 -07:00
brendandburns
242627eaf0 Merge pull request #358 from thockin/valid2
Add validation of VolumeMounts
2014-07-08 21:58:32 -07:00
Tim Hockin
ad88fa48a5 Add validation of Ports
Also do caseless compares for "enum" strings.
2014-07-08 15:22:44 -07:00
Tim Hockin
dd6b209617 Add validation of VolumeMounts 2014-07-08 15:21:27 -07:00
Tim Hockin
8d6e832b8e Simplify DNS validation checks
Move DNS length checks to util/validation.go.  Make the max subdomain be 253,
which is what the RFC actually says.
2014-07-08 15:14:17 -07:00
Yuki Yugui Sonoda
780c441d19 Fixes golint errors in pkg/api 2014-07-08 16:08:58 +09:00
brendandburns
0b9f36b761 Merge pull request #307 from lavalamp/atomic
All PUTs now atomic
2014-07-02 16:31:35 -07:00
Tim Hockin
3f057baa0a Use structured errors during validation 2014-07-02 16:17:47 -07:00
Daniel Smith
3b9735d787 Test atomic PUTs, and make them work.
Improve apiserver/logger.go's interface (it's pretty cool now).

Improve apiserver's error reporting to clients.

Improve client's handling of errors from apiserver.

Make failed PUTs return 409 (conflict)-- http status codes are amazingly
well defined for what we're doing!
2014-07-02 15:42:05 -07:00
Daniel Smith
a6144f656c Move etcd helpers to tools package so they can depend on api package. Add ResourceVersion, hook it up to etcd index to get atomic PUTs. 2014-07-02 15:42:05 -07:00
Tim Hockin
3cd56e85d6 Simplify supported manifest versions 2014-07-02 14:57:24 -07:00
Tim Hockin
48074d4ae7 Fix wrong json name for Key field 2014-07-02 10:30:27 -07:00
Tim Hockin
839f2aed7b Add validation for Container.Env
This includes backwards compat with the older "key" field.
2014-07-01 22:16:46 -07:00
brendandburns
8d2ee4b7ae Merge pull request #330 from thockin/valid7
Add basic validation of Containers
2014-07-01 22:14:40 -07:00
Tim Hockin
fe67ef79b9 Add basic validation of Containers 2014-07-01 22:05:42 -07:00
Daniel Smith
11d6451d2a Change kublet to serve podInfo instead of containerInfo. Plumb through system. 2014-07-01 16:41:10 -07:00
Daniel Smith
049bc6b6d4 Fix interface{} in api/types.go; plumb through system. 2014-07-01 16:41:09 -07:00
Tim Hockin
045f1bda0c Add validation of Volumes 2014-07-01 16:30:39 -07:00
brendandburns
ec01289aeb Merge pull request #326 from thockin/valid2
First piece ofn actual validation
2014-07-01 15:40:13 -07:00
Tim Hockin
8bc49a02c3 Document api types wrt validation
Part 3 in a series of changes towards data validation.
2014-07-01 13:58:44 -07:00
Tim Hockin
a92e1aa1bf First piece of validation
I'm adding pieces incrementally to make sure we get full testing of each
piece.

Make syncLoop() private
2014-07-01 13:48:57 -07:00
Brendan Burns
13d7a5959a Add sync behavior to the pod registry. Expand tests. 2014-07-01 11:31:21 -07:00
Clayton Coleman
15c96508a9 Use ID instead of Id (go style) everywhere
Fixes #278
2014-07-01 13:16:47 -04:00
Meir Fischer
a2513eb1d6 Test rejection of bad JSON. 2014-06-26 19:27:56 -04:00
Daniel Smith
afd13edd6a Address comments; also, demonstrate one more property in test. 2014-06-26 11:36:15 -07:00
brendandburns
19fa068de4 Merge pull request #232 from lavalamp/master
Make minion printing prettier; standardize on MinionList.Items
2014-06-24 15:34:06 -07:00
Daniel Smith
2cc038298b Make minion printing prettier; standardize on MinionList.Items like the other list types. 2014-06-24 15:29:17 -07:00
Brendan Burns
8b50e45dcc Update the proxy server. 2014-06-24 11:25:45 -07:00
Daniel Smith
c12a3773f5 Add minion types, address other comments 2014-06-23 13:27:52 -07:00
Daniel Smith
ee75bb8dbe Address comments; Also internally start using JSONBase instead of reflect.Value of JSONBase. 2014-06-23 09:54:17 -07:00
Daniel Smith
41534c1cc5 Encode/decode working everywhere now. 2014-06-23 09:54:17 -07:00
Daniel Smith
d7b4915111 Don't make people have to worry about the Kind field. 2014-06-23 09:54:17 -07:00
Daniel Smith
fb991fb84e Change type to []byte 2014-06-23 09:54:17 -07:00
Daniel Smith
a9d9bb9d47 Add intelligent type marshalling/unmarshalling 2014-06-23 09:54:17 -07:00
brendandburns
3a9a3b1114 Merge pull request #174 from monnand/kubelet-cadvisor
Letting kubelet retrieve container stats from cAdvisor
2014-06-20 08:36:22 -07:00
brendandburns
168ec29f54 Merge pull request #178 from vmarmol/add-external-mounts
Adding support for external mounts
2014-06-19 21:28:40 -07:00
Victor Marmol
e794f539d8 Adding support for external mounts 2014-06-19 21:14:19 -07:00
Brendan Burns
ae9fce1358 Fix the container manifest to so that Command is an array, not a string. 2014-06-19 20:21:20 -07:00
Nan Deng
037cfd257f add /containerStats 2014-06-19 20:44:52 +00:00
Daniel Smith
cfce408266 Rename ReplicasInSet to ReplicaSelector 2014-06-19 13:31:42 -07:00
Daniel Smith
c4649d539b Separate labels and selector in services for clarity 2014-06-19 13:30:04 -07:00
Brendan Burns
2759b2367f Add load balancing support to services. 2014-06-17 12:37:39 -07:00
Brendan Burns
32071289e6 Add some documentation 2014-06-15 22:42:19 -07:00
Brendan Burns
164160adef Address package level comments for readability. 2014-06-12 20:26:12 -07:00
Daniel Smith
601f6bb4ad Add inline attribute 2014-06-12 17:23:28 -07:00
Daniel Smith
12c1d660a3 Fix link 2014-06-11 17:20:16 -07:00
Brendan Burns
66e2575f2b More Task -> Pod 2014-06-08 21:43:17 -07:00
Brendan Burns
c8d493f532 Part one of the grand rename: Task -> Pod 2014-06-08 21:17:53 -07:00
Brendan Burns
ef7cce5dad Populate 'Kind' field in all API types being returned. 2014-06-07 21:07:20 -07:00
Joe Beda
2c4b3a562c First commit 2014-06-06 16:40:48 -07:00