Commit Graph

6366 Commits (7cbe2d6c5f4c3b00d482dc7de3bfd1831ff0e861)

Author SHA1 Message Date
Kubernetes Prow Robot 701d28f63d
Merge pull request #76323 from sttts/sttts-openapi-aggregation-order
aggregator: add OpenAPI aggregation order test
2019-04-09 12:36:45 -07:00
David Eads 0f7185e7a5 for aggregated apiserver availability, try multiple endpoints in parallel 2019-04-09 14:31:24 -04:00
aaa ba1d992ebd Update README.md files in sample-controller 2019-04-09 08:52:57 -04:00
wojtekt c93f889833 Slightly simplify watchcache 2019-04-09 14:20:18 +02:00
Kubernetes Prow Robot 407269d9e5
Merge pull request #76018 from qingsenLi/k8s190402
Remove duplicate 'of'
2019-04-09 04:59:04 -07:00
aaa 1c424fddc2 Update some readme.md files in client-go 2019-04-09 06:56:52 -04:00
Dr. Stefan Schimanski ca19b4dcf3 aggregator: add OpenAPI aggregation order test 2019-04-09 10:00:00 +02:00
Kubernetes Prow Robot 1cca3f9d45
Merge pull request #76215 from liggitt/update-vendored-dependencies
Update vendored dependencies
2019-04-08 23:51:03 -07:00
WanLinghao d0138ca3fe This commit does two things in pkg package:
1. Remove unused ptr functions.
2. Replace ptr functions with k8s.io/utils/pointer
2019-04-09 10:56:35 +08:00
Kubernetes Prow Robot 6b9dc653b4
Merge pull request #76270 from liggitt/type-alias
Add type alias for DirectCodecFactory -> WithoutConversionCodecFactory
2019-04-08 17:27:16 -07:00
Kubernetes Prow Robot 386d323f5a
Merge pull request #76235 from mkumatag/fix_unit
Fix the formatting string
2019-04-08 14:40:56 -07:00
Kubernetes Prow Robot e43d69d891
Merge pull request #76058 from gjtempleton/Add-Kube-Metrics-Adaptor
Add kube-metrics-adapter to list of Custom Metrics Implementations
2019-04-08 14:40:31 -07:00
Jordan Liggitt 27030079f3 golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495 2019-04-08 15:20:46 -04:00
Jordan Liggitt 389f76235c golang.org/x/tools v0.0.0-20190313210603-aa82965741a9 (release-branch.go1.12) 2019-04-08 15:20:46 -04:00
Jordan Liggitt 97c130b056 golang.org/x/crypto v0.0.0-20181025213731-e84da0312774 (release-branch.go1.12) 2019-04-08 15:20:46 -04:00
Jordan Liggitt 921f3ea8da golang.org/x/sys v0.0.0-20190209173611-3b5209105503 (release-branch.go1.12) 2019-04-08 15:20:45 -04:00
Jordan Liggitt 55d52fd5c3 golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db (release-branch.go1.12) 2019-04-08 15:20:45 -04:00
Jordan Liggitt 5af2cd6f26 gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485 2019-04-08 15:20:44 -04:00
Jordan Liggitt e8e15acff6 github.com/stretchr/objx v0.1.1, github.com/stretchr/testify v1.2.2 2019-04-08 15:20:44 -04:00
Jordan Liggitt 3cabb5e654 github.com/sirupsen/logrus v1.2.0 2019-04-08 15:20:44 -04:00
Jordan Liggitt 65a6613fe2 github.com/pmezard/go-difflib v1.0.0 2019-04-08 15:20:44 -04:00
Jordan Liggitt e2e1f497d0 github.com/pborman/uuid v1.2.0 2019-04-08 15:20:44 -04:00
Jordan Liggitt 319ff2fd31 github.com/mitchellh/mapstructure v1.1.2
Used only by github.com/go-openapi/..., all expecting v1.1.2
2019-04-08 15:20:44 -04:00
Jordan Liggitt 1970be1ea9 github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329
Used only by github.com/go-openapi/..., all expecting 60711f1a8329
2019-04-08 15:20:43 -04:00
Jordan Liggitt 14df726621 github.com/docker/go-units v0.3.3
Used by github.com/go-openapi/..., expecting v0.3.3
2019-04-08 15:20:43 -04:00
Jordan Liggitt 8ad7a9595a github.com/davecgh/go-spew v1.1.1 2019-04-08 15:20:43 -04:00
Jordan Liggitt a2ec981f67 github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973
Used only by github.com/prometheus/..., all expecting 3a771d992973
2019-04-08 15:20:43 -04:00
Jordan Liggitt 2cbf496c8e github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578
Used only by github.com/go-openapi/..., all expecting de5bf2ad4578
2019-04-08 15:20:43 -04:00
Jordan Liggitt 5627034673 github.com/PuerkitoBio/purell v1.1.0
Used only by github.com/go-openapi/..., all expecting v1.1.0
2019-04-08 15:20:43 -04:00
Kubernetes Prow Robot 8a2f8e69ed
Merge pull request #76197 from liggitt/generated-vendor
Mark staging go module files as generated, add script to lint dependencies
2019-04-08 10:16:51 -07:00
Kubernetes Prow Robot f0ac762efd
Merge pull request #75921 from hickey/bugfix/kubelet_default_value
Fixed default value for ConfigMapAndSecretChangeDetectionStrategy (kubelet)
2019-04-08 10:16:38 -07:00
Kubernetes Prow Robot eb65eacfca
Merge pull request #74855 from mbohlool/sam
Add Port configuration to ServiceReference of Admission webhooks, CRD Conversion Webhooks, AuditSink Webhooks and kube-aggregator
2019-04-08 10:16:26 -07:00
Kubernetes Prow Robot c082ace102
Merge pull request #76161 from liggitt/kubectl-watch-table
use server-side printing in `kubectl get -w`
2019-04-08 08:58:48 -07:00
Jordan Liggitt 104746f977 Add type alias for DirectCodecFactory -> WithoutConversionCodecFactory 2019-04-08 10:52:04 -04:00
Jordan Liggitt ce3dad93f5 generated: hack/update-vendor.sh 2019-04-08 09:45:51 -04:00
Mehdy Bohlool e6f5f4f61b Fix available controller assumption about port 443 2019-04-08 00:29:04 -07:00
Mehdy Bohlool c1076ba05a Fix API documentation, 'Port' to 'port' 2019-04-08 00:29:04 -07:00
Mehdy Bohlool 864cf3e33a Generated files 2019-04-08 00:29:04 -07:00
Mehdy Bohlool 8702550beb Support service port other than 443 for kube-aggregator 2019-04-08 00:19:57 -07:00
Mehdy Bohlool 11f37d757f Add port to ServiceResolvers 2019-04-08 00:19:52 -07:00
Mehdy Bohlool 404e2f7a30 Add port to ServiceReference of Admission Webhooks, ConversionWebhooks and AuditSync with defaulter and validator 2019-04-08 00:18:36 -07:00
Manjunath A Kumatagi e9d1a90535 Fix the formatting string 2019-04-07 12:01:07 +05:30
Kubernetes Prow Robot 8e4a32f03d
Merge pull request #76086 from alok87/add-cri-api-readme
Adds cri-api in the staged repository list
2019-04-06 08:18:26 -07:00
GuyTempleton c1a88dee21
Expand on Kube Metrics Adaptor implementation 2019-04-06 08:34:35 +01:00
Kubernetes Prow Robot f8d0b21b98
Merge pull request #75853 from roycaihw/fix/use-standard-stacktrace
apimachinery & apiserver: use stacktrace in the stdlib
2019-04-05 19:28:27 -07:00
Kubernetes Prow Robot d2beadc5f9
Merge pull request #75123 from booxter/log_message_client_go
Fixed log message in client-go
2019-04-05 13:13:22 -07:00
Haowei Cai 999a02ceb6 test panic log text 2019-04-05 12:50:20 -07:00
Kubernetes Prow Robot f1693efe37
Merge pull request #76196 from kubernetes/revert-75547-improve_the_efficiency_of_delivery_watch_events
Revert "delivery event non blocking firstly"
2019-04-05 10:21:44 -07:00
Kubernetes Prow Robot 223f355ba4
Merge pull request #76162 from nikhita/bump-gengo
Bump gengo to avoid large errors in verify logs
2019-04-05 07:43:32 -07:00
Wojciech Tyczynski cea9d65a2c
Revert "delivery event non blocking firstly" 2019-04-05 15:36:08 +02:00
Kubernetes Prow Robot 84b561033e
Merge pull request #76175 from stealthybox/refactor-mediatype-loops
Refactor loops over `SupportedMediaTypes()` where mediaType is used to match a single SerializerInfo{}
2019-04-04 23:54:07 -07:00
Kubernetes Prow Robot 470bda42c3
Merge pull request #76153 from liggitt/update-vendor-cleanup
Update vendor cleanup
2019-04-04 23:53:42 -07:00
Jordan Liggitt 959c56d325 Install meta.k8s.io/v1beta1 types into kubectl scheme 2019-04-05 01:19:57 -04:00
Kubernetes Prow Robot 28295b0e78
Merge pull request #76098 from smarterclayton/move_direct_encoder
Move DirectEncoder to runtime, rename, add .WithoutConversion() on CodecFactory
2019-04-04 21:07:55 -07:00
Kubernetes Prow Robot 72ed03fed4
Merge pull request #76065 from hormes/add_timeout_support_for_watch
add timeout support for watch
2019-04-04 21:07:42 -07:00
leigh capili 47e52d2981 Refactor loops over SupportedMediaTypes() where mediaType is used to match a single SerializerInfo{}
We have an existing helper function for this:  runtime.SerializerInfoForMediaType()

This is common prep-work for encoding runtime.Objects into JSON/YAML for transmission over the wire or writing to ComponentConfigs.
2019-04-04 19:01:01 -06:00
Nikhita Raghunath 2095ac9b06 bump(k8s.io/gengo): f8a0810f38afb8478882b3835a615aebfda39afa 2019-04-04 23:50:06 +05:30
Jordan Liggitt f5ea2344ae generated 2019-04-04 12:06:45 -04:00
Kubernetes Prow Robot 4da579b68a
Merge pull request #71049 from booxter/expose-tracker-for-fake-simpleclientset
Expose object tracker for fake clientsets
2019-04-04 08:02:54 -07:00
fansong.cfs b304a1f96d add timeout suuport for watch 2019-04-04 21:49:37 +08:00
Kubernetes Prow Robot 4e728efbd6
Merge pull request #76087 from sttts/sttts-fail-feature-gate-errors
Handle feature gate errors
2019-04-03 21:07:24 -07:00
Kubernetes Prow Robot fc556f0d9b
Merge pull request #75771 from liggitt/AnonymousClientConfig
Exclude custom transports when constructing AnonymousClientConfig()
2019-04-03 21:06:50 -07:00
Clayton Coleman 7f9dfe58f4
Use CodecFactory.WithoutConversion() everywhere
Clarifies that requesting no conversion is part of the codec factory, and
future refactors will make the codec factory less opionated about conversion.
2019-04-03 22:19:13 -04:00
Clayton Coleman 994b5c6cc2
Move DirectEncoder to runtime, add `.WithoutConversion()` on CodecFactory
Renome the Direct*coders to clearly identify what they do - add or remove
the version information while encoding or decoding.

This refactor makes it easier for clients to move to a "no conversion"
model.
2019-04-03 22:17:32 -04:00
Solly Ross 837976cb59 Prune directxman12 from metrics/autoscaling OWNERS
Since I'm not really working on metrics or autoscaling stuff any more, I
figured it was time to remove myself from the approvers list.
2019-04-03 16:24:51 -07:00
Kubernetes Prow Robot d5b56f4ffc
Merge pull request #75988 from mcrute/add-mcrute-cloudprovider
Add mcrute to cloudprovider related owners files
2019-04-03 14:55:13 -07:00
Kubernetes Prow Robot f171f9ee75
Merge pull request #75092 from vivekbagade/feature/add-config-to-aggregation
Added config to EventCorrelator in client-go
2019-04-03 14:54:50 -07:00
Ihar Hrachyshka d68cd8a0c7 Expose object tracker for fake clientsets
Not every object kind can be registered via tracker .Add() called as
part of SimpleClientset initialization. This is because .Add() relies
on UnsafeGuessKindToResource to convert object kinds into resource
type names, which is broken for some resources. An example of an
affected kind is NetworkAttachmentDefinitions CRD that uses
network-attachment-definitions as its resource type name. When
UnsafeGuessKindToResource is called for this kind, it returns
networkattachmentdefinitions (without dashes).

As per the comment inside .Add, kinds affected by
UnsafeGuessKindToResource deficiencies should instead register objects
using tracker .Create() method.  Problem is, current SimpleClientset
struct definition doesn't expose the object tracker in any way, which
makes it impossible to properly register these kinds at all.

To address the issue, this change modifies the definition of
SimpleClientset struct to expose the object tracker used via Tracker()
method.
2019-04-03 11:44:05 -07:00
Kubernetes Prow Robot c79fbabf23
Merge pull request #75389 from jpbetz/pagination-v1
Paginate watch cache->etcd List calls & reflector init/resync List calls not served by watch cache
2019-04-03 11:14:25 -07:00
Dr. Stefan Schimanski 37046e3028 Handle feature gate errors 2019-04-03 16:52:05 +02:00
alok87 f1372d093d Add cri-api in the staged repository list 2019-04-03 20:11:31 +05:30
Jordan Liggitt d0261b1077 generated: hack/update-vendor.sh 2019-04-03 10:19:40 -04:00
Jordan Liggitt b3527f41f0 Update publishing bot smoke tests for go modules 2019-04-03 10:19:39 -04:00
Jordan Liggitt 321095dccb Record code-generator as a dependency of repos using code generators 2019-04-03 09:26:58 -04:00
Jordan Liggitt 579c0560a2 Add staging tools.go imports 2019-04-03 09:17:20 -04:00
Jordan Liggitt c8a8fb4177 Update client-go docs for modules
- remove dep (c0a827dad6acc5fdea09967411aeeb9a8731d58f)
- move godep to bottom (3308b07da50c9547bcbfa50297b9bb91a02e88a2)
- bump example versions (9704cd1347ee287d388aa8f2b0091d4fe09640bb)
- add go modules section (e37037f5ae7c862a4255465ef328b8a3b6db038a)
- update go get docs (cda29fd9329a29856e5e3b218250b57ce8cbcd8f)
2019-04-03 09:15:39 -04:00
Kubernetes Prow Robot c19dc742c4
Merge pull request #75547 from hormes/improve_the_efficiency_of_delivery_watch_events
delivery event non blocking firstly
2019-04-03 03:23:43 -07:00
Kubernetes Prow Robot 42877480ad
Merge pull request #75747 from msau42/remove-alpha-crd
Remove alpha csi CRD
2019-04-02 22:47:41 -07:00
GuyTempleton a536a8a3e0
Add kube-metrics-adapter to metrics implementations 2019-04-02 23:07:51 +01:00
Joe Betz e5a4f09ab3 Add resourceVersion=0 paginated list integration test for disabled and enabled watch cache 2019-04-02 13:06:15 -07:00
Joe Betz 84723c2d3e Paginate List call performed by Reflector's ListAndWatch call 2019-04-02 13:05:13 -07:00
Kubernetes Prow Robot 6681c127d3
Merge pull request #75887 from liggitt/flush-headers
Explicitly flush headers when proxying
2019-04-02 11:49:20 -07:00
qingsenLi 571101cc46 Remove duplicate 'of' 2019-04-03 02:40:31 +08:00
Michelle Au d2aa8178f2 Remove alpha CRD install 2019-04-02 10:59:11 -07:00
Kubernetes Prow Robot e6844c21a4
Merge pull request #76002 from BenTheElder/revert-75835
Revert "add timeout suuport for watch"
2019-04-02 03:04:45 -07:00
Kubernetes Prow Robot fd23c84022
Merge pull request #75953 from wojtek-t/add_etcd_metrics
Expose etcd client latency metrics
2019-04-02 01:37:11 -07:00
Kubernetes Prow Robot a3ae6c43c2
Merge pull request #75971 from smarterclayton/fix_partialobjectmeta_list
Correctly send list metadata with v1beta1 PartialObjectMetadataList
2019-04-01 22:44:46 -07:00
Kubernetes Prow Robot 9a8a1e2a94
Merge pull request #75962 from liggitt/aggregated-yaml
Update sample aggregated server yaml to work with e2e test image
2019-04-01 20:48:34 -07:00
fansong.cfs 8910abfdf3 delivery event non blocking firstly 2019-04-02 11:10:41 +08:00
Mike Crute 85d72950eb Add mcrute to cloudprovider related owners files 2019-04-01 19:06:34 -07:00
Kubernetes Prow Robot f71cde5cba
Merge pull request #75959 from sttts/sttts-staging-rules-go-mod
staging/publishing: split rules for godeps and go.mod bot
2019-04-01 19:02:34 -07:00
Benjamin Elder 30a56bab42 Revert "add timeout suuport for watch"
This reverts commit c676e234cc.
2019-04-01 18:39:17 -07:00
wojtekt d5c9ad8049 Expose etcd client latency metrics 2019-04-01 20:46:18 +02:00
Haowei Cai 0e61b77826 remove TrimSuffix and document buffer size 2019-04-01 11:02:39 -07:00
Haowei Cai 5c81571b01 use stdlib runtime.Stack instead of customized code 2019-04-01 10:58:57 -07:00
Kubernetes Prow Robot a0e71b49b6
Merge pull request #75781 from roycaihw/fix/openapi-aggregator-log
kube-aggregator: bump openapi aggregation log level for delegation targets
2019-04-01 10:03:13 -07:00
Kubernetes Prow Robot 1e7ed38326
Merge pull request #75759 from WanLinghao/api_meta_test_fix
Fix a test build failed error
2019-04-01 10:02:47 -07:00
Jordan Liggitt 1b0cc829f3 Update sample aggregated server yaml to work with e2e test image 2019-04-01 12:16:51 -04:00
Clayton Coleman 6801ce990a
Set list meta on PartialObjectMetadataList during transform 2019-04-01 11:59:18 -04:00
Clayton Coleman efde94a0bc Add ListMeta to PartialObjectMetadataList
Unfortunately the proto id is now inconsistent with other "correct" objects,
but to change it will require a breaking serialization change. Worth considering.
2019-04-01 10:48:39 -04:00
Kubernetes Prow Robot 782ed5ce13
Merge pull request #75835 from hormes/add_timeout_to_watch
add timeout support  for Watch()
2019-04-01 06:38:33 -07:00
Dr. Stefan Schimanski 7db60f678f staging/publishing: split rules for godeps and go.mod bot 2019-04-01 14:55:09 +02:00
YAMAMOTO Takashi d11e779f1d Fix a typo in a code example in a comment 2019-04-01 20:28:26 +09:00
Kubernetes Prow Robot b75e28fe73
Merge pull request #75595 from liggitt/client-go-instructions
Add preliminary go module instructions to client-go
2019-04-01 02:24:34 -07:00
fansong.cfs c676e234cc add timeout suuport for watch 2019-03-31 15:57:09 +08:00
Gerard Hickey 2547993b4a Fixed default value for ConfigMapAndSecretChangeDetectionStrategy 2019-03-30 18:54:17 -07:00
Kubernetes Prow Robot e9c42a15f7
Merge pull request #73672 from WanLinghao/failure_domain_remove
Remove dead code about failure-domains option in kube-scheduler
2019-03-30 18:22:33 -07:00
Kubernetes Prow Robot 615c491040
Merge pull request #75858 from danielqsj/crdct
add possible values to CustomResourceDefinitionConditionType
2019-03-30 09:41:08 -07:00
danielqsj 9c772a2855 update generated files 2019-03-30 14:52:50 +08:00
danielqsj f07b9b6a3c add possible values to CustomResourceDefinitionConditionType 2019-03-30 14:52:18 +08:00
Haowei Cai 5809b6a428 document the usage of errCh 2019-03-29 10:14:44 -07:00
Haowei Cai 597929a447 kube-aggregator: bump openapi aggregation log level 2019-03-29 09:59:42 -07:00
Jordan Liggitt aa8e75c975 Explicitly flush headers when proxying 2019-03-29 11:34:48 -04:00
Kubernetes Prow Robot 2f62e8ff57
Merge pull request #75879 from hormes/watchcache_refactor
Refactor watchcache to pass function to create objects instead of the empty object  itself
2019-03-29 08:16:14 -07:00
fansong.cfs b29e69c156 Refactor watchcache to support bookmark 2019-03-29 20:40:51 +08:00
Kubernetes Prow Robot c28b3b1fdd
Merge pull request #73937 from smarterclayton/report_errors
Report a watch error instead of eating it when we can't decode
2019-03-28 12:21:59 -07:00
Kubernetes Prow Robot 312eb890e6
Merge pull request #75760 from wojtek-t/follow_comment_from_critical_sections
Add explanation about forgetFunc in cacher
2019-03-27 18:41:26 -07:00
Kubernetes Prow Robot a519e91256
Merge pull request #75748 from smarterclayton/request_scope_as_pointer
Make RequestScope be a pointer consistently for better memory use
2019-03-27 18:41:11 -07:00
Kubernetes Prow Robot a8cbb22506
Merge pull request #74747 from liggitt/quota-deadlock
quota controller fixes
2019-03-27 09:04:48 -07:00
Clayton Coleman 8fede0b18a
Make RequestScope be a pointer consistently for better memory use
RequestScope is a large struct and causes stack growth when we pass
it by value into multiple stack levels. Avoid the allocations for
this read only struct by passing a pointer.
2019-03-27 11:09:42 -04:00
Jordan Liggitt 05b764dbe3 Exclude custom transports when constructing AnonymousClientConfig() 2019-03-27 09:29:07 -04:00
wojtekt 605522b0c7 Add explanation about forgetFunc in cacher 2019-03-27 08:24:45 +01:00
WanLinghao 4ce05eb3f4 Fix a test build failed error 2019-03-27 14:21:43 +08:00
Clayton Coleman 316a87ce7d
Avoid allocating the watch shim object more than once
We can reset and reuse this object repeatedly without triggering an
allocation.
2019-03-26 23:36:49 -04:00
Jordan Liggitt 0f9ebe5e16 Generated files 2019-03-26 23:15:39 -04:00
Jordan Liggitt 6eb082d6b0 Generate networkpolicies extensions/v1beta1 client 2019-03-26 23:15:39 -04:00
Kubernetes Prow Robot 42770799d3
Merge pull request #75743 from logicalhan/preshutdownerror
log preshutdowndown registration error if we encounter one
2019-03-26 19:27:00 -07:00
Kubernetes Prow Robot feb9bb151c
Merge pull request #75730 from wojtek-t/minor_perf_improvements
Avoid allocations in ByIndex() function
2019-03-26 18:11:16 -07:00
Kubernetes Prow Robot df9e66628c
Merge pull request #75717 from wojtek-t/reduce_critical_sections
Reduce critical sections in cacher::Watch function
2019-03-26 18:11:02 -07:00
Kubernetes Prow Robot 4b3eb60081
Merge pull request #75531 from dims/add-new-staging-repository-for-cri-api
New staging repository for cri-api
2019-03-26 18:10:49 -07:00
Davanum Srinivas 33081c1f07
New staging repository for cri-api
Change-Id: I2160b0b0ec4b9870a2d4452b428e395bbe12afbb
2019-03-26 18:21:04 -04:00
Kubernetes Prow Robot 1514bb2141
Merge pull request #75699 from smarterclayton/fast_encode
Avoid allocations when building SelfLinks and fast path escape
2019-03-26 15:10:29 -07:00
Kubernetes Prow Robot 531dbd409f
Merge pull request #75445 from shinytang6/enhance/fmt
Replace all time.Now().Sub with time.Since
2019-03-26 13:55:17 -07:00
Han Kang 021f608294 log preshutdowndown registration error if we encounter one 2019-03-26 13:04:10 -07:00
Kubernetes Prow Robot b0158cea16
Merge pull request #75399 from sttts/sttts-initial-bulk-openapi-merge
apiextensions: merge OpenAPI specs once after cache sync
2019-03-26 12:34:03 -07:00
Kubernetes Prow Robot 11d472ea01
Merge pull request #72179 from WanLinghao/sa_controller
Migrate the controller to use TokenRequest and rotate token periodically
2019-03-26 12:33:19 -07:00
Kubernetes Prow Robot 152f0a150e
Merge pull request #75693 from smarterclayton/speed_up_time_json
Reduce allocations in metav1.Time JSON serialization
2019-03-26 11:17:33 -07:00
Clayton Coleman 389a8436b5
Avoid allocations when building SelfLinks and fast path escape
A self link should only require one allocation, and we should skip
url.PathEscape() except when the path actually needs it.

Add a fuzz test to build random strings and verify them against
the optimized implementation. Add a new BenchmarkWatchHTTP_UTF8 that
covers when we have unicode names in the self link.

```
> before
BenchmarkGet-12          	   10000	    118863 ns/op	   17482 B/op	     130 allocs/op
BenchmarkWatchHTTP-12    	   30000	     38346 ns/op	    1893 B/op	      29 allocs/op

> after
BenchmarkGet-12               	   10000	    116218 ns/op	   17456 B/op	     130 allocs/op
BenchmarkWatchHTTP-12         	   50000	     35988 ns/op	    1571 B/op	      26 allocs/op
BenchmarkWatchHTTP_UTF8-12    	   50000	     41467 ns/op	    1928 B/op	      28 allocs/op
```

Saves 3 allocations in the fast path and 1 in the slow path (the
slow path has to build the buffer and then call url.EscapedPath
which always allocates).
2019-03-26 11:38:47 -04:00
wojtekt 7d46e27db1 Avoid allocations in ByIndex() function 2019-03-26 14:14:42 +01:00
Dr. Stefan Schimanski a7f9ffd39f apiextensions: merge OpenAPI specs once after cache sync 2019-03-26 11:01:29 +01:00
wojtekt 010cb44808 Reduce critical sections in watchache 2019-03-26 08:44:51 +01:00
Kubernetes Prow Robot e7eb742c19
Merge pull request #75657 from guilhermeoki/docs/sample-controller
sample-controller: update README
2019-03-25 17:45:00 -07:00
Clayton Coleman b405cdf85b
Reduce allocations in metav1.Time JSON serialization
Time has a limited set of allowed characters and so can bypass part of
the expensive checking done for valid JSON characters.

```
BenchmarkGet-12          	   10000	    111846 ns/op	   17273 B/op	     130 allocs/op
BenchmarkWatchHTTP-12    	   50000	     37830 ns/op	    1886 B/op	      29 allocs/op

BenchmarkGet-12          	   20000	    115917 ns/op	   17344 B/op	     130 allocs/op
BenchmarkWatchHTTP-12    	   50000	     36741 ns/op	    1775 B/op	      24 allocs/op
```

Can improve CRD watch performance by 5-10% for small objects.
2019-03-25 18:17:04 -04:00
Kubernetes Prow Robot 0fd410c4fc
Merge pull request #75486 from misterikkit/metrics-client
Fix fake clientsets in metrics.k8s.io.
2019-03-25 12:10:46 -07:00
WanLinghao 244b244f9d Migrate the controller to use TokenRequest and rotate token periodically 2019-03-25 14:54:22 +08:00
Guilherme Oki 54e3f0f8a9 sample-controller: update README 2019-03-25 00:12:53 -03:00
Kubernetes Prow Robot ec64aef25f
Merge pull request #74321 from yastij/signal-undecorated-storage-event
use cache size to signal undecorated storage
2019-03-24 03:21:05 -07:00
Kubernetes Prow Robot 9f15368c5c
Merge pull request #75576 from smarterclayton/bad_2
Remove use of `%#v` in frequently accessed code
2019-03-22 23:59:05 -07:00
Kubernetes Prow Robot 206ecb4ab8
Merge pull request #71326 from shomron/issue-71277-polluntil-leak
Fix goroutine leak in pkg/util/wait PollUntil()
2019-03-22 20:57:06 -07:00
Kubernetes Prow Robot 3312da83c9
Merge pull request #75602 from smarterclayton/kubelet_proto
Kubelet should request protobuf from the apiserver
2019-03-22 15:46:34 -07:00
Kubernetes Prow Robot 994582965d
Merge pull request #75496 from andrewsykim/area-cloudprovider-label
add area/cloudprovider label for changes in pkg/cloudprovider & k8s.i…
2019-03-22 15:46:21 -07:00
Clayton Coleman 89620d5667
Report a watch error instead of eating it when we can't decode
Clients are required to handle watch events of type ERROR, so instead
of eating the decoding error we should pass it on to the client. Use
NewGenericServerError with isUnexpectedResponse to indicate that we
didn't get the bytes from the server we were expecting. For watch, the
415 error code is roughly correct and we will return an error to the
client that makes debugging a failure in either server watch or client
machinery much easier.

We do not alter the behavior when it appears the response is an EOF
or other disconnection.
2019-03-22 16:40:53 -04:00
Clayton Coleman 0489d0b1cf
Unify runtime.SerializerInfo with negotiate.AcceptedMediaTypes
There was no reason to have two types and this avoids ~10% of allocations
on the GET code path.

```
BenchmarkGet-12          	  100000	    109045 ns/op	   17608 B/op	     146 allocs/op

BenchmarkGet-12          	  100000	    108850 ns/op	   15942 B/op	     132 allocs/op
```
2019-03-22 13:24:25 -04:00
Clayton Coleman 59b4f47b22
Avoid 3 object creations when no dryRun parameter is provided
These allocations should only occur rarely.

```
BenchmarkGet-12          	  100000	    108013 ns/op	   17732 B/op	     149 allocs/op

BenchmarkGet-12          	  100000	    109045 ns/op	   17608 B/op	     146 allocs/op
```
2019-03-22 13:24:24 -04:00
Clayton Coleman 83c41eab1d
Avoid an allocation on all requests when checking for an old user agent
ReplaceAllStrings always allocates, while scanning a relatively short
regex twice is slightly more CPU immediately but less later.

```
BenchmarkGet-12          	  100000	    108824 ns/op	   17818 B/op	     152 allocs/op

BenchmarkGet-12          	  100000	    108013 ns/op	   17732 B/op	     149 allocs/op
```
2019-03-22 13:24:24 -04:00
Clayton Coleman 58fb665646
IsListType uses reflection and is expensive for hot paths
IsListType was causing ~100 allocations for a non list object. It is
used in a wide range of code, so perform a more targeted check.

The use of `%#v` in a hot return path for `fmt.Errorf()` was the main
victim.

Replace `%#v` with a typed error and create a cache of types that are
lists with a bounded size (probably not necessary, but safer).

```
BenchmarkGet-12          	  100000	    119635 ns/op	   20110 B/op	     206 allocs/op
BenchmarkWatchHTTP-12    	  100000	     65761 ns/op	    7296 B/op	     139 allocs/op

BenchmarkGet-12          	  100000	    109085 ns/op	   17831 B/op	     152 allocs/op
BenchmarkWatchHTTP-12    	  200000	     33966 ns/op	    1913 B/op	      30 allocs/op
```
2019-03-22 13:24:24 -04:00
Clayton Coleman 7d53ad1fb0
Kubelet should request protobuf from the apiserver
The kubelet was not asking for application/vnd.kubernetes.protobuf
on list and get calls. It looks like we lost that code when we
moved to cert rotation. Clean up the client initialization path
and make sure that all non-dynamic clients use protobuf by default.
2019-03-22 12:42:20 -04:00
Clayton Coleman 2e1506558a
Add benchmark for naive endpoint Get so we can measure it
Baseline:

```
BenchmarkGet-12          	  100000	    119635 ns/op	   20110 B/op	     206 allocs/op
BenchmarkWatchHTTP-12    	  100000	     65761 ns/op	    7296 B/op	     139 allocs/op
```
2019-03-22 11:43:39 -04:00
Kubernetes Prow Robot e739b55374
Merge pull request #75585 from tiffanyfay/cache
Updated client-go expiration cache to take in expiration policies
2019-03-22 07:06:20 -07:00
Jordan Liggitt 3a988cfb8c Add preliminary go module instructions to client-go 2019-03-22 09:47:51 -04:00
Kubernetes Prow Robot 1e184775aa
Merge pull request #75214 from deads2k/health
provide verbose output when health check fails
2019-03-22 05:22:31 -07:00
tiffany jernigan bc226a2a89 Updated client-go expiration cache to take in expiration policies 2019-03-22 07:38:35 +00:00
Kubernetes Prow Robot ab35bd0668
Merge pull request #75577 from mars1024/bugfix/use_add_in_enqueue
replace AddRateLimited with Add in enqueue func
2019-03-22 00:04:57 -07:00
Kubernetes Prow Robot 83d467c22e
Merge pull request #75270 from justincormack/uuid4
Use UUIDv4 not UUIDv1
2019-03-22 00:04:17 -07:00
Bruce Ma 0335867b56 replace AddRateLimited with Add in enqueue func 2019-03-22 11:40:23 +08:00
Clayton Coleman 435db312e1
Avoid using `%#v` for errors when %T is more informative
`%#v` may have significant performance costs in frequently invoked code.
2019-03-21 22:54:06 -04:00
Clayton Coleman ecd43f13cf
Avoid using `%#v` for errors when %T or %s would be more accurate
`%#v` may have significant performance costs in frequently invoked code.
2019-03-21 22:53:43 -04:00
Clayton Coleman 082aee343e
Avoid using `%#v` for errors when %T is clearer
`%#v` may have significant performance costs in frequently invoked code.
2019-03-21 22:53:07 -04:00
Jonathan Basseri ab7e2ff136 Fix fake clientsets in metrics.k8s.io.
The generated fake clientsets were using the API group "metrics" instead
of "metrics.k8s.io". This patch includes a test that fails without the
fix.

The `+groupName` annotation needed to be copied to the v1alpha1 and
v1beta1 packages to fix it.

As a result, tests using this fake clientset work as expected.
2019-03-21 10:41:57 -07:00
Levi Blackstone a9cba032de
Check for required name parameter in dynamic client
The Create, Delete, Get, Patch, Update and UpdateStatus
methods in the dynamic client all expect the name
parameter to be non-empty, but did not validate this
requirement, which could lead to a panic. Add explicit
checks to these methods.
2019-03-21 09:28:36 -06:00
shinytang6 5c9f4d9dc6 replace time.Now().Sub with time.Since 2019-03-21 18:02:55 +08:00
Kubernetes Prow Robot ed4258e5c0
Merge pull request #75264 from smarterclayton/optimize_rbac_visit
Avoid allocating when performing VisitRulesFor on service accounts
2019-03-20 19:19:35 -07:00
Kubernetes Prow Robot 59140d6474
Merge pull request #75295 from DataDog/lbernail/strict-arp-flag
[kube-proxy/ipvs] Add flag to enable strict ARP
2019-03-20 07:41:51 -07:00
Kubernetes Prow Robot 5229bce04f
Merge pull request #75279 from danielqsj/admission-metrics
remove the deprecated admission metrics
2019-03-20 07:41:22 -07:00
Kubernetes Prow Robot b3be84dcc5
Merge pull request #75240 from kairen/update-client-go-example
client-go: update leader election example
2019-03-20 05:24:23 -07:00
Kubernetes Prow Robot 481de197c0
Merge pull request #75156 from smarterclayton/diff_invalid
Handle nil interface inputs to diff.ObjectReflectDiff
2019-03-20 00:55:01 -07:00
Kubernetes Prow Robot 6f9bf5fe98
Merge pull request #71548 from smarterclayton/watch_converted
Support Table and PartialObjectMetadata on watch
2019-03-19 22:42:22 -07:00
Andrew Sy Kim e2ad79a302 add area/cloudprovider label for changes in pkg/cloudprovider & k8s.io/cloud-provider
Signed-off-by: Andrew Sy Kim <kiman@vmware.com>
2019-03-19 21:16:20 -07:00
Kubernetes Prow Robot 6a2936dcbf
Merge pull request #74642 from SataQiu/fix-golint-20190227
Fix golint failures in client-go/scale/scheme/appsint, client-go/scale/scheme/extensionsint, client-go/scale/scheme
2019-03-19 20:14:54 -07:00
Kubernetes Prow Robot 0685b04b2a
Merge pull request #74592 from lou-lan/delete-blank
delete duplicate empty blanks
2019-03-19 20:14:41 -07:00
Kubernetes Prow Robot a6677d6f3e
Merge pull request #73409 from yue9944882/bugfix/compatible-with-nil-authorizer
Fixes authz compatibility w/ nil authorizer in apiserver
2019-03-19 19:00:52 -07:00
Kubernetes Prow Robot 86f6279bb9
Merge pull request #72919 from liggitt/crd-quiet-conflict
Avoid logging normal conflict/notfound error responses in CRD controllers
2019-03-19 19:00:38 -07:00
Yassine TIJANI 8261d3d9a6 use cache size to signal undecorated storage 2019-03-19 23:48:07 +01:00
Kyle Bai 8a82b21f46 client-go: update leader election example 2019-03-19 15:48:02 +08:00
WanLinghao f510f49955 Remove dead code about failure-domains option in kube-scheduler 2019-03-18 14:25:04 +08:00
Haowei Cai df1ee5e778 generated 2019-03-13 15:16:50 -07:00
Clayton Coleman 4c87a14e6b
Avoid allocating when performing VisitRulesFor on service accounts
Service account authorization checks are done frequently and were
observed to perform 7% of allocations on a system running e2e tests.
The allocation comes from when we walk the authorization rules to
find matching service accounts.

Optimize the check for service account names to avoid allocating.
2019-03-13 17:40:21 -04:00
Kubernetes Prow Robot e7d09ceb50
Merge pull request #75289 from dims/update-http2-dep-go-1.12
Update golang.org/x/net/... dependencies to release-branch.go1.12
2019-03-13 04:33:46 -07:00
Kubernetes Prow Robot 93402fc8e8
Merge pull request #75277 from jennybuckley/fix-ints
Fix server side apply int/float bug
2019-03-12 17:36:40 -07:00
Kubernetes Prow Robot cc8afb25fc
Merge pull request #74040 from ajatprabha/issue_73648
add ResourceVersion to DeleteOptions.Preconditions
2019-03-12 15:44:38 -07:00
Kubernetes Prow Robot 0977ab69ad
Merge pull request #75157 from aaron-prindle/version-check-apply
Added version check between patch and live object in server side apply
2019-03-12 13:19:06 -07:00
Justin Cormack 0fb4b81c3f
Use UUIDv4 not UUIDv1
UUIDv1 has several disadvantages:
 - it encodes the MAC address of the host, which is a potential privacy issue
 - it uses the clock of the host, which reveals time information
 - the clock is very coarse, hence the complex code handling duplicates

UUIDv4 is simply a 122 bit random number encoded into the UUID format, which
has no problems with duplicates or locking.

Use the google/uuid library, as newer versions of pborman/uuid just wrap the
Google upstream.

Note that technically a random UUID might fail, but Go ensures that this
should not take place, as it will block if entropy is not available.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2019-03-12 16:03:21 +00:00
Davanum Srinivas 2aa1348e6c
Update to go 1.12 version of golang.org/x/net
Change-Id: I3f2fa5d7b6811c9eca58992318d19e44ec9131fd
2019-03-12 11:30:24 -04:00
Laurent Bernaille 09f821ddb5 [kube-proxy/ipvs] Add flag to enable strict ARP 2019-03-12 15:56:22 +01:00
Prasad Ghangal 317ecf58cc
Update golang.org/x/net/... dependencies to release-branch.go1.11
- latest grpc-ecosystem/go-grpc-middleware

Change-Id: Ida7d01e4606f6e0313e1355db6e85be0c0ef1dd1
2019-03-12 09:48:52 -04:00
ajatprabha 4bd0c4ad56
update generated-protobuf 2019-03-12 17:00:42 +05:30
ajatprabha c2755f6685
update generated-swagger-docs 2019-03-12 17:00:42 +05:30
ajatprabha fe3b9f486f
update testDeleteWithResourceVersion 2019-03-12 17:00:41 +05:30
ajatprabha 4ddc198c39
pin ResourceVersion precondition only when specified 2019-03-12 17:00:41 +05:30
ajatprabha 3135cea2cc
add ResourceVersion check to Preconditions#Check 2019-03-12 17:00:40 +05:30
ajatprabha 64ecf9de7f
update deepcopy function 2019-03-12 17:00:40 +05:30
ajatprabha 42f0a36f44
check for ResourceVersion conflict in separate if block 2019-03-12 17:00:39 +05:30
ajatprabha 8f48d76271
add ResourceVersion to DeleteOptions.Preconditions 2019-03-12 17:00:39 +05:30
jennybuckley 10259c959e Fix int/float apply bug 2019-03-11 23:07:21 -07:00
danielqsj b31a3403c4 remove the deprecated admission metrics 2019-03-12 14:06:38 +08:00
Aaron Prindle d5bd17cda0
Added version check between patch and live object in server side apply
What is the problem being solved?
https://github.com/kubernetes/kubernetes/pull/75135
Currently version compatibility is not being checked in server side apply between the patch object and the live object.  This is causing a merge that will error to be run and the apiserver returns a 500 error.  The request should fail if the apiVersion provided in the object is different from the apiVersion in the url, but it should fail before trying to merge, and be a 4xx error. Probably a bad request error.

Why is this the best approach?
The approach of serializing the patch byte array and then checking for version equality with the already serialized live object is the simplest and most straightforward solution.
2019-03-11 22:08:30 -07:00
Chao Xu 887cb93d8d generated BUILD
generated proto
2019-03-11 10:26:56 -07:00
Chao Xu 0ace8b3da4 Let the sample apiserver show feature gates flag 2019-03-11 10:26:56 -07:00
Chao Xu 3b618af0d4 Expose storage version hash 2019-03-11 10:26:56 -07:00
Kubernetes Prow Robot 44e369b000
Merge pull request #75167 from tnozicka/fix-retry-watcher-error
Handle unstructured status in RetryWatcher
2019-03-11 05:17:27 -07:00
jennybuckley f9e57744d3 Fix version converter 2019-03-08 22:35:33 -08:00
Antoine Pelisse 92d8b19c0f Generated files 2019-03-08 16:55:53 -08:00
Antoine Pelisse eb904d8fa8 Add "fieldManager" to flag to PATCH/CREATE/UPDATE
And add a corresponding flag in kubectl (for apply), even though the
value is defaulted in kubectl with "kubectl".

The flag is required for Apply patch-type, and optional for other PATCH,
CREATE and UPDATE (in which case we fallback on the user-agent).
2019-03-08 16:03:03 -08:00
Kubernetes Prow Robot 8bde75e63f
Merge pull request #75201 from joelsmith/secdoc
Update embargo doc link in SECURITY_OWNERS and change PST to PSC
2019-03-08 15:41:36 -08:00
Kubernetes Prow Robot 81e8401127
Merge pull request #74997 from jennybuckley/apply-metrics
Track dry-run and apply in metrics
2019-03-08 15:40:58 -08:00
Kubernetes Prow Robot 8634ebed22
Merge pull request #75075 from kwiesmueller/fix-fieldmanager-sorting
fix handling of nil times in managedFields sorting
2019-03-08 14:19:21 -08:00
Kubernetes Prow Robot 349ce4c312
Merge pull request #74376 from mbohlool/gimli
Add latency metric for CR Webhook Conversion
2019-03-08 14:18:54 -08:00
David Eads 3874e43550 provide verbose output when health check fails 2019-03-08 15:49:29 -05:00
Joel Smith 7fd6ea47e8 Also update SECURITY_CONTACTS from staging 2019-03-08 11:23:24 -07:00
Clayton Coleman 3230a0b4fd
Support Table and PartialObjectMetadata on watch
Clean up the code paths that lead to objects being transformed and output with negotiation.
Remove some duplicate code that was not consistent. Now, watch will respond correctly to
Table and PartialObjectMetadata requests. Add unit and integration tests.

When transforming responses to Tables, only the first watch event for a given type will
include the columns. Columns will not change unless the watch is restarted.

Add a volume attachment printer and tighten up table validation error cases.

Disable protobuf from table conversion because Tables don't have protobuf because they
use `interface{}`
2019-03-08 13:03:59 -05:00
Vladimir Vivien d998fc8f0f CSI Inline Volume - Generated files 2019-03-08 12:39:58 -05:00
Vladimir Vivien 4ec7d2305d CSI Inline Volume - API changes 2019-03-08 12:35:07 -05:00
Mehdy Bohlool 18be830680 update generated files 2019-03-08 08:34:12 -08:00
Mehdy Bohlool b62c8bca7a Add latency metric for CR Webhook Conversion 2019-03-08 08:34:12 -08:00
Mehdy Bohlool 094eb614fe Refactor CR converter code to share code between nopConverter and webhookConverter 2019-03-08 08:33:25 -08:00
Kubernetes Prow Robot f229aa0ad6
Merge pull request #75044 from errordeveloper/move-cli-runtime-subpackages
Move printers & resources packages
2019-03-08 05:43:26 -08:00
Kubernetes Prow Robot e318642946
Merge pull request #74998 from mbohlool/pippin
Webhook configurations can choose which version of Review request they accept
2019-03-08 03:01:26 -08:00
vivekbagade 9d8e6fb1b9 Added config to EventCorrelator in client-go
Added CorrelatorOptions that contains options to change the
defaults in EventSourceObjectSpamFilter and EventAggregator
in EventCorrelator. Added a eventCorrelator property to the
eventBroadcasterImpl to help with this.
2019-03-08 10:02:11 +01:00
Tomas Nozicka 8302b5b262 Handle unstructured status in RetryWatcher 2019-03-08 09:34:56 +01:00
Kubernetes Prow Robot 183e6cc190
Merge pull request #74433 from tallclair/runtimeclass-internal
Migrate RuntimeClass from a CRD to an internal API
2019-03-07 21:19:30 -08:00
Clayton Coleman fa0fd28767
Handle nil interface inputs to diff.ObjectReflectDiff
Causes a panic today. Add godoc bragging about how ridiculously awesome
ObjectReflectDiff is.
2019-03-08 00:15:50 -05:00
Mehdy Bohlool cbe00023c0 Update generated files 2019-03-07 21:00:29 -08:00
Mehdy Bohlool 9b28b915f5 Add ConversionReviewVersions to CustomResourceDefinitionSpec and defdefault it to v1beta1 2019-03-07 21:00:28 -08:00
David Zhu 41b3579345 Address review comments 2019-03-07 17:17:09 -08:00
jennybuckley 6e512eb875 Feature-gate the APPLY metric value 2019-03-07 15:14:43 -08:00
Mehdy Bohlool f7dff4725f Add AdmissionReviewVersions to admissionregistration and default it 2019-03-07 15:02:16 -08:00
Ilya Dmitrichenko 6d7a9048b6
Move printers & resources packages
These packages deserve to live at the top level of `k8s.io/cli-runtime`,
as they are potentially of wider use than genericclioptions.
2019-03-07 23:00:24 +00:00
David Zhu 7d2f4e97b8 Add ADC Fallback if Node doesn't have driver installed 2019-03-07 14:47:38 -08:00
jennybuckley 077dd28df4 use utilsets.NewString 2019-03-07 14:20:10 -08:00
Tim Allclair 428e9fa329 generated files 2019-03-07 11:57:12 -08:00
Tim Allclair 820a1dc96b Add node.k8s.io/v1beta1 API 2019-03-07 11:57:12 -08:00
Tim Allclair 63f61a6714 Migrate RuntimeClass to internal API 2019-03-07 11:07:54 -08:00
Kubernetes Prow Robot f8024ab087
Merge pull request #74904 from sttts/sttts-proto-tests
Rework proto generation scripts and add tests
2019-03-07 10:58:05 -08:00
Ihar Hrachyshka 65fb63a154 Fixed log message in client-go
An example of incorrect log message:

{
  "component":"virtctl",
  "level":"info",
  "msg":"Config loaded from fileocp/auth/kubeconfig",
  "pos":"loader.go:359",
  "timestamp":"2019-03-07T18:50:20.923470Z"
}

Note how the resulting message has no characters between the text and
file name.
2019-03-07 08:55:43 -08:00
Kubernetes Prow Robot 0b48018a39
Merge pull request #71192 from roycaihw/crd-publish-openapi
Publish CRD openapi
2019-03-07 03:54:58 -08:00
Kubernetes Prow Robot eb95c27a55
Merge pull request #74837 from mtaufen/godep-klog
Update klog dependency
2019-03-06 22:55:34 -08:00
Haowei Cai 54b99413b2 generated 2019-03-06 20:36:40 -08:00
Haowei Cai 867cdce212 apiextensions: add openapi publishing unit+integration+e2e tests
Co-authored-by: Maciej Szulik <maszulik@redhat.com>
Co-authored-by: Dr. Stefan Schimanski <stefan.schimanski@gmail.com>
2019-03-06 20:36:23 -08:00
Haowei Cai 3079798d03 kube-aggregator: periodically resync local specs
Co-authored-by: Dr. Stefan Schimanski <stefan.schimanski@gmail.com>
2019-03-06 20:35:38 -08:00
Haowei Cai 0ba4050ce0 apiextensions-apiserver: crd openapi spec builder 2019-03-06 20:35:08 -08:00