Commit Graph

867 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
815bae5aaa
Merge pull request #102074 from creydr/change-the-users-of-isqualifiedname-to-validatequalifiedname
Change the users of IsQualifiedName to ValidateQualifiedName
2021-05-24 13:38:49 -07:00
Kubernetes Prow Robot
6e4e32985a
Merge pull request #99576 from marosset/windows-host-process-work
Windows host process work
2021-05-20 14:16:15 -07:00
Kubernetes Prow Robot
8a70c48553
Merge pull request #102159 from roycaihw/mark-containerimage-name-optional
Mark ContainerImage.names as optional
2021-05-20 13:14:40 -07:00
Kubernetes Prow Robot
f52ab3845d
Merge pull request #101099 from pacoxu/podpreset-clean
remove pod preset testdata and args
2021-05-20 10:40:36 -07:00
Haowei Cai
1652e59c9b mark ContainerImage.names as optional
kubelet is the only writer of v1.Node .status.images[].names. When an
image has neither RepoDigests nor RepoTags, the value gets stored in
etcd as null. Marking the field as optional can help JSON API clients
to avoid hitting serialization error when the returned status contains
null .status.images[].names.
2021-05-19 18:55:56 -07:00
marosset
93da0fd45d API support for Windows host process containers
Co-authored-by: James Sturtevant <jstur@microsoft.com>
2021-05-19 16:24:13 -07:00
Kubernetes Prow Robot
1d0e5ac583
Merge pull request #101916 from MartinKanters/101137-document-double-dollar-behavior
Added the behavior of double dollar signs in env, command and args
2021-05-19 02:20:50 -07:00
Martin Kanters
8a4cdb847c Processed review suggestions 2021-05-18 21:11:45 +02:00
creydr
f38615fb9d Change the users of IsQualifiedName to ValidateQualifiedName 2021-05-18 10:49:15 +02:00
Kubernetes Prow Robot
49a60be8ab
Merge pull request #101496 from ahg-g/ahg-nss-beta
Graduate pod affinity NamespaceSelector to Beta
2021-05-14 08:48:04 -07:00
Abdullah Gharaibeh
e49d1144d5 graduate pod affinity NamespaceSelector to Beta 2021-05-14 10:44:57 -04:00
Martin Kanters
6d77ed7375 Ran gofmt 2021-05-13 10:28:29 +02:00
Martin Kanters
3bbb1f3f8d
Added the behavior of double dollar signs in env, command and args 2021-05-11 20:12:21 +02:00
Kubernetes Prow Robot
8ba1831951
Merge pull request #99391 from zhuangqh/update-doc
docs: fix outdated enhancement doc link
2021-05-10 12:43:36 -07:00
Ed Bartosh
c12aa0f6b7 promote HugePageStorageMediumSize to GA 2021-05-10 15:57:55 +03:00
Kubernetes Prow Robot
d9abcee491
Merge pull request #100936 from lojies/cleanuppkgapi
code cleanup for pkg/api and pkg/apis
2021-05-07 13:31:25 -07:00
Kubernetes Prow Robot
b58a7e233e
Merge pull request #100879 from JaredTan95/remove_old_ip_checks
remove old ip checks.
2021-05-04 15:39:14 -07:00
Aldo Culquicondor
1d17b18ccf Set OWNERS of pkg/apis to api-(approvers/reviewers)
Drop OWNERS in pkg/apis/core
2021-05-04 19:33:36 +00:00
JaredTan95
b6fbe5e622 remove old ip checks
Signed-off-by: JaredTan95 <jian.tan@daocloud.io>
2021-05-04 08:57:29 +08:00
卢振兴10069964
4e447acab0 code cleanup for pkg/api and pkg/apis 2021-04-28 08:57:23 +08:00
Kubernetes Prow Robot
21ab9c4175
Merge pull request #95286 from SergeyKanzhelev/removePodUnknown
Deprecating PodUnknown podPhase
2021-04-27 11:21:38 -07:00
Kubernetes Prow Robot
75d571a10b
Merge pull request #101342 from rosenhouse/promote-namespace-default-labels-to-ga
Promote NamespaceDefaultLabelName to GA
2021-04-22 13:19:57 -07:00
Kubernetes Prow Robot
972ee2d425
Merge pull request #101034 from verb/1.22-ec-api
Switch alpha Pod ephemeralcontainers API to use Pod kind
2021-04-22 06:21:41 -07:00
Gabe Rosenhouse
176c07dfdd fix up test for setting default namespace labels 2021-04-21 23:50:58 +00:00
Kubernetes Prow Robot
889f1c3951
Merge pull request #101084 from robscott/endpointslice-ip-validation
Updating EndpointSlice validation to match Endpoints validation
2021-04-16 17:10:21 -07:00
Kubernetes Prow Robot
df9ad4d7d2
Merge pull request #96094 from Hellcatlk/m
Some comments' typos
2021-04-16 11:54:22 -07:00
Kubernetes Prow Robot
24350a922e
Merge pull request #101086 from enj/enj/i/auth_owners_gen
Prune stale entries from OWNERS files
2021-04-15 08:27:50 -07:00
pacoxu
e9a3b92985 remove pod preset testdata and args
Signed-off-by: pacoxu <paco.xu@daocloud.io>
2021-04-14 16:23:23 +08:00
Monis Khan
91241eac9b
Prune stale entries from OWNERS files
Signed-off-by: Monis Khan <mok@vmware.com>
2021-04-13 20:54:50 -04:00
Abdullah Gharaibeh
6ebafb37dd Graduate PodDeletionCost to Beta 2021-04-13 20:01:21 -04:00
Rob Scott
764b501ac4
Updating EndpointSlice validation to match Endpoints validation 2021-04-13 15:26:19 -07:00
Dan Winship
4272ac92a7 Document the NodeAddressType values 2021-04-13 13:57:54 -04:00
Lee Verberne
d8ee5ab09e Generated code for Pod-based ephemeralcontainers 2021-04-13 13:36:48 +02:00
Lee Verberne
d22dc5cb72 Switch ephemeralcontainers SR to Pod Kind
This changes the `/ephemeralcontainers` subresource of `/pods` to use
the `Pod` kind rather than `EphemeralContainers`.

When designing this API initially it seemed preferable to create a new
kind containing only the pod's ephemeral containers, similar to how
binding and scaling work.

It later became clear that this made admission control more difficult
because the controller wouldn't be presented with the entire Pod, so we
updated this to operate on the entire Pod, similar to how `/status`
works.
2021-04-13 13:36:48 +02:00
zhuangqh
adf28648cb docs: fix outdated enhancement doc link
Signed-off-by: zhuangqh <zhuangqhc@gmail.com>
2021-04-12 15:15:58 +08:00
Kubernetes Prow Robot
3723713c55
Merge pull request #100922 from lojies/cleanupvalidation
code cleanup for validation.go
2021-04-10 19:05:10 -07:00
Kubernetes Prow Robot
b8c6de0e00
Merge pull request #100866 from bowei/small-validation-msg
Update IP address validation message to include IPv6
2021-04-10 19:04:12 -07:00
Kubernetes Prow Robot
1cedfef5c6
Merge pull request #100728 from robscott/topology-auto
Updating Topology Aware Hints to support "Auto" value for annotation
2021-04-09 05:20:38 -07:00
Kubernetes Prow Robot
7edb592e3d
Merge pull request #100575 from ZP-AlwaysWin/dev-moons
Add unit tests and fix scenarios not covered in unit tests
2021-04-09 05:19:20 -07:00
卢振兴10069964
9e96fe77e8 code cleanup for validation.go 2021-04-08 20:14:33 +08:00
Bowei Du
89ebf47640 Update IP address validation message to include IPv6
Adds unit test

Change-Id: I08c46f68b164e1ea82bf40f8a1316dfc1e95a6fb
2021-04-07 08:45:29 -07:00
Sergey Kanzhelev
4b05fe6644 podUnknown is marked as Obsolete 2021-04-06 22:43:08 +00:00
Rob Scott
50b377fe4e
Updating Topology Aware Hints to support "Auto" value for annotation
Previously only "auto" was supported, a value that was inconsistent with
Kubernetes naming patterns.
2021-03-31 15:58:42 -07:00
ZP-AlwaysWin
b56d8dd513 Add unit test 2021-03-26 11:10:30 +08:00
mengjiao.liu
2f9f72a563 Update PodSpec/Overhead broken links 2021-03-19 13:49:13 +08:00
Elana Hashman
7df1259d09
Generated changes for probe terminationGracePeriodSeconds 2021-03-11 16:40:40 -08:00
Elana Hashman
81cfbccea4
Validate that readiness probes can't set terminationGracePeriodSeconds 2021-03-11 14:37:57 -08:00
Elana Hashman
9cdd673a8b
Add terminationGracePeriodSeconds to Probe API 2021-03-11 14:37:49 -08:00
Kubernetes Prow Robot
410d092d8a
Merge pull request #99643 from pohly/generic-ephemeral-volume-beta
generic ephemeral volume beta
2021-03-09 17:39:26 -08:00
Kubernetes Prow Robot
05c4febbe7
Merge pull request #99975 from robscott/endpoints-over-capacity
Adding new EndpointsOverCapacity annotation for Endpoints controller
2021-03-09 16:08:48 -08:00
Kubernetes Prow Robot
00e81db174
Merge pull request #99946 from deads2k/tidy-node-validation-master
refine validation
2021-03-09 16:08:32 -08:00
Rob Scott
8a3f72074e
Adding new EndpointsOverCapacity annotation for Endpoints controller
Now that the EndpointSlice API and controllers are GA, the Endpoints
controller will use this annotation to warn when Endpoints are over
capacity. In a future release, this warning will be replaced with
truncation.
2021-03-09 09:48:53 -08:00
Kubernetes Prow Robot
207c75c6f7
Merge pull request #99522 from robscott/topology-hints
Adding support for Topology Aware Hints
2021-03-09 09:19:12 -08:00
Patrick Ohly
52b758c9b6 generic ephemeral volume: generate code
This is the result of "make update" minus the testdata update which
will be committed separately.
2021-03-09 08:22:48 +01:00
Patrick Ohly
555d4a12bf generic ephemeral volumes: drop ReadOnly field
As discussed during the alpha review, the ReadOnly field is not really
needed because volume mounts can also be read-only. It's a historical
oddity that can be avoided for generic ephemeral volumes as part
of the promotion to beta.
2021-03-09 08:22:48 +01:00
Patrick Ohly
dcce753eda generic ephemeral volumes: promote to beta 2021-03-09 08:22:48 +01:00
jay vyas
c94ce8c507
Add default namespace labels to all namespaces for selectors (#96968)
* namespace by name default labelling

Co-authored-by: Jordan Liggitt <jordan@liggitt.net>
Co-authored-by: Abhishek Raut <rauta@vmware.com>

* Make some logic improvement into default namespace label

* Fix unit tests

* minor change to trigger the CI

* Correct some tests and validation behaviors

* Add Canonicalize normalization and improve validation

* Remove label validation that should be dealt by strategy

* Update defaults_test.go
add fuzzer
ns spec

* remove the finalizer thingy

* Fix integration test

* Add namespace canonicalize unit test

* Improve validation code and code comments

* move validation of labels to validateupdate

* spacex will save us all

* add comment to testget

* readablility of canonicalize

* Added namespace finalize and status update validation

* comment about ungenerated names

* correcting a missing line on storage_test

* Update the namespace validation unit test

* Add more missing unit test changes

* Let's just blast the value. Also documenting the workflow here

* Remove unnecessary validations

Co-authored-by: Jordan Liggitt <jordan@liggitt.net>
Co-authored-by: Abhishek Raut <rauta@vmware.com>
Co-authored-by: Ricardo Pchevuzinske Katz <ricardo.katz@gmail.com>
2021-03-08 20:46:59 -08:00
Rob Scott
11f0944dbc
Adding Hints to EndpointSlice API 2021-03-08 15:37:34 -08:00
David Eads
eb264c05c5 full deepcopy on munged pod spec 2021-03-08 10:02:56 -05:00
David Eads
5130ea0da3 remove pod toleration toleration seconds mutation 2021-03-08 10:02:51 -05:00
David Eads
5570a81040 add markers for inspected validation mutation hits 2021-03-08 10:02:46 -05:00
David Eads
bd5b1e2d05 move secret mutation from validation to prepareforupdate 2021-03-08 10:02:41 -05:00
David Eads
555eba5651 remove unnecessary mutations in validation
These mutations are already done in the strategy
2021-03-08 10:02:29 -05:00
David Eads
d000f2c8c5 tweak validation to avoid mutation 2021-03-08 09:58:34 -05:00
Fangyuan Li
7ed2f1d94d Implements Service Internal Traffic Policy
1. Add API definitions;
2. Add feature gate and drops the field when feature gate is not on;
3. Set default values for the field;
4. Add API Validation
5. add kube-proxy iptables and ipvs implementations
6. add tests
2021-03-07 16:52:59 -08:00
Kubernetes Prow Robot
4e95e1df04
Merge pull request #98515 from lala123912/huge_page
Add request value verification for hugepage
2021-03-05 22:11:43 -08:00
lala123912
e162fcc1bf Add request value verification for hugepage 2021-03-05 17:36:22 +08:00
Xudong Liu
72da0b1bb0 Add LoadBalancerClass field in service
KEP-1959: https://github.com/kubernetes/enhancements/tree/master/keps/sig-cloud-provider/1959-service-lb-class-field
2021-03-04 17:11:50 -08:00
Abdullah Gharaibeh
3c5f018f8e Add CrossNamespacePodAffinity quota scope and PodAffinityTerm.NamespaceSelector APIs, and CrossNamespacePodAffinity quota scope implementation. 2021-03-03 22:52:43 -05:00
Tim Hockin
84856c7cae Remove defaults for ipFamilyPolicy and ipFamilies
These same values are set in the REST stack and it's easier to maintain
that code all in one place.

defaults.go is best for static values.
2021-03-03 09:42:02 -08:00
Abdullah Gharaibeh
d7e80ab038 Implement pod deletion cost 2021-03-01 13:45:58 -05:00
Benjamin Elder
56e092e382 hack/update-bazel.sh 2021-02-28 15:17:29 -08:00
Kubernetes Prow Robot
c200a8f9b7
Merge pull request #98433 from damemi/remove-helper-from-volume-zone
Move GetPersistentVolumeClaimClass to component-helpers
2021-02-26 12:38:15 -08:00
xiaofei.sun
fd62f32125 Scheduler: remove pkg/apis/core/field_constants.go 2021-02-24 18:06:29 +08:00
Nikhita Raghunath
6cef3a4e33 *: remove nikhiljindal from OWNERS 2021-02-16 10:59:26 +05:30
Nikhita Raghunath
6b12c96a9b *: remove madhusudancs from reviewers 2021-02-16 10:59:26 +05:30
Nikhita Raghunath
b11516d69f *: move gmarek to emeritus_approvers 2021-02-16 10:59:19 +05:30
Khaled (Kal) Henidak
32b9e31c23 ammend tests to ensure feat gate is off when expected (beta: gate is always on) 2021-02-10 23:58:55 +00:00
lala123912
d85bf77d26 organize apis unit tests into subtests 2021-02-09 15:43:27 +08:00
Mike Dame
578ff3ec34 Move Taint/Toleration helpers to component-helpers repo
This is part of the goal for scheduling to remove dependencies on internal
packages for the scheduling framework. It also provides these functions in an
external location for other components and projects to import.
2021-02-01 11:06:03 -05:00
Mike Dame
ba72411aa2 Move GetPersistentVolumeClaimClass to component-helpers
The goal of this move is related to issue 89930, to break the dependence
of scheduling plugins on internal helpers. This function can easily move to
component-helpers where it will be used by other components as well.
2021-02-01 10:48:38 -05:00
Kubernetes Prow Robot
0a0490e34f
Merge pull request #98576 from kevindelgado/ssa
Fix SSA for APIService
2021-01-29 17:21:58 -08:00
Jordan Liggitt
dab5112240 Declare TCP default for service port protocol 2021-01-29 18:30:34 +00:00
Mike Dame
73d8eba1a4 Scheduler: move GetAvoidPodsFromNodeAnnotations to component-helpers 2021-01-28 14:41:55 -05:00
Kubernetes Prow Robot
5e9b43eab6
Merge pull request #96960 from Jefftree/defaulter-diff
Update defaulter gen to not use reflect
2021-01-15 17:07:44 -08:00
wojtekt
0f88bbe9b1 Promote Immutable Secrets/ConfigMaps feature to GA 2020-12-30 16:00:41 +01:00
Kubernetes Prow Robot
0580273e5f
Merge pull request #96353 from latteczy/add_helper_test
add unit test for helper.go
2020-12-16 21:41:09 -08:00
caozhiyuan
9b19dfca2c add unit test for helper.go 2020-12-17 12:40:29 +08:00
Jefftree
6addd69529 Update generator to not use reflect 2020-12-14 16:38:23 -08:00
Kubernetes Prow Robot
ddf3eb5a18
Merge pull request #96736 from andrewsykim/deprecate-topology-keys
core/v1: deprecate Service topologyKeys
2020-12-08 18:36:22 -08:00
Kubernetes Prow Robot
83b2c7a1bf
Merge pull request #96311 from thockin/kep-1659-topology-labels
Convert users of old failure-domain labels to new
2020-12-08 17:28:27 -08:00
Kubernetes Prow Robot
4f2c21f9e8
Merge pull request #93549 from Dean-Coakley/fix-res-quota-comments
Fix ResourceQuota comments
2020-12-08 16:28:36 -08:00
Andrew Sy Kim
c753c48f30 core/v1: deprecate Service topologyKeys
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-11-19 21:09:48 -05:00
Jefftree
50e7aa49aa Integrate defaults marker and remove ContainerPort defaulter 2020-11-13 17:27:40 -08:00
Laszlo Janosi
c970a46bc1
Mixed protocol support for Services with type=LoadBalancer (#94028)
* Mixed protocol support for Services with type=LoadBalancer

KEP: https://github.com/kubernetes/enhancements/blob/master/keps/sig-network/20200103-mixed-protocol-lb.md
Add new feature gate to control the support of mixed protocols in Services with type=LoadBalancer
Add new fields to the ServiceStatus
  Add Ports to the LoadBalancerIngress, so cloud provider implementations can report the status of the requested load balanc
er ports
  Add ServiceCondition to the ServiceStatus so Service controllers can indicate the conditions of the Service

* regenerate conflicting stuff
2020-11-13 13:21:04 -08:00
Lars Ekman
8fca0f9955 Update generated files 2020-11-13 07:42:58 +01:00
Lars Ekman
1f4d852f2f Add service.spec.AllocateLoadBalancerNodePorts 2020-11-13 07:37:22 +01:00
Kubernetes Prow Robot
1a4e1f6534
Merge pull request #96528 from andrewsykim/service-topology-gate
core/v1: document that topologyKeys requires the ServiceTopology feature gate
2020-11-12 16:03:35 -08:00
Kubernetes Prow Robot
94b17881fc
Merge pull request #96454 from Sh4d1/revert_92312
Revert "Merge pull request #92312 from Sh4d1/kep_1860"
2020-11-12 16:03:24 -08:00
Kubernetes Prow Robot
4b46d44e0c
Merge pull request #96327 from robscott/app-protocol-ga
Graduating AppProtocol to GA
2020-11-12 13:16:39 -08:00
Andrew Sy Kim
08774ecc74 core/v1: document that topologyKeys requires the ServiceTopology feature gate
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-11-12 14:33:49 -05:00
Tim Hockin
4068402459 Change trivial topology labels
In these cases the actual label key is incidental.
2020-11-12 11:21:37 -08:00
Kubernetes Prow Robot
12d9183da0
Merge pull request #95718 from SergeyKanzhelev/runtimeClass2
RuntimeClass GA
2020-11-12 00:44:51 -08:00
Kubernetes Prow Robot
bffdc87241
Merge pull request #95282 from xing-yang/snapshot_ga
Move Snapshot to GA
2020-11-11 17:34:50 -08:00
Sergey Kanzhelev
06da0e5e74 GA of RuntimeClass feature gate and API 2020-11-11 19:22:32 +00:00
Patrik Cyvoct
d29665cc17
Revert "Merge pull request #92312 from Sh4d1/kep_1860"
This reverts commit ef16faf409, reversing
changes made to 2343b8a68b.
2020-11-11 10:26:53 +01:00
Kubernetes Prow Robot
a27a357ba1
Merge pull request #86102 from derekwaynecarr/downward-api
Add support for hugepages in downward API
2020-11-10 21:43:57 -08:00
Derek Carr
45bd6cb186 Downward API hugepages 2020-11-10 16:09:13 -05:00
Kubernetes Prow Robot
6068f12e90
Merge pull request #96376 from gnufied/fsgroup-change-policy-beta
Move fsGroupChangePolicy feature to beta
2020-11-10 12:43:45 -08:00
Hemant Kumar
006020b71e Move fsGroupChangePolicy feature to beta 2020-11-09 21:49:11 -05:00
Rob Scott
b044fadf66
Graduating AppProtocol to GA 2020-11-09 11:08:19 -08:00
Patrik Cyvoct
20fc86df25
fix defaulting
Signed-off-by: Patrik Cyvoct <patrik@ptrk.io>
2020-11-07 10:00:59 +01:00
Patrik Cyvoct
fea88f44a7
fix build
Signed-off-by: Patrik Cyvoct <patrik@ptrk.io>
2020-11-07 10:00:57 +01:00
Patrik Cyvoct
40dcef27c4
fix nit in validation
Signed-off-by: Patrik Cyvoct <patrik@ptrk.io>
2020-11-07 10:00:56 +01:00
Patrik Cyvoct
540901779c
fix reviews
Signed-off-by: Patrik Cyvoct <patrik@ptrk.io>
2020-11-07 10:00:53 +01:00
Patrik Cyvoct
af7494e896
Update generated
Signed-off-by: Patrik Cyvoct <patrik@ptrk.io>
2020-11-07 10:00:52 +01:00
Patrik Cyvoct
7bdf2af648
fix review
Signed-off-by: Patrik Cyvoct <patrik@ptrk.io>
2020-11-07 10:00:51 +01:00
Patrik Cyvoct
7460f9e00b
fix rebase
Signed-off-by: Patrik Cyvoct <patrik@ptrk.io>
2020-11-07 10:00:30 +01:00
Patrik Cyvoct
0153b96ab8
fix review
Signed-off-by: Patrik Cyvoct <patrik@ptrk.io>
2020-11-07 10:00:27 +01:00
Patrik Cyvoct
47ae7cbf52
Add route type field to loadbalancer status ingress
Signed-off-by: Patrik Cyvoct <patrik@ptrk.io>
2020-11-07 09:59:58 +01:00
Kubernetes Prow Robot
fc87c5927c
Merge pull request #95992 from serathius/datapolicy-apis
gAdd datapolicy tags to pkg/apis
2020-11-05 18:36:56 -08:00
xing-yang
c0eaee3494 Move Snapshot to GA 2020-11-03 03:14:18 +00:00
Kubernetes Prow Robot
17dcccbe07
Merge pull request #96109 from ingvagabund/move-IsScalarResourceName-under-scheduler
Move pkg/apis/core/v1.IsScalarResourceName under pkg/scheduler/util
2020-11-02 10:24:27 -08:00
zouyu
7dd4622c84 Some comments' typos
Signed-off-by: zouyu <zouy.fnst@cn.fujitsu.com>
2020-11-02 15:05:23 +08:00
Kubernetes Prow Robot
ad6a2af7d8
Merge pull request #95531 from damemi/move-scheduler-helpers
Move MatchNodeSelectorTerms to k8s.io/component-helpers
2020-10-29 20:06:05 -07:00
Kubernetes Prow Robot
a71334b64c
Merge pull request #95925 from deads2k/doc-events
Event: Document TTL and best-effort-ness
2020-10-29 17:40:22 -07:00
Kubernetes Prow Robot
e91cb0b1b5
Merge pull request #95196 from thockin/auto-wipe-linked-service-fields
Automatically wipe dependent fields on service "type" updates
2020-10-29 17:40:06 -07:00
Mike Dame
b7ba77c25b Move MatchNodeSelectorTerms to k8s.io/component-helpers 2020-10-29 13:39:13 -04:00
Marek Siarkowicz
945e1e7892 Add datapolicy tags to pkg/apis 2020-10-29 18:07:32 +01:00
Kubernetes Prow Robot
2729b8e375
Merge pull request #95871 from damemi/move-unchanged-scheduler-helpers
Change function signature for MatchNodeSelectorTerms
2020-10-29 04:18:59 -07:00
Tim Hockin
4f8fb1d3ca Wipe some fields on service "type" updates
Service has had a problem since forever:

- User creates a service type=LoadBalancer
- We silently allocate them a NodePort
- User changes type to ClusterIP
- We fail the operation because they did not clear NodePort

They never asked for or used the NodePort!

Dual-stack introduced some dependent fields that get auto-wiped on
updates.  This carries it further.

If you squint, you can see Service as a big, messy discriminated union,
with type as the discriminator. Ignoring fields for non-selected
union-modes seems right.

This introduces the potential for an apply loop. Specifically, we will
accept YAML that we did not previously accept. Apply could see the
field in local YAML and not in the server and repeatedly try to patch it
in. But since that YAML is currently an error, it seems like a very low
risk. Almost nobody actually specifies their own NodePort values.

To mitigate this somewhat, we only auto-wipe on updates. The same YAML
would fail to create. This is a little inconsistent. We could
auto-wipe on create, too, at the risk of more potential impact.

To do this properly, we need to know the old and new values, which means
we can not do it in defaulting or conversion. So we do it in strategy.

This change also adds unit tests and updates e2e tests to rely on and
verify this behavior.
2020-10-28 10:41:26 -07:00
W. Trevor King
f95ec84322 Event: Document TTL and best-effort-ness
Generally try to waive away folks who see a particular event stream
and feel tempted to extrapolate and build tooling that expects the
same underlying resource transition chain to continue to produce a
similar event stream as the underlying components evolve and are
updated.  New controllers should not be constrained to be
backwards-compatible with previous versions with regard to Event
emission.  This is distinct from the Event type itself, which has the
usual Kubernetes-API compatibility commitments for versioned types.

The EventTTL default has been 1h since 7e258b85bd (Reduce TTL for
events in etcd from 48hrs to 1hr, 2015-03-11, #5315), and remains so
today:

  $ git --no-pager log -1 --format='%h %s' origin/master
  8e5c02255c Merge pull request #90942 from ii/ii-create-pod%2Bpodstatus-resource-lifecycle-test
  $ git --no-pager grep EventTTL: 8e5c02255c cmd/kube-apiserver/app/options/options.go
  8e5c02255cc:cmd/kube-apiserver/app/options/options.go:		EventTTL:               1 * time.Hour,

In this space [1,2]:

  To avoid filling up master's disk, a retention policy is enforced:
  events are removed one hour after the last occurrence.  To provide
  longer history and aggregation capabilities, a third party solution
  should be installed to capture events.
  ...
  Note: It is not guaranteed that all events happening in a cluster
  will be exported to Stackdriver.  One possible scenario when events
  will not be exported is when event exporter is not running
  (e.g. during restart or upgrade).  In most cases it's fine to use
  events for purposes like setting up metrics and alerts, but you
  should be aware of the potential inaccuracy.
  ...
  To prevent disturbing your workloads, event exporter does not have
  resources set and is in the best effort QOS class, which means that
  it will be the first to be killed in the case of resource
  starvation.

Although that's talking more about export from etcd -> external
storage, and not about cluster components submitting events to etcd.

[1]: https://kubernetes.io/docs/tasks/debug-application-cluster/events-stackdriver/
[2]: https://github.com/kubernetes/website/pull/4155/files#diff-d8eb69c5436aa38b396d4f3ed75e4792R10
2020-10-27 15:36:37 -04:00
Mike Dame
d9f334683e Change function signature for MatchNodeSelectorTerms
As part of externalizing this function to the k8s.io/component-helpers repo,
this commit simplifies the function signature and makes its 2 helpers private
(nodeSelectorRequirementsAsSelector and nodeSelectorRequirementsAsFieldSelector).
2020-10-27 12:52:06 -04:00
Jan Chaloupka
6822a0ec20 Move pkg/apis/core/v1.IsScalarResourceName under pkg/scheduler/util
IsScalarResourceName is imported only inside pkg/scheduler packages.
2020-10-27 13:40:32 +01:00
Khaled Henidak (Kal)
6675eba3ef
dual stack services (#91824)
* api: structure change

* api: defaulting, conversion, and validation

* [FIX] validation: auto remove second ip/family when service changes to SingleStack

* [FIX] api: defaulting, conversion, and validation

* api-server: clusterIPs alloc, printers, storage and strategy

* [FIX] clusterIPs default on read

* alloc: auto remove second ip/family when service changes to SingleStack

* api-server: repair loop handling for clusterIPs

* api-server: force kubernetes default service into single stack

* api-server: tie dualstack feature flag with endpoint feature flag

* controller-manager: feature flag, endpoint, and endpointSlice controllers handling multi family service

* [FIX] controller-manager: feature flag, endpoint, and endpointSlicecontrollers handling multi family service

* kube-proxy: feature-flag, utils, proxier, and meta proxier

* [FIX] kubeproxy: call both proxier at the same time

* kubenet: remove forced pod IP sorting

* kubectl: modify describe to include ClusterIPs, IPFamilies, and IPFamilyPolicy

* e2e: fix tests that depends on IPFamily field AND add dual stack tests

* e2e: fix expected error message for ClusterIP immutability

* add integration tests for dualstack

the third phase of dual stack is a very complex change in the API,
basically it introduces Dual Stack services. Main changes are:

- It pluralizes the Service IPFamily field to IPFamilies,
and removes the singular field.
- It introduces a new field IPFamilyPolicyType that can take
3 values to express the "dual-stack(mad)ness" of the cluster:
SingleStack, PreferDualStack and RequireDualStack
- It pluralizes ClusterIP to ClusterIPs.

The goal is to add coverage to the services API operations,
taking into account the 6 different modes a cluster can have:

- single stack: IP4 or IPv6 (as of today)
- dual stack: IPv4 only, IPv6 only, IPv4 - IPv6, IPv6 - IPv4

* [FIX] add integration tests for dualstack

* generated data

* generated files

Co-authored-by: Antonio Ojea <aojea@redhat.com>
2020-10-26 13:15:59 -07:00
Arjun Naik
0fec7b0f7e Added functionality and API for pod autoscaling based on container resources
Signed-off-by: Arjun Naik <anaik@redhat.com>
2020-10-21 21:10:05 +02:00
Dan Winship
3a110546ed Move SCTP to GA 2020-10-15 08:56:33 -04:00
Kubernetes Prow Robot
6e9475bcd3
Merge pull request #94910 from yashvardhan-kukreja/issue-94602/fix-comment-declaration-event
Cleaned up: the potentially misleading comment under Event struct
2020-10-05 06:23:06 -07:00
Yashvardhan Kukreja
07d0b4a8bc
Cleaned up and fixed: the potentially misleading comments around Event struct 2020-10-05 15:28:59 +05:30
wawa0210
6709d4f938
Keep the imagePullPolicy of kubectl alpha debug consistent with the default 2020-09-24 00:22:53 +08:00
Daniel Smith
a86afc12df update scripts 2020-09-02 10:49:40 -07:00
Daniel Smith
75f835aa08 move port definitions to a common location 2020-09-02 10:48:25 -07:00
Matthew Fenwick
d407129cf7 modify DNS-1123 error messages to indicate that RFC 1123 is not followed exactly 2020-09-02 08:04:04 -04:00
Davanum Srinivas
fbca4e3ee9
Move bgrant0607 to emeritus status.
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-08-03 21:50:46 -04:00
Dean Coakley
8749336aa7 Fix incomplete ResourceQuota comments 2020-07-31 02:30:17 +01:00
Jordan Liggitt
44a8d72d32 Mark componentstatus as deprecated 2020-07-30 17:25:26 -04:00
Kubernetes Prow Robot
c23a4b08d7
Merge pull request #92874 from chelseychen/event-api
Fix a few places where source field is empty when creating events via events/v1
2020-07-11 20:57:31 -07:00
Patrick Ohly
32fdf688b3 GenericEphemeralVolume: 'make update' for API 2020-07-09 11:03:03 +02:00
Patrick Ohly
c05c8e915b GenericEphemeralVolume: feature gate, API, documentation
As explained in
https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/1698-generic-ephemeral-volumes,
CSI inline volumes are not suitable for more "normal" kinds of storage
systems. For those a new approach is needed: "generic ephemeral inline
volumes".
2020-07-09 11:02:59 +02:00
Kubernetes Prow Robot
1e3eeba9fa
Merge pull request #91577 from knabben/kubelet-bootstrap
kubelet: remove the --bootstrap-checkpoint-path feature
2020-07-09 00:03:41 -07:00