Commit Graph

356 Commits

Author SHA1 Message Date
Tim Hockin
3384e03920 Commit generated files
There's been enough people broken by not committing generated code, that we
should undo that until we have a proper client that is `go get` compatible.

This is temporary.
2016-07-15 10:27:51 -07:00
Clayton Coleman
866e788aba
generate: New Stringers 2016-07-14 12:43:36 -04:00
Tim Hockin
9eb42ff108 Don't check in generated conversion code
Conversion is now generated by Makefile, on demand, rather than all at once.
Manually verified no net change in generated code.
2016-07-12 21:52:54 -07:00
Tim Hockin
58441e8775 Don't check in generated deep-copy code
This mostly takes the previously checked in files and removes them, and moves
the generation to be on-demand instead of manual.  Manually verified no change
in generated output.
2016-07-12 21:52:54 -07:00
Dr. Stefan Schimanski
629b25daf9 Run hack/update-all.sh 2016-07-12 20:36:48 +02:00
Tim Hockin
291b51ec50 Use file tags to generate conversions
This drives conversion generation from file tags like:
  // +conversion-gen=k8s.io/my/internal/version
.. rather than hardcoded lists of packages.

The only net change in generated code can be explained as correct.  Previously
it didn't know that conversion was available.
2016-07-07 22:09:08 -07:00
Tim Hockin
dc10f10e48 Recreate the opt-in/opt-out logic for deepcopy
This is the last piece of Clayton's #26179 to be implemented with file tags.
All diffs are accounted for.  Followup will use this to streamline some
packages.

Also add some V(5) debugging - it was helpful in diagnosing various issues, it
may be helpful again.
2016-07-07 16:49:46 -07:00
Tim Hockin
28af54138d Use file tags to generate deep-copies
This drives most of the logic of deep-copy generation from tags like:
  // +deepcopy-gen=package
..rather than hardcoded lists of packages.  This will make it possible to
subsequently generate code ONLY for packages that need it *right now*, rather
than all of them always.

Also remove pkgs that really do not need deep-copies (no symbols used
anywhere).
2016-07-07 16:49:46 -07:00
Tim Hockin
d88fc84bae Make multi-key tags more explicit
This is in prep to simplify tag logic.  Don't rely on processing commas as new
tag delimiters.  Put new tags on new lines.  This had zero effect on generated
code (as intended).
2016-07-07 16:49:46 -07:00
Tim Hockin
57c3196914 Add support for manually defined DeepCopy methods
In bringing back Clayton's PR piece-by-piece this was almost as easy to
implement as his version, and is much more like what I think we should be
doing.

Specifically, any time which defines a .DeepCopy() method will have that method
called preferentially.  Otherwise we generate our own functions for
deep-copying.  This affected exactly one type - resource.Quantity.  In applying
this heuristic, several places in the generated code were simplified.

To achieve this I had to convert types.Type.Methods from a slice to a map,
which seems correct anyway (to do by-name lookups).
2016-07-07 16:49:46 -07:00
Tim Hockin
e18b2f3a2e Revert Clayton's #26179 so I can recreate it
His PR cam during the middle of this development cycle, and it was easier to
burn it down and recreate it than try to patch it into an existing series and
re-test every assumption.  This behavior will be re-introduced in subsequent
commits.
2016-07-07 16:49:46 -07:00
bin liu
426fdc431a Merge branch 'master' into fix-typos 2016-07-04 11:20:47 +08:00
Tim Hockin
bb208a02b3 Make IsValidPercent return error strings 2016-07-02 17:34:32 -07:00
Tim Hockin
14bece550f Make IsValidPortNum/Name return error strings 2016-07-02 17:32:05 -07:00
David McMahon
ef0c9f0c5b Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
bin liu
fd27cd47f7 fix some typos
Signed-off-by: bin liu <liubin0329@gmail.com>
2016-06-22 18:14:26 +08:00
Michail Kargakis
f3d2e3ff22 controller: proportionally scale paused and rolling deployments
Enable paused and rolling deployments to be proportionally scaled.
Also have cleanup policy work for paused deployments.
2016-06-20 12:13:35 +02:00
k8s-merge-robot
090e6ff660 Merge pull request #27625 from goltermann/spell2
Automatic merge from submit-queue

Fix several spelling errors in comments

What the title says
2016-06-18 23:08:28 -07:00
k8s-merge-robot
9d8e79be09 Merge pull request #27168 from smarterclayton/flatten_types
Automatic merge from submit-queue

ObjectMeta, ListMeta, and TypeMeta should implement their interfaces

Make unversioned.ListMeta implement List. Update all the *List types so they implement GetListMeta.
This helps avoid using reflection to get list information.

Remove all unnecessary boilerplate, move the interfaces to the right
places, and add a test that verifies that objects implement one, the
other, but never both.

@ncdc @lavalamp this supercedes #26964 with the boilerplate removed.  Added tests
2016-06-18 20:23:50 -07:00
k8s-merge-robot
6b9400d789 Merge pull request #26388 from caseydavenport/cd-networkpolicy-uts
Automatic merge from submit-queue

NetworkPolicy unit tests

- [x] Validation tests
- [x] storage tests
- [x] strategy tests
- [ ] test-cmd.sh

CC @thockin
2016-06-18 00:30:00 -07:00
goltermann
218645b346 Fix several spelling errors in comments. 2016-06-17 10:41:18 -07:00
Janet Kuo
c160f75157 Fix deployment strategy validation 2016-06-10 11:14:32 -07:00
Andy Goldstein
e3af3451c8
ObjectMeta, ListMeta, and TypeMeta should implement their interfaces
Make unversioned.ListMeta implement List. Update all the *List types so they implement GetListMeta.
This helps avoid using reflection to get list information.

Remove all unnecessary boilerplate, move the interfaces to the right
places, and add a test that verifies that objects implement one, the
other, but never both.
2016-06-10 13:28:54 -04:00
Janet Kuo
5d582501b4 Add unit test for deployment strategy validation 2016-06-10 10:16:49 -07:00
Casey Davenport
9f2c3a677b Validation, etcd, strategy UTs for NetworkPolicy 2016-06-09 15:16:31 -07:00
Casey Davenport
6fe7da72b4 Fix NetworkPolicy validation bug 2016-06-08 16:31:29 -07:00
Clayton Coleman
e1dc3ef933
Remove unused deep_copies 2016-06-06 17:18:22 -04:00
k8s-merge-robot
3717e4e46b Merge pull request #26033 from smarterclayton/safer_quantity
Automatic merge from submit-queue

Round should avoid clearing s, save a string

Instead of saving bytes, save a string, which makes String() faster
and does not unduly penalize marshal. During parse, save the string
if it is in canonical form.

@wojtek-t @lavalamp this makes quantity.String() faster for a few cases
where it matters. We were also not clearing s properly before on Round()
2016-05-28 09:56:39 -07:00
Clayton Coleman
2faf49c75c
Generated fields for inlining 2016-05-28 08:53:22 -04:00
Clayton Coleman
ff867fe034
Changes to resource serialization 2016-05-24 22:32:45 -04:00
Abitha Palaniappan
11397654b6 Adding volume plugin to api/v1 and updating auto-generated files 2016-05-21 12:53:03 -07:00
Casey Davenport
47248f3698 v1beta1 NetworkPolicy API definition and client support 2016-05-19 19:02:54 -07:00
Daniel Smith
5448400b1c Merge pull request #25243 from smarterclayton/explore_quantity
Provide an int64 version of Quantity that is much faster
2016-05-19 16:56:48 -07:00
Tim Hockin
5862a60ae7 Make IsDNS1123Subdomain return error strings 2016-05-19 08:57:49 -07:00
Tim Hockin
77eff06a53 Make IsDNS1123Label return error strings 2016-05-19 08:57:49 -07:00
Clayton Coleman
5e4308f91d
Update use of Quantity in other classes 2016-05-19 08:41:43 -04:00
k8s-merge-robot
4f09f51486 Merge pull request #24800 from thockin/validation_pt8-3
Automatic merge from submit-queue

Make name validators return string slices

Part of the larger validation PR, broken out for easier review and merge.  Builds on previous PRs in the series.
2016-05-19 02:15:27 -07:00
Tim Hockin
152c86ab06 Make name validators return string slices 2016-05-18 00:48:01 -07:00
Clayton Coleman
6cc6d29339
Generated code for init containers 2016-05-17 00:29:52 -04:00
k8s-merge-robot
272674b2a6 Merge pull request #25007 from liggitt/third-party-resource-validation
Automatic merge from submit-queue

validate third party resources

addresses validation portion of https://github.com/kubernetes/kubernetes/issues/22768

* ThirdPartyResource: validates name (3 segment DNS subdomain) and version names (single segment DNS label)
* ThirdPartyResourceData: validates objectmeta (name is validated as a DNS label)
* removes ability to use GenerateName with thirdpartyresources (kind and api group should not be randomized, in my opinion)

test improvements:
* updates resttest to clean up after create tests (so the same valid object can be used)
* updates resttest to take a name generator (in case "foo1" isn't a valid name for the object under test)

action required for alpha thirdpartyresource users:
* existing thirdpartyresource objects that do not match these validation rules will need to be removed/updated (after removing thirdpartyresourcedata objects stored under the disallowed versions, kind, or group names)
* existing thirdpartyresourcedata objects that do not match the name validation rule will not be able to be updated, but can be removed
2016-05-15 03:38:29 -07:00
Matt Liggett
2bc46d5085 It's 2016, yo. 2016-05-13 12:41:40 -07:00
k8s-merge-robot
4e57c80052 Merge pull request #24600 from pweil-/psp
Automatic merge from submit-queue

PSP admission

```release-note
Update PodSecurityPolicy types and add admission controller that could enforce them
```

Still working on removing the non-relevant parts of the tests but I wanted to get this open to start soliciting feedback.

- [x] bring PSP up to date with any new features we've added to SCC for discussion
- [x] create admission controller that is a pared down version of SCC (no ns based strategies, no user/groups/service account permissioning)
- [x] fix tests

@liggitt @pmorie - this is the simple implementation requested that assumes all PSPs should be checked for each requests.  It is a slimmed down version of our SCC admission controller

@erictune @smarterclayton
2016-05-11 21:26:45 -07:00
saadali
666da0ccdc Run codegen and codecgen 2016-05-11 17:15:55 -07:00
saadali
b83af3d481 Change "speter.net/go/exp/math/dec/inf" dependency
to "https://gopkg.in/inf.v0"
2016-05-11 17:01:28 -07:00
Paul Weil
f11a4ab9a7 generated code 2016-05-11 18:07:36 -04:00
Paul Weil
56193b7140 PSP types 2016-05-11 18:07:35 -04:00
k8s-merge-robot
e0f7de94f5 Merge pull request #25279 from piosz/hpa-ga
Automatic merge from submit-queue

Move internal types of hpa from pkg/apis/extensions to pkg/apis/autoscaling

ref #21577

@lavalamp could you please review or delegate to someone from CSI team?
@janetkuo could you please take a look into the kubelet changes?

cc @fgrzadkowski @jszczepkowski @mwielgus @kubernetes/autoscaling
2016-05-11 13:19:42 -07:00
k8s-merge-robot
ef885d05eb Merge pull request #21675 from soltysh/job_template
Automatic merge from submit-queue

Added JobTemplate, a preliminary step for ScheduledJob and Workflow

@sdminonne as promised, sorry it took this long 😊 
@erictune fyi though it does not have to be in for 1.2

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/21675)
<!-- Reviewable:end -->
2016-05-11 02:40:58 -07:00
Chao Xu
a013351ba3 remove extra quotation mark that breaks API docs 2016-05-10 13:29:55 -07:00
Maciej Szulik
5ef870d4c7 Added JobTemplate, a preliminary step for ScheduledJob and Workflow 2016-05-10 21:48:39 +02:00
Jordan Liggitt
6c323a4f72 Remove name generation from thirdpartyresource 2016-05-09 09:27:54 -04:00
Piotr Szczesniak
800c1a4d36 Auto-generated changes 2016-05-09 09:32:50 +02:00
Piotr Szczesniak
212b459817 Move internal types of hpa from pkg/apis/extensions to pkg/apis/autoscaling 2016-05-09 09:18:13 +02:00
Clayton Coleman
db5a851d0c
Inline default methods by hand in custom conversions 2016-05-07 11:55:31 -04:00
Clayton Coleman
7104be87cb
Regenerate conversions without reflection defaulting 2016-05-07 11:55:31 -04:00
k8s-merge-robot
3ee833ca3b Merge pull request #25006 from liggitt/third-party-root-scope
Automatic merge from submit-queue

Make ThirdPartyResource a root scoped object

ThirdPartyResource (the registration of a third party type) belongs at the cluster scope. It results in resource handlers installed in every namespace, and the same name in two namespaces collides (namespace is ignored when determining group/kind).

ThirdPartyResourceData (an actual instance of that type) is still namespace-scoped.

This PR moves ThirdPartyResource to be a root scope object. Someone previously using ThirdPartyResource definitions in alpha should be able to move them from namespace to root scope like this:

setup (run on 1.2):
```
kubectl create ns ns1

echo '{"kind":"ThirdPartyResource","apiVersion":"extensions/v1beta1","metadata":{"name":"foo.example.com"},"versions":[{"name":"v8"}]}' | kubectl create -f - --namespace=ns1

echo '{"kind":"Foo","apiVersion":"example.com/v8","metadata":{"name":"MyFoo"},"testkey":"testvalue"}' | kubectl create -f - --namespace=ns1
```

export:
```
kubectl get thirdpartyresource --all-namespaces -o yaml > tprs.yaml
```

remove namespaced kind registrations (this shouldn't remove the data of that type, which is another possible issue):
```
kubectl delete -f tprs.yaml
```

... upgrade ...

re-register the custom types at the root scope:
```
kubectl create -f tprs.yaml
```

Additionally, pre-1.3 clients that expect to read/write ThirdPartyResource at a namespace scope will not be compatible with 1.3+ servers, and 1.3+ clients that expect to read/write ThirdPartyResource at a root scope will not be compatible with pre-1.3 servers.
2016-05-06 20:50:35 -07:00
k8s-merge-robot
4a7ec6034f Merge pull request #23928 from caesarxuchao/cascading-deletion-API-changes
Automatic merge from submit-queue

API changes for Cascading deletion 

This PR includes the necessary API changes to implement cascading deletion with finalizers as proposed is in #23656. Comments are welcome.

@lavalamp @derekwaynecarr @bgrant0607 @rata @hongchaodeng
2016-05-05 19:46:40 -07:00
Clayton Coleman
5622c8a471
Generated files 2016-05-05 12:08:23 -04:00
Chao Xu
4562a26d34 generated changes 2016-05-04 21:54:55 -07:00
Clayton Coleman
99430cf5de
Strip side-effect imports from generated protobuf 2016-05-02 18:12:20 -04:00
Jordan Liggitt
e41d504739 Move ThirdPartyResource to root scoped object 2016-04-30 01:06:07 -04:00
Clayton Coleman
fdb110c859
Fix the rest of the code 2016-04-29 17:12:10 -04:00
Clayton Coleman
8d0187add2
Generation changes 2016-04-29 17:12:09 -04:00
Clayton Coleman
cf133ee03a
Convert remaining int types to fixed
Having internal and external integer types being different hides
potential conversion problems. Propagate that out further (which will
also allow us to better optimize conversion).
2016-04-29 17:12:04 -04:00
k8s-merge-robot
46a6cae14e Merge pull request #24907 from smarterclayton/default_inliners
Automatic merge from submit-queue

Make all defaulters public

Will allow for generating direct accessors in conversion code instead of using reflection.

@wojtek-t
2016-04-29 06:36:09 -07:00
Abhishek Shah
8a3ed48808 Added Hostname and Subdomain field to Pod.Spec 2016-04-28 10:56:56 -07:00
Clayton Coleman
3e36dd62c6
Move defaulter functions to public methods with a convention
Preparing to generate direct defaulter access.
2016-04-28 12:20:13 -04:00
Maciej Szulik
c470afc206 Generated changes for moving job internals from pkg/apis/extensions to pkg/apis/batch 2016-04-25 11:03:57 +02:00
Maciej Szulik
a3b4447305 Move internal types of job from pkg/apis/extensions to pkg/apis/batch 2016-04-25 11:03:54 +02:00
Clayton Coleman
e16a7f2421 Initial protobuf generated files 2016-04-20 12:13:05 -04:00
Daniel Smith
490c68dbe3 Merge pull request #23768 from wojtek-t/conversions_with_framework_6
Migrate to new conversions generator - part 2
2016-04-14 11:30:21 -07:00
Clayton Coleman
3474911736 Implement a streaming serializer for watch
Changeover watch to use streaming serialization. Properly version the
watch objects. Implement simple framing for JSON and Protobuf (but not
YAML).
2016-04-11 11:22:05 -04:00
Wojciech Tyczynski
81265b8f85 Regenerate files 2016-04-11 08:07:40 +02:00
Wojciech Tyczynski
7448cc04e1 Switch to new generator 2016-04-11 08:04:45 +02:00
Wojciech Tyczynski
49d3c3962c Small improvements in conversion generator 2016-04-05 02:10:23 +02:00
k8s-merge-robot
fb5181a596 Merge pull request #23500 from tam7t/tls-sni-routing
Auto commit by PR queue bot
2016-03-29 07:16:22 -07:00
Tommy Murphy
4d22c2fd6a IngressTLS: allow secretName to be blank for SNI routing 2016-03-28 21:25:54 -04:00
Mike Danese
2eb4896858 validate that daemonsets don't have empty selectors on creation 2016-03-28 10:10:12 -07:00
k8s-merge-robot
b8e390a0f3 Merge pull request #22824 from brendandburns/enable
Auto commit by PR queue bot
2016-03-24 22:26:39 -07:00
Brendan Burns
87a1635c93 Machine generated stuff 2016-03-22 14:41:37 -07:00
Brendan Burns
a0fcbd1495 Enable third party resources. 2016-03-21 17:02:18 -07:00
Salvatore Dario Minonne
35c596b7c0 Add unit test for JobUpdateStatus and fix erroneous test for DaemonSetStatusUpdate 2016-03-18 16:35:38 +01:00
Wojciech Tyczynski
7e2fdeae7b Regenerate autogenerate files 2016-03-17 15:22:19 +01:00
Jordan Liggitt
64f51723c8 Avoid populating job selector from pod template labels in autoSelector case 2016-03-16 02:23:01 -04:00
Chao Xu
9bdd30fdf1 make fullyLabeledReplicas optional in rc and rs status 2016-03-15 15:10:55 -07:00
Chao Xu
a6240c1ab8 add FullyLabeledReplicas in Replicaset Status and ReplicationController Status 2016-03-11 23:55:04 -08:00
Madhusudan.C.S
6fc1837e5e Auto-generated code. 2016-03-09 21:24:24 -08:00
Madhusudan.C.S
db48dcf583 ReplicaSetSpec.Template shouldn't be a pointer.
PodTemplateSpec should be consistent for all the types in extensions/v1beta1.

See PR #19510.
2016-03-09 21:24:16 -08:00
Madhusudan.C.S
fe26381c90 Support for both map-based and set-based selectors in extensions/v1beta1.Scale
Here are a list of changes along with an explanation of how they work:
1. Add a new string field called TargetSelector to the external version of
   extensions Scale type (extensions/v1beta1.Scale). This is a serialized
   version of either the map-based selector (in case of ReplicationControllers)
   or the unversioned.LabelSelector struct (in case of Deployments and
   ReplicaSets).
2. Change the selector field in the internal Scale type (extensions.Scale) to
   unversioned.LabelSelector.
3. Add conversion functions to convert from two external selector fields to a
   single internal selector field. The rules for conversion are as follows:
   i.   If the target resource that this scale targets supports LabelSelector
        (Deployments and ReplicaSets), then serialize the LabelSelector and
        store the string in the TargetSelector field in the external version
        and leave the map-based Selector field as nil.
   ii.  If the target resource only supports a map-based selector
        (ReplicationControllers), then still serialize that selector and
	store the serialized string in the TargetSelector field. Also,
	set the the Selector map field in the external Scale type.
   iii. When converting from external to internal version, parse the
        TargetSelector string into LabelSelector struct if the string isn't
	empty. If it is empty, then check if the Selector map is set and just
	assign that map to the MatchLabels component of the LabelSelector.
   iv.  When converting from internal to external version, serialize the
        LabelSelector and store it in the TargetSelector field. If only
	the MatchLabel component is set, then also copy that value to
	the Selector map field in the external version.
4. HPA now just converts the LabelSelector field to a Selector interface
   type to list the pods.
5. Scale Get and Update etcd methods for Deployments and ReplicaSets now
   return extensions.Scale instead of autoscaling.Scale.
6. Consequently, SubresourceGroupVersion override and is "autoscaling"
   enabled check is now removed from pkg/master/master.go
7. Other small changes to labels package, fuzzer and LabelSelector
   helpers to piece this all together.
8. Add unit tests to HPA targeting Deployments and ReplicaSets.
9. Add an e2e test to HPA targeting ReplicaSets.
2016-03-09 17:54:17 -08:00
k8s-merge-robot
b198c820cd Merge pull request #22402 from erictune/psp-simplify
Auto commit by PR queue bot
2016-03-05 07:55:19 -08:00
Madhusudan.C.S
9e99f9fa0e Register scale subresource for Deployments and ReplicaSets.
Define etcd registry methods for scale subresource in Deployments and
ReplicaSets. Register them with the API server.
2016-03-04 11:01:36 -08:00
Eric Tune
87b095d33c Regenerate 2016-03-03 11:49:48 -08:00
Eric Tune
4d090bfb09 Rename PodSecurityPolicy fields
In podSecurityPolicy:
1. Rename .seLinuxContext to .seLinux
2. Rename .seLinux.type to .seLinux.rule
3. Rename .runAsUser.type to .runAsUser.rule
4. Rename .seLinux.SELinuxOptions

1,2,3 as suggested by thockin in #22159.
I added 3 for consistency with 2.
2016-03-03 11:49:48 -08:00
Chao Xu
7a85d54d4e fix links 2016-02-29 13:27:29 -08:00
Brian Grant
f5a92cc13c Merge pull request #21865 from piosz/cluster-autoscaling-cleanup
Cluster autoscaling cleanup
2016-02-26 15:25:55 -08:00
Eric Tune
2afcc7d165 Regenerate 2016-02-25 09:28:07 -08:00
Eric Tune
79d4ab77fc Conversion between manualSelector and autoSelector 2016-02-25 09:28:07 -08:00
Eric Tune
875755f992 Added Selector Generation to Job.
Added selector generation to Job's
strategy.Validate, right before validation.
Can't do in defaulting since UID is not known.

Added a validation to Job to ensure that the generated
labels and selector are correct when generation was requested.
This happens right after generation, but validation is in a better
place to return an error.

Adds "manualSelector" field to batch/v1 Job to control selector generation.
Adds same field to extensions/__internal.  Conversion between those two
is automatic.

Adds "autoSelector" field to extensions/v1beta1 Job.  Used for storing batch/v1 Jobs
    - Default for v1 is to do generation.
    - Default for v1beta1 is to not do it.
    - In both cases, unset == false == do the default thing.

Release notes:
Added batch/v1 group, which contains just Job, and which is the next
version of extensions/v1beta1 Job.

The changes from the previous version are:
- Users no longer need to ensure labels on their pod template are unique to the enclosing
  job (but may add labels as needed for categorization).
- In v1beta1, job.spec.selector was defaulted from pod labels, with the user responsible for uniqueness.
  In v1, a unique label is generated and added to the pod template, and used as the selector (other
  labels added by user stay on pod template, but need not be used by selector).
- a new field called "manualSelector" field exists to control whether the new behavior is used,
  versus a more error-prone but more flexible "manual" (not generated) seletor.  Most users
  will not need to use this field and should leave it unset.

Users who are creating extensions.Job go objects and then posting them using the go client
will see a change in the default behavior.  They need to either stop providing a selector (relying on
selector generation) or else specify "spec.manualSelector" until they are ready to do the former.
2016-02-25 09:28:07 -08:00
Piotr Szczesniak
13a9f9f883 autogenerated 2016-02-24 09:58:49 +01:00
Piotr Szczesniak
ea2075404d Removed cluster autoscaler types frome extensions/v1beta1 2016-02-24 09:45:13 +01:00