Commit Graph

228 Commits

Author SHA1 Message Date
Chao Xu
3b618af0d4 Expose storage version hash 2019-03-11 10:26:56 -07:00
Lubomir I. Ivanov
e29c6e1b38 go-1.12: fix 'go vet' failures 2019-03-01 18:48:17 +02:00
Jordan Liggitt
d1e865ee34 Update client callers to use explicit versions 2019-02-26 08:36:30 -05:00
Jennifer Buckley
1a5e48e29d Honor forceAllowCreate in service registry 2019-02-11 11:05:30 -08:00
Jordan Liggitt
4271384966 Call conditional validation from create/update strategies 2019-02-05 23:09:31 -05:00
Davanum Srinivas
954996e231
Move from glog to klog
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
  * github.com/kubernetes/repo-infra
  * k8s.io/gengo/
  * k8s.io/kube-openapi/
  * github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods

Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135
2018-11-10 07:50:31 -05:00
zuoxiu.jm
9c33a913de use loopback client connection instead of direct etcd call in master lease 2018-11-01 12:22:09 +08:00
Jordan Liggitt
e309bd3abf
Remove deprecated feature flags 2018-08-28 15:25:46 -04:00
Kubernetes Submit Queue
3da79f5cab
Merge pull request #67038 from jennybuckley/dry-run-services
Automatic merge from submit-queue (batch tested with PRs 67323, 66717, 67038). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Prevent side effects on dryrun in service registry

```release-note
NONE
```
2018-08-27 16:27:06 -07:00
jennybuckley
c0bf542796 Prevent side effects on dryrun in service registry 2018-08-22 16:57:44 -07:00
Chao Xu
64bd0e4589 Fix scope.Kind of CONNECT subresources.
Make scope.Kind of pod/attach, pod/exec, pod/portforward, node/proxy,
service/proxy to their respective subresource Kind, instead of the
parent Kind. The kind is used by the admission webhook controller to
determine how to convert the object.
2018-08-06 18:59:52 -07:00
Antoine Pelisse
68937c4934 dry-run: Use dry-runnable structure 2018-08-03 14:30:50 -07:00
Jordan Liggitt
652e2dc025
generated 2018-07-13 11:41:09 -04:00
Jordan Liggitt
617078d220
Remove hand-written typed registries 2018-07-13 11:40:52 -04:00
Antoine Pelisse
03b1e14101 dry-run: Create new options for Update/Create and pass it along 2018-07-12 07:18:37 -07:00
jennybuckley
c60fe4fb76 Propagate forceAllowCreate as false to all subresources 2018-06-29 11:28:19 -07:00
jennybuckley
d10e08fc89 Allow override AllowCreateOnUpdate with new argument to Update 2018-06-28 14:24:51 -07:00
Jeff Grafton
23ceebac22 Run hack/update-bazel.sh 2018-06-22 16:22:57 -07:00
Nick Sardo
c05e89d0e5 Fix nodeport repair for ESIPP services 2018-05-25 16:09:16 -07:00
Kubernetes Submit Queue
4e3efbe364
Merge pull request #61455 from liggitt/uid-conflict
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Deprecate repair-malformed-updates flag, move object meta mutation into BeforeCreate

closes #23297

```release-note
NONE
```
2018-05-03 13:41:07 -07:00
David Eads
8ae62517da remove rootscopedkinds from groupmeta 2018-05-01 13:08:23 -04:00
Jordan Liggitt
7f840f4441
Deprecate repair-malformed-updates flag, move object meta mutation into BeforeCreate 2018-04-27 17:26:39 -04:00
Mike Danese
54fd2aaefd replace request.Context with context.Context 2018-04-24 08:59:00 -07:00
hzxuzhonghu
70e45eccf2 Replace "golang.org/x/net/context" with "context" 2018-03-22 20:57:14 +08:00
Kubernetes Submit Queue
82eeda0885
Merge pull request #60089 from rpothier/allocator-for-ipv6
Automatic merge from submit-queue (batch tested with PRs 57550, 60089). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Remove subnet size restriction for IPv6

RangeSize was restricting IPv6 subnets to a /66 due to the
logic using a uint64. This is not practical for IPv6.
This change removes the /64 restriction, but also sets a limit
on the range that can be allocated, so that the bitmap will not grow too large.

**What this PR does / why we need it**:
This PR removes the /66 restriction in ipallocator for IPv6. It is not practical to restrict
IPv6 to /66. Currently a /64 or /48 is not allowed. The problem with removing the restriction is
the bitmap that tracks the subnets can grow really large, so a  limit
on the max size of the subnet was set to 65536. 
Setting the max size will have a side-effect with larger subnets that the allocator
will allocate in a smaller section of IP's, this will need to be addressed in a follow-on PR.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #60081

**Special notes for your reviewer**:

**Release note**:

```release-note-none
```
2018-02-23 04:01:35 -08:00
Clayton Coleman
98cf7e6ae2
generated: bazel 2018-02-22 23:26:25 -05:00
Clayton Coleman
110b064d63
Make Service storage a wrapper around other storages
The registry abstraction is unnecessary and adds direct coupling to the
core types. By using a wrapper, we carry through the default
implementations of the non-mutating operations. The DeleteCollection
method is explicitly patched out since it cannot be correctly
implemented on the storage currently.

As a result, TableConvertor is now exposed.

A few other minor refactorings

* Corrected the case of some variables
* Used functions instead of methods for several helper methods
* Removed the legacy Deleter - service was the only remaining consumer
2018-02-22 23:26:25 -05:00
Robert Pothier
ad16986cd8 Remove subnet size restriction for IPv6
RangeSize was restricting IPv6 subnets to a /66 due to the
logic using a uint64. This is not practical for IPv6.
This change removes the /64 restriction, but also sets a limit
on the range that can be allocated, so that the bitmap will not grow too large.
2018-02-22 14:21:14 -05:00
Jeff Grafton
ef56a8d6bb Autogenerated: hack/update-bazel.sh 2018-02-16 13:43:01 -08:00
Di Xu
48388fec7e fix all the typos across the project 2018-02-11 11:04:14 +08:00
chenguoyan01
1ba6cdae4a fix portallocator comments
Change-Id: I547168de08acaedad03ac472c6b6afa578b8a7c4
2018-01-30 11:17:39 +08:00
Brendan Burns
dcb9b4b591 By default block service proxy to external IP addresses.
Service proxy uses redirects to Pods instead of direct access.
2018-01-24 04:13:15 +00:00
Kubernetes Submit Queue
3256546a79
Merge pull request #56948 from MrHohn/esipp-remove-feature-gate
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Remove ExternalTrafficLocalOnly from kube_feature gate

*What this PR does / why we need it**:
This PR is for v1.10.

External Source IP Preservation (ESIPP) had been promoted to GA since 1.7. Following the proposal on https://github.com/kubernetes/kubernetes/issues/46404#issuecomment-303939180, we should be able to remove it from feature gate now.

Added release note to announce this.

Also ref the previous attempt: https://github.com/kubernetes/kubernetes/pull/45857.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #56645

**Special notes for your reviewer**:

**Release note**:

```release-note
"ExternalTrafficLocalOnly" has been removed from feature gate. It has been a GA feature since v1.7.
```
2018-01-19 00:35:01 -08:00
Jeff Grafton
efee0704c6 Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
Zihong Zheng
9ab98d9f69 Remove ExternalTrafficLocalOnly from kube_feature gate 2017-12-07 21:25:11 -08:00
Ferran Rodenas
8ed0bc1250 Send events on ip and port allocator repair controller errors
Signed-off-by: Ferran Rodenas <rodenasf@vmware.com>
2017-11-24 19:10:06 +01:00
Dr. Stefan Schimanski
d4d53c0e2a apiserver: remove unneeded scheme from registry tester 2017-11-20 09:39:44 +01:00
Dr. Stefan Schimanski
0b100cb69b registry: move generic registry tester into k8s.io/apiserver 2017-11-16 09:03:42 +01:00
Dr. Stefan Schimanski
3410f536f4 registry: cut-off kube dependencies from registrytest 2017-11-16 08:57:58 +01:00
Kubernetes Submit Queue
91615e4fd9
Merge pull request #49258 from xiangpengzhao/fix-dup-port-panic
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Check dup NodePort with protocols when update services

**What this PR does / why we need it**:
As the title says.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #48579 fixes: #54898 fixes: #55327

**Special notes for your reviewer**:
/assign @freehan 
/cc @cblecker 

**Release note**:

```release-note
NONE
```
2017-11-12 22:53:38 -08:00
Dr. Stefan Schimanski
bec617f3cc Update generated files 2017-11-09 12:14:08 +01:00
Dr. Stefan Schimanski
012b085ac8 pkg/apis/core: mechanical import fixes in dependencies 2017-11-09 12:14:08 +01:00
xiangpengzhao
330517a3a0 Return error instead of crashing apiserver when updating services with duplicate nodeports 2017-11-07 14:32:38 +08:00
xiangpengzhao
e6ad515315 Use "==" instead of DeepEqual for simple structs comparing. 2017-11-07 14:16:59 +08:00
Dr. Stefan Schimanski
2452afffe0 admission: wire create+update validation func into kube registries 2017-11-02 09:29:16 +01:00
xiangpengzhao
139c136494 Add unit test for checking dup NodePort with protocols 2017-11-02 11:24:55 +08:00
xiangpengzhao
17515a9f87 Check dup NodePort with protocols when update services 2017-11-02 11:22:00 +08:00
Davanum Srinivas
00bcbd1311 Fix TestCRD Flake
The DestroyFunc functions returned by generic.NewRawStorage is never
called when we do a StartTestServer() in the test suite. For a quick
hack for now, added TrackStorageCleanup/RegisterStorageCleanup and
CleanupStorage. Note that unless TrackStorageCleanup is called (which
is called only from the test suite) the other two methods are
no-ops essentially. So no change in behavior at runtime. This vastly
brings down the number of goroutines that are left behind when this
test is executed and should reduce if not eliminate the flakiness
of TestCRD
2017-10-29 09:50:12 -04:00
Dr. Stefan Schimanski
cad0364e73 Update bazel 2017-10-18 17:24:04 +02:00
Dr. Stefan Schimanski
7773a30f67 pkg/api/legacyscheme: fixup imports 2017-10-18 17:23:55 +02:00
Jeff Grafton
aee5f457db update BUILD files 2017-10-15 18:18:13 -07:00
Kubernetes Submit Queue
e51e714ae3 Merge pull request #47621 from danehans/ipallocator
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Updates RangeSize error message and tests for IPv6.

**What this PR does / why we need it**:
Updates the RangeSize function's error message and tests for IPv6. Converts RangeSize unit test to a table test and tests for success and failure cases. This is needed to support IPv6. Previously, it was unclear whether RangeSize supported IPv6 CIDRs. These updates make IPv6 support explicit.

**Which issue this PR fixes**
Partially fixes Issue #1443

**Special notes for your reviewer**:
/area ipv6

**Release note**:
```NONE
```
2017-10-13 01:19:26 -07:00
xiangpengzhao
3ca253a993 Release NodePorts at the end of test cases 2017-10-11 16:25:47 +08:00
Daneyon Hansen
3f293e2fe6 Updates RangeSize func and tests for IPv6. 2017-10-09 16:21:51 -07:00
Dr. Stefan Schimanski
509df603b1 apimachinery: mechanical removal of ObjectCopier plumbing 2017-10-06 19:21:03 +02:00
Jordan Liggitt
04eede9b2a
Preserve leading and trailing slashes on proxy subpaths 2017-09-22 23:05:13 -04:00
Tim Hockin
487224cbc4 Say the valid IP range in IP errors 2017-09-19 08:35:59 -07:00
Kubernetes Submit Queue
6b5462803e Merge pull request #52009 from zjj2wry/export-svc
Automatic merge from submit-queue (batch tested with PRs 51824, 50476, 52451, 52009, 52237)

fix issue(#47976)Invalid value error when creating service from expor…

…ted config



**What this PR does / why we need it**:
close issue #47976
**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-09-15 01:08:08 -07:00
Clayton Coleman
fc2d201e15
Allow watch cache to be disabled per type
Currently setting watch cache size for a given resource does not disable
the watch cache. This commit adds a new `default-watch-cache-size` flag
to map to the existing field, and refactors how watch cache sizes are
calculated to bring all of the code into one place. It also adds debug
logging to startup to allow us to verify watch cache enablement in
production.
2017-09-08 13:42:28 -04:00
Jordan Liggitt
9648f1cb7a
Fix proxied request-uri to be valid HTTP requests 2017-09-07 13:10:49 -04:00
zhengjiajin
a88e8e2158 fix issue(#47976)Invalid value error when creating service from exported config 2017-09-06 18:10:19 +08:00
Clayton Coleman
da5265d19a
Enable server side printers for converted types 2017-08-17 17:41:34 -04:00
Kubernetes Submit Queue
1d633b7fdd Merge pull request #50116 from MrHohn/fix-healthcheck-nodeport-allocation
Automatic merge from submit-queue

Use nodePortOp for allocating healthCheck nodePort

**What this PR does / why we need it**: Allocate healthCheck nodePort via nodePortOp so that we won't leak port on failure.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #49999

**Special notes for your reviewer**:
/assign @xiangpengzhao @thockin 


**Release note**:

```release-note
NONE
```
2017-08-15 21:03:38 -07:00
Dr. Stefan Schimanski
4df0eec4df registries: simplify deepcopy calls 2017-08-15 15:49:52 +02:00
ymqytw
7500b55ce4 move retry to client-go 2017-08-14 14:16:26 -07:00
Zihong Zheng
e089c36447 Use nodePortOp for allocating healthCheck nodePort 2017-08-14 13:30:00 -07:00
Jeff Grafton
a7f49c906d Use buildozer to delete licenses() rules except under third_party/ 2017-08-11 09:32:39 -07:00
Jeff Grafton
33276f06be Use buildozer to remove deprecated automanaged tags 2017-08-11 09:31:50 -07:00
Kubernetes Submit Queue
524a0e04c4 Merge pull request #50224 from xiangpengzhao/remove-beta-annotations
Automatic merge from submit-queue

Remove deprecated ESIPP beta annotations

**What this PR does / why we need it**:
Remove deprecated ESIPP beta annotations.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #50187

**Special notes for your reviewer**:
/assign @MrHohn
/sig network

**Release note**:

```release-note
Beta annotations `service.beta.kubernetes.io/external-traffic` and `service.beta.kubernetes.io/healthcheck-nodeport` have been removed. Please use fields `service.spec.externalTrafficPolicy` and `service.spec.healthCheckNodePort` instead.
```
2017-08-10 22:55:54 -07:00
Kubernetes Submit Queue
da549596c4 Merge pull request #49534 from smarterclayton/separate_proxy
Automatic merge from submit-queue

Support exec/attach/portforward in `kubectl proxy`

Use the UpgradeAwareProxy shared code in kubectl proxy. Provide a separate transport for those requests that does not have HTTP/2 enabled. Refactor the code to be a bit cleaner in places and to better separate changes.

Fixes #32026

```release-note
`kubectl proxy` will now correctly handle the `exec`, `attach`, and `portforward` commands.  You must pass `--disable-filter` to the command in order to allow these endpoints.
```
2017-08-09 09:53:35 -07:00
xiangpengzhao
ea1a577358 Remove some helpers associated with ESIPP. 2017-08-09 14:25:08 +08:00
deads2k
ec397c4374 convert default predicates to use the default 2017-08-07 09:05:17 -04:00
Shiyang Wang
2eda19da7b Fix NotFound errors do not line up with API endpoint's group version 2017-08-07 16:30:40 +08:00
xiangpengzhao
ebe21ee4c1 Remove deprecated ESIPP beta annotations 2017-08-05 15:00:58 +08:00
Clayton Coleman
d2b8cdb3c4
React to changes in UpgradeAwareProxy 2017-08-04 12:48:20 -04:00
Kubernetes Submit Queue
f26b2956fb Merge pull request #48418 from xiangpengzhao/refactor-create-svc
Automatic merge from submit-queue (batch tested with PRs 49409, 49352, 49266, 48418)

Use helper to init ClusterIP and NodePort in Create of service

**What this PR does / why we need it**:
Make service `Create` more readable and testable.

- use `initClusterIP` introduced in #46197 to init ClusterIP allocation in service `Create`
- add a new helper `initNodePort` to init NodePort allocation in service `Create`
- TBD: add test case for `initNodePort`. This will cover the NodePort allocation process in `Create`. If this PR makes sense, I will write a test case later.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #35354 (not directly. #35354 was fixed by #46197. The idea of this PR is from https://github.com/kubernetes/kubernetes/pull/46197#discussion_r120910077)

**Special notes for your reviewer**:
/cc @thockin @freehan 

**Release note**:

```release-note
NONE
```
2017-07-22 02:05:21 -07:00
Kubernetes Submit Queue
45432de47b Merge pull request #49128 from deads2k/server-29-mising-shortname
Automatic merge from submit-queue (batch tested with PRs 49055, 49128, 49132, 49134, 49110)

add svc and netpol to discovery

Fixes https://github.com/kubernetes/kubernetes/issues/48962

one shortname was missing entirely, the other was on a storage not actually used as storage.

@ncdc
2017-07-18 21:54:20 -07:00
deads2k
8232778ffe add svc and netpol to discovery 2017-07-18 13:16:41 -04:00
xiangpengzhao
d765f91c1d Fix health check node port test flake 2017-07-18 19:05:40 +08:00
Clayton Coleman
c73622108c
generated: bazel / godeps 2017-07-09 15:23:34 -04:00
Clayton Coleman
edc12aafe2
Unify generic proxy code in apimachinery
Make the utility package truly generic, consolidate all generic proxy in
apimachinery.
2017-07-07 16:26:29 -04:00
xiangpengzhao
472e10faf9 Fix ClusterIP leak flake and potential NodePort leak 2017-07-07 13:02:01 +08:00
xiangpengzhao
895da2cd49 Remove shouldAssignNodePorts logic in initNodePort; add test cases. 2017-07-07 09:57:11 +08:00
xiangpengzhao
dc7fb0c9e5
Use helper to init ClusterIP and NodePort in Create of service 2017-07-03 16:35:09 +08:00
xiangpengzhao
a58232ab41 Add unit test case for initClusterIP and updateNodePort 2017-06-28 09:35:12 +08:00
xiangpengzhao
4e9abca6d0 Allocate clusterIP when change service type from ExternalName to ClusterIP 2017-06-27 12:30:22 +08:00
Fabiano Franz
058f9b4f32 Add group alias names to discovery in registry 2017-06-05 20:18:12 -03:00
Tim Hockin
be987b015c Merge pull request #46716 from thockin/proxy-comments
Kube-proxy cleanups
2017-06-03 15:57:17 -07:00
Clayton Coleman
2568a92119
Grow signature for predicate attributes to include init status 2017-06-02 22:09:04 -04:00
Clayton Coleman
331eea67d8
Allow initialization of resources
Add support for creating resources that are not immediately visible to
naive clients, but must first be initialized by one or more privileged
cluster agents. These controllers can mark the object as initialized,
allowing others to see them.

Permission to override initialization defaults or modify an initializing
object is limited per resource to a virtual subresource "RESOURCE/initialize"
via RBAC.

Initialization is currently alpha.
2017-06-02 22:09:03 -04:00
Tim Hockin
fc34a9d6ba 'Global' -> 'Cluster' for traffic policy 2017-06-01 16:17:38 -07:00
Zihong Zheng
f0739a5638 Randomize test nodePort to prevent collision 2017-05-18 15:29:22 -07:00
Zihong Zheng
a28a22df11 Move defaulting logic for ExternalTrafficPolicy into defaults.go 2017-05-17 12:47:01 -07:00
Zihong Zheng
c0920f75cf Move API annotations into annotation_key_constants and remove api/annotations package 2017-05-16 21:55:23 -07:00
Zihong Zheng
12277a0ad4 Update ESIPP validation and service registry unit tests 2017-05-12 10:59:00 -07:00
Zihong Zheng
79ca71708a Adjust ESIPP validation and service registry codes 2017-05-12 10:58:59 -07:00
Jordan Liggitt
3f4ded12be
Add PATCH to supported list of proxy subresource verbs 2017-04-27 10:38:10 -04:00
Monis Khan
ed35deb69d
Default ObjectNameFunc for all REST Stores
All Stores in Kubernetes follow the same logic for determining the name
of an object.  This change makes it so that CompleteWithOptions defaults
the ObjectNameFunc if it is not specified.  Thus a user does not need to
remember to use ObjectMeta.Name.  Using the wrong field as the name can
lead to an object which has a name that bypasses normal object name
validation.

Signed-off-by: Monis Khan <mkhan@redhat.com>
2017-04-21 15:47:25 -04:00
Zihong Zheng
ae93b0da15 Refine NeedsHealthCheck logic 2017-04-17 14:26:02 -07:00
Mike Danese
a05c3c0efd autogenerated 2017-04-14 10:40:57 -07:00