Patrick Ohly
a753466fe4
logs: add examples for Go flag and unit testing
...
All examples use the same code for producing output. Only the way how logging
is configured is different.
2023-01-25 08:43:01 +01:00
Alexander Zielenski
cff4d07581
fix race in aggregated discovery handler
...
Caused by following sequence:
1. Add APIService to map
2. Begin Async Fetch
3. Remove APIService from map
4. Finish Async Fetch & stores apiservice back in map to update lastReconciled time
fixes by removing lastReconciled (only used for testing) and switching tests to just waiting until dirty queue is empty
2023-01-24 17:32:51 -08:00
Kubernetes Prow Robot
d29e3bd7aa
Merge pull request #114731 from pohly/logs-go-flagset
...
logs: add AddGoFlags
2023-01-24 16:58:21 -08:00
Kubernetes Prow Robot
df03edaf75
Merge pull request #114550 from alexzielenski/apiserver/smd/update-kube-openapi
...
update kube-openapi dependency
2023-01-24 16:58:09 -08:00
Kubernetes Prow Robot
14549722e4
Merge pull request #106379 from shivanshu1333/feature/master/105782
...
Implemented MarshalLog in namespacedname.go
2023-01-24 12:55:53 -08:00
Alexander Zielenski
1554e50be4
fix integration test by working around #3030
...
test uses kind field which is not populated for native types
2023-01-24 12:51:29 -08:00
Lucas Severo Alves
096d2e5895
remove unwanted newlines
2023-01-24 21:45:32 +01:00
Kevin Delgado
3b6c4d307f
Graduate field validation to GA
2023-01-24 17:48:57 +00:00
Lucas Severo Alves
636f8e1a3e
chore: changes needed before #111155
2023-01-24 17:55:32 +01:00
Patrick Ohly
6f3e5e30e5
logs: consolidate unit tests
...
TestFlags got superseded by TestFlagSet/pflag in
8251a63269
.
2023-01-24 14:58:37 +01:00
Patrick Ohly
d627b1686c
logs: support standard flag.FlagSet
...
This is useful for binaries that don't use pflag and cannot migrate to it
because they have to support the traditional single-dash command line
parsing. pflag is a drop-in replacement at the source code level, but the
behavior of flag parsing in the resulting binary is different.
2023-01-24 14:58:19 +01:00
Alexander Zielenski
7641ff7541
update kube-openapi
2023-01-23 15:32:33 -08:00
Kubernetes Prow Robot
674eb36f92
Merge pull request #115249 from thockin/codegen-13-proto-go-packages
...
Set go_package in all proto files
2023-01-23 12:14:07 -08:00
Kubernetes Prow Robot
cc60df9595
Merge pull request #115267 from enj/enj/i/key_id_flake
...
Prime KMS v2 key ID inline with transformer construction
2023-01-23 10:02:19 -08:00
Tim Hockin
bc1103e45f
Set proto go_package: kubelet plugin register API
...
This exposes that the hand-written code used the wrong package name.
This also creates some diff to the *.pb.go files to note that in the
"options".
You can dump the gzipped blob with the following program (thanks
StackOverflow!):
```go
package main
import (
"bytes"
"compress/gzip"
"encoding/json"
"fmt"
"os"
"io/ioutil"
proto "github.com/golang/protobuf/proto"
dpb "github.com/golang/protobuf/protoc-gen-go/descriptor"
)
func main() {
m := map[string][]byte{
"before": blobv1,
"after": blobv2,
}
arg := os.Args[1]
dump(m[arg])
}
func dump(bytes []byte) {
fd, err := decodeFileDesc(bytes)
if err != nil {
panic(err)
}
b, err := json.MarshalIndent(fd, "", " ")
if err != nil {
panic(err)
}
fmt.Println(string(b))
}
// decompress does gzip decompression.
func decompress(b []byte) ([]byte, error) {
r, err := gzip.NewReader(bytes.NewReader(b))
if err != nil {
return nil, fmt.Errorf("bad gzipped descriptor: %v", err)
}
out, err := ioutil.ReadAll(r)
if err != nil {
return nil, fmt.Errorf("bad gzipped descriptor: %v", err)
}
return out, nil
}
func decodeFileDesc(enc []byte) (*dpb.FileDescriptorProto, error) {
raw, err := decompress(enc)
if err != nil {
return nil, fmt.Errorf("failed to decompress enc: %v", err)
}
fd := new(dpb.FileDescriptorProto)
if err := proto.Unmarshal(raw, fd); err != nil {
return nil, fmt.Errorf("bad descriptor: %v", err)
}
return fd, nil
}
```
2023-01-23 09:48:39 -08:00
Tim Hockin
22ddeb02c1
Set proto go_package: kubelet deviceplugin API
...
This exposes that the hand-written code used the wrong package name.
This also creates some diff to the *.pb.go files to note that in the
"options".
You can dump the gzipped blob with the following program (thanks
StackOverflow!):
```go
package main
import (
"bytes"
"compress/gzip"
"encoding/json"
"fmt"
"os"
"io/ioutil"
proto "github.com/golang/protobuf/proto"
dpb "github.com/golang/protobuf/protoc-gen-go/descriptor"
)
func main() {
m := map[string][]byte{
"before": blobv1,
"after": blobv2,
}
arg := os.Args[1]
dump(m[arg])
}
func dump(bytes []byte) {
fd, err := decodeFileDesc(bytes)
if err != nil {
panic(err)
}
b, err := json.MarshalIndent(fd, "", " ")
if err != nil {
panic(err)
}
fmt.Println(string(b))
}
// decompress does gzip decompression.
func decompress(b []byte) ([]byte, error) {
r, err := gzip.NewReader(bytes.NewReader(b))
if err != nil {
return nil, fmt.Errorf("bad gzipped descriptor: %v", err)
}
out, err := ioutil.ReadAll(r)
if err != nil {
return nil, fmt.Errorf("bad gzipped descriptor: %v", err)
}
return out, nil
}
func decodeFileDesc(enc []byte) (*dpb.FileDescriptorProto, error) {
raw, err := decompress(enc)
if err != nil {
return nil, fmt.Errorf("failed to decompress enc: %v", err)
}
fd := new(dpb.FileDescriptorProto)
if err := proto.Unmarshal(raw, fd); err != nil {
return nil, fmt.Errorf("bad descriptor: %v", err)
}
return fd, nil
}
```
2023-01-23 09:40:26 -08:00
Tim Hockin
e4e26a7f0c
Set proto go_package: kubelet dynamic resource API
...
This package was specifying the option, but wrongly.
This also creates some diff to the *.pb.go files to note that in the
"options".
You can dump the gzipped blob with the following program (thanks
StackOverflow!):
```go
package main
import (
"bytes"
"compress/gzip"
"encoding/json"
"fmt"
"os"
"io/ioutil"
proto "github.com/golang/protobuf/proto"
dpb "github.com/golang/protobuf/protoc-gen-go/descriptor"
)
func main() {
m := map[string][]byte{
"before": blobv1,
"after": blobv2,
}
arg := os.Args[1]
dump(m[arg])
}
func dump(bytes []byte) {
fd, err := decodeFileDesc(bytes)
if err != nil {
panic(err)
}
b, err := json.MarshalIndent(fd, "", " ")
if err != nil {
panic(err)
}
fmt.Println(string(b))
}
// decompress does gzip decompression.
func decompress(b []byte) ([]byte, error) {
r, err := gzip.NewReader(bytes.NewReader(b))
if err != nil {
return nil, fmt.Errorf("bad gzipped descriptor: %v", err)
}
out, err := ioutil.ReadAll(r)
if err != nil {
return nil, fmt.Errorf("bad gzipped descriptor: %v", err)
}
return out, nil
}
func decodeFileDesc(enc []byte) (*dpb.FileDescriptorProto, error) {
raw, err := decompress(enc)
if err != nil {
return nil, fmt.Errorf("failed to decompress enc: %v", err)
}
fd := new(dpb.FileDescriptorProto)
if err := proto.Unmarshal(raw, fd); err != nil {
return nil, fmt.Errorf("bad descriptor: %v", err)
}
return fd, nil
}
```
2023-01-23 09:36:45 -08:00
Tim Hockin
a2603fdb81
Set proto go_package: podresources API
...
This creates some diff to the *.pb.go files to note that
in the "options".
You can dump the gzipped blob with the following program (thanks
StackOverflow!):
```go
package main
import (
"bytes"
"compress/gzip"
"encoding/json"
"fmt"
"os"
"io/ioutil"
proto "github.com/golang/protobuf/proto"
dpb "github.com/golang/protobuf/protoc-gen-go/descriptor"
)
func main() {
m := map[string][]byte{
"before": blobv1,
"after": blobv2,
}
arg := os.Args[1]
dump(m[arg])
}
func dump(bytes []byte) {
fd, err := decodeFileDesc(bytes)
if err != nil {
panic(err)
}
b, err := json.MarshalIndent(fd, "", " ")
if err != nil {
panic(err)
}
fmt.Println(string(b))
}
// decompress does gzip decompression.
func decompress(b []byte) ([]byte, error) {
r, err := gzip.NewReader(bytes.NewReader(b))
if err != nil {
return nil, fmt.Errorf("bad gzipped descriptor: %v", err)
}
out, err := ioutil.ReadAll(r)
if err != nil {
return nil, fmt.Errorf("bad gzipped descriptor: %v", err)
}
return out, nil
}
func decodeFileDesc(enc []byte) (*dpb.FileDescriptorProto, error) {
raw, err := decompress(enc)
if err != nil {
return nil, fmt.Errorf("failed to decompress enc: %v", err)
}
fd := new(dpb.FileDescriptorProto)
if err := proto.Unmarshal(raw, fd); err != nil {
return nil, fmt.Errorf("bad descriptor: %v", err)
}
return fd, nil
}
```
2023-01-23 09:31:20 -08:00
Tim Hockin
ab11d8a449
Set proto go_package: kms API
...
This creates some diff to the *.pb.go files to note that
in the "options".
You can dump the gzipped blob with the following program (thanks
StackOverflow!):
```go
package main
import (
"bytes"
"compress/gzip"
"encoding/json"
"fmt"
"os"
"io/ioutil"
proto "github.com/golang/protobuf/proto"
dpb "github.com/golang/protobuf/protoc-gen-go/descriptor"
)
func main() {
m := map[string][]byte{
"before": blobv1,
"after": blobv2,
}
arg := os.Args[1]
dump(m[arg])
}
func dump(bytes []byte) {
fd, err := decodeFileDesc(bytes)
if err != nil {
panic(err)
}
b, err := json.MarshalIndent(fd, "", " ")
if err != nil {
panic(err)
}
fmt.Println(string(b))
}
// decompress does gzip decompression.
func decompress(b []byte) ([]byte, error) {
r, err := gzip.NewReader(bytes.NewReader(b))
if err != nil {
return nil, fmt.Errorf("bad gzipped descriptor: %v", err)
}
out, err := ioutil.ReadAll(r)
if err != nil {
return nil, fmt.Errorf("bad gzipped descriptor: %v", err)
}
return out, nil
}
func decodeFileDesc(enc []byte) (*dpb.FileDescriptorProto, error) {
raw, err := decompress(enc)
if err != nil {
return nil, fmt.Errorf("failed to decompress enc: %v", err)
}
fd := new(dpb.FileDescriptorProto)
if err := proto.Unmarshal(raw, fd); err != nil {
return nil, fmt.Errorf("bad descriptor: %v", err)
}
return fd, nil
}
```
2023-01-23 09:31:19 -08:00
Monis Khan
345f41f8e5
Prime KMS v2 key ID inline with transformer construction
...
Signed-off-by: Monis Khan <mok@microsoft.com >
2023-01-23 10:14:46 -05:00
Patrick Ohly
bc6c7fa912
logging: fix names of keys
...
The stricter checking with the upcoming logcheck v0.4.1 pointed out these names
which don't comply with our recommendations in
https://github.com/kubernetes/community/blob/master/contributors/devel/sig-instrumentation/migration-to-structured-logging.md#name-arguments .
2023-01-23 14:24:29 +01:00
Mikhail Mazurskiy
771ab7488d
Always emit the stopped leading event
2023-01-23 21:07:45 +11:00
Kubernetes Prow Robot
91cfe7f0c3
Merge pull request #115246 from thockin/codegen-11-swagger-from-update-codegen
...
Generate swagger from update-codegen
2023-01-22 11:24:10 -08:00
Kubernetes Prow Robot
bc2fccaa96
Merge pull request #115245 from thockin/codegen-10-protobuf-from-update-codegen
...
Call update-generated-protobuf from update-codegen
2023-01-22 11:24:03 -08:00
Tim Hockin
1c466a8190
Generate swagger from update-codegen
...
Swagger "docs" are actually Go code, which is used by other codegen
tools, so if you really want to regen EVERYTHING, this is part of it and
sequence matters.
2023-01-21 16:51:25 -08:00
Tim Hockin
0ef664c278
Call update-generated-protobuf from update-codegen
...
Calling update-codegen.sh with no arguments runs all the functions in
definition order. Client-generation depends on protobuf, so protobuf
codegen needs to be near the beginning.
Also add some debug output for protobuf generation.
Also hide some old, verbose debug output.
2023-01-21 16:32:18 -08:00
Tim Hockin
4dae505d53
Call update-proto-bindings from update-codegen
...
One script to bring them all ...
2023-01-21 15:17:42 -08:00
Tim Hockin
a057f35c90
Move update-generated-runtime into common script
...
Now update-generated-proto-bindings rules all the api.pb.go generation.
Running this shows no delta on the runtime.pb.go
This exposes an issue in how protoc is called for protos that specify
`go_package` which is fixed here.
Not all of our protos specify that option (even though it is
recommended), which will be fixed subsequently.
2023-01-21 15:17:14 -08:00
Tim Hockin
e0ecccff3f
Merge 5 fragile proto-bindings scripts into 1
...
Each of these scripts is basically identical, and all were too brittle.
Now they should be more resilient and easier to manage. The script
still needs to be updated if we add new ones, which I do not love.
More cleanup to follow.
2023-01-21 15:17:13 -08:00
Kubernetes Prow Robot
4d42fbccbc
Merge pull request #115196 from thockin/codegen-5-dont-gen-clients-for-internal
...
Don't generate clients for example internal APIs
2023-01-20 19:34:10 -08:00
Kubernetes Prow Robot
92f0818cf2
Merge pull request #114609 from pohly/log-runtime-verbosity-level
...
runtime log verbosity level changes
2023-01-20 19:34:02 -08:00
Kubernetes Prow Robot
afe936fee5
Merge pull request #115191 from jkh52/zero-one-one
...
Bump konnectivity-client to v0.1.1
2023-01-20 17:56:02 -08:00
Tim Hockin
c66808333f
Don't generate clients for example internal APIs
...
Remove the generated code and the code that would generate them.
More cleanups will follow.
2023-01-20 14:09:36 -08:00
Abu Kashem
841311ada2
apiserver: CVE-2022-1996, validate cors-allowed-origins server option
2023-01-20 14:15:51 -05:00
Kubernetes Prow Robot
9787f46bbf
Merge pull request #115230 from aojea/tlog_racxe
...
solve race on NewHTTPProxyHandler
2023-01-20 10:52:16 -08:00
Kubernetes Prow Robot
b0ed87078e
Merge pull request #115113 from smarterclayton/exponential_context
...
wait: ExponentialBackoffWithContext should take context-aware fn
2023-01-20 07:38:15 -08:00
Antonio Ojea
80606c895c
solve race on NewHTTPProxyHandler
...
Change-Id: I993ac447c31afa52cc2e53cd9a61069fb6d91253
2023-01-20 14:58:46 +00:00
Kubernetes Prow Robot
325bb26823
Merge pull request #115195 from pohly/log-go-flag-support
...
k8s.io/component-base/logs: match full help text in unit test
2023-01-20 01:22:16 -08:00
Kubernetes Prow Robot
49cd9f673e
Merge pull request #115211 from apelisse/remove-corev1-from-fieldmanager
...
Remove corev1 from fieldmanager
2023-01-19 15:26:15 -08:00
Kubernetes Prow Robot
60d73ba751
Merge pull request #113540 from wongearl/cleanup-client-go
...
diff.ObjectReflectDiff is DEPRECATED use cmp.Diff
2023-01-19 11:52:27 -08:00
Antoine Pelisse
bc0962ad80
fieldmanager: Use unstructured rather than built-in types to remove dependency
2023-01-19 10:48:46 -08:00
Kubernetes Prow Robot
2fba771792
Merge pull request #115186 from thockin/codegen-2-rm-deprecated-clients
...
Remove deprecated and orphaned generated code
2023-01-19 10:28:27 -08:00
Kubernetes Prow Robot
285e7969b2
Merge pull request #114544 from ritazh/kmsv2-keyid-staleness
...
[KMSv2] Use status key ID to determine staleness of encrypted data
2023-01-19 10:28:16 -08:00
Alexander Zielenski
b969dfec9f
use typedinformer if available
...
reduces memory and cpu when things like configmap are used as a param
cannot be shared due to limitatoins of sharedinformerfactory
2023-01-19 10:05:48 -08:00
Alexander Zielenski
0c495cb429
use namespacedName for keys in fakeCompiler
2023-01-19 10:05:48 -08:00
Antoine Pelisse
577f3d8c9d
fieldmanager: Copy LastAppliedAnnotation to remove dependency on corev1
2023-01-19 09:38:04 -08:00
Antoine Pelisse
8d40ba73fb
fieldmanager: Move structured benchmarks to their own file
2023-01-19 09:37:20 -08:00
Rita Zhang
510ac9b391
kmsv2: use status key ID to update staleness of encrypted data
...
Signed-off-by: Rita Zhang <rita.z.zhang@gmail.com >
2023-01-19 08:09:24 -08:00
Kubernetes Prow Robot
6b55f097bb
Merge pull request #114976 from kidddddddddddddddddddddd/python3
...
use python3 in hack
2023-01-19 07:24:47 -08:00
Kubernetes Prow Robot
c02b7e7a81
Merge pull request #114936 from seans3/openapi-validation-refactor
...
Refactor validation files into pkg/validation
2023-01-19 07:24:35 -08:00