mirror of
https://github.com/k3s-io/k3s.git
synced 2024-06-07 19:41:36 +00:00
Merge pull request #278 from erikwilson/vendor-kubernetes-v1.13.5-k3s.1
Update vendor
This commit is contained in:
commit
44d2f3afe6
270
trash.lock
270
trash.lock
@ -1,17 +1,36 @@
|
||||
package: package=github.com/rancher/k3s
|
||||
import:
|
||||
- package: bitbucket.org/ww/goautoneg
|
||||
version: a547fc61f48d567d5b4ec6f8aee5573d8efce11d
|
||||
repo: https://github.com/rancher/goautoneg.git
|
||||
- package: github.com/Azure/go-ansiterm
|
||||
version: d6e3b3328b783f23731bc4d058875b0371ff8109
|
||||
- package: github.com/BurntSushi/toml
|
||||
version: a368813c5e648fee92e5f6c30e3944ff9d5e8895
|
||||
- package: github.com/JeffAshton/win_pdh
|
||||
version: 76bb4ee9f0ab50f77826f2a2ee7fb9d3880d6ec2
|
||||
- package: github.com/MakeNowJust/heredoc
|
||||
version: bb23615498cded5e105af4ce27de75b089cbe851
|
||||
- package: github.com/Microsoft/go-winio
|
||||
version: v0.4.11
|
||||
- package: github.com/Microsoft/hcsshim
|
||||
version: v0.8.3
|
||||
- package: github.com/Nvveen/Gotty
|
||||
version: cd527374f1e5bff4938207604a14f2e38a9cf512
|
||||
- package: github.com/alexflint/go-filemutex
|
||||
version: 72bdc8eae2aef913234599b837f5dda445ca9bd9
|
||||
- package: github.com/armon/circbuf
|
||||
version: bbbad097214e2918d8543d5201d12bfd7bca254d
|
||||
- package: github.com/beorn7/perks
|
||||
version: 4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9
|
||||
- package: github.com/blang/semver
|
||||
version: v3.1.0
|
||||
- package: github.com/chai2010/gettext-go
|
||||
version: c6fed771bfd517099caf0f7a961671fa8ed08723
|
||||
- package: github.com/cloudflare/cfssl
|
||||
version: 1.3.2-21-g56268a613adfed
|
||||
- package: github.com/container-storage-interface/spec
|
||||
version: v1.0.0
|
||||
- package: github.com/containerd/cgroups
|
||||
version: 5e610833b72089b37d0e615de9a92dfc043757c2
|
||||
- package: github.com/containerd/console
|
||||
@ -38,25 +57,53 @@ import:
|
||||
- package: github.com/containernetworking/plugins
|
||||
version: 9810b7d5137b171c4e07ce59bb18be9feccec557
|
||||
repo: https://github.com/ibuildthecloud/plugins.git
|
||||
- package: github.com/coreos/etcd
|
||||
version: v3.3.10
|
||||
- package: github.com/coreos/flannel
|
||||
version: 823afe66b2266bf71f5bec24e6e28b26d70cfc7c
|
||||
repo: https://github.com/ibuildthecloud/flannel.git
|
||||
- package: github.com/coreos/go-iptables
|
||||
version: 47f22b0dd3355c0ba570ba12b0b8a36bf214c04b
|
||||
- package: github.com/coreos/go-semver
|
||||
version: v0.2.0-9-ge214231b295a8e
|
||||
- package: github.com/coreos/go-systemd
|
||||
version: 48702e0da86bd25e76cfef347e2adeb434a0d0a6
|
||||
- package: github.com/coreos/pkg
|
||||
version: v4
|
||||
- package: github.com/cyphar/filepath-securejoin
|
||||
version: v0.2.1-1-gae69057f2299fb
|
||||
- package: github.com/davecgh/go-spew
|
||||
version: v1.1.0
|
||||
- package: github.com/daviddengcn/go-colortext
|
||||
version: 511bcaf42ccd42c38aba7427b6673277bf19e2a1
|
||||
- package: github.com/docker/distribution
|
||||
version: 0d3efadf0154c2b8a4e7b6621fff9809655cc580
|
||||
- package: github.com/docker/docker
|
||||
version: docs-v1.12.0-rc4-2016-07-15-9510-ga9fbbdc8dd8794
|
||||
- package: github.com/docker/go-connections
|
||||
version: v0.3.0
|
||||
- package: github.com/docker/go-events
|
||||
version: 9461782956ad83b30282bf90e31fa6a70c255ba9
|
||||
- package: github.com/docker/go-metrics
|
||||
version: 4ea375f7759c82740c893fc030bc37088d2ec098
|
||||
- package: github.com/docker/go-units
|
||||
version: v0.3.1-11-g9e638d38cf6977
|
||||
- package: github.com/docker/libnetwork
|
||||
version: v0.8.0-dev.2-1265-ga9cd636e378982
|
||||
- package: github.com/docker/spdystream
|
||||
version: 449fdfce4d962303d702fec724ef0ad181c92528
|
||||
- package: github.com/emicklei/go-restful
|
||||
version: v2.2.1
|
||||
- package: github.com/euank/go-kmsg-parser
|
||||
version: v2.0.0
|
||||
- package: github.com/evanphx/json-patch
|
||||
version: v4.1.0-19-g5858425f75500d
|
||||
- package: github.com/exponent-io/jsonpath
|
||||
version: d6023ce2651d8eafb5c75bb0c7167536102ec9f5
|
||||
- package: github.com/fatih/camelcase
|
||||
version: f6a740d52f961c60348ebb109adde9f4635d7540
|
||||
- package: github.com/fsnotify/fsnotify
|
||||
version: v1.3.1-1-gf12c6236fe7b5c
|
||||
- package: github.com/ghodss/yaml
|
||||
version: v1.0.0
|
||||
- package: github.com/godbus/dbus
|
||||
@ -65,35 +112,76 @@ import:
|
||||
version: 08a7655d27152912db7aaf4f983275eaf8d128ef
|
||||
- package: github.com/gogo/protobuf
|
||||
version: v1.0.0
|
||||
- package: github.com/golang/groupcache
|
||||
version: 02826c3e79038b59d737d3b1c0a1d937f71a4433
|
||||
- package: github.com/golang/protobuf
|
||||
version: v1.1.0
|
||||
- package: github.com/google/btree
|
||||
version: 7d79101e329e5a3adf994758c578dab82b90c017
|
||||
- package: github.com/google/cadvisor
|
||||
version: 87e237ff35b9d752ba58860a06e0ebe57816cbb7
|
||||
repo: https://github.com/ibuildthecloud/cadvisor.git
|
||||
- package: github.com/google/certificate-transparency-go
|
||||
version: v1.0.21
|
||||
- package: github.com/google/gofuzz
|
||||
version: 44d81051d367757e1c7c6a5a86423ece9afcf63c
|
||||
- package: github.com/googleapis/gnostic
|
||||
version: 0c5108395e2debce0d731cf0287ddf7242066aba
|
||||
- package: github.com/gorilla/mux
|
||||
version: v1.6.2
|
||||
- package: github.com/gorilla/websocket
|
||||
version: v1.2.0
|
||||
- package: github.com/gregjones/httpcache
|
||||
version: 787624de3eb7bd915c329cba748687a3b22666a6
|
||||
- package: github.com/grpc-ecosystem/go-grpc-prometheus
|
||||
version: 6b7015e65d366bf3f19b2b2a000a831940f0f7e0
|
||||
- package: github.com/hashicorp/errwrap
|
||||
version: 7554cd9344cec97297fa6649b055a8c98c2a1e55
|
||||
- package: github.com/hashicorp/go-multierror
|
||||
version: ed905158d87462226a13fe39ddf685ea65f1c11f
|
||||
- package: github.com/hashicorp/golang-lru
|
||||
version: a0d98a5f288019575c6d1f4bb1573fef2d1fcdc4
|
||||
- package: github.com/ibuildthecloud/kvsql
|
||||
version: c649f12fe5250718e4e024b8b40e7de796ab095e
|
||||
- package: github.com/imdario/mergo
|
||||
version: v0.3.5
|
||||
- package: github.com/inconshreveable/mousetrap
|
||||
version: v1.0
|
||||
- package: github.com/j-keck/arping
|
||||
version: 2cf9dc699c5640a7e2c81403a44127bf28033600
|
||||
- package: github.com/jonboulle/clockwork
|
||||
version: 72f9bd7c4e0c2a40055ab3d0f09654f730cce982
|
||||
- package: github.com/json-iterator/go
|
||||
version: 1.1.5
|
||||
- package: github.com/jteeuwen/go-bindata
|
||||
version: v3.0.7-72-ga0ff2567cfb709
|
||||
- package: github.com/karrick/godirwalk
|
||||
version: v1.7.5
|
||||
- package: github.com/kubernetes-sigs/cri-tools
|
||||
version: c465773e3ad8c941d1756c0a467d550b04a8f65b
|
||||
repo: https://github.com/ibuildthecloud/cri-tools.git
|
||||
- package: github.com/mattn/go-shellwords
|
||||
version: v1.0.3-20-gf8471b0a71ded0
|
||||
- package: github.com/mattn/go-sqlite3
|
||||
version: v1.9.0
|
||||
- package: github.com/matttproud/golang_protobuf_extensions
|
||||
version: v1.0.0
|
||||
- package: github.com/miekg/dns
|
||||
version: 5d001d020961ae1c184f9f8152fdc73810481677
|
||||
- package: github.com/mindprince/gonvml
|
||||
version: fee913ce8fb235edf54739d259ca0ecc226c7b8a
|
||||
- package: github.com/mistifyio/go-zfs
|
||||
version: v2.1.1-5-g1b4ae6fb4e77b0
|
||||
- package: github.com/mitchellh/go-wordwrap
|
||||
version: ad45545899c7b13c020ea92b2072220eefad42b8
|
||||
- package: github.com/modern-go/concurrent
|
||||
version: 1.0.3
|
||||
- package: github.com/modern-go/reflect2
|
||||
version: 1.0.1
|
||||
- package: github.com/mrunalp/fileutils
|
||||
version: 4ee1cc9a80582a0c75febdd5cfa779ee4361cbca
|
||||
- package: github.com/mxk/go-flowrate
|
||||
version: cca7078d478f8520f85629ad7c68962d31ed7682
|
||||
- package: github.com/natefinch/lumberjack
|
||||
version: aee4629129445bbdfb69aa565537dcfa16544311
|
||||
- package: github.com/opencontainers/go-digest
|
||||
@ -108,21 +196,53 @@ import:
|
||||
version: v0.6.0
|
||||
- package: github.com/opencontainers/selinux
|
||||
version: b6fa367ed7f534f9ba25391cc2d467085dbb445a
|
||||
- package: github.com/pborman/uuid
|
||||
version: ca53cad383cad2479bbba7f7a1a05797ec1386e4
|
||||
- package: github.com/peterbourgon/diskv
|
||||
version: v2.0.1
|
||||
- package: github.com/pkg/errors
|
||||
version: v0.8.0
|
||||
- package: github.com/prometheus/client_golang
|
||||
version: v0.8.0-83-ge7e903064f5e9e
|
||||
- package: github.com/prometheus/client_model
|
||||
version: model-0.0.2-12-gfa8ad6fec33561
|
||||
- package: github.com/prometheus/common
|
||||
version: 13ba4ddd0caa9c28ca7b7bffe1dfa9ed8d5ef207
|
||||
- package: github.com/prometheus/procfs
|
||||
version: 65c1f6f8f0fc1e2185eb9863a3bc751496404259
|
||||
- package: github.com/rancher/norman
|
||||
version: f75e3607e96e1a5d3cbaf4ee7cea1459cc727f61
|
||||
repo: https://github.com/ibuildthecloud/norman.git
|
||||
- package: github.com/renstrom/dedent
|
||||
version: v1.0.0-3-g020d11c3b9c0c7
|
||||
- package: github.com/robfig/cron
|
||||
version: v1-53-gdf38d32658d878
|
||||
- package: github.com/russross/blackfriday
|
||||
version: v1.4-2-g300106c228d52c
|
||||
- package: github.com/seccomp/libseccomp-golang
|
||||
version: 32f571b70023028bd57d9288c20efbcb237f3ce0
|
||||
- package: github.com/shurcooL/sanitized_anchor_name
|
||||
version: 10ef21a441db47d8b13ebcc5fd2310f636973c77
|
||||
- package: github.com/sigma/go-inotify
|
||||
version: c87b6cf5033d2c6486046f045eeebdc3d910fd38
|
||||
- package: github.com/sirupsen/logrus
|
||||
version: v1.0.3
|
||||
- package: github.com/spf13/cobra
|
||||
version: v0.0.1-34-gc439c4fa093711
|
||||
- package: github.com/spf13/pflag
|
||||
version: v1.0.1
|
||||
- package: github.com/syndtr/gocapability
|
||||
version: db04d3cc01c8b54962a58ec7e491717d06cfcc16
|
||||
- package: github.com/tchap/go-patricia
|
||||
version: v2.2.6
|
||||
- package: github.com/ugorji/go
|
||||
version: bdcc60b419d136a85cdf2e7cbcac34b3f1cd6e57
|
||||
- package: github.com/urfave/cli
|
||||
version: 8e01ec4cd3e2d84ab2fe90d8210528ffbb06d8ff
|
||||
- package: github.com/vishvananda/netlink
|
||||
version: b2de5d10e38ecce8607e6b438b6d174f389a004e
|
||||
- package: github.com/vishvananda/netns
|
||||
version: be1fbeda19366dea804f00efff2dd73a1642fdcc
|
||||
- package: github.com/xeipuuv/gojsonpointer
|
||||
version: 4e3ac2762d5f479393488629ee9370b50873b3a6
|
||||
- package: github.com/xeipuuv/gojsonreference
|
||||
@ -146,154 +266,34 @@ import:
|
||||
version: 19e51611da83d6be54ddafce4a4af510cb3e9ea4
|
||||
- package: golang.org/x/time
|
||||
version: f51c12702a4d776e4c1fa9b0fabab841babae631
|
||||
- package: golang.org/x/tools
|
||||
version: 2382e3994d48b1d22acc2c86bcad0a2aff028e32
|
||||
- package: google.golang.org/genproto
|
||||
version: d80a6e20e776b0b17a324d0ba1ab50a39c8e8944
|
||||
- package: google.golang.org/grpc
|
||||
version: v1.12.0
|
||||
- package: gopkg.in/inf.v0
|
||||
version: 3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4
|
||||
- package: gopkg.in/yaml.v2
|
||||
version: v2.2.1
|
||||
- package: k8s.io/kubernetes
|
||||
version: v1.13.4-k3s.1
|
||||
repo: https://github.com/rancher/k3s.git
|
||||
transitive: true
|
||||
staging: true
|
||||
- package: github.com/mxk/go-flowrate
|
||||
version: cca7078d478f8520f85629ad7c68962d31ed7682
|
||||
- package: github.com/JeffAshton/win_pdh
|
||||
version: 76bb4ee9f0ab50f77826f2a2ee7fb9d3880d6ec2
|
||||
- package: github.com/inconshreveable/mousetrap
|
||||
version: v1.0
|
||||
- package: github.com/mistifyio/go-zfs
|
||||
version: v2.1.1-5-g1b4ae6fb4e77b0
|
||||
- package: github.com/Azure/go-ansiterm
|
||||
version: d6e3b3328b783f23731bc4d058875b0371ff8109
|
||||
- package: github.com/docker/go-connections
|
||||
version: v0.3.0
|
||||
- package: k8s.io/gengo
|
||||
version: 51747d6e00da1fc578d5a333a93bb2abcbce7a95
|
||||
- package: github.com/robfig/cron
|
||||
version: v1-53-gdf38d32658d878
|
||||
- package: github.com/chai2010/gettext-go
|
||||
version: c6fed771bfd517099caf0f7a961671fa8ed08723
|
||||
- package: github.com/russross/blackfriday
|
||||
version: v1.4-2-g300106c228d52c
|
||||
- package: bitbucket.org/ww/goautoneg
|
||||
version: a547fc61f48d567d5b4ec6f8aee5573d8efce11d
|
||||
repo: https://github.com/rancher/goautoneg.git
|
||||
- package: github.com/coreos/go-semver
|
||||
version: v0.2.0-9-ge214231b295a8e
|
||||
- package: github.com/mindprince/gonvml
|
||||
version: fee913ce8fb235edf54739d259ca0ecc226c7b8a
|
||||
- package: github.com/spf13/pflag
|
||||
version: v1.0.1
|
||||
- package: github.com/euank/go-kmsg-parser
|
||||
version: v2.0.0
|
||||
- package: github.com/fsnotify/fsnotify
|
||||
version: v1.3.1-1-gf12c6236fe7b5c
|
||||
- package: github.com/prometheus/common
|
||||
version: 13ba4ddd0caa9c28ca7b7bffe1dfa9ed8d5ef207
|
||||
- package: github.com/google/certificate-transparency-go
|
||||
version: v1.0.21
|
||||
- package: golang.org/x/tools
|
||||
version: 2382e3994d48b1d22acc2c86bcad0a2aff028e32
|
||||
- package: vbom.ml/util
|
||||
version: db5cfe13f5cc80a4990d98e2e1b0707a4d1a5394
|
||||
- package: github.com/google/cadvisor
|
||||
version: 87e237ff35b9d752ba58860a06e0ebe57816cbb7
|
||||
repo: https://github.com/ibuildthecloud/cadvisor.git
|
||||
- package: github.com/hashicorp/golang-lru
|
||||
version: a0d98a5f288019575c6d1f4bb1573fef2d1fcdc4
|
||||
- package: github.com/cloudflare/cfssl
|
||||
version: 1.3.2-21-g56268a613adfed
|
||||
- package: github.com/docker/libnetwork
|
||||
version: v0.8.0-dev.2-1265-ga9cd636e378982
|
||||
- package: github.com/prometheus/client_golang
|
||||
version: v0.8.0-83-ge7e903064f5e9e
|
||||
- package: sigs.k8s.io/yaml
|
||||
version: v1.1.0
|
||||
- package: github.com/Nvveen/Gotty
|
||||
version: cd527374f1e5bff4938207604a14f2e38a9cf512
|
||||
- package: github.com/mattn/go-shellwords
|
||||
version: v1.0.3-20-gf8471b0a71ded0
|
||||
- package: github.com/gregjones/httpcache
|
||||
version: 787624de3eb7bd915c329cba748687a3b22666a6
|
||||
- package: github.com/imdario/mergo
|
||||
version: v0.3.5
|
||||
- package: github.com/karrick/godirwalk
|
||||
version: v1.7.5
|
||||
- package: github.com/mitchellh/go-wordwrap
|
||||
version: ad45545899c7b13c020ea92b2072220eefad42b8
|
||||
- package: github.com/google/btree
|
||||
version: 7d79101e329e5a3adf994758c578dab82b90c017
|
||||
- package: github.com/armon/circbuf
|
||||
version: bbbad097214e2918d8543d5201d12bfd7bca254d
|
||||
- package: github.com/prometheus/procfs
|
||||
version: 65c1f6f8f0fc1e2185eb9863a3bc751496404259
|
||||
- package: github.com/googleapis/gnostic
|
||||
version: 0c5108395e2debce0d731cf0287ddf7242066aba
|
||||
- package: github.com/peterbourgon/diskv
|
||||
version: v2.0.1
|
||||
- package: github.com/vishvananda/netns
|
||||
version: be1fbeda19366dea804f00efff2dd73a1642fdcc
|
||||
- package: github.com/evanphx/json-patch
|
||||
version: v4.1.0-19-g5858425f75500d
|
||||
- package: github.com/spf13/cobra
|
||||
version: v0.0.1-34-gc439c4fa093711
|
||||
- package: github.com/ugorji/go
|
||||
version: bdcc60b419d136a85cdf2e7cbcac34b3f1cd6e57
|
||||
- package: github.com/miekg/dns
|
||||
version: 5d001d020961ae1c184f9f8152fdc73810481677
|
||||
- package: github.com/vishvananda/netlink
|
||||
version: b2de5d10e38ecce8607e6b438b6d174f389a004e
|
||||
- package: github.com/container-storage-interface/spec
|
||||
version: v1.0.0
|
||||
- package: github.com/jteeuwen/go-bindata
|
||||
version: v3.0.7-72-ga0ff2567cfb709
|
||||
- package: github.com/shurcooL/sanitized_anchor_name
|
||||
version: 10ef21a441db47d8b13ebcc5fd2310f636973c77
|
||||
- package: github.com/golang/groupcache
|
||||
version: 02826c3e79038b59d737d3b1c0a1d937f71a4433
|
||||
- package: github.com/mrunalp/fileutils
|
||||
version: 4ee1cc9a80582a0c75febdd5cfa779ee4361cbca
|
||||
- package: github.com/prometheus/client_model
|
||||
version: model-0.0.2-12-gfa8ad6fec33561
|
||||
- package: github.com/exponent-io/jsonpath
|
||||
version: d6023ce2651d8eafb5c75bb0c7167536102ec9f5
|
||||
- package: github.com/MakeNowJust/heredoc
|
||||
version: bb23615498cded5e105af4ce27de75b089cbe851
|
||||
- package: github.com/coreos/etcd
|
||||
version: v3.3.10
|
||||
- package: github.com/fatih/camelcase
|
||||
version: f6a740d52f961c60348ebb109adde9f4635d7540
|
||||
- package: github.com/docker/docker
|
||||
version: docs-v1.12.0-rc4-2016-07-15-9510-ga9fbbdc8dd8794
|
||||
- package: gopkg.in/natefinch/lumberjack.v2
|
||||
version: v1.0-16-g20b71e5b60d756
|
||||
- package: gopkg.in/square/go-jose.v2
|
||||
version: v2.1.6-4-g89060dee6a84df
|
||||
- package: github.com/coreos/pkg
|
||||
version: v4
|
||||
- package: github.com/sigma/go-inotify
|
||||
version: c87b6cf5033d2c6486046f045eeebdc3d910fd38
|
||||
- package: github.com/cyphar/filepath-securejoin
|
||||
version: v0.2.1-1-gae69057f2299fb
|
||||
- package: github.com/renstrom/dedent
|
||||
version: v1.0.0-3-g020d11c3b9c0c7
|
||||
- package: gopkg.in/yaml.v2
|
||||
version: v2.2.1
|
||||
- package: k8s.io/gengo
|
||||
version: 51747d6e00da1fc578d5a333a93bb2abcbce7a95
|
||||
- package: k8s.io/heapster
|
||||
version: v1.2.0-beta.1
|
||||
- package: github.com/docker/go-units
|
||||
version: v0.3.1-11-g9e638d38cf6977
|
||||
- package: github.com/ibuildthecloud/kvsql
|
||||
version: c649f12fe5250718e4e024b8b40e7de796ab095e
|
||||
- package: github.com/jonboulle/clockwork
|
||||
version: 72f9bd7c4e0c2a40055ab3d0f09654f730cce982
|
||||
- package: k8s.io/klog
|
||||
version: 8139d8cb77af419532b33dfa7dd09fbc5f1d344f
|
||||
- package: github.com/daviddengcn/go-colortext
|
||||
version: 511bcaf42ccd42c38aba7427b6673277bf19e2a1
|
||||
- package: k8s.io/kubernetes
|
||||
version: v1.13.5-k3s.1
|
||||
repo: https://github.com/rancher/k3s.git
|
||||
transitive: true
|
||||
staging: true
|
||||
- package: k8s.io/utils
|
||||
version: 66066c83e385e385ccc3c964b44fd7dcd413d0ed
|
||||
- package: github.com/pborman/uuid
|
||||
version: ca53cad383cad2479bbba7f7a1a05797ec1386e4
|
||||
- package: sigs.k8s.io/yaml
|
||||
version: v1.1.0
|
||||
- package: vbom.ml/util
|
||||
version: db5cfe13f5cc80a4990d98e2e1b0707a4d1a5394
|
||||
|
@ -9,7 +9,7 @@ package=github.com/opencontainers/runc/libcontainer/nsenter
|
||||
package=github.com/opencontainers/runc/libcontainer/specconv
|
||||
package=github.com/opencontainers/runc/contrib/cmd/recvtty
|
||||
|
||||
k8s.io/kubernetes v1.13.4-k3s.1 https://github.com/rancher/k3s.git transitive=true,staging=true
|
||||
k8s.io/kubernetes v1.13.5-k3s.1 https://github.com/rancher/k3s.git transitive=true,staging=true
|
||||
|
||||
github.com/rancher/norman f75e3607e96e1a5d3cbaf4ee7cea1459cc727f61 https://github.com/ibuildthecloud/norman.git
|
||||
github.com/coreos/flannel 823afe66b2266bf71f5bec24e6e28b26d70cfc7c https://github.com/ibuildthecloud/flannel.git
|
||||
|
2
vendor/k8s.io/apiserver/pkg/admission/plugin/webhook/generic/conversion.go
generated
vendored
2
vendor/k8s.io/apiserver/pkg/admission/plugin/webhook/generic/conversion.go
generated
vendored
@ -43,6 +43,8 @@ func (c *convertor) ConvertToGVK(obj runtime.Object, gvk schema.GroupVersionKind
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// Explicitly set the GVK
|
||||
out.GetObjectKind().SetGroupVersionKind(gvk)
|
||||
return out, nil
|
||||
}
|
||||
|
||||
|
10
vendor/k8s.io/apiserver/pkg/server/genericapiserver.go
generated
vendored
10
vendor/k8s.io/apiserver/pkg/server/genericapiserver.go
generated
vendored
@ -44,10 +44,6 @@ import (
|
||||
restclient "k8s.io/client-go/rest"
|
||||
)
|
||||
|
||||
var (
|
||||
NotifySystemD = true
|
||||
)
|
||||
|
||||
// Info about an API group.
|
||||
type APIGroupInfo struct {
|
||||
PrioritizedVersions []schema.GroupVersion
|
||||
@ -300,10 +296,8 @@ func (s preparedGenericAPIServer) NonBlockingRun(stopCh <-chan struct{}) error {
|
||||
|
||||
s.RunPostStartHooks(stopCh)
|
||||
|
||||
if NotifySystemD {
|
||||
if _, err := systemd.SdNotify(true, "READY=1\n"); err != nil {
|
||||
klog.Errorf("Unable to send systemd daemon successful start message: %v\n", err)
|
||||
}
|
||||
if _, err := systemd.SdNotify(true, "READY=1\n"); err != nil {
|
||||
klog.Errorf("Unable to send systemd daemon successful start message: %v\n", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
6
vendor/k8s.io/client-go/pkg/version/base.go
generated
vendored
6
vendor/k8s.io/client-go/pkg/version/base.go
generated
vendored
@ -3,8 +3,8 @@ package version
|
||||
var (
|
||||
gitMajor = "1"
|
||||
gitMinor = "13"
|
||||
gitVersion = "v1.13.4-k3s.1"
|
||||
gitCommit = "7f72ee72d6dce73e2d36dbd3402413d146fad01e"
|
||||
gitVersion = "v1.13.5-k3s.1"
|
||||
gitCommit = "256ea73aeb2627eb9b510f6c22881af8f967dd0c"
|
||||
gitTreeState = "clean"
|
||||
buildDate = "2019-03-04T01:05+00:00Z"
|
||||
buildDate = "2019-03-27T18:49+00:00Z"
|
||||
)
|
||||
|
27
vendor/k8s.io/client-go/tools/cache/reflector.go
generated
vendored
27
vendor/k8s.io/client-go/tools/cache/reflector.go
generated
vendored
@ -24,10 +24,8 @@ import (
|
||||
"net"
|
||||
"net/url"
|
||||
"reflect"
|
||||
"strconv"
|
||||
"strings"
|
||||
"sync"
|
||||
"sync/atomic"
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
@ -95,17 +93,10 @@ func NewReflector(lw ListerWatcher, expectedType interface{}, store Store, resyn
|
||||
return NewNamedReflector(naming.GetNameFromCallsite(internalPackages...), lw, expectedType, store, resyncPeriod)
|
||||
}
|
||||
|
||||
// reflectorDisambiguator is used to disambiguate started reflectors.
|
||||
// initialized to an unstable value to ensure meaning isn't attributed to the suffix.
|
||||
var reflectorDisambiguator = int64(time.Now().UnixNano() % 12345)
|
||||
|
||||
// NewNamedReflector same as NewReflector, but with a specified name for logging
|
||||
func NewNamedReflector(name string, lw ListerWatcher, expectedType interface{}, store Store, resyncPeriod time.Duration) *Reflector {
|
||||
reflectorSuffix := atomic.AddInt64(&reflectorDisambiguator, 1)
|
||||
r := &Reflector{
|
||||
name: name,
|
||||
// we need this to be unique per process (some names are still the same) but obvious who it belongs to
|
||||
metrics: newReflectorMetrics(makeValidPrometheusMetricLabel(fmt.Sprintf("reflector_"+name+"_%d", reflectorSuffix))),
|
||||
name: name,
|
||||
listerWatcher: lw,
|
||||
store: store,
|
||||
expectedType: reflect.TypeOf(expectedType),
|
||||
@ -173,13 +164,10 @@ func (r *Reflector) ListAndWatch(stopCh <-chan struct{}) error {
|
||||
// to be served from cache and potentially be delayed relative to
|
||||
// etcd contents. Reflector framework will catch up via Watch() eventually.
|
||||
options := metav1.ListOptions{ResourceVersion: "0"}
|
||||
r.metrics.numberOfLists.Inc()
|
||||
start := r.clock.Now()
|
||||
list, err := r.listerWatcher.List(options)
|
||||
if err != nil {
|
||||
return fmt.Errorf("%s: Failed to list %v: %v", r.name, r.expectedType, err)
|
||||
}
|
||||
r.metrics.listDuration.Observe(time.Since(start).Seconds())
|
||||
listMetaInterface, err := meta.ListAccessor(list)
|
||||
if err != nil {
|
||||
return fmt.Errorf("%s: Unable to understand list result %#v: %v", r.name, list, err)
|
||||
@ -189,7 +177,6 @@ func (r *Reflector) ListAndWatch(stopCh <-chan struct{}) error {
|
||||
if err != nil {
|
||||
return fmt.Errorf("%s: Unable to understand list result %#v (%v)", r.name, list, err)
|
||||
}
|
||||
r.metrics.numberOfItemsInList.Observe(float64(len(items)))
|
||||
if err := r.syncWith(items, resourceVersion); err != nil {
|
||||
return fmt.Errorf("%s: Unable to sync list result: %v", r.name, err)
|
||||
}
|
||||
@ -239,7 +226,6 @@ func (r *Reflector) ListAndWatch(stopCh <-chan struct{}) error {
|
||||
TimeoutSeconds: &timeoutSeconds,
|
||||
}
|
||||
|
||||
r.metrics.numberOfWatches.Inc()
|
||||
w, err := r.listerWatcher.Watch(options)
|
||||
if err != nil {
|
||||
switch err {
|
||||
@ -291,11 +277,6 @@ func (r *Reflector) watchHandler(w watch.Interface, resourceVersion *string, err
|
||||
// Stopping the watcher should be idempotent and if we return from this function there's no way
|
||||
// we're coming back in with the same watch interface.
|
||||
defer w.Stop()
|
||||
// update metrics
|
||||
defer func() {
|
||||
r.metrics.numberOfItemsInWatch.Observe(float64(eventCount))
|
||||
r.metrics.watchDuration.Observe(time.Since(start).Seconds())
|
||||
}()
|
||||
|
||||
loop:
|
||||
for {
|
||||
@ -351,7 +332,6 @@ loop:
|
||||
|
||||
watchDuration := r.clock.Now().Sub(start)
|
||||
if watchDuration < 1*time.Second && eventCount == 0 {
|
||||
r.metrics.numberOfShortWatches.Inc()
|
||||
return fmt.Errorf("very short watch: %s: Unexpected watch close - watch lasted less than a second and no items received", r.name)
|
||||
}
|
||||
klog.V(4).Infof("%s: Watch close - %v total %v items received", r.name, r.expectedType, eventCount)
|
||||
@ -370,9 +350,4 @@ func (r *Reflector) setLastSyncResourceVersion(v string) {
|
||||
r.lastSyncResourceVersionMutex.Lock()
|
||||
defer r.lastSyncResourceVersionMutex.Unlock()
|
||||
r.lastSyncResourceVersion = v
|
||||
|
||||
rv, err := strconv.Atoi(v)
|
||||
if err == nil {
|
||||
r.metrics.lastResourceVersion.Set(float64(rv))
|
||||
}
|
||||
}
|
||||
|
150
vendor/k8s.io/kubernetes/CHANGELOG-1.13.md
generated
vendored
150
vendor/k8s.io/kubernetes/CHANGELOG-1.13.md
generated
vendored
@ -1,30 +1,37 @@
|
||||
<!-- BEGIN MUNGE: GENERATED_TOC -->
|
||||
- [v1.13.3](#v1133)
|
||||
- [Downloads for v1.13.3](#downloads-for-v1133)
|
||||
- [v1.13.4](#v1134)
|
||||
- [Downloads for v1.13.4](#downloads-for-v1134)
|
||||
- [Client Binaries](#client-binaries)
|
||||
- [Server Binaries](#server-binaries)
|
||||
- [Node Binaries](#node-binaries)
|
||||
- [Changelog since v1.13.2](#changelog-since-v1132)
|
||||
- [Changelog since v1.13.3](#changelog-since-v1133)
|
||||
- [Other notable changes](#other-notable-changes)
|
||||
- [v1.13.2](#v1132)
|
||||
- [Downloads for v1.13.2](#downloads-for-v1132)
|
||||
- [v1.13.3](#v1133)
|
||||
- [Downloads for v1.13.3](#downloads-for-v1133)
|
||||
- [Client Binaries](#client-binaries-1)
|
||||
- [Server Binaries](#server-binaries-1)
|
||||
- [Node Binaries](#node-binaries-1)
|
||||
- [Changelog since v1.13.1](#changelog-since-v1131)
|
||||
- [Changelog since v1.13.2](#changelog-since-v1132)
|
||||
- [Other notable changes](#other-notable-changes-1)
|
||||
- [v1.13.1](#v1131)
|
||||
- [Downloads for v1.13.1](#downloads-for-v1131)
|
||||
- [v1.13.2](#v1132)
|
||||
- [Downloads for v1.13.2](#downloads-for-v1132)
|
||||
- [Client Binaries](#client-binaries-2)
|
||||
- [Server Binaries](#server-binaries-2)
|
||||
- [Node Binaries](#node-binaries-2)
|
||||
- [Changelog since v1.13.0](#changelog-since-v1130)
|
||||
- [Changelog since v1.13.1](#changelog-since-v1131)
|
||||
- [Other notable changes](#other-notable-changes-2)
|
||||
- [v1.13.0](#v1130)
|
||||
- [Downloads for v1.13.0](#downloads-for-v1130)
|
||||
- [v1.13.1](#v1131)
|
||||
- [Downloads for v1.13.1](#downloads-for-v1131)
|
||||
- [Client Binaries](#client-binaries-3)
|
||||
- [Server Binaries](#server-binaries-3)
|
||||
- [Node Binaries](#node-binaries-3)
|
||||
- [Changelog since v1.13.0](#changelog-since-v1130)
|
||||
- [Other notable changes](#other-notable-changes-3)
|
||||
- [v1.13.0](#v1130)
|
||||
- [Downloads for v1.13.0](#downloads-for-v1130)
|
||||
- [Client Binaries](#client-binaries-4)
|
||||
- [Server Binaries](#server-binaries-4)
|
||||
- [Node Binaries](#node-binaries-4)
|
||||
- [Kubernetes 1.13 Release Notes](#kubernetes-113-release-notes)
|
||||
- [Security Content](#security-content)
|
||||
- [Urgent Upgrade Notes](#urgent-upgrade-notes)
|
||||
@ -73,60 +80,133 @@
|
||||
- [External Dependencies](#external-dependencies)
|
||||
- [v1.13.0-rc.2](#v1130-rc2)
|
||||
- [Downloads for v1.13.0-rc.2](#downloads-for-v1130-rc2)
|
||||
- [Client Binaries](#client-binaries-4)
|
||||
- [Server Binaries](#server-binaries-4)
|
||||
- [Node Binaries](#node-binaries-4)
|
||||
- [Changelog since v1.13.0-rc.1](#changelog-since-v1130-rc1)
|
||||
- [Other notable changes](#other-notable-changes-3)
|
||||
- [v1.13.0-rc.1](#v1130-rc1)
|
||||
- [Downloads for v1.13.0-rc.1](#downloads-for-v1130-rc1)
|
||||
- [Client Binaries](#client-binaries-5)
|
||||
- [Server Binaries](#server-binaries-5)
|
||||
- [Node Binaries](#node-binaries-5)
|
||||
- [Changelog since v1.13.0-beta.2](#changelog-since-v1130-beta2)
|
||||
- [Changelog since v1.13.0-rc.1](#changelog-since-v1130-rc1)
|
||||
- [Other notable changes](#other-notable-changes-4)
|
||||
- [v1.13.0-beta.2](#v1130-beta2)
|
||||
- [Downloads for v1.13.0-beta.2](#downloads-for-v1130-beta2)
|
||||
- [v1.13.0-rc.1](#v1130-rc1)
|
||||
- [Downloads for v1.13.0-rc.1](#downloads-for-v1130-rc1)
|
||||
- [Client Binaries](#client-binaries-6)
|
||||
- [Server Binaries](#server-binaries-6)
|
||||
- [Node Binaries](#node-binaries-6)
|
||||
- [Changelog since v1.13.0-beta.1](#changelog-since-v1130-beta1)
|
||||
- [Changelog since v1.13.0-beta.2](#changelog-since-v1130-beta2)
|
||||
- [Other notable changes](#other-notable-changes-5)
|
||||
- [v1.13.0-beta.1](#v1130-beta1)
|
||||
- [Downloads for v1.13.0-beta.1](#downloads-for-v1130-beta1)
|
||||
- [v1.13.0-beta.2](#v1130-beta2)
|
||||
- [Downloads for v1.13.0-beta.2](#downloads-for-v1130-beta2)
|
||||
- [Client Binaries](#client-binaries-7)
|
||||
- [Server Binaries](#server-binaries-7)
|
||||
- [Node Binaries](#node-binaries-7)
|
||||
- [Changelog since v1.13.0-alpha.3](#changelog-since-v1130-alpha3)
|
||||
- [Action Required](#action-required)
|
||||
- [Changelog since v1.13.0-beta.1](#changelog-since-v1130-beta1)
|
||||
- [Other notable changes](#other-notable-changes-6)
|
||||
- [v1.13.0-alpha.3](#v1130-alpha3)
|
||||
- [Downloads for v1.13.0-alpha.3](#downloads-for-v1130-alpha3)
|
||||
- [v1.13.0-beta.1](#v1130-beta1)
|
||||
- [Downloads for v1.13.0-beta.1](#downloads-for-v1130-beta1)
|
||||
- [Client Binaries](#client-binaries-8)
|
||||
- [Server Binaries](#server-binaries-8)
|
||||
- [Node Binaries](#node-binaries-8)
|
||||
- [Changelog since v1.13.0-alpha.2](#changelog-since-v1130-alpha2)
|
||||
- [Changelog since v1.13.0-alpha.3](#changelog-since-v1130-alpha3)
|
||||
- [Action Required](#action-required)
|
||||
- [Other notable changes](#other-notable-changes-7)
|
||||
- [v1.13.0-alpha.2](#v1130-alpha2)
|
||||
- [Downloads for v1.13.0-alpha.2](#downloads-for-v1130-alpha2)
|
||||
- [v1.13.0-alpha.3](#v1130-alpha3)
|
||||
- [Downloads for v1.13.0-alpha.3](#downloads-for-v1130-alpha3)
|
||||
- [Client Binaries](#client-binaries-9)
|
||||
- [Server Binaries](#server-binaries-9)
|
||||
- [Node Binaries](#node-binaries-9)
|
||||
- [Changelog since v1.13.0-alpha.1](#changelog-since-v1130-alpha1)
|
||||
- [Changelog since v1.13.0-alpha.2](#changelog-since-v1130-alpha2)
|
||||
- [Other notable changes](#other-notable-changes-8)
|
||||
- [v1.13.0-alpha.1](#v1130-alpha1)
|
||||
- [Downloads for v1.13.0-alpha.1](#downloads-for-v1130-alpha1)
|
||||
- [v1.13.0-alpha.2](#v1130-alpha2)
|
||||
- [Downloads for v1.13.0-alpha.2](#downloads-for-v1130-alpha2)
|
||||
- [Client Binaries](#client-binaries-10)
|
||||
- [Server Binaries](#server-binaries-10)
|
||||
- [Node Binaries](#node-binaries-10)
|
||||
- [Changelog since v1.13.0-alpha.1](#changelog-since-v1130-alpha1)
|
||||
- [Other notable changes](#other-notable-changes-9)
|
||||
- [v1.13.0-alpha.1](#v1130-alpha1)
|
||||
- [Downloads for v1.13.0-alpha.1](#downloads-for-v1130-alpha1)
|
||||
- [Client Binaries](#client-binaries-11)
|
||||
- [Server Binaries](#server-binaries-11)
|
||||
- [Node Binaries](#node-binaries-11)
|
||||
- [Changelog since v1.12.0](#changelog-since-v1120)
|
||||
- [Action Required](#action-required-1)
|
||||
- [Other notable changes](#other-notable-changes-9)
|
||||
- [Other notable changes](#other-notable-changes-10)
|
||||
<!-- END MUNGE: GENERATED_TOC -->
|
||||
|
||||
<!-- NEW RELEASE NOTES ENTRY -->
|
||||
|
||||
|
||||
# v1.13.4
|
||||
|
||||
[Documentation](https://docs.k8s.io)
|
||||
|
||||
## Downloads for v1.13.4
|
||||
|
||||
|
||||
filename | sha512 hash
|
||||
-------- | -----------
|
||||
[kubernetes.tar.gz](https://dl.k8s.io/v1.13.4/kubernetes.tar.gz) | `591cd3f4f479744a1d47544902817350321c63f8c37ad771d559e293bcdbc421e89d62663300a6739c667d34e1e24bb080dd73562dc29713381db079ba6e9223`
|
||||
[kubernetes-src.tar.gz](https://dl.k8s.io/v1.13.4/kubernetes-src.tar.gz) | `3f3b5318321b661b028da62798b2cb85ccc7d5bfa90605944bd8a626c86e7e77f54fdb7e340587528f41e240fcf2c35bb6808ada7a2f50a4a3b0c755bc18b28c`
|
||||
|
||||
### Client Binaries
|
||||
|
||||
filename | sha512 hash
|
||||
-------- | -----------
|
||||
[kubernetes-client-darwin-386.tar.gz](https://dl.k8s.io/v1.13.4/kubernetes-client-darwin-386.tar.gz) | `78c604ac5c54beff498fffa398abcd6c91f6d6ee6ec7249b675f10a2fa5866e336a560b85275c408daf8bf250c5d2c8632d2e0a2592d98952fae70ae3586f4aa`
|
||||
[kubernetes-client-darwin-amd64.tar.gz](https://dl.k8s.io/v1.13.4/kubernetes-client-darwin-amd64.tar.gz) | `0678f0305608589b15dbc6a5dca00de99adfb296d881a33fb1745a1393b17a2e9f59becb3978e519465936796dd6692fd2fda63af84b09bca2db5628ebf74503`
|
||||
[kubernetes-client-linux-386.tar.gz](https://dl.k8s.io/v1.13.4/kubernetes-client-linux-386.tar.gz) | `2c311839a0b843c9203d4b7a558f2c0cff3fa97c40ebcd3838cf592b764c9387d31c315e0ff39da32d73b4117e600cedf5177348e07beaa38a3faa98abee6c60`
|
||||
[kubernetes-client-linux-amd64.tar.gz](https://dl.k8s.io/v1.13.4/kubernetes-client-linux-amd64.tar.gz) | `71f813f0d8461967e9a002a9d8842b3ac40ffcaa59979d84499aff1958b2ac78d7ac75b562cffd5a9d122f0ce758a2c53d5dd788e0412df57756323cc4366a56`
|
||||
[kubernetes-client-linux-arm.tar.gz](https://dl.k8s.io/v1.13.4/kubernetes-client-linux-arm.tar.gz) | `20c1779c51692b1bbcddc96dcb1f41868414d9585c53f62aa07ad0ca3ca4cf7a0e2414ee2095fb3a1096bf86bbe74bc8d323c7cd39ad1698a130bb15971c1daa`
|
||||
[kubernetes-client-linux-arm64.tar.gz](https://dl.k8s.io/v1.13.4/kubernetes-client-linux-arm64.tar.gz) | `58dd72a04f31613572b58095279a91fa9c16e8a8c052b0ec3e3badea60cf8a2a33953e9d5b839d931070c040c6f8cd098abec46f192db7cb2fdea75c4b7de096`
|
||||
[kubernetes-client-linux-ppc64le.tar.gz](https://dl.k8s.io/v1.13.4/kubernetes-client-linux-ppc64le.tar.gz) | `1e68cd52396cc554d6446575f5de4656fbe9965a432328fdd9ee317db232f875eda3925bcc2956543085560cbfff7231abc7434f52db446a21882cd0721a6edd`
|
||||
[kubernetes-client-linux-s390x.tar.gz](https://dl.k8s.io/v1.13.4/kubernetes-client-linux-s390x.tar.gz) | `3fcba2802db6662392b4eaf2465753f88c6b5de2e4e264e2669ad196f6a984dd4ac0a41bf7f11d955e130e543e8a06bb068d654f9c3b1606db380d146a01592e`
|
||||
[kubernetes-client-windows-386.tar.gz](https://dl.k8s.io/v1.13.4/kubernetes-client-windows-386.tar.gz) | `47c50b8a4bf9541096efba51e8034e4a9b796ff69221e5d0f5589bf921c186053c5f1617cd75913d8bbd288d394b0a3f38c7d789b9e45f4b7fb71b98488aa467`
|
||||
[kubernetes-client-windows-amd64.tar.gz](https://dl.k8s.io/v1.13.4/kubernetes-client-windows-amd64.tar.gz) | `0572c7755a5190b2f687645a17d6b75e8544dc8b84c1dd09a396fc8dec0ec56be367098da903db1127eeeb8a60275338895d0e03fc15e3fecc94930a15846810`
|
||||
|
||||
### Server Binaries
|
||||
|
||||
filename | sha512 hash
|
||||
-------- | -----------
|
||||
[kubernetes-server-linux-amd64.tar.gz](https://dl.k8s.io/v1.13.4/kubernetes-server-linux-amd64.tar.gz) | `a36eff3dd5769df6af8a39c0b50268c6b324db5b7000fe4f6c9a5c83d87b971cf187abf1a38e9970602cb0c06373cfae35b41cc13ef8063824b5a92e74cf4740`
|
||||
[kubernetes-server-linux-arm.tar.gz](https://dl.k8s.io/v1.13.4/kubernetes-server-linux-arm.tar.gz) | `9564dc220de5210d8e690a5a84f46a7ca0d43fd6e1f5f68b49754ab6335e4bb9e0faf8490109ff28417233f0f668791acbe9cbc90f62eeb92310e1eda3143313`
|
||||
[kubernetes-server-linux-arm64.tar.gz](https://dl.k8s.io/v1.13.4/kubernetes-server-linux-arm64.tar.gz) | `e9d345633188352caadd9356f3816cd66137721a32b28986bcb516fbd7b9d23dc0dd04223bf177619baf0e0eed6716a801fe51ea24ee6dd97c14f5d0f832f3f9`
|
||||
[kubernetes-server-linux-ppc64le.tar.gz](https://dl.k8s.io/v1.13.4/kubernetes-server-linux-ppc64le.tar.gz) | `3062e04932d9386aeccf142734a0ebe2aca0614b4c57ddef735d7554e439d60927a1a64cbf53160ba0b7c8d115deec40da04efb109cfe8f7863daa6cdd547ef8`
|
||||
[kubernetes-server-linux-s390x.tar.gz](https://dl.k8s.io/v1.13.4/kubernetes-server-linux-s390x.tar.gz) | `337cfb3894f818ca116630678e9b596f44506ce680670b416ee0edb2adae98be34110cbddd5faed5f7b672fd7771c315b12217e9a3858fc10c995fd8385d2b2d`
|
||||
|
||||
### Node Binaries
|
||||
|
||||
filename | sha512 hash
|
||||
-------- | -----------
|
||||
[kubernetes-node-linux-amd64.tar.gz](https://dl.k8s.io/v1.13.4/kubernetes-node-linux-amd64.tar.gz) | `1e5e40bb5650a4aef147d21c31af322d44959aa4d7869cda84ba1e2bdd5c983710c6fe50b19c998fb3376cd86eceb45b65cefdfe3d37218d342fe395c73f2f26`
|
||||
[kubernetes-node-linux-arm.tar.gz](https://dl.k8s.io/v1.13.4/kubernetes-node-linux-arm.tar.gz) | `c16b0adbf3296e886a0f0ec6ec36d5a18fb8ff62718bf59ac71ceb06985e73c5f33f0e2c9132faed75e54e8c1d5aa68020136c6167a962ee82269b994bd02b86`
|
||||
[kubernetes-node-linux-arm64.tar.gz](https://dl.k8s.io/v1.13.4/kubernetes-node-linux-arm64.tar.gz) | `16cc2c021c0bb09d903ce027a0e8eee5884395ee4e16998969fee29ef87af4e32540e96e6dd90584a6a919b842b9f4e24582406701bc32fc7a770b586cfffd1c`
|
||||
[kubernetes-node-linux-ppc64le.tar.gz](https://dl.k8s.io/v1.13.4/kubernetes-node-linux-ppc64le.tar.gz) | `0bbe3d990fa2aeccf4445980a4046b987d4b508db7d07e09cd6d2570f67d5a0620c11d2026afc142f2fb8cad82bb73267405c611e36c970c4a5dbe412625dd6b`
|
||||
[kubernetes-node-linux-s390x.tar.gz](https://dl.k8s.io/v1.13.4/kubernetes-node-linux-s390x.tar.gz) | `0bd7e19efcb09eb0136292dee397cf2893068378e584d098c451e759ffc6b52c86e877f4da2ec61e78871b7ac4c8e5515ae5c963f5665c42315036211725cf27`
|
||||
[kubernetes-node-windows-amd64.tar.gz](https://dl.k8s.io/v1.13.4/kubernetes-node-windows-amd64.tar.gz) | `1909c5b0cc63851f4b9dcbec871ad8e626f974eb86e3488a95eaf1f6736cf15cfd850904f44f2d278f8d6da21ba8251ec6607d61d4786caaf74707ece0cad44a`
|
||||
|
||||
## Changelog since v1.13.3
|
||||
|
||||
### Other notable changes
|
||||
|
||||
* fix get azure accounts timeout issue when there is no out-bound IP ([#74191](https://github.com/kubernetes/kubernetes/pull/74191), [@andyzhangx](https://github.com/andyzhangx))
|
||||
* fix issue: fail to detach azure disk when there is server side error ([#74398](https://github.com/kubernetes/kubernetes/pull/74398), [@andyzhangx](https://github.com/andyzhangx))
|
||||
* Fix keymutex issues which may crash in some platforms. ([#74386](https://github.com/kubernetes/kubernetes/pull/74386), [@danielqsj](https://github.com/danielqsj))
|
||||
* fix parse devicePath issue on Azure Disk ([#74499](https://github.com/kubernetes/kubernetes/pull/74499), [@andyzhangx](https://github.com/andyzhangx))
|
||||
* kubeadm: fixed nil pointer dereference caused by a bug in url parsing ([#74454](https://github.com/kubernetes/kubernetes/pull/74454), [@bart0sh](https://github.com/bart0sh))
|
||||
* fix mixed protocol issue for azure load balancer ([#74200](https://github.com/kubernetes/kubernetes/pull/74200), [@andyzhangx](https://github.com/andyzhangx))
|
||||
* fix smb remount issue on Windows ([#73661](https://github.com/kubernetes/kubernetes/pull/73661), [@andyzhangx](https://github.com/andyzhangx))
|
||||
* remove stale OutOfDisk condition from kubelet side ([#72507](https://github.com/kubernetes/kubernetes/pull/72507), [@dixudx](https://github.com/dixudx))
|
||||
* Adds deleting pods created by DaemonSet assigned to not existing nodes. ([#73401](https://github.com/kubernetes/kubernetes/pull/73401), [@krzysztof-jastrzebski](https://github.com/krzysztof-jastrzebski))
|
||||
* scheduler: use incremental scheduling cycle in PriorityQueue to put all in-flight unschedulable pods back to active queue if we received move request ([#73309](https://github.com/kubernetes/kubernetes/pull/73309), [@cofyc](https://github.com/cofyc))
|
||||
* Add `metrics-port` to kube-proxy cmd flags. ([#72682](https://github.com/kubernetes/kubernetes/pull/72682), [@whypro](https://github.com/whypro))
|
||||
* kube-apiserver: a request body of a CREATE/UPDATE/PATCH/DELETE resource operation larger than 100 MB will return a 413 "request entity too large" error. ([#73805](https://github.com/kubernetes/kubernetes/pull/73805), [@caesarxuchao](https://github.com/caesarxuchao))
|
||||
* Custom apiservers built with the latest apiserver library will have the 100MB limit on the body of resource requests as well. The limit can be altered via ServerRunOptions.MaxRequestBodyBytes.
|
||||
* The body size limit does not apply to subresources like pods/proxy that proxy request content to another server.
|
||||
* The apiserver, including both the kube-apiserver and apiservers built with the generic apiserver library, will now return 413 RequestEntityTooLarge error if a json patch contains more than 10,000 operations. ([#74000](https://github.com/kubernetes/kubernetes/pull/74000), [@caesarxuchao](https://github.com/caesarxuchao))
|
||||
* Fix watch to not send the same set of events multiple times causing watcher to go back in time ([#73845](https://github.com/kubernetes/kubernetes/pull/73845), [@wojtek-t](https://github.com/wojtek-t))
|
||||
* fixes an error processing watch events when running skewed apiservers ([#73482](https://github.com/kubernetes/kubernetes/pull/73482), [@liggitt](https://github.com/liggitt))
|
||||
* MAC Address filter has been fixed in vSphere Cloud Provider, it no longer ignores `00:1c:14` and `00:05:69` prefixes ([#73721](https://github.com/kubernetes/kubernetes/pull/73721), [@frapposelli](https://github.com/frapposelli))
|
||||
|
||||
|
||||
|
||||
# v1.13.3
|
||||
|
||||
[Documentation](https://docs.k8s.io)
|
||||
|
2
vendor/k8s.io/kubernetes/README.md
generated
vendored
2
vendor/k8s.io/kubernetes/README.md
generated
vendored
@ -45,7 +45,7 @@ git rebase -i ${VERSION}
|
||||
|
||||
```bash
|
||||
VERSION=v1.13.4
|
||||
./deps && ./tag.sh ${VERSION}-k3s.1
|
||||
./deps.sh && ./tag.sh ${VERSION}-k3s.1
|
||||
```
|
||||
|
||||
* Update the README.md with anything that might have changed in the procedure
|
||||
|
9
vendor/k8s.io/kubernetes/cmd/kube-proxy/app/server_others.go
generated
vendored
9
vendor/k8s.io/kubernetes/cmd/kube-proxy/app/server_others.go
generated
vendored
@ -47,6 +47,7 @@ import (
|
||||
utilnode "k8s.io/kubernetes/pkg/util/node"
|
||||
utilsysctl "k8s.io/kubernetes/pkg/util/sysctl"
|
||||
"k8s.io/utils/exec"
|
||||
rsystem "github.com/opencontainers/runc/libcontainer/system"
|
||||
|
||||
"k8s.io/klog"
|
||||
)
|
||||
@ -258,6 +259,12 @@ func newProxyServer(
|
||||
|
||||
iptInterface.AddReloadFunc(proxier.Sync)
|
||||
|
||||
var connTracker Conntracker
|
||||
if !rsystem.RunningInUserNS(){
|
||||
// if we are in userns, sysctl does not work and connTracker should be kept nil
|
||||
connTracker = &realConntracker{}
|
||||
}
|
||||
|
||||
return &ProxyServer{
|
||||
Client: client,
|
||||
EventClient: eventClient,
|
||||
@ -269,7 +276,7 @@ func newProxyServer(
|
||||
Broadcaster: eventBroadcaster,
|
||||
Recorder: recorder,
|
||||
ConntrackConfiguration: config.Conntrack,
|
||||
Conntracker: &realConntracker{},
|
||||
Conntracker: connTracker,
|
||||
ProxyMode: proxyMode,
|
||||
NodeRef: nodeRef,
|
||||
MetricsBindAddress: config.MetricsBindAddress,
|
||||
|
3
vendor/k8s.io/kubernetes/pkg/controller/endpoint/BUILD
generated
vendored
3
vendor/k8s.io/kubernetes/pkg/controller/endpoint/BUILD
generated
vendored
@ -29,9 +29,12 @@ go_library(
|
||||
"//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/informers/core/v1:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/kubernetes/scheme:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/kubernetes/typed/core/v1:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/listers/core/v1:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/tools/cache:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/tools/leaderelection/resourcelock:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/tools/record:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/util/workqueue:go_default_library",
|
||||
"//vendor/k8s.io/klog:go_default_library",
|
||||
],
|
||||
|
24
vendor/k8s.io/kubernetes/pkg/controller/endpoint/endpoints_controller.go
generated
vendored
24
vendor/k8s.io/kubernetes/pkg/controller/endpoint/endpoints_controller.go
generated
vendored
@ -32,17 +32,19 @@ import (
|
||||
"k8s.io/apimachinery/pkg/util/wait"
|
||||
coreinformers "k8s.io/client-go/informers/core/v1"
|
||||
clientset "k8s.io/client-go/kubernetes"
|
||||
"k8s.io/client-go/kubernetes/scheme"
|
||||
v1core "k8s.io/client-go/kubernetes/typed/core/v1"
|
||||
corelisters "k8s.io/client-go/listers/core/v1"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
"k8s.io/client-go/tools/leaderelection/resourcelock"
|
||||
"k8s.io/client-go/tools/record"
|
||||
"k8s.io/client-go/util/workqueue"
|
||||
"k8s.io/klog"
|
||||
"k8s.io/kubernetes/pkg/api/v1/endpoints"
|
||||
podutil "k8s.io/kubernetes/pkg/api/v1/pod"
|
||||
api "k8s.io/kubernetes/pkg/apis/core"
|
||||
"k8s.io/kubernetes/pkg/controller"
|
||||
"k8s.io/kubernetes/pkg/util/metrics"
|
||||
|
||||
"k8s.io/klog"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -71,6 +73,11 @@ const (
|
||||
// NewEndpointController returns a new *EndpointController.
|
||||
func NewEndpointController(podInformer coreinformers.PodInformer, serviceInformer coreinformers.ServiceInformer,
|
||||
endpointsInformer coreinformers.EndpointsInformer, client clientset.Interface) *EndpointController {
|
||||
broadcaster := record.NewBroadcaster()
|
||||
broadcaster.StartLogging(klog.Infof)
|
||||
broadcaster.StartRecordingToSink(&v1core.EventSinkImpl{Interface: client.CoreV1().Events("")})
|
||||
recorder := broadcaster.NewRecorder(scheme.Scheme, v1.EventSource{Component: "endpoint-controller"})
|
||||
|
||||
if client != nil && client.CoreV1().RESTClient().GetRateLimiter() != nil {
|
||||
metrics.RegisterMetricAndTrackRateLimiterUsage("endpoint_controller", client.CoreV1().RESTClient().GetRateLimiter())
|
||||
}
|
||||
@ -101,12 +108,16 @@ func NewEndpointController(podInformer coreinformers.PodInformer, serviceInforme
|
||||
e.endpointsLister = endpointsInformer.Lister()
|
||||
e.endpointsSynced = endpointsInformer.Informer().HasSynced
|
||||
|
||||
e.eventBroadcaster = broadcaster
|
||||
e.eventRecorder = recorder
|
||||
return e
|
||||
}
|
||||
|
||||
// EndpointController manages selector-based service endpoints.
|
||||
type EndpointController struct {
|
||||
client clientset.Interface
|
||||
client clientset.Interface
|
||||
eventBroadcaster record.EventBroadcaster
|
||||
eventRecorder record.EventRecorder
|
||||
|
||||
// serviceLister is able to list/get services and is populated by the shared informer passed to
|
||||
// NewEndpointController.
|
||||
@ -522,6 +533,13 @@ func (e *EndpointController) syncService(key string) error {
|
||||
// Given the frequency of 1, we log at a lower level.
|
||||
klog.V(5).Infof("Forbidden from creating endpoints: %v", err)
|
||||
}
|
||||
|
||||
if createEndpoints {
|
||||
e.eventRecorder.Eventf(newEndpoints, v1.EventTypeWarning, "FailedToCreateEndpoint", "Failed to create endpoint for service %v/%v: %v", service.Namespace, service.Name, err)
|
||||
} else {
|
||||
e.eventRecorder.Eventf(newEndpoints, v1.EventTypeWarning, "FailedToUpdateEndpoint", "Failed to update endpoint %v/%v: %v", service.Namespace, service.Name, err)
|
||||
}
|
||||
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
|
2
vendor/k8s.io/kubernetes/pkg/kubectl/cmd/cmd.go
generated
vendored
2
vendor/k8s.io/kubernetes/pkg/kubectl/cmd/cmd.go
generated
vendored
@ -421,7 +421,7 @@ func NewKubectlCommand(in io.Reader, out, err io.Writer) *cobra.Command {
|
||||
|
||||
addProfilingFlags(flags)
|
||||
|
||||
kubeConfigFlags := genericclioptions.NewConfigFlags()
|
||||
kubeConfigFlags := genericclioptions.NewConfigFlags().WithDeprecatedPasswordFlag()
|
||||
kubeConfigFlags.AddFlags(flags)
|
||||
matchVersionKubeConfigFlags := cmdutil.NewMatchVersionFlags(kubeConfigFlags)
|
||||
matchVersionKubeConfigFlags.AddFlags(cmds.PersistentFlags())
|
||||
|
22
vendor/k8s.io/kubernetes/pkg/kubectl/cmd/cp/cp.go
generated
vendored
22
vendor/k8s.io/kubernetes/pkg/kubectl/cmd/cp/cp.go
generated
vendored
@ -302,7 +302,7 @@ func (o *CopyOptions) copyFromPod(src, dest fileSpec) error {
|
||||
// remove extraneous path shortcuts - these could occur if a path contained extra "../"
|
||||
// and attempted to navigate beyond "/" in a remote filesystem
|
||||
prefix = stripPathShortcuts(prefix)
|
||||
return untarAll(reader, dest.File, prefix)
|
||||
return o.untarAll(reader, dest.File, prefix)
|
||||
}
|
||||
|
||||
// stripPathShortcuts removes any leading or trailing "../" from a given path
|
||||
@ -407,7 +407,7 @@ func clean(fileName string) string {
|
||||
return path.Clean(string(os.PathSeparator) + fileName)
|
||||
}
|
||||
|
||||
func untarAll(reader io.Reader, destFile, prefix string) error {
|
||||
func (o *CopyOptions) untarAll(reader io.Reader, destFile, prefix string) error {
|
||||
entrySeq := -1
|
||||
|
||||
// TODO: use compression here?
|
||||
@ -422,6 +422,12 @@ func untarAll(reader io.Reader, destFile, prefix string) error {
|
||||
}
|
||||
entrySeq++
|
||||
mode := header.FileInfo().Mode()
|
||||
// all the files will start with the prefix, which is the directory where
|
||||
// they were located on the pod, we need to strip down that prefix, but
|
||||
// if the prefix is missing it means the tar was tempered with
|
||||
if !strings.HasPrefix(header.Name, prefix) {
|
||||
return fmt.Errorf("tar contents corrupted")
|
||||
}
|
||||
outFileName := path.Join(destFile, clean(header.Name[len(prefix):]))
|
||||
baseName := path.Dir(outFileName)
|
||||
if err := os.MkdirAll(baseName, 0755); err != nil {
|
||||
@ -446,8 +452,16 @@ func untarAll(reader io.Reader, destFile, prefix string) error {
|
||||
}
|
||||
|
||||
if mode&os.ModeSymlink != 0 {
|
||||
err := os.Symlink(header.Linkname, outFileName)
|
||||
if err != nil {
|
||||
linkname := header.Linkname
|
||||
// error is returned if linkname can't be made relative to destFile,
|
||||
// but relative can end up being ../dir that's why we also need to
|
||||
// verify if relative path is the same after Clean-ing
|
||||
relative, err := filepath.Rel(destFile, linkname)
|
||||
if path.IsAbs(linkname) && (err != nil || relative != stripPathShortcuts(relative)) {
|
||||
fmt.Fprintf(o.IOStreams.ErrOut, "warning: link %q is pointing to %q which is outside target destination, skipping\n", outFileName, header.Linkname)
|
||||
continue
|
||||
}
|
||||
if err := os.Symlink(linkname, outFileName); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
|
2
vendor/k8s.io/kubernetes/pkg/kubelet/apis/config/v1beta1/defaults.go
generated
vendored
2
vendor/k8s.io/kubernetes/pkg/kubelet/apis/config/v1beta1/defaults.go
generated
vendored
@ -214,7 +214,7 @@ func SetDefaults_KubeletConfiguration(obj *kubeletconfigv1beta1.KubeletConfigura
|
||||
obj.ContainerLogMaxFiles = utilpointer.Int32Ptr(5)
|
||||
}
|
||||
if obj.ConfigMapAndSecretChangeDetectionStrategy == "" {
|
||||
obj.ConfigMapAndSecretChangeDetectionStrategy = kubeletconfigv1beta1.WatchChangeDetectionStrategy
|
||||
obj.ConfigMapAndSecretChangeDetectionStrategy = kubeletconfigv1beta1.TTLCacheChangeDetectionStrategy
|
||||
}
|
||||
if obj.EnforceNodeAllocatable == nil {
|
||||
obj.EnforceNodeAllocatable = DefaultNodeAllocatableEnforcement
|
||||
|
10
vendor/k8s.io/kubernetes/pkg/kubelet/cm/cgroup_manager_linux.go
generated
vendored
10
vendor/k8s.io/kubernetes/pkg/kubelet/cm/cgroup_manager_linux.go
generated
vendored
@ -28,6 +28,7 @@ import (
|
||||
libcontainercgroups "github.com/opencontainers/runc/libcontainer/cgroups"
|
||||
cgroupfs "github.com/opencontainers/runc/libcontainer/cgroups/fs"
|
||||
libcontainerconfigs "github.com/opencontainers/runc/libcontainer/configs"
|
||||
rsystem "github.com/opencontainers/runc/libcontainer/system"
|
||||
"k8s.io/klog"
|
||||
|
||||
"k8s.io/apimachinery/pkg/util/sets"
|
||||
@ -97,8 +98,9 @@ func (l *libcontainerAdapter) newManager(cgroups *libcontainerconfigs.Cgroup, pa
|
||||
switch l.cgroupManagerType {
|
||||
case libcontainerCgroupfs:
|
||||
return &cgroupfs.Manager{
|
||||
Cgroups: cgroups,
|
||||
Paths: paths,
|
||||
Cgroups: cgroups,
|
||||
Rootless: rsystem.RunningInUserNS(),
|
||||
Paths: paths,
|
||||
}, nil
|
||||
}
|
||||
return nil, fmt.Errorf("invalid cgroup manager configuration")
|
||||
@ -368,7 +370,9 @@ func (m *cgroupManagerImpl) Create(cgroupConfig *CgroupConfig) error {
|
||||
// in the tasks file. We use the function to create all the required
|
||||
// cgroup files but not attach any "real" pid to the cgroup.
|
||||
if err := manager.Apply(-1); err != nil {
|
||||
return err
|
||||
if !rsystem.RunningInUserNS() {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// it may confuse why we call set after we do apply, but the issue is that runc
|
||||
|
18
vendor/k8s.io/kubernetes/pkg/kubelet/cm/container_manager_linux.go
generated
vendored
18
vendor/k8s.io/kubernetes/pkg/kubelet/cm/container_manager_linux.go
generated
vendored
@ -32,6 +32,7 @@ import (
|
||||
"github.com/opencontainers/runc/libcontainer/cgroups"
|
||||
"github.com/opencontainers/runc/libcontainer/cgroups/fs"
|
||||
"github.com/opencontainers/runc/libcontainer/configs"
|
||||
rsystem "github.com/opencontainers/runc/libcontainer/system"
|
||||
"k8s.io/klog"
|
||||
|
||||
"k8s.io/api/core/v1"
|
||||
@ -375,7 +376,11 @@ func setupKernelTunables(option KernelTunableBehavior) error {
|
||||
klog.V(2).Infof("Updating kernel flag: %v, expected value: %v, actual value: %v", flag, expectedValue, val)
|
||||
err = sysctl.SetSysctl(flag, expectedValue)
|
||||
if err != nil {
|
||||
errList = append(errList, err)
|
||||
if rsystem.RunningInUserNS() {
|
||||
klog.Warningf("Updating kernel flag failed: %v: %v", flag, err)
|
||||
} else {
|
||||
errList = append(errList, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -461,13 +466,20 @@ func (cm *containerManagerImpl) setupNode(activePods ActivePodsFunc) error {
|
||||
},
|
||||
}
|
||||
cont.ensureStateFunc = func(_ *fs.Manager) error {
|
||||
return ensureProcessInContainerWithOOMScore(os.Getpid(), qos.KubeletOOMScoreAdj, &manager)
|
||||
err := ensureProcessInContainerWithOOMScore(os.Getpid(), qos.KubeletOOMScoreAdj, &manager)
|
||||
if rsystem.RunningInUserNS() {
|
||||
// if we are in userns, cgroups might not be available
|
||||
err = nil
|
||||
}
|
||||
return err
|
||||
}
|
||||
systemContainers = append(systemContainers, cont)
|
||||
} else {
|
||||
cm.periodicTasks = append(cm.periodicTasks, func() {
|
||||
if err := ensureProcessInContainerWithOOMScore(os.Getpid(), qos.KubeletOOMScoreAdj, nil); err != nil {
|
||||
klog.Error(err)
|
||||
if !rsystem.RunningInUserNS() {
|
||||
klog.Error(err)
|
||||
}
|
||||
return
|
||||
}
|
||||
cont, err := getContainer(os.Getpid())
|
||||
|
28
vendor/k8s.io/kubernetes/pkg/kubelet/cm/devicemanager/manager.go
generated
vendored
28
vendor/k8s.io/kubernetes/pkg/kubelet/cm/devicemanager/manager.go
generated
vendored
@ -310,10 +310,7 @@ func (m *ManagerImpl) isVersionCompatibleWithPlugin(versions []string) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
// Allocate is the call that you can use to allocate a set of devices
|
||||
// from the registered device plugins.
|
||||
func (m *ManagerImpl) Allocate(node *schedulercache.NodeInfo, attrs *lifecycle.PodAdmitAttributes) error {
|
||||
pod := attrs.Pod
|
||||
func (m *ManagerImpl) allocatePodResources(pod *v1.Pod) error {
|
||||
devicesToReuse := make(map[string]sets.String)
|
||||
for _, container := range pod.Spec.InitContainers {
|
||||
if err := m.allocateContainerResources(pod, &container, devicesToReuse); err != nil {
|
||||
@ -327,6 +324,18 @@ func (m *ManagerImpl) Allocate(node *schedulercache.NodeInfo, attrs *lifecycle.P
|
||||
}
|
||||
m.podDevices.removeContainerAllocatedResources(string(pod.UID), container.Name, devicesToReuse)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Allocate is the call that you can use to allocate a set of devices
|
||||
// from the registered device plugins.
|
||||
func (m *ManagerImpl) Allocate(node *schedulercache.NodeInfo, attrs *lifecycle.PodAdmitAttributes) error {
|
||||
pod := attrs.Pod
|
||||
err := m.allocatePodResources(pod)
|
||||
if err != nil {
|
||||
klog.Errorf("Failed to allocate device plugin resource for pod %s: %v", string(pod.UID), err)
|
||||
return err
|
||||
}
|
||||
|
||||
m.mutex.Lock()
|
||||
defer m.mutex.Unlock()
|
||||
@ -716,6 +725,7 @@ func (m *ManagerImpl) allocateContainerResources(pod *v1.Pod, container *v1.Cont
|
||||
func (m *ManagerImpl) GetDeviceRunContainerOptions(pod *v1.Pod, container *v1.Container) (*DeviceRunContainerOptions, error) {
|
||||
podUID := string(pod.UID)
|
||||
contName := container.Name
|
||||
needsReAllocate := false
|
||||
for k := range container.Resources.Limits {
|
||||
resource := string(k)
|
||||
if !m.isDevicePluginResource(resource) {
|
||||
@ -725,6 +735,16 @@ func (m *ManagerImpl) GetDeviceRunContainerOptions(pod *v1.Pod, container *v1.Co
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// This is a device plugin resource yet we don't have cached
|
||||
// resource state. This is likely due to a race during node
|
||||
// restart. We re-issue allocate request to cover this race.
|
||||
if m.podDevices.containerDevices(podUID, contName, resource) == nil {
|
||||
needsReAllocate = true
|
||||
}
|
||||
}
|
||||
if needsReAllocate {
|
||||
klog.V(2).Infof("needs re-allocate device plugin resources for pod %s", podUID)
|
||||
m.allocatePodResources(pod)
|
||||
}
|
||||
m.mutex.Lock()
|
||||
defer m.mutex.Unlock()
|
||||
|
25
vendor/k8s.io/kubernetes/pkg/kubelet/cm/qos_container_manager_linux.go
generated
vendored
25
vendor/k8s.io/kubernetes/pkg/kubelet/cm/qos_container_manager_linux.go
generated
vendored
@ -28,6 +28,7 @@ import (
|
||||
|
||||
units "github.com/docker/go-units"
|
||||
cgroupfs "github.com/opencontainers/runc/libcontainer/cgroups/fs"
|
||||
rsystem "github.com/opencontainers/runc/libcontainer/system"
|
||||
"k8s.io/api/core/v1"
|
||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||
"k8s.io/kubernetes/pkg/api/v1/resource"
|
||||
@ -82,7 +83,9 @@ func (m *qosContainerManagerImpl) Start(getNodeAllocatable func() v1.ResourceLis
|
||||
cm := m.cgroupManager
|
||||
rootContainer := m.cgroupRoot
|
||||
if !cm.Exists(rootContainer) {
|
||||
return fmt.Errorf("root container %v doesn't exist", rootContainer)
|
||||
if !rsystem.RunningInUserNS() {
|
||||
return fmt.Errorf("root container %v doesn't exist", rootContainer)
|
||||
}
|
||||
}
|
||||
|
||||
// Top level for Qos containers are created only for Burstable
|
||||
@ -120,7 +123,11 @@ func (m *qosContainerManagerImpl) Start(getNodeAllocatable func() v1.ResourceLis
|
||||
} else {
|
||||
// to ensure we actually have the right state, we update the config on startup
|
||||
if err := cm.Update(containerConfig); err != nil {
|
||||
return fmt.Errorf("failed to update top level %v QOS cgroup : %v", qosClass, err)
|
||||
if rsystem.RunningInUserNS() {
|
||||
klog.Errorf("failed to update top level %v QOS cgroup : %v", qosClass, err)
|
||||
} else {
|
||||
return fmt.Errorf("failed to update top level %v QOS cgroup : %v", qosClass, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -296,15 +303,23 @@ func (m *qosContainerManagerImpl) UpdateCgroups() error {
|
||||
}
|
||||
}
|
||||
|
||||
updateSuccess := true
|
||||
for _, config := range qosConfigs {
|
||||
err := m.cgroupManager.Update(config)
|
||||
if err != nil {
|
||||
klog.Errorf("[ContainerManager]: Failed to update QoS cgroup configuration")
|
||||
return err
|
||||
if rsystem.RunningInUserNS() {
|
||||
// if we are in userns, cgroups might not available
|
||||
updateSuccess = false
|
||||
} else {
|
||||
klog.Errorf("[ContainerManager]: Failed to update QoS cgroup configuration")
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
klog.V(4).Infof("[ContainerManager]: Updated QoS cgroup configuration")
|
||||
if updateSuccess {
|
||||
klog.V(4).Infof("[ContainerManager]: Updated QoS cgroup configuration")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
6
vendor/k8s.io/kubernetes/pkg/kubelet/dockershim/cm/container_manager_linux.go
generated
vendored
6
vendor/k8s.io/kubernetes/pkg/kubelet/dockershim/cm/container_manager_linux.go
generated
vendored
@ -27,6 +27,7 @@ import (
|
||||
|
||||
"github.com/opencontainers/runc/libcontainer/cgroups/fs"
|
||||
"github.com/opencontainers/runc/libcontainer/configs"
|
||||
rsystem "github.com/opencontainers/runc/libcontainer/system"
|
||||
utilversion "k8s.io/apimachinery/pkg/util/version"
|
||||
"k8s.io/apimachinery/pkg/util/wait"
|
||||
"k8s.io/klog"
|
||||
@ -95,7 +96,10 @@ func (m *containerManager) doWork() {
|
||||
// 1. Ensure processes run in the cgroups if m.cgroupsManager is not nil.
|
||||
// 2. Ensure processes have the OOM score applied.
|
||||
if err := kubecm.EnsureDockerInContainer(version, dockerOOMScoreAdj, m.cgroupsManager); err != nil {
|
||||
klog.Errorf("Unable to ensure the docker processes run in the desired containers: %v", err)
|
||||
// if we are in userns, the operation is likely to fail, unless cgroupfs is properly chown-ed.
|
||||
if !rsystem.RunningInUserNS() {
|
||||
klog.Errorf("Unable to ensure the docker processes run in the desired containers: %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
14
vendor/k8s.io/kubernetes/pkg/kubelet/dockershim/docker_sandbox.go
generated
vendored
14
vendor/k8s.io/kubernetes/pkg/kubelet/dockershim/docker_sandbox.go
generated
vendored
@ -27,6 +27,8 @@ import (
|
||||
dockertypes "github.com/docker/docker/api/types"
|
||||
dockercontainer "github.com/docker/docker/api/types/container"
|
||||
dockerfilters "github.com/docker/docker/api/types/filters"
|
||||
rsystem "github.com/opencontainers/runc/libcontainer/system"
|
||||
|
||||
utilerrors "k8s.io/apimachinery/pkg/util/errors"
|
||||
"k8s.io/klog"
|
||||
runtimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2"
|
||||
@ -535,11 +537,13 @@ func (ds *dockerService) ListPodSandbox(_ context.Context, r *runtimeapi.ListPod
|
||||
checkpoint := NewPodSandboxCheckpoint("", "", &CheckpointData{})
|
||||
err := ds.checkpointManager.GetCheckpoint(id, checkpoint)
|
||||
if err != nil {
|
||||
klog.Errorf("Failed to retrieve checkpoint for sandbox %q: %v", id, err)
|
||||
if err == errors.ErrCorruptCheckpoint {
|
||||
err = ds.checkpointManager.RemoveCheckpoint(id)
|
||||
if err != nil {
|
||||
klog.Errorf("Failed to delete corrupt checkpoint for sandbox %q: %v", id, err)
|
||||
if !rsystem.RunningInUserNS() {
|
||||
klog.Errorf("Failed to retrieve checkpoint for sandbox %q: %v", id, err)
|
||||
if err == errors.ErrCorruptCheckpoint {
|
||||
err = ds.checkpointManager.RemoveCheckpoint(id)
|
||||
if err != nil {
|
||||
klog.Errorf("Failed to delete corrupt checkpoint for sandbox %q: %v", id, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
continue
|
||||
|
20
vendor/k8s.io/kubernetes/pkg/kubelet/eviction/eviction_manager.go
generated
vendored
20
vendor/k8s.io/kubernetes/pkg/kubelet/eviction/eviction_manager.go
generated
vendored
@ -57,6 +57,8 @@ type managerImpl struct {
|
||||
config Config
|
||||
// the function to invoke to kill a pod
|
||||
killPodFunc KillPodFunc
|
||||
// the function to get the mirror pod by a given statid pod
|
||||
mirrorPodFunc MirrorPodFunc
|
||||
// the interface that knows how to do image gc
|
||||
imageGC ImageGC
|
||||
// the interface that knows how to do container gc
|
||||
@ -99,6 +101,7 @@ func NewManager(
|
||||
summaryProvider stats.SummaryProvider,
|
||||
config Config,
|
||||
killPodFunc KillPodFunc,
|
||||
mirrorPodFunc MirrorPodFunc,
|
||||
imageGC ImageGC,
|
||||
containerGC ContainerGC,
|
||||
recorder record.EventRecorder,
|
||||
@ -108,6 +111,7 @@ func NewManager(
|
||||
manager := &managerImpl{
|
||||
clock: clock,
|
||||
killPodFunc: killPodFunc,
|
||||
mirrorPodFunc: mirrorPodFunc,
|
||||
imageGC: imageGC,
|
||||
containerGC: containerGC,
|
||||
config: config,
|
||||
@ -544,9 +548,19 @@ func (m *managerImpl) evictPod(pod *v1.Pod, gracePeriodOverride int64, evictMsg
|
||||
// If the pod is marked as critical and static, and support for critical pod annotations is enabled,
|
||||
// do not evict such pods. Static pods are not re-admitted after evictions.
|
||||
// https://github.com/kubernetes/kubernetes/issues/40573 has more details.
|
||||
if kubelettypes.IsCriticalPod(pod) && kubepod.IsStaticPod(pod) {
|
||||
klog.Errorf("eviction manager: cannot evict a critical static pod %s", format.Pod(pod))
|
||||
return false
|
||||
if kubepod.IsStaticPod(pod) {
|
||||
// need mirrorPod to check its "priority" value; static pod doesn't carry it
|
||||
if mirrorPod, ok := m.mirrorPodFunc(pod); ok && mirrorPod != nil {
|
||||
// skip only when it's a static and critical pod
|
||||
if kubelettypes.IsCriticalPod(mirrorPod) {
|
||||
klog.Errorf("eviction manager: cannot evict a critical static pod %s", format.Pod(pod))
|
||||
return false
|
||||
}
|
||||
} else {
|
||||
// we should never hit this
|
||||
klog.Errorf("eviction manager: cannot get mirror pod from static pod %s, so cannot evict it", format.Pod(pod))
|
||||
return false
|
||||
}
|
||||
}
|
||||
status := v1.PodStatus{
|
||||
Phase: v1.PodFailed,
|
||||
|
4
vendor/k8s.io/kubernetes/pkg/kubelet/eviction/types.go
generated
vendored
4
vendor/k8s.io/kubernetes/pkg/kubelet/eviction/types.go
generated
vendored
@ -94,6 +94,10 @@ type ContainerGC interface {
|
||||
// gracePeriodOverride - the grace period override to use instead of what is on the pod spec
|
||||
type KillPodFunc func(pod *v1.Pod, status v1.PodStatus, gracePeriodOverride *int64) error
|
||||
|
||||
// MirrorPodFunc returns the mirror pod for the given static pod and
|
||||
// whether it was known to the pod manager.
|
||||
type MirrorPodFunc func(*v1.Pod) (*v1.Pod, bool)
|
||||
|
||||
// ActivePodsFunc returns pods bound to the kubelet that are active (i.e. non-terminal state)
|
||||
type ActivePodsFunc func() []*v1.Pod
|
||||
|
||||
|
12
vendor/k8s.io/kubernetes/pkg/kubelet/kubelet.go
generated
vendored
12
vendor/k8s.io/kubernetes/pkg/kubelet/kubelet.go
generated
vendored
@ -32,6 +32,7 @@ import (
|
||||
|
||||
cadvisorapi "github.com/google/cadvisor/info/v1"
|
||||
cadvisorapiv2 "github.com/google/cadvisor/info/v2"
|
||||
rsystem "github.com/opencontainers/runc/libcontainer/system"
|
||||
"k8s.io/api/core/v1"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/fields"
|
||||
@ -792,7 +793,7 @@ func NewMainKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration,
|
||||
klet.podKillingCh = make(chan *kubecontainer.PodPair, podKillingChannelCapacity)
|
||||
|
||||
// setup eviction manager
|
||||
evictionManager, evictionAdmitHandler := eviction.NewManager(klet.resourceAnalyzer, evictionConfig, killPodNow(klet.podWorkers, kubeDeps.Recorder), klet.imageManager, klet.containerGC, kubeDeps.Recorder, nodeRef, klet.clock)
|
||||
evictionManager, evictionAdmitHandler := eviction.NewManager(klet.resourceAnalyzer, evictionConfig, killPodNow(klet.podWorkers, kubeDeps.Recorder), klet.podManager.GetMirrorPodByPod, klet.imageManager, klet.containerGC, kubeDeps.Recorder, nodeRef, klet.clock)
|
||||
|
||||
klet.evictionManager = evictionManager
|
||||
klet.admitHandlers.AddPodAdmitHandler(evictionAdmitHandler)
|
||||
@ -1514,10 +1515,13 @@ func (kl *Kubelet) syncPod(o syncPodOptions) error {
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
// TODO(AkihiroSuda): implement rootless cgroup manager that can emulate Exists() properly
|
||||
|
||||
// Don't kill containers in pod if pod's cgroups already
|
||||
// exists or the pod is running for the first time
|
||||
podKilled := false
|
||||
if !pcm.Exists(pod) && !firstSync {
|
||||
if !pcm.Exists(pod) && !firstSync && !rsystem.RunningInUserNS() {
|
||||
if err := kl.killPod(pod, nil, podStatus, nil); err == nil {
|
||||
podKilled = true
|
||||
}
|
||||
@ -1536,7 +1540,9 @@ func (kl *Kubelet) syncPod(o syncPodOptions) error {
|
||||
}
|
||||
if err := pcm.EnsureExists(pod); err != nil {
|
||||
kl.recorder.Eventf(pod, v1.EventTypeWarning, events.FailedToCreatePodContainer, "unable to ensure pod container exists: %v", err)
|
||||
return fmt.Errorf("failed to ensure that the pod: %v cgroups exist and are correctly applied: %v", pod.UID, err)
|
||||
if !rsystem.RunningInUserNS() {
|
||||
return fmt.Errorf("failed to ensure that the pod: %v cgroups exist and are correctly applied: %v", pod.UID, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
1
vendor/k8s.io/kubernetes/pkg/kubelet/kubelet_node_status.go
generated
vendored
1
vendor/k8s.io/kubernetes/pkg/kubelet/kubelet_node_status.go
generated
vendored
@ -132,6 +132,7 @@ func (kl *Kubelet) reconcileExtendedResource(initialNode, node *v1.Node) bool {
|
||||
requiresUpdate := false
|
||||
for k := range node.Status.Capacity {
|
||||
if v1helper.IsExtendedResourceName(k) {
|
||||
klog.Infof("Zero out resource %s capacity in existing node.", k)
|
||||
node.Status.Capacity[k] = *resource.NewQuantity(int64(0), resource.DecimalSI)
|
||||
node.Status.Allocatable[k] = *resource.NewQuantity(int64(0), resource.DecimalSI)
|
||||
requiresUpdate = true
|
||||
|
10
vendor/k8s.io/kubernetes/pkg/kubelet/server/stats/summary.go
generated
vendored
10
vendor/k8s.io/kubernetes/pkg/kubelet/server/stats/summary.go
generated
vendored
@ -21,7 +21,9 @@ import (
|
||||
|
||||
"k8s.io/klog"
|
||||
|
||||
rsystem "github.com/opencontainers/runc/libcontainer/system"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
|
||||
statsapi "k8s.io/kubernetes/pkg/kubelet/apis/stats/v1alpha1"
|
||||
"k8s.io/kubernetes/pkg/kubelet/util"
|
||||
)
|
||||
@ -73,7 +75,13 @@ func (sp *summaryProviderImpl) Get(updateStats bool) (*statsapi.Summary, error)
|
||||
nodeConfig := sp.provider.GetNodeConfig()
|
||||
rootStats, networkStats, err := sp.provider.GetCgroupStats("/", updateStats)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to get root cgroup stats: %v", err)
|
||||
if !rsystem.RunningInUserNS() {
|
||||
return nil, fmt.Errorf("failed to get root cgroup stats: %v", err)
|
||||
}
|
||||
// if we are in userns, cgroups might not be available
|
||||
klog.Errorf("failed to get root cgroup stats: %v", err)
|
||||
rootStats = &statsapi.ContainerStats{}
|
||||
networkStats = &statsapi.NetworkStats{}
|
||||
}
|
||||
rootFsStats, err := sp.provider.RootFsStats()
|
||||
if err != nil {
|
||||
|
13
vendor/k8s.io/kubernetes/pkg/kubelet/stats/cri_stats_provider.go
generated
vendored
13
vendor/k8s.io/kubernetes/pkg/kubelet/stats/cri_stats_provider.go
generated
vendored
@ -435,12 +435,18 @@ func (p *criStatsProvider) makeContainerStats(
|
||||
if stats.Cpu.UsageCoreNanoSeconds != nil {
|
||||
result.CPU.UsageCoreNanoSeconds = &stats.Cpu.UsageCoreNanoSeconds.Value
|
||||
}
|
||||
} else {
|
||||
result.CPU.Time = metav1.NewTime(time.Unix(0, time.Now().UnixNano()))
|
||||
result.CPU.UsageCoreNanoSeconds = Uint64Ptr(0)
|
||||
}
|
||||
if stats.Memory != nil {
|
||||
result.Memory.Time = metav1.NewTime(time.Unix(0, stats.Memory.Timestamp))
|
||||
if stats.Memory.WorkingSetBytes != nil {
|
||||
result.Memory.WorkingSetBytes = &stats.Memory.WorkingSetBytes.Value
|
||||
}
|
||||
} else {
|
||||
result.Memory.Time = metav1.NewTime(time.Unix(0, time.Now().UnixNano()))
|
||||
result.Memory.WorkingSetBytes = Uint64Ptr(0)
|
||||
}
|
||||
if stats.WritableLayer != nil {
|
||||
result.Rootfs.Time = metav1.NewTime(time.Unix(0, stats.WritableLayer.Timestamp))
|
||||
@ -491,13 +497,20 @@ func (p *criStatsProvider) makeContainerCPUAndMemoryStats(
|
||||
if stats.Cpu.UsageCoreNanoSeconds != nil {
|
||||
result.CPU.UsageCoreNanoSeconds = &stats.Cpu.UsageCoreNanoSeconds.Value
|
||||
}
|
||||
} else {
|
||||
result.CPU.Time = metav1.NewTime(time.Unix(0, time.Now().UnixNano()))
|
||||
result.CPU.UsageCoreNanoSeconds = Uint64Ptr(0)
|
||||
}
|
||||
if stats.Memory != nil {
|
||||
result.Memory.Time = metav1.NewTime(time.Unix(0, stats.Memory.Timestamp))
|
||||
if stats.Memory.WorkingSetBytes != nil {
|
||||
result.Memory.WorkingSetBytes = &stats.Memory.WorkingSetBytes.Value
|
||||
}
|
||||
} else {
|
||||
result.Memory.Time = metav1.NewTime(time.Unix(0, time.Now().UnixNano()))
|
||||
result.Memory.WorkingSetBytes = Uint64Ptr(0)
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
|
4
vendor/k8s.io/kubernetes/pkg/kubelet/stats/helper.go
generated
vendored
4
vendor/k8s.io/kubernetes/pkg/kubelet/stats/helper.go
generated
vendored
@ -326,3 +326,7 @@ func getUint64Value(value *uint64) uint64 {
|
||||
|
||||
return *value
|
||||
}
|
||||
|
||||
func Uint64Ptr(i uint64) *uint64 {
|
||||
return &i
|
||||
}
|
||||
|
29
vendor/k8s.io/kubernetes/pkg/kubelet/volumemanager/reconciler/reconciler.go
generated
vendored
29
vendor/k8s.io/kubernetes/pkg/kubelet/volumemanager/reconciler/reconciler.go
generated
vendored
@ -325,7 +325,7 @@ func (rc *reconciler) StatesHasBeenSynced() bool {
|
||||
type podVolume struct {
|
||||
podName volumetypes.UniquePodName
|
||||
volumeSpecName string
|
||||
mountPath string
|
||||
volumePath string
|
||||
pluginName string
|
||||
volumeMode v1.PersistentVolumeMode
|
||||
}
|
||||
@ -461,7 +461,7 @@ func (rc *reconciler) reconstructVolume(volume podVolume) (*reconstructedVolume,
|
||||
pod.UID,
|
||||
volume.podName,
|
||||
volume.volumeSpecName,
|
||||
volume.mountPath,
|
||||
volume.volumePath,
|
||||
volume.pluginName)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -476,15 +476,6 @@ func (rc *reconciler) reconstructVolume(volume podVolume) (*reconstructedVolume,
|
||||
} else {
|
||||
uniqueVolumeName = util.GetUniqueVolumeNameFromSpecWithPod(volume.podName, plugin, volumeSpec)
|
||||
}
|
||||
// Check existence of mount point for filesystem volume or symbolic link for block volume
|
||||
isExist, checkErr := rc.operationExecutor.CheckVolumeExistenceOperation(volumeSpec, volume.mountPath, volumeSpec.Name(), rc.mounter, uniqueVolumeName, volume.podName, pod.UID, attachablePlugin)
|
||||
if checkErr != nil {
|
||||
return nil, checkErr
|
||||
}
|
||||
// If mount or symlink doesn't exist, volume reconstruction should be failed
|
||||
if !isExist {
|
||||
return nil, fmt.Errorf("Volume: %q is not mounted", uniqueVolumeName)
|
||||
}
|
||||
|
||||
volumeMounter, newMounterErr := plugin.NewMounter(
|
||||
volumeSpec,
|
||||
@ -500,6 +491,16 @@ func (rc *reconciler) reconstructVolume(volume podVolume) (*reconstructedVolume,
|
||||
newMounterErr)
|
||||
}
|
||||
|
||||
// Check existence of mount point for filesystem volume or symbolic link for block volume
|
||||
isExist, checkErr := rc.operationExecutor.CheckVolumeExistenceOperation(volumeSpec, volumeMounter.GetPath(), volumeSpec.Name(), rc.mounter, uniqueVolumeName, volume.podName, pod.UID, attachablePlugin)
|
||||
if checkErr != nil {
|
||||
return nil, checkErr
|
||||
}
|
||||
// If mount or symlink doesn't exist, volume reconstruction should be failed
|
||||
if !isExist {
|
||||
return nil, fmt.Errorf("Volume: %q is not mounted", uniqueVolumeName)
|
||||
}
|
||||
|
||||
// TODO: remove feature gate check after no longer needed
|
||||
var volumeMapper volumepkg.BlockVolumeMapper
|
||||
if utilfeature.DefaultFeatureGate.Enabled(features.BlockVolume) && volume.volumeMode == v1.PersistentVolumeBlock {
|
||||
@ -664,12 +665,12 @@ func getVolumesFromPodDir(podDir string) ([]podVolume, error) {
|
||||
}
|
||||
unescapePluginName := utilstrings.UnescapeQualifiedNameForDisk(pluginName)
|
||||
for _, volumeName := range volumePluginDirs {
|
||||
mountPath := path.Join(volumePluginPath, volumeName)
|
||||
klog.V(5).Infof("podName: %v, mount path from volume plugin directory: %v, ", podName, mountPath)
|
||||
volumePath := path.Join(volumePluginPath, volumeName)
|
||||
klog.V(5).Infof("podName: %v, volume path from volume plugin directory: %v, ", podName, volumePath)
|
||||
volumes = append(volumes, podVolume{
|
||||
podName: volumetypes.UniquePodName(podName),
|
||||
volumeSpecName: volumeName,
|
||||
mountPath: mountPath,
|
||||
volumePath: volumePath,
|
||||
pluginName: unescapePluginName,
|
||||
volumeMode: volumeMode,
|
||||
})
|
||||
|
6
vendor/k8s.io/kubernetes/pkg/proxy/ipvs/proxier.go
generated
vendored
6
vendor/k8s.io/kubernetes/pkg/proxy/ipvs/proxier.go
generated
vendored
@ -566,7 +566,7 @@ func cleanupIptablesLeftovers(ipt utiliptables.Interface) (encounteredError bool
|
||||
}
|
||||
}
|
||||
|
||||
// Flush and remove all of our chains.
|
||||
// Flush and remove all of our chains. Flushing all chains before removing them also removes all links between chains first.
|
||||
for _, ch := range iptablesChains {
|
||||
if err := ipt.FlushChain(ch.table, ch.chain); err != nil {
|
||||
if !utiliptables.IsNotFoundError(err) {
|
||||
@ -574,6 +574,10 @@ func cleanupIptablesLeftovers(ipt utiliptables.Interface) (encounteredError bool
|
||||
encounteredError = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Remove all of our chains.
|
||||
for _, ch := range iptablesChains {
|
||||
if err := ipt.DeleteChain(ch.table, ch.chain); err != nil {
|
||||
if !utiliptables.IsNotFoundError(err) {
|
||||
klog.Errorf("Error removing iptables rules in ipvs proxier: %v", err)
|
||||
|
6
vendor/k8s.io/kubernetes/pkg/proxy/userspace/proxier.go
generated
vendored
6
vendor/k8s.io/kubernetes/pkg/proxy/userspace/proxier.go
generated
vendored
@ -25,6 +25,7 @@ import (
|
||||
"sync/atomic"
|
||||
"time"
|
||||
|
||||
rsystem "github.com/opencontainers/runc/libcontainer/system"
|
||||
"k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
utilerrors "k8s.io/apimachinery/pkg/util/errors"
|
||||
@ -179,7 +180,10 @@ func NewCustomProxier(loadBalancer LoadBalancer, listenIP net.IP, iptables iptab
|
||||
|
||||
err = setRLimit(64 * 1000)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to set open file handler limit: %v", err)
|
||||
if !rsystem.RunningInUserNS() {
|
||||
return nil, fmt.Errorf("failed to set open file handler limit to 64000: %v", err)
|
||||
}
|
||||
klog.Errorf("failed to set open file handler limit to 64000: %v", err)
|
||||
}
|
||||
|
||||
proxyPorts := newPortAllocator(pr)
|
||||
|
2
vendor/k8s.io/kubernetes/pkg/util/mount/mount_helper.go
generated
vendored
2
vendor/k8s.io/kubernetes/pkg/util/mount/mount_helper.go
generated
vendored
@ -120,5 +120,5 @@ func IsCorruptedMnt(err error) bool {
|
||||
underlyingError = pe.Err
|
||||
}
|
||||
|
||||
return underlyingError == syscall.ENOTCONN || underlyingError == syscall.ESTALE || underlyingError == syscall.EIO
|
||||
return underlyingError == syscall.ENOTCONN || underlyingError == syscall.ESTALE || underlyingError == syscall.EIO || underlyingError == syscall.EACCES
|
||||
}
|
||||
|
10
vendor/k8s.io/kubernetes/pkg/util/mount/mount_linux.go
generated
vendored
10
vendor/k8s.io/kubernetes/pkg/util/mount/mount_linux.go
generated
vendored
@ -1003,10 +1003,14 @@ func (mounter *Mounter) SafeMakeDir(subdir string, base string, perm os.FileMode
|
||||
}
|
||||
|
||||
func (mounter *Mounter) GetMountRefs(pathname string) ([]string, error) {
|
||||
if _, err := os.Stat(pathname); os.IsNotExist(err) {
|
||||
pathExists, pathErr := PathExists(pathname)
|
||||
if !pathExists {
|
||||
return []string{}, nil
|
||||
} else if err != nil {
|
||||
return nil, err
|
||||
} else if IsCorruptedMnt(pathErr) {
|
||||
klog.Warningf("GetMountRefs found corrupted mount at %s, treating as unmounted path", pathname)
|
||||
return []string{}, nil
|
||||
} else if pathErr != nil {
|
||||
return nil, fmt.Errorf("error checking path %s: %v", pathname, pathErr)
|
||||
}
|
||||
realpath, err := filepath.EvalSymlinks(pathname)
|
||||
if err != nil {
|
||||
|
10
vendor/k8s.io/kubernetes/pkg/util/mount/mount_windows.go
generated
vendored
10
vendor/k8s.io/kubernetes/pkg/util/mount/mount_windows.go
generated
vendored
@ -496,10 +496,14 @@ func getAllParentLinks(path string) ([]string, error) {
|
||||
|
||||
// GetMountRefs : empty implementation here since there is no place to query all mount points on Windows
|
||||
func (mounter *Mounter) GetMountRefs(pathname string) ([]string, error) {
|
||||
if _, err := os.Stat(normalizeWindowsPath(pathname)); os.IsNotExist(err) {
|
||||
pathExists, pathErr := PathExists(normalizeWindowsPath(pathname))
|
||||
// TODO(#75012): Need a Windows specific IsCorruptedMnt function that checks against whatever errno's
|
||||
// Windows emits when we try to Stat a corrupted mount
|
||||
// https://golang.org/pkg/syscall/?GOOS=windows&GOARCH=amd64#Errno
|
||||
if !pathExists {
|
||||
return []string{}, nil
|
||||
} else if err != nil {
|
||||
return nil, err
|
||||
} else if pathErr != nil {
|
||||
return nil, fmt.Errorf("error checking path %s: %v", normalizeWindowsPath(pathname), pathErr)
|
||||
}
|
||||
return []string{pathname}, nil
|
||||
}
|
||||
|
2
vendor/k8s.io/kubernetes/pkg/util/reflector/prometheus/prometheus.go
generated
vendored
2
vendor/k8s.io/kubernetes/pkg/util/reflector/prometheus/prometheus.go
generated
vendored
@ -85,8 +85,6 @@ func init() {
|
||||
prometheus.MustRegister(watchDuration)
|
||||
prometheus.MustRegister(itemsPerWatch)
|
||||
prometheus.MustRegister(lastResourceVersion)
|
||||
|
||||
cache.SetReflectorMetricsProvider(prometheusMetricsProvider{})
|
||||
}
|
||||
|
||||
type prometheusMetricsProvider struct{}
|
||||
|
6
vendor/k8s.io/kubernetes/pkg/version/base.go
generated
vendored
6
vendor/k8s.io/kubernetes/pkg/version/base.go
generated
vendored
@ -3,8 +3,8 @@ package version
|
||||
var (
|
||||
gitMajor = "1"
|
||||
gitMinor = "13"
|
||||
gitVersion = "v1.13.4-k3s.1"
|
||||
gitCommit = "7f72ee72d6dce73e2d36dbd3402413d146fad01e"
|
||||
gitVersion = "v1.13.5-k3s.1"
|
||||
gitCommit = "256ea73aeb2627eb9b510f6c22881af8f967dd0c"
|
||||
gitTreeState = "clean"
|
||||
buildDate = "2019-03-04T01:05+00:00Z"
|
||||
buildDate = "2019-03-27T18:49+00:00Z"
|
||||
)
|
||||
|
4
vendor/k8s.io/kubernetes/pkg/volume/csi/csi_block.go
generated
vendored
4
vendor/k8s.io/kubernetes/pkg/volume/csi/csi_block.go
generated
vendored
@ -26,7 +26,7 @@ import (
|
||||
|
||||
"k8s.io/klog"
|
||||
|
||||
"k8s.io/api/core/v1"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
storage "k8s.io/api/storage/v1beta1"
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
"k8s.io/client-go/kubernetes"
|
||||
@ -36,8 +36,8 @@ import (
|
||||
)
|
||||
|
||||
type csiBlockMapper struct {
|
||||
csiClientGetter
|
||||
k8s kubernetes.Interface
|
||||
csiClient csiClient
|
||||
plugin *csiPlugin
|
||||
driverName csiDriverName
|
||||
specName string
|
||||
|
34
vendor/k8s.io/kubernetes/pkg/volume/csi/csi_client.go
generated
vendored
34
vendor/k8s.io/kubernetes/pkg/volume/csi/csi_client.go
generated
vendored
@ -22,6 +22,7 @@ import (
|
||||
"fmt"
|
||||
"io"
|
||||
"net"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
csipbv1 "github.com/container-storage-interface/spec/lib/go/csi"
|
||||
@ -720,3 +721,36 @@ func versionRequiresV0Client(version *utilversion.Version) bool {
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
// CSI client getter with cache.
|
||||
// This provides a method to initialize CSI client with driver name and caches
|
||||
// it for later use. When CSI clients have not been discovered yet (e.g.
|
||||
// on kubelet restart), client initialization will fail. Users of CSI client (e.g.
|
||||
// mounter manager and block mapper) can use this to delay CSI client
|
||||
// initialization until needed.
|
||||
type csiClientGetter struct {
|
||||
sync.RWMutex
|
||||
csiClient csiClient
|
||||
driverName csiDriverName
|
||||
}
|
||||
|
||||
func (c *csiClientGetter) Get() (csiClient, error) {
|
||||
c.RLock()
|
||||
if c.csiClient != nil {
|
||||
c.RUnlock()
|
||||
return c.csiClient, nil
|
||||
}
|
||||
c.RUnlock()
|
||||
c.Lock()
|
||||
defer c.Unlock()
|
||||
// Double-checking locking criterion.
|
||||
if c.csiClient != nil {
|
||||
return c.csiClient, nil
|
||||
}
|
||||
csi, err := newCsiDriverClient(c.driverName)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
c.csiClient = csi
|
||||
return c.csiClient, nil
|
||||
}
|
||||
|
14
vendor/k8s.io/kubernetes/pkg/volume/csi/csi_mounter.go
generated
vendored
14
vendor/k8s.io/kubernetes/pkg/volume/csi/csi_mounter.go
generated
vendored
@ -51,7 +51,7 @@ var (
|
||||
)
|
||||
|
||||
type csiMountMgr struct {
|
||||
csiClient csiClient
|
||||
csiClientGetter
|
||||
k8s kubernetes.Interface
|
||||
plugin *csiPlugin
|
||||
driverName csiDriverName
|
||||
@ -111,7 +111,11 @@ func (c *csiMountMgr) SetUpAt(dir string, fsGroup *int64) error {
|
||||
return err
|
||||
}
|
||||
|
||||
csi := c.csiClient
|
||||
csi, err := c.csiClientGetter.Get()
|
||||
if err != nil {
|
||||
klog.Error(log("mounter.SetUpAt failed to get CSI client: %v", err))
|
||||
return err
|
||||
}
|
||||
ctx, cancel := context.WithTimeout(context.Background(), csiTimeout)
|
||||
defer cancel()
|
||||
|
||||
@ -271,7 +275,11 @@ func (c *csiMountMgr) TearDownAt(dir string) error {
|
||||
}
|
||||
|
||||
volID := c.volumeID
|
||||
csi := c.csiClient
|
||||
csi, err := c.csiClientGetter.Get()
|
||||
if err != nil {
|
||||
klog.Error(log("mounter.SetUpAt failed to get CSI client: %v", err))
|
||||
return err
|
||||
}
|
||||
|
||||
ctx, cancel := context.WithTimeout(context.Background(), csiTimeout)
|
||||
defer cancel()
|
||||
|
16
vendor/k8s.io/kubernetes/pkg/volume/csi/csi_plugin.go
generated
vendored
16
vendor/k8s.io/kubernetes/pkg/volume/csi/csi_plugin.go
generated
vendored
@ -54,13 +54,13 @@ const (
|
||||
)
|
||||
|
||||
type csiPlugin struct {
|
||||
host volume.VolumeHost
|
||||
host volume.VolumeHost
|
||||
}
|
||||
|
||||
// ProbeVolumePlugins returns implemented plugins
|
||||
func ProbeVolumePlugins() []volume.VolumePlugin {
|
||||
p := &csiPlugin{
|
||||
host: nil,
|
||||
host: nil,
|
||||
}
|
||||
return []volume.VolumePlugin{p}
|
||||
}
|
||||
@ -273,11 +273,6 @@ func (p *csiPlugin) NewMounter(
|
||||
return nil, errors.New("failed to get a Kubernetes client")
|
||||
}
|
||||
|
||||
csi, err := newCsiDriverClient(csiDriverName(pvSource.Driver))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
mounter := &csiMountMgr{
|
||||
plugin: p,
|
||||
k8s: k8s,
|
||||
@ -287,9 +282,9 @@ func (p *csiPlugin) NewMounter(
|
||||
driverName: csiDriverName(pvSource.Driver),
|
||||
volumeID: pvSource.VolumeHandle,
|
||||
specVolumeID: spec.Name(),
|
||||
csiClient: csi,
|
||||
readOnly: readOnly,
|
||||
}
|
||||
mounter.csiClientGetter.driverName = csiDriverName(pvSource.Driver)
|
||||
|
||||
// Save volume info in pod dir
|
||||
dir := mounter.GetPath()
|
||||
@ -345,10 +340,7 @@ func (p *csiPlugin) NewUnmounter(specName string, podUID types.UID) (volume.Unmo
|
||||
}
|
||||
unmounter.driverName = csiDriverName(data[volDataKey.driverName])
|
||||
unmounter.volumeID = data[volDataKey.volHandle]
|
||||
unmounter.csiClient, err = newCsiDriverClient(unmounter.driverName)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
unmounter.csiClientGetter.driverName = unmounter.driverName
|
||||
|
||||
return unmounter, nil
|
||||
}
|
||||
|
6
vendor/k8s.io/kubernetes/pkg/volume/plugins.go
generated
vendored
6
vendor/k8s.io/kubernetes/pkg/volume/plugins.go
generated
vendored
@ -134,10 +134,10 @@ type VolumePlugin interface {
|
||||
NewUnmounter(name string, podUID types.UID) (Unmounter, error)
|
||||
|
||||
// ConstructVolumeSpec constructs a volume spec based on the given volume name
|
||||
// and mountPath. The spec may have incomplete information due to limited
|
||||
// and volumePath. The spec may have incomplete information due to limited
|
||||
// information from input. This function is used by volume manager to reconstruct
|
||||
// volume spec by reading the volume directories from disk
|
||||
ConstructVolumeSpec(volumeName, mountPath string) (*Spec, error)
|
||||
ConstructVolumeSpec(volumeName, volumePath string) (*Spec, error)
|
||||
|
||||
// SupportsMountOption returns true if volume plugins supports Mount options
|
||||
// Specifying mount options in a volume plugin that doesn't support
|
||||
@ -274,7 +274,7 @@ type BlockVolumePlugin interface {
|
||||
// The spec may have incomplete information due to limited information
|
||||
// from input. This function is used by volume manager to reconstruct
|
||||
// volume spec by reading the volume directories from disk.
|
||||
ConstructBlockVolumeSpec(podUID types.UID, volumeName, mountPath string) (*Spec, error)
|
||||
ConstructBlockVolumeSpec(podUID types.UID, volumeName, volumePath string) (*Spec, error)
|
||||
}
|
||||
|
||||
// VolumeHost is an interface that plugins can use to access the kubelet.
|
||||
|
14
vendor/k8s.io/kubernetes/pkg/volume/util/operationexecutor/operation_executor.go
generated
vendored
14
vendor/k8s.io/kubernetes/pkg/volume/util/operationexecutor/operation_executor.go
generated
vendored
@ -145,7 +145,7 @@ type OperationExecutor interface {
|
||||
// ExpandVolumeFSWithoutUnmounting will resize volume's file system to expected size without unmounting the volume.
|
||||
ExpandVolumeFSWithoutUnmounting(volumeToMount VolumeToMount, actualStateOfWorld ActualStateOfWorldMounterUpdater) error
|
||||
// ReconstructVolumeOperation construct a new volumeSpec and returns it created by plugin
|
||||
ReconstructVolumeOperation(volumeMode v1.PersistentVolumeMode, plugin volume.VolumePlugin, mapperPlugin volume.BlockVolumePlugin, uid types.UID, podName volumetypes.UniquePodName, volumeSpecName string, mountPath string, pluginName string) (*volume.Spec, error)
|
||||
ReconstructVolumeOperation(volumeMode v1.PersistentVolumeMode, plugin volume.VolumePlugin, mapperPlugin volume.BlockVolumePlugin, uid types.UID, podName volumetypes.UniquePodName, volumeSpecName string, volumePath string, pluginName string) (*volume.Spec, error)
|
||||
// CheckVolumeExistenceOperation checks volume existence
|
||||
CheckVolumeExistenceOperation(volumeSpec *volume.Spec, mountPath, volumeName string, mounter mount.Interface, uniqueVolumeName v1.UniqueVolumeName, podName volumetypes.UniquePodName, podUID types.UID, attachable volume.AttachableVolumePlugin) (bool, error)
|
||||
}
|
||||
@ -856,14 +856,14 @@ func (oe *operationExecutor) ReconstructVolumeOperation(
|
||||
uid types.UID,
|
||||
podName volumetypes.UniquePodName,
|
||||
volumeSpecName string,
|
||||
mountPath string,
|
||||
volumePath string,
|
||||
pluginName string) (*volume.Spec, error) {
|
||||
|
||||
// Filesystem Volume case
|
||||
if volumeMode == v1.PersistentVolumeFilesystem {
|
||||
// Create volumeSpec from mount path
|
||||
klog.V(5).Infof("Starting operationExecutor.ReconstructVolumepodName")
|
||||
volumeSpec, err := plugin.ConstructVolumeSpec(volumeSpecName, mountPath)
|
||||
volumeSpec, err := plugin.ConstructVolumeSpec(volumeSpecName, volumePath)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -880,17 +880,17 @@ func (oe *operationExecutor) ReconstructVolumeOperation(
|
||||
podName,
|
||||
uid)
|
||||
}
|
||||
// mountPath contains volumeName on the path. In the case of block volume, {volumeName} is symbolic link
|
||||
// volumePath contains volumeName on the path. In the case of block volume, {volumeName} is symbolic link
|
||||
// corresponding to raw block device.
|
||||
// ex. mountPath: pods/{podUid}}/{DefaultKubeletVolumeDevicesDirName}/{escapeQualifiedPluginName}/{volumeName}
|
||||
volumeSpec, err := mapperPlugin.ConstructBlockVolumeSpec(uid, volumeSpecName, mountPath)
|
||||
// ex. volumePath: pods/{podUid}}/{DefaultKubeletVolumeDevicesDirName}/{escapeQualifiedPluginName}/{volumeName}
|
||||
volumeSpec, err := mapperPlugin.ConstructBlockVolumeSpec(uid, volumeSpecName, volumePath)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return volumeSpec, nil
|
||||
}
|
||||
|
||||
// CheckVolumeExistenceOperation return a func() to check mount path directory if volume still exists
|
||||
// CheckVolumeExistenceOperation checks mount path directory if volume still exists
|
||||
func (oe *operationExecutor) CheckVolumeExistenceOperation(
|
||||
volumeSpec *volume.Spec,
|
||||
mountPath, volumeName string,
|
||||
|
61
vendor/k8s.io/kubernetes/vendor.conf
generated
vendored
61
vendor/k8s.io/kubernetes/vendor.conf
generated
vendored
@ -3,12 +3,22 @@ package=k8s.io/kubernetes/cmd/hyperkube
|
||||
|
||||
bitbucket.org/bertimus9/systemstat 0eeff89b0690611fc32e21f0cd2e4434abf8fe53
|
||||
cloud.google.com/go v0.1.0-115-g3b1ae45394a234
|
||||
github.com/armon/circbuf bbbad097214e2918d8543d5201d12bfd7bca254d
|
||||
github.com/asaskevich/govalidator v9-26-gf9ffefc3facfbe
|
||||
github.com/aws/aws-sdk-go v1.14.12
|
||||
github.com/Azure/azure-sdk-for-go v21.3.0
|
||||
github.com/Azure/go-ansiterm d6e3b3328b783f23731bc4d058875b0371ff8109
|
||||
github.com/Azure/go-autorest v11.1.0
|
||||
github.com/GeertJohan/go.rice c02ca9a983da5807ddf7d796784928f5be4afd09
|
||||
github.com/JeffAshton/win_pdh 76bb4ee9f0ab50f77826f2a2ee7fb9d3880d6ec2
|
||||
github.com/MakeNowJust/heredoc bb23615498cded5e105af4ce27de75b089cbe851
|
||||
github.com/Microsoft/go-winio v0.4.5
|
||||
github.com/Microsoft/hcsshim v0.6.11
|
||||
github.com/NYTimes/gziphandler 56545f4a5d46df9a6648819d1664c3a03a13ffdb
|
||||
github.com/Nvveen/Gotty cd527374f1e5bff4938207604a14f2e38a9cf512
|
||||
github.com/PuerkitoBio/purell v1.0.0
|
||||
github.com/PuerkitoBio/urlesc 5bd2802263f21d8788851d5305584c82a5c75d7e
|
||||
github.com/Rican7/retry v0.1.0-9-g272ad122d6e5ce
|
||||
github.com/armon/circbuf bbbad097214e2918d8543d5201d12bfd7bca254d
|
||||
github.com/asaskevich/govalidator v9-26-gf9ffefc3facfbe
|
||||
github.com/aws/aws-sdk-go v1.14.12
|
||||
github.com/bazelbuild/bazel-gazelle 0.15.0
|
||||
github.com/bazelbuild/buildtools 0.6.0-60-g1a9c38e0df9397
|
||||
github.com/beorn7/perks 3ac7bf7a47d159a033b107610db8a1b6575507a4
|
||||
@ -18,10 +28,10 @@ github.com/client9/misspell v0.3.0-7-g9ce5d979ffdaca
|
||||
github.com/cloudflare/cfssl 1.3.2-21-g56268a613adfed
|
||||
github.com/clusterhq/flocker-go 2b8b7259d3139c96c4a6871031355808ab3fd3b3
|
||||
github.com/codedellemc/goscaleio 20e2ce2cf8852dc78bd42b76698dcd8dcd77b7b1
|
||||
github.com/container-storage-interface/spec v1.0.0
|
||||
github.com/containerd/console 84eeaae905fa414d03e07bcd6c8d3f19e7cf180e
|
||||
github.com/containerd/containerd v1.0.2
|
||||
github.com/containernetworking/cni v0.6.0
|
||||
github.com/container-storage-interface/spec v1.0.0
|
||||
github.com/coreos/bbolt v1.3.1-coreos.6
|
||||
github.com/coreos/etcd v3.3.10
|
||||
github.com/coreos/go-oidc 065b426bd41667456c1a924468f507673629c46b
|
||||
@ -47,25 +57,15 @@ github.com/elazarl/go-bindata-assetfs 3dcc96556217539f50599357fb481ac0dc7439b9
|
||||
github.com/elazarl/goproxy v1.0-104-gc4fc26588b6ef8
|
||||
github.com/emicklei/go-restful 2.2.0-4-gff4f55a206334e
|
||||
github.com/emicklei/go-restful-swagger12 1.0.1
|
||||
github.com/emicklei/go-restful 2.2.0-4-gff4f55a206334e
|
||||
github.com/euank/go-kmsg-parser v2.0.0
|
||||
github.com/evanphx/json-patch v4.1.0-19-g5858425f75500d
|
||||
github.com/exponent-io/jsonpath d6023ce2651d8eafb5c75bb0c7167536102ec9f5
|
||||
github.com/fatih/camelcase f6a740d52f961c60348ebb109adde9f4635d7540
|
||||
github.com/fsnotify/fsnotify v1.3.1-1-gf12c6236fe7b5c
|
||||
github.com/GeertJohan/go.rice c02ca9a983da5807ddf7d796784928f5be4afd09
|
||||
github.com/ghodss/yaml v1.0.0-4-gc7ce16629ff4cd
|
||||
github.com/globalsign/mgo r2018.06.15-9-geeefdecb41b842
|
||||
github.com/godbus/dbus v3
|
||||
github.com/gogo/protobuf v0.5
|
||||
github.com/go-ini/ini v1.25.4
|
||||
github.com/golang/groupcache 02826c3e79038b59d737d3b1c0a1d937f71a4433
|
||||
github.com/golang/mock bd3c8e81be01eef76d4b503f5e687d2d1354d2d9
|
||||
github.com/golang/protobuf v1.1.0
|
||||
github.com/googleapis/gnostic 0c5108395e2debce0d731cf0287ddf7242066aba
|
||||
github.com/google/btree 7d79101e329e5a3adf994758c578dab82b90c017
|
||||
github.com/google/certificate-transparency-go v1.0.21
|
||||
github.com/google/gofuzz 44d81051d367757e1c7c6a5a86423ece9afcf63c
|
||||
github.com/google/uuid 0.2-15-g8c31c18f31ede9
|
||||
github.com/go-openapi/analysis v0.17.2
|
||||
github.com/go-openapi/jsonpointer v0.18.0
|
||||
github.com/go-openapi/loads v0.17.2
|
||||
@ -73,9 +73,19 @@ github.com/go-openapi/strfmt v0.17.0
|
||||
github.com/go-openapi/swag v0.17.2
|
||||
github.com/go-openapi/validate v0.18.0
|
||||
github.com/go-ozzo/ozzo-validation v3.5.0
|
||||
github.com/go-sql-driver/mysql v1.3.0
|
||||
github.com/godbus/dbus v3
|
||||
github.com/gogo/protobuf v0.5
|
||||
github.com/golang/groupcache 02826c3e79038b59d737d3b1c0a1d937f71a4433
|
||||
github.com/golang/mock bd3c8e81be01eef76d4b503f5e687d2d1354d2d9
|
||||
github.com/golang/protobuf v1.1.0
|
||||
github.com/google/btree 7d79101e329e5a3adf994758c578dab82b90c017
|
||||
github.com/google/certificate-transparency-go v1.0.21
|
||||
github.com/google/gofuzz 44d81051d367757e1c7c6a5a86423ece9afcf63c
|
||||
github.com/google/uuid 0.2-15-g8c31c18f31ede9
|
||||
github.com/googleapis/gnostic 0c5108395e2debce0d731cf0287ddf7242066aba
|
||||
github.com/gophercloud/gophercloud 781450b3c4fcb4f5182bcc5133adb4b2e4a09d1d
|
||||
github.com/gorilla/websocket v1.2.0-9-g4201258b820c74
|
||||
github.com/go-sql-driver/mysql v1.3.0
|
||||
github.com/gregjones/httpcache 787624de3eb7bd915c329cba748687a3b22666a6
|
||||
github.com/grpc-ecosystem/go-grpc-middleware v1.0.0-4-g498ae206fc3cfe
|
||||
github.com/grpc-ecosystem/go-grpc-prometheus v1.1-4-g2500245aa6110c
|
||||
@ -85,7 +95,6 @@ github.com/hashicorp/hcl d8c773c4cba11b11539e3d45f93daeaa5dcf1fa1
|
||||
github.com/heketi/heketi v8.0.0-49-g558b29266ce0a8
|
||||
github.com/imdario/mergo v0.3.5
|
||||
github.com/inconshreveable/mousetrap v1.0
|
||||
github.com/JeffAshton/win_pdh 76bb4ee9f0ab50f77826f2a2ee7fb9d3880d6ec2
|
||||
github.com/jmespath/go-jmespath 0.2.2-12-g0b12d6b521d83f
|
||||
github.com/jmhodges/clock v1.1
|
||||
github.com/jmoiron/sqlx sqlx-v1.1-131-g05cef0741ade10
|
||||
@ -99,19 +108,16 @@ github.com/kr/fs 2788f0dbd16903de03cb8186e5c7d97b69ad387b
|
||||
github.com/kr/pretty go.weekly.2011-12-22-24-gf31442d60e5146
|
||||
github.com/kr/text 6807e777504f54ad073ecef66747de158294b639
|
||||
github.com/kubernetes/repo-infra f2459dc75fc429b813d92c0622b408fd7f0d4cac
|
||||
github.com/libopenstorage/openstorage 093a0c3888753c2056e7373183693d670c6bba01
|
||||
github.com/lib/pq 88edab0803230a3898347e77b474f8c1820a1f20
|
||||
github.com/libopenstorage/openstorage 093a0c3888753c2056e7373183693d670c6bba01
|
||||
github.com/magiconair/properties v1.7.0-4-g61b492c03cf472
|
||||
github.com/mailru/easyjson 2f5df55504ebc322e4d52d34df6a1f5b503bf26d
|
||||
github.com/MakeNowJust/heredoc bb23615498cded5e105af4ce27de75b089cbe851
|
||||
github.com/marstr/guid v1.1.0-2-g8bdf7d1a087ccc
|
||||
github.com/mattn/go-shellwords v1.0.3-20-gf8471b0a71ded0
|
||||
github.com/mattn/go-sqlite3 v1.6.0
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.1
|
||||
github.com/mesos/mesos-go mesos-1.6.x-12-gff8175bfda54b1
|
||||
github.com/mholt/caddy v0.10.10-57-g2de495001514ed
|
||||
github.com/Microsoft/go-winio v0.4.5
|
||||
github.com/Microsoft/hcsshim v0.6.11
|
||||
github.com/miekg/dns 5d001d020961ae1c184f9f8152fdc73810481677
|
||||
github.com/mindprince/gonvml fee913ce8fb235edf54739d259ca0ecc226c7b8a
|
||||
github.com/mistifyio/go-zfs v2.1.1-5-g1b4ae6fb4e77b0
|
||||
@ -123,8 +129,6 @@ github.com/mohae/deepcopy 491d3605edfb866af34a48075bd4355ac1bf46ca
|
||||
github.com/mrunalp/fileutils 4ee1cc9a80582a0c75febdd5cfa779ee4361cbca
|
||||
github.com/mvdan/xurls v0.8.0-14-g1b768d7c393abd
|
||||
github.com/mxk/go-flowrate cca7078d478f8520f85629ad7c68962d31ed7682
|
||||
github.com/Nvveen/Gotty cd527374f1e5bff4938207604a14f2e38a9cf512
|
||||
github.com/NYTimes/gziphandler 56545f4a5d46df9a6648819d1664c3a03a13ffdb
|
||||
github.com/onsi/ginkgo v1.2.0-95-g67b9df7f55fe11
|
||||
github.com/onsi/gomega v1.0-122-gd59fa0ac68bb5d
|
||||
github.com/opencontainers/go-digest a6d0ee40d4207ea02364bd3b9e8e77b9159ba1eb
|
||||
@ -143,12 +147,9 @@ github.com/prometheus/client_golang v0.8.0-83-ge7e903064f5e9e
|
||||
github.com/prometheus/client_model model-0.0.2-12-gfa8ad6fec33561
|
||||
github.com/prometheus/common 13ba4ddd0caa9c28ca7b7bffe1dfa9ed8d5ef207
|
||||
github.com/prometheus/procfs 65c1f6f8f0fc1e2185eb9863a3bc751496404259
|
||||
github.com/PuerkitoBio/purell v1.0.0
|
||||
github.com/PuerkitoBio/urlesc 5bd2802263f21d8788851d5305584c82a5c75d7e
|
||||
github.com/quobyte/api v0.1.1-4-g206ef832283c1a
|
||||
github.com/rancher/go-rancher v0.1.0-196-g09693a8743ba5e
|
||||
github.com/renstrom/dedent v1.0.0-3-g020d11c3b9c0c7
|
||||
github.com/Rican7/retry v0.1.0-9-g272ad122d6e5ce
|
||||
github.com/robfig/cron v1-53-gdf38d32658d878
|
||||
github.com/rubiojr/go-vhd 0bfd3b39853cdde5762efda92289f14b0ac0491b
|
||||
github.com/russross/blackfriday v1.4-2-g300106c228d52c
|
||||
@ -176,6 +177,9 @@ github.com/vmware/govmomi v0.18.0-48-g22f74650cf39ba
|
||||
github.com/vmware/photon-controller-go-sdk PROMOTED-488
|
||||
github.com/xanzy/go-cloudstack v2.1.1-1-g1e2cbf647e57fa
|
||||
github.com/xiang90/probing 0.0.1
|
||||
go.uber.org/atomic v1.3.2-3-g8dc6146f756937
|
||||
go.uber.org/multierr v1.1.0-2-gddea229ff1dff9
|
||||
go.uber.org/zap v1.9.1-1-g67bc79d13d155c
|
||||
golang.org/x/crypto de0752318171da717af4ce24d0a2e8626afaeb11
|
||||
golang.org/x/lint 8f45f776aaf18cebc8d65861cc70c33c60471952
|
||||
golang.org/x/net 0ed95abb35c445290478a5348a7b38bb154135fd
|
||||
@ -188,15 +192,12 @@ gonum.org/v1/gonum cebdade430ccb61c1feba4878085f6cf8cb3320e
|
||||
google.golang.org/api 3639d6d93f377f39a1de765fa4ef37b3c7ca8bd9
|
||||
google.golang.org/genproto 09f6ed296fc66555a25fe4ce95173148778dfa85
|
||||
google.golang.org/grpc v1.13.0
|
||||
gopkg.in/gcfg.v1/scanner v1.2.0
|
||||
gopkg.in/gcfg.v1 v1.2.0
|
||||
gopkg.in/inf.v0 v0.9.0
|
||||
gopkg.in/natefinch/lumberjack.v2 v1.0-16-g20b71e5b60d756
|
||||
gopkg.in/square/go-jose.v2 v2.1.6-4-g89060dee6a84df
|
||||
gopkg.in/warnings.v0 v0.1.1
|
||||
gopkg.in/yaml.v2 v2.2.1
|
||||
go.uber.org/atomic v1.3.2-3-g8dc6146f756937
|
||||
go.uber.org/multierr v1.1.0-2-gddea229ff1dff9
|
||||
go.uber.org/zap/buffer v1.9.1-1-g67bc79d13d155c
|
||||
k8s.io/gengo 51747d6e00da1fc578d5a333a93bb2abcbce7a95
|
||||
k8s.io/heapster v1.2.0-beta.1
|
||||
k8s.io/klog 8139d8cb77af419532b33dfa7dd09fbc5f1d344f
|
||||
|
Loading…
Reference in New Issue
Block a user