Commit Graph

403 Commits

Author SHA1 Message Date
danielqsj
5bc0e26c19 unify alias of api errors under pkg and staging 2019-12-26 16:42:28 +08:00
Jordan Liggitt
6a1354252d Add unit test for extended ipv4 service IP range 2019-12-22 22:32:42 -05:00
Jordan Liggitt
df4f5c1a30 Revert "remove ipallocator in favor of k/utils net package"
This reverts commit f984b4c7a2.
2019-12-22 22:31:25 -05:00
Jordan Liggitt
bb90f0ff94 Install APIs directly for tests 2019-12-13 11:56:29 -05:00
Jordan Liggitt
36eb250cbb Switch TableGenerator/TableConvertor interfaces to metav1 2019-11-26 13:18:18 -05:00
Roc Chan
c9cf3f5b72 Service Topology implementation
* Implement Service Topology for ipvs and iptables proxier
* Add test files
* API validation
2019-11-15 13:36:43 +08:00
chiehting
193f38beae Fix golint issues in pkg/registry/core/service/storage 2019-11-10 15:34:51 +08:00
Kubernetes Prow Robot
9fa1bc8003
Merge pull request #83422 from yastij/remove-ipallocator
remove ipallocator in favor of k/utils net package
2019-10-22 12:52:13 -07:00
Yassine TIJANI
f984b4c7a2 remove ipallocator in favor of k/utils net package
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-10-22 18:37:13 +02:00
Ted Yu
0779296bf3 Check error return from snapshot Restore 2019-10-13 10:08:20 -07:00
Khaled Henidak(Kal)
c27e0b029d phase 2: generated items 2019-08-28 16:11:46 +00:00
Khaled Henidak(Kal)
93c06821e6 Phase 2: service and endpoint processing 2019-08-28 15:59:43 +00:00
Khaled Henidak(Kal)
5e8ccda71c phase 2: api types + defaulting + validation + disabled fields handling 2019-08-28 15:59:43 +00:00
Tim Hockin
ec60426793 Add dropDisbledFields() to service 2019-08-22 21:36:39 -07:00
Kubernetes Prow Robot
b581f97009
Merge pull request #81325 from tedyu/etcd-ret-err
Propagate error from NewEtcd
2019-08-16 10:26:09 -07:00
Ted Yu
2374f9ad7c Propagate error from NewEtcd 2019-08-14 16:46:23 -07:00
Ted Yu
87b2a3129b Propagate error from NewREST 2019-08-12 13:55:35 -07:00
wojtekt
ee13be2884 Propagate error from creating cacher and storage decorators up 2019-07-15 20:48:30 +02:00
Khaled Henidak(Kal)
54d42e6a65 types modifications + conversion + conversion testing 2019-07-02 15:39:05 +00:00
wojtekt
a756e20cb5 Update autogenerated files 2019-07-01 15:02:49 +02:00
wojtekt
7497260e54 Move etcd/testing to etcd3/testing 2019-07-01 15:02:49 +02:00
Chao Xu
7bb4a3bace Run deleteValidation at the storage layer so that it will be retried on
conflict.

Adding unit test verify that deleteValidation is retried.

adding e2e test verifying the webhook can intercept configmap and custom
resource deletion, and the existing object is sent via the
admissionreview.OldObject.

update the admission integration test to verify that the existing object
is passed to the deletion admission webhook as oldObject, in case of an
immediate deletion and in case of an update-on-delete.
2019-05-17 09:54:11 -07:00
yue9944882
34c4a6e057 Cherrypicking #66535
validate deletion admission object

backward compatibility: add validation for direct storage delete calls

apply nil validation to existing tests

revert behavior changes in deleteCollection call

fixes validation on wiring graceful deletion

remove nil validation check

continue admission check on not found error
2019-05-17 09:50:16 -07:00
Daniel (Shijun) Qian
5268f69405 fix duplicated imports of k8s code (#77484)
* fix duplicated imports of api/core/v1

* fix duplicated imports of client-go/kubernetes

* fix duplicated imports of rest code

* change import name to more reasonable
2019-05-08 10:12:47 -07:00
Sean Sullivan
abfc5bbbf7 Rename TablePrinter interface to TableGenerator 2019-04-16 12:55:30 -07:00
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
Chao Xu
08aa712a6c move helpers.go to helper 2017-04-11 15:49:11 -07:00
deads2k
04460c8750 remove objectmetafor 2017-04-10 15:13:35 -04:00
Kubernetes Submit Queue
879f8e0c9c Merge pull request #42182 from spxtr/fatalunit
Automatic merge from submit-queue

Change an Errorf to a Fatalf to prevent a panic.

In #37982 we see that if this error is hit then we will panic on the next line. Lets use `Fatalf` where appropriate :)

This does *not* fix the flake, since that's caused by the test assuming that a particular port is free.
2017-04-04 12:14:21 -07:00
Kubernetes Submit Queue
223ac9f8b0 Merge pull request #43260 from thockin/nodeport-allocation-rand-seed
Automatic merge from submit-queue (batch tested with PRs 42379, 42668, 42876, 41473, 43260)

Don't use global rand for nodeport and IP allocs

Seed it at construction.
2017-03-30 23:36:30 -07:00
Tim Hockin
348f7a7036 Don't use global rand for nodeport and IP allocs
Seed it at contruction.
2017-03-16 17:25:07 -07:00
Tim Hockin
cb95c479cb Fix polarity of a test in NodePort allocation
The result of this was that an update to a Service would release the
NodePort temporarily (the repair loop would fix it in a minute).  During
that window, another Service could get allocated that Port.
2017-03-16 17:19:26 -07:00
spxtr
824f466f17 Change an Errorf to a Fatalf to prevent a panic. 2017-02-27 10:50:03 -08:00
nikhiljindal
1d32897eed Updating the registry to return whether the resource was immediately deleted 2017-02-21 11:00:35 -08:00
p0lyn0mial
b2cce0ac8e added short names for resources which are exposed during discovery 2017-02-06 23:35:07 +01:00
Dr. Stefan Schimanski
6af3210d6f Update generated files 2017-02-03 08:15:46 +01:00
Dr. Stefan Schimanski
536460e1d9 Mechanical fixup imports: pkg/genericapiserver 2017-02-03 08:15:45 +01:00
Dr. Stefan Schimanski
80b96b441b Mechanical import fixup: pkg/storage 2017-02-03 07:33:43 +01:00
Dr. Stefan Schimanski
de2eee391a Update bazel 2017-02-02 15:19:04 +01:00
Dr. Stefan Schimanski
b8142896a7 pkg/genericapiserver: cut off pkg/registry/cachesize dependency 2017-02-02 15:19:03 +01:00
Dr. Stefan Schimanski
871fc426b3 pkg/storage: move errors here from pkg/api/errors/storage 2017-02-02 15:17:34 +01:00
Dr. Stefan Schimanski
d6adb51e6c pkg/api: move HasObjectMetaSystemFieldValues into apimachinery 2017-02-01 13:37:41 +01:00
Kubernetes Submit Queue
0469fc6fb6 Merge pull request #40742 from deads2k/generic-34-storage
Automatic merge from submit-queue (batch tested with PRs 40638, 40742, 40710, 40718, 40763)

move pkg/storage to apiserver

Mechanical move of `pkg/storage` (not sub packages) to `k8s.io/apiserver`.

@sttts
2017-01-31 20:40:43 -08:00
Kubernetes Submit Queue
8fe7a2decb Merge pull request #40342 from louyihua/remove_warning
Automatic merge from submit-queue (batch tested with PRs 40111, 40368, 40342, 40274, 39443)

Eliminate "Unknown service type: ExternalName"

When creating an ExternalName service, rest.go still generate the warning message "Unknown service type: ExternalName". This should be eliminated as this type of service is supported now.
2017-01-31 19:18:41 -08:00
deads2k
1ef5d26079 move pkg/storage to apiserver 2017-01-31 19:07:33 -05:00
deads2k
c9a008dff3 move util/intstr to apimachinery 2017-01-30 12:46:59 -05:00
deads2k
9fb37f3bba remove storage dependency on api 2017-01-27 14:02:28 -05:00
deads2k
aea12038b4 move storage/storagebackend to apiserver 2017-01-27 08:49:55 -05:00
Dr. Stefan Schimanski
2b8e938128 Update generated files 2017-01-24 20:56:03 +01:00
Dr. Stefan Schimanski
a6b2ebb50c pkg/flag: make feature gate extensible and split between generic and kube 2017-01-24 20:56:03 +01:00
Dr. Stefan Schimanski
56d60cfae6 pkg/util: move flags from pkg/util/config to pkg/util/flags 2017-01-24 20:56:03 +01:00
Lou Yihua
352d64ab0d Eliminate "Unknown service type: ExternalName"
As the ExternalName service is supported, the warning message: "Unknown
service type: ExternalName" should be eliminated from rest.go.
2017-01-24 13:15:36 +08:00
Clayton Coleman
469df12038
refactor: move ListOptions references to metav1 2017-01-23 17:52:46 -05:00
Clayton Coleman
245b592fac
Convert core code to metav1.ListOptions 2017-01-23 17:52:45 -05:00
Clayton Coleman
a35be4e02e
Update registries to use metainternalversion list options 2017-01-23 17:52:45 -05:00
deads2k
11e8068d3f move pkg/fields to apimachinery 2017-01-19 09:50:16 -05:00
Dr. Stefan Schimanski
3d9449a353 genericapiserver: fix imports 2017-01-19 13:06:47 +01:00
Clayton Coleman
9a2a50cda7
refactor: use metav1.ObjectMeta in other types 2017-01-17 16:17:19 -05:00
Dr. Stefan Schimanski
8fe0958ba0 Update bazel 2017-01-17 09:30:48 +01:00
Dr. Stefan Schimanski
5c88b7d05a Fix imports 2017-01-17 09:30:30 +01:00
deads2k
a3e71b2cef move name generation to generic api server storage helpers 2017-01-16 16:04:04 -05:00
deads2k
77b4d55982 mechanical 2017-01-16 09:35:12 -05:00
deads2k
31b6ba4e94 mechanicals 2017-01-13 16:33:09 -05:00
deads2k
633e9d98fc use apimachinery packages instead of client-go packages 2017-01-13 14:04:54 -05:00
deads2k
f1176d9c5c mechanical repercussions 2017-01-13 08:27:14 -05:00
Timothy St. Clair
fbc5323dad Refactor registry to use store vs. etcd 2017-01-12 09:23:38 -06:00
Dr. Stefan Schimanski
57e3a57c10 Split pkg/genericapiserver/api/request from ObjectMeta 2017-01-11 18:26:33 +01:00
deads2k
6a4d5cd7cc start the apimachinery repo 2017-01-11 09:09:48 -05:00
Jeff Grafton
20d221f75c Enable auto-generating sources rules 2017-01-05 14:14:13 -08:00
Dr. Stefan Schimanski
87dd990bb7 Move pkg/api.{Context,RequestContextMapper} into pkg/genericapiserver/api/request 2017-01-03 14:57:33 +01:00
Mike Danese
161c391f44 autogenerated 2016-12-29 13:04:10 -08:00
Tim Hockin
64f5b050a1 Fix race in service nodeport allocator repair loop 2016-12-26 21:59:28 -08:00
Tim Hockin
103b7c01c1 Add a ForEach() to port allocator 2016-12-26 21:59:28 -08:00
Tim Hockin
0777ecd030 Fix race in service IP allocation repair loop 2016-12-26 21:59:27 -08:00
Tim Hockin
2b5a10f8ff Add a ForEach() to IP allocator 2016-12-26 21:59:27 -08:00
Tim Hockin
f75bed8682 Add a ForEach() to bitmap allocator 2016-12-26 21:59:27 -08:00
Mike Danese
c87de85347 autoupdate BUILD files 2016-12-12 13:30:07 -08:00
Monis Khan
a6bafbacbf
Refactor REST storage to use generic defaults
Signed-off-by: Monis Khan <mkhan@redhat.com>
2016-12-08 17:24:21 -05:00
Wojciech Tyczynski
c8711f29a5 Update autogenerated files 2016-12-06 12:25:57 +01:00
Wojciech Tyczynski
3432fea8b2 Pipe GetOptions to storage 2016-12-06 11:48:37 +01:00
Clayton Coleman
3454a8d52c
refactor: update bazel, codec, and gofmt 2016-12-03 19:10:53 -05:00
Clayton Coleman
5df8cc39c9
refactor: generated 2016-12-03 19:10:46 -05:00
Kubernetes Submit Queue
ad72d1728c Merge pull request #37547 from sttts/sttts-cut-off-genericapserver-from-registry
Automatic merge from submit-queue

Cut genericapserver->registry dependency

Towards moving genericapiserver into staging.
2016-12-03 12:22:20 -08:00
Kubernetes Submit Queue
16a9c0b49c Merge pull request #37692 from wojtek-t/storage_resource_version_for_get
Automatic merge from submit-queue

Handle RV in Get calls to storage interface.

Ref #37473
2016-12-03 11:44:29 -08:00
Dr. Stefan Schimanski
1f5511b131 Move RESTStorageProvider interface into pkg/master 2016-12-03 18:35:15 +01:00
Kubernetes Submit Queue
959d386ccf Merge pull request #36709 from hongchaodeng/e3
Automatic merge from submit-queue (batch tested with PRs 35300, 36709, 37643, 37813, 37697)

[etcd] test cleanup: remove unnecessary AddPrefix()

What?
Remove etcdtest.AddPrefix() in tests. They will be automatically prepended in etcd storage.

Why?
ref: #36290 #36374
After the change, it will double prepend.
2016-12-03 08:55:56 -08:00
Wojciech Tyczynski
ec247315be Handle RV in Get calls to storage interface. 2016-12-03 10:18:43 +01:00
Kubernetes Submit Queue
cd560926bd Merge pull request #36889 from wojtek-t/reuse_fields_and_labels
Automatic merge from submit-queue

Reuse fields and labels

This should significantly reduce memory allocations in apiserver in large cluster.
Explanation:
- every kubelet is refreshing watch every 5-10 minutes (this generally is not causing relist - it just renews watch)
- that means, in 5000-node cluster, we are issuing ~10 watches per second
- since we don't have "watch heartbets", the watch is issued from previously received resourceVersion
- to make some assumption, let's assume pods are evenly spread across pods, and writes for them are evenly spread - that means, that a given kubelet is interested in 1 per 5000 pod changes
- with that assumption, each watch, has to process 2500 (on average) previous watch events
- for each of such even, we are currently computing fields.

This PR is fixing this problem.
2016-12-02 21:49:43 -08:00
deads2k
a111bd7690 switch to clients for bootstrap controller 2016-12-01 09:14:31 -05:00
Wojciech Tyczynski
36e6cd19e1 Cache fields for filtering in watchCache. 2016-11-29 09:48:09 +01:00
Wojciech Tyczynski
17606603d2 Fix TestServiceAlloc flakes 2016-11-25 14:50:40 +01:00
Clayton Coleman
35a6bfbcee
generated: refactor 2016-11-23 22:30:47 -06:00
Hongchao Deng
408462fc0c bazel update 2016-11-12 18:33:02 -08:00
Hongchao Deng
3a28b7f848 test cleanup: remove unnecessary AddPrefix() 2016-11-12 16:04:23 -08:00
Mike Danese
3b6a067afc autogenerated 2016-10-21 17:32:32 -07:00
Maciej Kwiek
d1c32b8194 Test cases for service ClusterIP updates
Test cases from ClusterIP using types to other ClusterIP using types
(ClusterIP, NodePort, LoadBalancer) added.
2016-10-21 13:11:57 +02:00
bprashanth
5029bb06e9 Validation 2016-10-19 14:51:57 -07:00
bprashanth
a46a849b9e Promote source ip annotations to beta 2016-10-19 13:39:37 -07:00
Chao Xu
fbd187af45 move the retry util out of pkg/client/unversioned 2016-10-13 16:10:24 -07:00
deads2k
518d5500c7 remove testapi.Default.GroupVersion 2016-10-07 10:10:54 -04:00
juanvallejo
cfbdcec7d6 make portallocator.ErrNotInRange a type 2016-10-04 13:19:24 -04:00
juanvallejo
6b83f89d47 Add option to set a service nodeport
This patch adds the option to set a nodeport when creating a NodePort
service. In case of a port allocation error due to a specified port
being out of the valid range, the error now includes the valid
range. If a `--node-port` value is not specified, it defaults to zero, in
which case the allocator will default to its current behavior of
assigning an available port.

This patch also adds a new helper function in `cmd/util/helpers.go` to
retrieve `Int32` cobra flags.

**Example**
```
$ kubectl create service nodeport mynodeport --tcp=8080:7777 --node-port=1
The Service "mynodeport" is invalid: spec.ports[0].nodePort: Invalid
value: 1: provided port is not in the valid range. Valid ports range
from 30000-32767

$ kubectl create service nodeport mynodeport --tcp=8080:7777 --node-port=30000
service "mynodeport" created

$ oc describe service mynodeport
Name:                   mynodeport
Namespace:              default
Labels:                 app=mynodeport
Selector:               app=mynodeport
Type:                   NodePort
IP:                     172.30.81.254
Port:                   8080-7777       8080/TCP
NodePort:               8080-7777       30000/TCP
Endpoints:              <none>
Session Affinity:       None
No events.
```
2016-10-04 13:19:24 -04:00
Hongchao Deng
6f3ac807fd pass SelectionPredicate instead of Filter to storage layer 2016-09-26 09:47:19 -07:00
deads2k
561f8d75a5 move core resource registry packages 2016-09-21 10:11:50 -04:00