Commit Graph

2628 Commits

Author SHA1 Message Date
Dan Winship
4a7c86c105 make test a bit more generic 2020-06-01 08:13:27 -04:00
Dan Winship
ddebbfd806 update for APIs being moved to utilnet
Several of the functions in pkg/registry/core/service/ipallocator were
moved to k8s.io/utils/net, but then the original code was never
updated to used to the vendored versions.

(utilnet's version of RangeSize does not have the IPv6 special case
that the original code did, so we need to move that to
NewAllocatorCIDRRange now.)
2020-05-30 17:40:02 -04:00
Kubernetes Prow Robot
d1586ea3f9 Merge pull request #91502 from deads2k/dyn-audit-removal-00
remove --feature-gates=DynamicAuditing
2020-05-29 11:56:20 -07:00
Kubernetes Prow Robot
825eb77c88 Merge pull request #83906 from mgugino-upstream-stage/pdb-exclude-pending
Allow deletion of pending pods when using PDBS
2020-05-29 11:55:34 -07:00
Jordan Liggitt
e11404ac1f Add patch support for certificatesigningrequests/approval 2020-05-29 11:50:44 -04:00
Jordan Liggitt
7049149181 Generated files 2020-05-28 16:53:23 -04:00
Michael Gugino
047b0cee71 Quit retrying early with user supplied resourceVersion
This commit also updates tests and comments.
2020-05-28 16:14:45 -04:00
Jordan Liggitt
aed0621f2e Plumb version info to validation, separate main/status/approval validation 2020-05-28 12:20:40 -04:00
David Eads
e857adbdfd remove-api 2020-05-27 16:58:05 -04:00
Kubernetes Prow Robot
0e37bcce2c Merge pull request #88385 from tallclair/node-reviews
Remove tallclair from some OWNERS files
2020-05-24 20:23:11 -07:00
Clayton Coleman
c6b833ac3c service: fix IPFamily validation and defaulting problems
If the dual-stack flag is enabled and the cluster is single stack IPv6,
the allocator logic for service clusterIP does not properly handle rejecting
a request for an IPv4 family. Return a 422 Invalid on the ipFamily field
when the dual stack flag is on (as it would when it hits beta) and the
cluster is configured for single-stack IPv6.

The family is now defaulted or cleared in BeforeCreate/BeforeUpdate,
and is either inherited from the previous object (if nil or unchanged),
or set to the default strategy's family as necessary. The existing
family defaulting when cluster ip is provided remains in the api
section. We add additonal family defaulting at the time we allocate
the IP to ensure that IPFamily is a consequence of the ClusterIP
and prevent accidental reversion. This defaulting also ensures that
old clients that submit a nil IPFamily for non ClusterIP services
receive a default.

To properly handle validation, make the strategy and the validation code
path condition on which configuration options are passed to service
storage. Move validation and preparation logic inside the strategy where
it belongs. Service validation is now dependent on the configuration of
the server, and as such ValidateConditionService needs to know what the
allowed families are.
2020-05-23 11:08:19 -04:00
Christopher M. Luciano
2b091f60ca ingress: Add Ingress to v1 API and update backend to defaultBackend
ingress: use new serviceBackend split

ingress: remove all v1beta1 restrictions on creation

This change removes creation and update restrictions enforced by
k8s 1.18 for not allowing resource backends.

Paths are no longer
required to be valid regex and a PathType is now user-specified
and no longer defaulted.

Also remove all TODOs in staging/net/v1 types

Signed-off-by: Christopher M. Luciano <cmluciano@us.ibm.com>
2020-05-22 11:57:41 -04:00
Kubernetes Prow Robot
fdbb960354 Merge pull request #90934 from iobuf/cronjob
CronJob: cleanup legacy ScheduledJob vars,docs
2020-05-19 20:35:11 -07:00
Davanum Srinivas
07d88617e5 Run hack/update-vendor.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:33 -04:00
Davanum Srinivas
442a69c3bd switch over k/k to use klog v2
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:27 -04:00
David Eads
4522141f0a reduce complexity in pdb refactor 2020-05-14 15:25:59 -04:00
Kubernetes Prow Robot
77a86a52c0 Merge pull request #91034 from liggitt/ingress-validation
Ingress validation
2020-05-12 21:01:11 -07:00
Jordan Liggitt
8f7b8105a1 Remove ingress regex path requirement 2020-05-12 15:38:15 -04:00
Michael Gugino
9f80e7a6f8 Allow deletion of pending pods when using PDBS
Currently, if you have a PDB set, it is possible for
a pod stuck in pending state to be prevented from
deletion even though there are in fact enough healthy
replicas.

This commit allows pods in Pending state to be removed.

This commit also adds associated unit tests.

related-bug: #80389
2020-05-12 12:44:05 -04:00
Tim Allclair
029a144ae9 Remove tallclair from some OWNERS files 2020-05-11 11:44:38 -07:00
Zhou Peng
b33e202397 CronJob: cleanup legacy ScheduledJob vars,docs
Signed-off-by: Zhou Peng <p@ctriple.cn>
2020-05-10 00:45:21 +08:00
Kubernetes Prow Robot
68ade56a47 Merge pull request #90534 from apelisse/mutatinggcfields-fieldmanager
Changes to ManagedFields is not mutation for GC
2020-05-09 07:23:50 -07:00
Jordan Liggitt
23e9fb1bb5 Fix podIP validation 2020-04-30 19:49:45 -04:00
Antoine Pelisse
89b68bacf1 Changes to ManagedFields is not mutation for GC 2020-04-29 09:29:43 -07:00
Kubernetes Prow Robot
43cd2ff239 Merge pull request #89549 from happinesstaker/sa-rotate
Monitoring safe rollout of time-bound service account token.
2020-04-22 17:01:58 -07:00
Jiajie Yang
ae0e52d28c Monitoring safe rollout of time-bound service account token. 2020-04-22 11:59:16 -07:00
Jie Shen
363bb39142 Use utils.net to parse ports instead of atoi (#89120) 2020-04-21 20:55:52 -07:00
Jordan Liggitt
dab2a830da Fix conflicts patching scale subresources 2020-04-21 16:36:24 -04:00
Antonio Ojea
e3df13439a fix service allocation concurrency issues
The service allocator is used to allocate ip addresses for the
Service IP allocator and NodePorts for the Service NodePort
allocator. It uses a bitmap backed by etcd to store the allocation
and tries to allocate the resources directly from the local memory
instead from etcd, that can cause issues in environment with
high concurrency.

It may happen, in deployments with multiple apiservers, that the
resource allocation information is out of sync, this is more
sensible with NodePorts, per example:

1. apiserver A create a service with NodePort X
2. apiserver B deletes the service
3. apiserver A creates the service again

If the allocation data of apiserver A wasn't refreshed with the
deletion of apiserver B, apiserver A fails the allocation because
the data is out of sync. The Repair loops solve the problem later,
but there are some use cases that require to improve the concurrency
in the allocation logic.

We can try to not do the Allocation and Release operations locally,
and try instead to check if the local data is up to date with etcd,
and operate over the most recent version of the data.
2020-04-20 09:50:00 +02:00
Antonio Ojea
cb87793d57 Add unit test to portallocator storage
Add unit test for the portallocator storage based on
the ipallocator ones.

pkg/registry/core/service/ipallocator/storage/storage_test.go
2020-04-20 09:49:59 +02:00
Kubernetes Prow Robot
cc75cd5aba Merge pull request #90036 from MikeSpreitzer/fix-psh-name
Regularize name of PostStartHook injecting APF config objects
2020-04-11 19:07:47 -07:00
Kubernetes Prow Robot
ee6b88ddf9 Merge pull request #90000 from SataQiu/staging-scheduler-20200409
scheduler: remove direct import to pkg/master/ports
2020-04-11 10:46:01 -07:00
Kubernetes Prow Robot
7f1641b8b2 Merge pull request #89914 from SataQiu/dual-stack-20200407
Dual-stack: fix the bug that isValidAddress only checks the first IP even a Pod has more than one address
2020-04-11 09:25:48 -07:00
SataQiu
41d3e44a2f scheduler: remove direct import to pkg/master/ports
Signed-off-by: SataQiu <1527062125@qq.com>
2020-04-11 13:56:53 +08:00
Mike Spreitzer
3501f7c470 Regularize the name of the post-start-hook that injects APF config objects
Name it analogously to its companion that launches the consumer of
APF config objects.
2020-04-09 20:59:56 -04:00
SataQiu
e71f84b1c4 dual-stack: fix the bug that isValidAddress only checks the first IP even a Pod has more than one address
Signed-off-by: SataQiu <1527062125@qq.com>
2020-04-09 16:17:34 +08:00
Artur Gadelshin
3ab5ea09ed Fix goling issues for pkg/registry/apps 2020-04-08 23:12:29 +02:00
Kubernetes Prow Robot
b215be875c Merge pull request #89530 from tklauser/use-bits-onescount
Use OnesCount8 from math/bits to implement countBits
2020-04-02 21:40:13 -07:00
SataQiu
b66fd46cd5 fix the bug that Service clusterIP does not respect specified ipFamily
Signed-off-by: SataQiu <1527062125@qq.com>
2020-03-29 17:19:52 +08:00
Tobias Klauser
811f9d8abf Use OnesCount8 from math/bits to implement countBits
This allows to drop the bitCounts table. Also, bits.OnesCount8 can be
intrinsified to a single instruction on several GOARCHes.
2020-03-26 16:58:48 +01:00
Shihang Zhang
b56da85a77 sync api/v1/pod/util with api/pod/util and remove DefaultContainers 2020-03-24 16:42:32 -07:00
Kubernetes Prow Robot
d20b6cd44d Merge pull request #89252 from odinuge/hugepages-relax-node-validation
Relax huge page node validation
2020-03-23 13:52:47 -07:00
Kubernetes Prow Robot
ede025af1b Merge pull request #89232 from apelisse/test-apply-status
Use discovery to test apply all status
2020-03-20 03:52:36 -07:00
Antoine Pelisse
dfe1703ffa Do not reset managedFields in status update strategy 2020-03-19 09:58:46 -07:00
Odin Ugedal
19f0519b2d Relax huge page node validation
A relaxed version was added in 1.18, and this will disable the
validation all together.
2020-03-19 14:09:13 +01:00
Kubernetes Prow Robot
34f03ae9d4 Merge pull request #89001 from SataQiu/cleanup-20200310
Use utilnet.GetIndexedIP instead of replicating the function locally
2020-03-18 22:23:25 -07:00
Jordan Liggitt
96fadf9ed2 Define default table converters for missing resources 2020-03-10 15:22:37 -04:00
SataQiu
776fa5e76f use utilnet.GetIndexedIP instead of replicating the function locally 2020-03-10 18:03:53 +08:00
Christian Huffman
c6fd25d100 Updated CSIDriver references 2020-03-06 08:21:26 -05:00
Kubernetes Prow Robot
5708511499 Merge pull request #88708 from mikedanese/deleteopts
Migrate clientset metav1.DeleteOpts to pass-by-value
2020-03-05 23:09:23 -08:00