Commit Graph

2926 Commits

Author SHA1 Message Date
Andrew Sy Kim
6e6d417993 endpointslice API: add accepting and terminating conditions
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-11-05 19:18:45 -05: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
Kubernetes Prow Robot
a704860194
Merge pull request #94480 from wojtek-t/remove_conversion_fields
Remove FieldMatchingFlags
2020-11-02 06:26:52 -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
wojtekt
a19f528351 Remove FieldMatchingFlags 2020-10-29 18:25:51 +01: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
Kubernetes Prow Robot
a8a779133a
Merge pull request #95502 from suramrit/lintCorrection
Fix golint errors by adding definition comments for pkg/apis/apiserverinternal
2020-10-20 12:56:33 -07:00
Dan Winship
3a110546ed Move SCTP to GA 2020-10-15 08:56:33 -04:00
Suramrit Singh
e0249c4b0b - fix golint errors by adding defition comments
- remove /pkg/apiserverinternal from .golint_failures
2020-10-12 15:03:53 -07:00
Kubernetes Prow Robot
1a66eb7b8a
Merge pull request #89482 from renatoviana12/master
fixed percentage behaviour in instr
2020-10-05 20:00:19 -07: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
Renato Viana
316eff8dee Fixed percentage behavior in instr
fixed syntax, wrote a test

fixed a test

.

1

Update staging/src/k8s.io/apimachinery/pkg/util/intstr/intstr_test.go

Co-Authored-By: Joel Speed <Joel.speed@hotmail.co.uk>

added test

.

fix

fix test

fixed a test

gofmt

lint

fix

function name

validation fix

.

godocs added

.
2020-09-30 21:23:05 +01:00
wawa0210
6709d4f938
Keep the imagePullPolicy of kubectl alpha debug consistent with the default 2020-09-24 00:22:53 +08:00
David Eads
c7911a384c remove pod presets 2020-09-14 09:24:40 -04:00
Haowei Cai
07506ab384 generated 2020-09-08 19:14:36 -07:00
Chao Xu
86dd4ce3b5 Let kube-apiserver host the storage version API
Co-authored-by: Haowei Cai <haoweic@google.com>
2020-09-08 19:14:36 -07:00
Haowei Cai
769f057004 generated 2020-09-08 14:34:55 -07:00
Haowei Cai
d7ff169552 fix import paths 2020-09-08 14:34:55 -07:00
Haowei Cai
096f32d1b3 update doc.go and register.go 2020-09-08 14:34:55 -07:00
Haowei Cai
1f4a4e9040 move apiserverinternal types to kube-apiserver
move versioned types to k8s.io/api;
cleanup generated files
2020-09-08 14:34:55 -07: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
Kubernetes Prow Robot
cc14d5f3a1
Merge pull request #94338 from JeremyShih/fix-golint-error-in-admissionregistration
fixed golint error in pkg/apis/admissionregistration/validation
2020-09-02 10:37:19 -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
Jeremy Shih
4ee5cdc838 fixed golint error in pkg/apis/admissionregistration 2020-08-31 09:43:51 +08:00
Kubernetes Prow Robot
0a1aa394b7
Merge pull request #92987 from nikhita/cleanup-owners-apimachinery
apimachinery: remove inactive members from OWNERS
2020-08-27 19:08:33 -07:00
Kubernetes Prow Robot
008708d036
Merge pull request #93966 from Miciah/verify-that-an-ingress-with-empty-TLS-is-valid
Verify that an ingress with empty TLS is valid
2020-08-27 04:48:57 -07:00
Kubernetes Prow Robot
1814612d34
Merge pull request #87919 from SomtochiAma/update-api-docs
Adds additional documentation for job status
2020-08-27 01:19:02 -07:00
Kubernetes Prow Robot
fa1a3e0f74
Merge pull request #93665 from dims/emeritus-bgrant0607
Move bgrant0607 to emeritus status.
2020-08-14 00:48:22 -07:00
Miciah Masters
e648deca3b Fix validation of ingress rules with wildcard host
Fix ingress validation so that it validates the rules of an ingress that
specifies a wildcard host.  Commit 60f4fbf4f2
added an inopportune continue statement that caused this validation to be
skipped.  For backwards compatibility, this change restores validation for
v1 of the api but still skips it on v1beta1.

* pkg/apis/networking/validation/validation.go (IngressValidationOptions):
Add AllowInvalidWildcardHostRule field to indicate that validation of rules
should be skipped for ingresses that specify wildcard hosts.
(ValidateIngressCreate): Set AllowInvalidWildcardHostRule to true if the
request is using the v1beta1 API version.
(ValidateIngressUpdate): Set AllowInvalidWildcardHostRule to true if the
request or old ingress is using the v1beta1 API version.
(validateIngressRules): Don't skip validation of the ingress rules unless
the ingress has a wildcard host and AllowInvalidWildcardHostRule is true.
(allowInvalidWildcardHostRule): New helper for ValidateIngressCreate and
ValidateIngressUpdate.
* pkg/apis/networking/validation/validation_test.go
(TestValidateIngressCreate, TestValidateIngressUpdate): Add test cases to
ensure that validation is performed on v1 objects and skipped on v1beta
objects for backwards compatibility.
(TestValidateIngressTLS): Specify PathType so that the test passes.

Co-authored-by: jordan@liggitt.net
2020-08-13 15:53:17 -04:00
Miciah Masters
7ef8fa7207 Verify that an ingress with empty TLS is valid
Add a test that verifies that an ingress with an empty TLS value or with a
TLS value that specifies an empty list of hosts passes validation.

* pkg/apis/networking/validation/validation_test.go
(TestValidateEmptyIngressTLS): New test.
2020-08-13 11:55:18 -04:00
Jordan Liggitt
f87a846e65 Validate ingress TLS secretName in v1 2020-08-12 10:13:08 -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
Jordan Liggitt
1e621ab5d1 Update CSR fuzzing to match defaulting 2020-07-31 15:52:01 -04:00
Jordan Liggitt
44a8d72d32 Mark componentstatus as deprecated 2020-07-30 17:25:26 -04:00
Kubernetes Prow Robot
96c057ab48
Merge pull request #92001 from huffmanca/include-csidriver-fsgroup
Include CSIDriver capability to indicate fsGroup support
2020-07-16 09:11:42 -07: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
Christian Huffman
9a7b073f4d Updated fuzzer to get RoundTripTest passing 2020-07-11 23:29:24 -04:00
Christian Huffman
e65f0f565a Updated dependencies 2020-07-11 23:29:24 -04:00
Christian Huffman
58bd3e5230 Include CSIDriver SupportsFsGroup 2020-07-11 23:29:24 -04:00
Nikhita Raghunath
db495ea983 apimachinery: remove inactive members from OWNERS 2020-07-11 19:28:24 +05:30
Somtochi Onyekwere
49751e33e9 Adds additional documentation for job status 2020-07-10 08:34:33 +01: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
55d77ade67
Merge pull request #92489 from alculquicondor/sig-storage-ownership
Add SIG storage owner aliases
2020-07-09 00:05:20 -07:00
Kubernetes Prow Robot
94a08e159a
Merge pull request #92387 from pohly/csi-storage-capacity
CSI storage capacity check
2020-07-09 00:04:59 -07: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
Chelsey Chen
e010436e2a Update conversion between ReportingController and Source.Component 2020-07-08 08:46:38 -04:00
Aldo Culquicondor
27ec356d76 Add SIG storage owner aliases
And give ownership to pkg/scheduler/framework/plugins/volumebinding

Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: I4bd89b1745a2be0e458601056ab905bdd6692195
2020-07-07 10:26:16 -04:00
Paulo Gomes
8976e3620f
Add seccomp enforcement and validation based on new GA fields
Adds seccomp validation.

This ensures that field and annotation values must match when present.

Co-authored-by: Sascha Grunert <sgrunert@suse.com>
2020-07-06 09:13:25 +01:00
Kubernetes Prow Robot
faff3c5378
Merge pull request #91527 from danwinship/ipfamily-api-docs
api: update Service.Spec.IPFamily docs
2020-07-03 16:36:47 -07:00
Patrick Ohly
9a66e8e1b5 CSIStorageCapacity: 'make update' 2020-07-03 21:54:14 +02:00
Patrick Ohly
1089954fa6 CSIStorageCapacity: CSIDriver.Spec.StorageCapacity field
This is needed to inform the Kubernetes pod scheduler whether it has
to check CSIStorageCapacity objects for available capacity.
2020-07-03 21:54:14 +02:00
Patrick Ohly
22aeb81e84 CSIStorageCapacity: CSIStorageCapacity API
This adds the CSIStorageCapacity API change for
https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/1472-storage-capacity-tracking
2020-07-03 21:54:14 +02:00
Kubernetes Prow Robot
1b871091b9
Merge pull request #91645 from chelseychen/event-api
Promote new Event API to v1
2020-07-02 04:16:46 -07:00
Kubernetes Prow Robot
a138be8722
Merge pull request #92686 from pohly/csi-ephemeral-volumes-beta
CSI ephemeral volumes: documentation and owner update
2020-07-01 23:14:37 -07:00
Kubernetes Prow Robot
f7a13de36c
Merge pull request #92667 from liggitt/admission-warnings
Admission webhook warnings
2020-07-01 23:14:17 -07:00
Kubernetes Prow Robot
94e1c54735
Merge pull request #92655 from BenTheElder/cleanup-some-owners
Cleanup some owners
2020-07-01 23:14:08 -07:00
Jordan Liggitt
03d322035d Generated code
Change-Id: I974a2cddc090fcb645b982959e06415a951b8f15
2020-07-01 12:14:06 -04:00
Jordan Liggitt
5eef60a00a Add warnings capability for admission webhooks 2020-07-01 12:14:06 -04:00
Chelsey Chen
c90330d8f4 Auto generated changes 2020-07-01 10:50:34 -04:00
Chelsey Chen
75612c1746 Promote new Event API to v1 2020-07-01 10:50:28 -04:00
Kubernetes Prow Robot
b1b1fc8034
Merge pull request #81961 from pohly/ephemeral-unit-tests
storage: enhance test for ValidateCSIDriverUpdate
2020-07-01 07:10:34 -07:00
Patrick Ohly
99b5b13394 CSI ephemeral volumes: documentation and owner update
The promotion to beta missed some code locations. The owner also
changed since the feature was initially designed and implemented.

The "is handled by an external CSI driver" to "by certain external CSI
drivers" change is supposed to avoid the misconception that this
volume type will work with arbitrary CSI drivers.
2020-07-01 09:19:18 +02:00
Benjamin Elder
d8f2b131b5 remove david-mcmahon from reviewers 2020-06-30 14:06:58 -07:00
Benjamin Elder
2abc8afece eparis to emeritus 2020-06-30 09:50:44 -07:00
Benjamin Elder
960ef085e9 zmerlynn to emeritus 2020-06-30 09:43:59 -07:00
Alex Wang
209117413f
Promote NonPreempt feature gate to beta (#91899)
* update nonpreempt featuregate to beta

* update
2020-06-30 00:02:56 -07:00
Jeremy Olmsted-Thompson
daa27c9b2e
Clarify behavior of publishNotReadyAddresses (#90783)
* Clarify behavior of publishNotReadyAddresses

* gen docs after clarifying publishNotReadyAddresses
2020-06-24 01:59:18 -07:00
Kubernetes Prow Robot
907a526919
Merge pull request #91699 from twosigma/hostnamefqdn_kubelet
Allow setting FQDN in hostname
2020-06-19 11:36:29 -07:00
Kubernetes Prow Robot
53f3699cf9
Merge pull request #89778 from cmluciano/cml/ingressv1
ingress: Add Ingress to v1 API and update backend to defaultBackend
2020-06-16 23:10:39 -07:00
Kubernetes Prow Robot
7401f8e2ea
Merge pull request #91927 from wangkai1994/fix/replace_whitelist_to_allowed
replace whitelist to allowlist
2020-06-15 14:17:59 -07:00
Javier Diaz-Montes
7ef7ce2a3c Adding autogenerated files 2020-06-14 21:26:27 -04:00
Javier Diaz-Montes
4112d8db20 Adding new PodSpec field called setHostnameAsFQDN and SetHostnameAsFQDN gate
These changes add a new field, called setHostnameAsFQDN, to the PodSpec. This
field is a bool that will be used to indicate whether we would like
FQDN be set as hostname or not.

This is PART1 of the changes to enable KEP #1797 and addresses #91036
2020-06-14 21:26:26 -04:00
wangkai1994
8d68452ea0 replace whitelist to allowlist 2020-06-12 10:20:58 +08:00
Kubernetes Prow Robot
11fe6e815f
Merge pull request #91713 from liggitt/csr-v1-manager
CSR v1 - switch controllers
2020-06-09 14:49:30 -07:00
Amim Knabben
0ed41c3f10 Deprecating --bootstrap-checkpoint-path flag 2020-06-09 15:27:01 -04:00
Kubernetes Prow Robot
d01cc01ab4
Merge pull request #91400 from danwinship/ipfamily-validation
service: fix IPFamily validation and defaulting problems
2020-06-08 17:55:18 -07:00
Kubernetes Prow Robot
3a8d130fdf
Merge pull request #91764 from KobayashiD27/add-test-case-apis-scheduler-helpers
Add test case in apis/scheduling/v1/helpers.go to improve the test co…
2020-06-06 00:55:45 -07:00
Jordan Liggitt
db4ca87d9d Switch CSR approver/signer/cleaner controllers to v1 2020-06-05 18:45:34 -04:00
Kubernetes Prow Robot
3f8bb1bf50
Merge pull request #91685 from liggitt/csr-v1
CertificateSigningRequest v1 API
2020-06-05 15:30:14 -07:00
Jordan Liggitt
a504445086 Generated files
Change-Id: I598d686849f4b97846757b227f5191bac031798b
2020-06-05 04:58:14 +00:00
Jordan Liggitt
3f1546960d Fix validation message for CSR condition status values 2020-06-05 00:50:01 -04:00
Jordan Liggitt
7ee2e2f473 Update v1 CSR field types, API docs 2020-06-05 00:50:01 -04:00
Jordan Liggitt
595adc402a Validate unknown and duplicate usages in CSR v1 2020-06-05 00:50:01 -04:00
Jordan Liggitt
e0f5cca410 Copy CSR v1beta1 to v1
* Remove prerelease tags
* Update copyright, package, imports to v1
* Remove signerName, usages, and condition status defaulting
2020-06-05 00:47:24 -04:00
Kobayashi Daisuke
7026cbc1d4 Add test case in apis/scheduling/v1/helpers.go to improve the test coverage 2020-06-04 17:43:11 +09:00
Wei Huang
133dde6358
Remove EvenPodsSpread featuregate and related logic 2020-06-02 11:24:12 -07:00