summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLantao Liu <taotaotheripper@gmail.com>2019-03-08 17:53:36 -0800
committerGitHub <noreply@github.com>2019-03-08 17:53:36 -0800
commitb7015c1a46fbea47ad8e7985583b30bd918ddc4b (patch)
tree4d1568f811e5772aa90120d96a0b53cdf85c42c4
parent326bc9f3bac1b89414950772ac0cb87619b847d9 (diff)
Put the gvisor user log into sandbox log directory. (#17)
Signed-off-by: Lantao Liu <lantaol@google.com>
-rw-r--r--pkg/go-runsc/utils.go12
-rw-r--r--pkg/v1/shim/service.go4
-rw-r--r--pkg/v1/utils/utils.go9
-rw-r--r--pkg/v2/service.go4
-rw-r--r--vendor.conf2
-rw-r--r--vendor/github.com/containerd/cri/README.md11
-rw-r--r--vendor/github.com/containerd/cri/pkg/annotations/annotations.go9
-rw-r--r--vendor/github.com/containerd/cri/vendor.conf28
8 files changed, 49 insertions, 30 deletions
diff --git a/pkg/go-runsc/utils.go b/pkg/go-runsc/utils.go
index c78d0c162..e4c3c937a 100644
--- a/pkg/go-runsc/utils.go
+++ b/pkg/go-runsc/utils.go
@@ -39,18 +39,8 @@ func putBuf(b *bytes.Buffer) {
}
// FormatLogPath parses runsc config, and fill in %ID% in the log path.
-// * For debug-log, it fills in the id in place;
-// * For user-log, it fills in the id, returns the user log path, and deletes
-// the `user-log` entry from the config, because it will only be added to runsc
-// calls that create a new sandbox.
-func FormatLogPath(id string, config map[string]string) string {
+func FormatLogPath(id string, config map[string]string) {
if path, ok := config["debug-log"]; ok {
config["debug-log"] = strings.Replace(path, "%ID%", id, -1)
}
- var userLog string
- if path, ok := config["user-log"]; ok {
- userLog = strings.Replace(path, "%ID%", id, -1)
- delete(config, "user-log")
- }
- return userLog
}
diff --git a/pkg/v1/shim/service.go b/pkg/v1/shim/service.go
index e23bf957a..083dfa534 100644
--- a/pkg/v1/shim/service.go
+++ b/pkg/v1/shim/service.go
@@ -551,7 +551,7 @@ func newInit(ctx context.Context, path, workDir, runtimeRoot, namespace string,
if err != nil {
return nil, errors.Wrap(err, "read oci spec")
}
- userLog := runsc.FormatLogPath(r.ID, config)
+ runsc.FormatLogPath(r.ID, config)
rootfs := filepath.Join(path, "rootfs")
runtime := proc.NewRunsc(runtimeRoot, path, namespace, r.Runtime, config)
p := proc.New(r.ID, runtime, rproc.Stdio{
@@ -567,7 +567,7 @@ func newInit(ctx context.Context, path, workDir, runtimeRoot, namespace string,
p.IoUID = int(options.IoUid)
p.IoGID = int(options.IoGid)
p.Sandbox = utils.IsSandbox(spec)
- p.UserLog = userLog
+ p.UserLog = utils.UserLogPath(spec)
p.Monitor = shim.Default
return p, nil
}
diff --git a/pkg/v1/utils/utils.go b/pkg/v1/utils/utils.go
index b89edb064..83840c047 100644
--- a/pkg/v1/utils/utils.go
+++ b/pkg/v1/utils/utils.go
@@ -48,3 +48,12 @@ func IsSandbox(spec *specs.Spec) bool {
t, ok := spec.Annotations[annotations.ContainerType]
return !ok || t == annotations.ContainerTypeSandbox
}
+
+// UserLogPath gets user log path from OCI annotation.
+func UserLogPath(spec *specs.Spec) string {
+ sandboxLogDir := spec.Annotations[annotations.SandboxLogDir]
+ if sandboxLogDir == "" {
+ return ""
+ }
+ return filepath.Join(sandboxLogDir, "gvisor.log")
+}
diff --git a/pkg/v2/service.go b/pkg/v2/service.go
index 0a5054e22..912798e23 100644
--- a/pkg/v2/service.go
+++ b/pkg/v2/service.go
@@ -696,7 +696,7 @@ func newInit(ctx context.Context, path, workDir, namespace string, platform rpro
if err != nil {
return nil, errors.Wrap(err, "read oci spec")
}
- userLog := runsc.FormatLogPath(r.ID, options.RunscConfig)
+ runsc.FormatLogPath(r.ID, options.RunscConfig)
rootfs := filepath.Join(path, "rootfs")
runtime := proc.NewRunsc(options.Root, path, namespace, options.BinaryName, options.RunscConfig)
p := proc.New(r.ID, runtime, rproc.Stdio{
@@ -712,7 +712,7 @@ func newInit(ctx context.Context, path, workDir, namespace string, platform rpro
p.IoUID = int(options.IoUid)
p.IoGID = int(options.IoGid)
p.Sandbox = utils.IsSandbox(spec)
- p.UserLog = userLog
+ p.UserLog = utils.UserLogPath(spec)
p.Monitor = shim.Default
return p, nil
}
diff --git a/vendor.conf b/vendor.conf
index 3ec6003df..0da7a4443 100644
--- a/vendor.conf
+++ b/vendor.conf
@@ -2,7 +2,7 @@ github.com/BurntSushi/toml v0.3.0
github.com/containerd/cgroups 5e610833b72089b37d0e615de9a92dfc043757c2
github.com/containerd/console c12b1e7919c14469339a5d38f2f8ed9b64a9de23
github.com/containerd/containerd v1.2.2
-github.com/containerd/cri 4dd6735020f5596dd41738f8c4f5cb07fa804c5e
+github.com/containerd/cri 8a0bd84b9a4c988a3098fca8fedcb9c0f14d9d08
github.com/containerd/fifo 3d5202aec260678c48179c56f40e6f38a095738c
github.com/containerd/go-runc 5a6d9f37cfa36b15efba46dc7ea349fa9b7143c3
github.com/containerd/ttrpc 2a805f71863501300ae1976d29f0454ae003e85a
diff --git a/vendor/github.com/containerd/cri/README.md b/vendor/github.com/containerd/cri/README.md
index e77abb51f..2e8ed474b 100644
--- a/vendor/github.com/containerd/cri/README.md
+++ b/vendor/github.com/containerd/cri/README.md
@@ -39,6 +39,17 @@ See [test dashboard](https://k8s-testgrid.appspot.com/sig-node-containerd)
| | v1.2 | 1.10+ | v1alpha2 |
| | HEAD | 1.10+ | v1alpha2 |
+**Note:** The support table above specifies the Kubernetes Version that was supported at time of release of the containerd - cri integration.
+
+The following is the current support table for containerd CRI integration taking into account that Kubernetes only supports n-3 minor release versions and 1.10 is now end-of-life.
+
+| Containerd Version | Kubernetes Version | CRI Version |
+|:------------------:|:------------------:|:-----------:|
+| v1.1 | 1.11+ | v1alpha2 |
+| v1.2 | 1.11+ | v1alpha2 |
+| HEAD | 1.11+ | v1alpha2 |
+
+
## Production Quality Cluster on GCE
For a production quality cluster on GCE brought up with `kube-up.sh` refer [here](docs/kube-up.md).
## Installing with Ansible and Kubeadm
diff --git a/vendor/github.com/containerd/cri/pkg/annotations/annotations.go b/vendor/github.com/containerd/cri/pkg/annotations/annotations.go
index be63ba27a..2178df138 100644
--- a/vendor/github.com/containerd/cri/pkg/annotations/annotations.go
+++ b/vendor/github.com/containerd/cri/pkg/annotations/annotations.go
@@ -32,6 +32,15 @@ const (
// SandboxID is the sandbox ID annotation
SandboxID = "io.kubernetes.cri.sandbox-id"
+ // SandboxLogDir is the pod log directory annotation.
+ // If the sandbox needs to generate any log, it will put it into this directory.
+ // Kubelet will be responsible for:
+ // 1) Monitoring the disk usage of the log, and including it as part of the pod
+ // ephemeral storage usage.
+ // 2) Cleaning up the logs when the pod is deleted.
+ // NOTE: Kubelet is not responsible for rotating the logs.
+ SandboxLogDir = "io.kubernetes.cri.sandbox-log-directory"
+
// UntrustedWorkload is the sandbox annotation for untrusted workload. Untrusted
// workload can only run on dedicated runtime for untrusted workload.
UntrustedWorkload = "io.kubernetes.cri.untrusted-workload"
diff --git a/vendor/github.com/containerd/cri/vendor.conf b/vendor/github.com/containerd/cri/vendor.conf
index f59340b54..0dcbf4674 100644
--- a/vendor/github.com/containerd/cri/vendor.conf
+++ b/vendor/github.com/containerd/cri/vendor.conf
@@ -1,20 +1,20 @@
github.com/beorn7/perks 4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9
github.com/blang/semver v3.1.0
github.com/BurntSushi/toml a368813c5e648fee92e5f6c30e3944ff9d5e8895
-github.com/containerd/cgroups 5e610833b72089b37d0e615de9a92dfc043757c2
+github.com/containerd/cgroups 1152b960fcee041f50df15cdc67c29dbccf801ef
github.com/containerd/console c12b1e7919c14469339a5d38f2f8ed9b64a9de23
-github.com/containerd/containerd 6937c5a3ba8280edff9e9030767e3b0cb742581c
+github.com/containerd/containerd 4543e32a8b29e691e523ddc142f0c9068917df54
github.com/containerd/continuity bd77b46c8352f74eb12c85bdc01f4b90f69d66b4
github.com/containerd/fifo 3d5202aec260678c48179c56f40e6f38a095738c
github.com/containerd/go-cni 40bcf8ec8acd7372be1d77031d585d5d8e561c90
github.com/containerd/go-runc 5a6d9f37cfa36b15efba46dc7ea349fa9b7143c3
-github.com/containerd/ttrpc 2a805f71863501300ae1976d29f0454ae003e85a
+github.com/containerd/ttrpc f02858b1457c5ca3aaec3a0803eb0d59f96e41d6
github.com/containerd/typeurl a93fcdb778cd272c6e9b3028b2f42d813e785d40
github.com/containernetworking/cni v0.6.0
github.com/containernetworking/plugins v0.7.0
github.com/coreos/go-systemd v14
github.com/davecgh/go-spew v1.1.0
-github.com/docker/distribution b38e5838b7b2f2ad48e06ec4b500011976080621
+github.com/docker/distribution 0d3efadf0154c2b8a4e7b6621fff9809655cc580
github.com/docker/docker 86f080cff0914e9694068ed78d503701667c4c00
github.com/docker/go-events 9461782956ad83b30282bf90e31fa6a70c255ba9
github.com/docker/go-metrics 4ea375f7759c82740c893fc030bc37088d2ec098
@@ -32,12 +32,12 @@ github.com/hashicorp/go-multierror ed905158d87462226a13fe39ddf685ea65f1c11f
github.com/json-iterator/go 1.1.5
github.com/matttproud/golang_protobuf_extensions v1.0.0
github.com/Microsoft/go-winio v0.4.11
-github.com/Microsoft/hcsshim v0.8.2
+github.com/Microsoft/hcsshim v0.8.5
github.com/modern-go/concurrent 1.0.3
github.com/modern-go/reflect2 1.0.1
github.com/opencontainers/go-digest c9281466c8b2f606084ac71339773efd177436e7
github.com/opencontainers/image-spec v1.0.1
-github.com/opencontainers/runc v1.0.0-rc6
+github.com/opencontainers/runc 12f6a991201fdb8f82579582d5e00e28fba06d0a
github.com/opencontainers/runtime-spec eba862dc2470385a233c7507392675cbeadf7353
github.com/opencontainers/runtime-tools fb101d5d42ab9c040f7d0a004e78336e5d5cb197
github.com/opencontainers/selinux b6fa367ed7f534f9ba25391cc2d467085dbb445a
@@ -60,7 +60,7 @@ go.etcd.io/bbolt v1.3.1-etcd.8
golang.org/x/crypto 49796115aa4b964c318aad4f3084fdb41e9aa067
golang.org/x/net b3756b4b77d7b13260a0a2ec658753cf48922eac
golang.org/x/oauth2 a6bd8cefa1811bd24b86f8902872e4e8225f74c4
-golang.org/x/sync 450f422ab23cf9881c94e2db30cac0eb1b7cf80c
+golang.org/x/sync 42b317875d0fa942474b76e1b46a6060d720ae6e
golang.org/x/sys 1b2967e3c290b7c545b3db0deeda16e9be4f98a2 https://github.com/golang/sys
golang.org/x/text 19e51611da83d6be54ddafce4a4af510cb3e9ea4
golang.org/x/time f51c12702a4d776e4c1fa9b0fabab841babae631
@@ -68,11 +68,11 @@ google.golang.org/genproto d80a6e20e776b0b17a324d0ba1ab50a39c8e8944
google.golang.org/grpc v1.12.0
gopkg.in/inf.v0 3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4
gopkg.in/yaml.v2 v2.2.1
-k8s.io/api kubernetes-1.13.0
-k8s.io/apimachinery kubernetes-1.13.0
-k8s.io/apiserver kubernetes-1.13.0
-k8s.io/client-go kubernetes-1.13.0
-k8s.io/klog 8139d8cb77af419532b33dfa7dd09fbc5f1d344f
-k8s.io/kubernetes v1.13.0
-k8s.io/utils 0d26856f57b32ec3398579285e5c8a2bfe8c5243
+k8s.io/api kubernetes-1.15.0-alpha.0
+k8s.io/apimachinery kubernetes-1.15.0-alpha.0
+k8s.io/apiserver kubernetes-1.15.0-alpha.0
+k8s.io/client-go kubernetes-1.15.0-alpha.0
+k8s.io/klog 8145543d67ada0bd556af97faeeb8a65a2651c98
+k8s.io/kubernetes v1.15.0-alpha.0
+k8s.io/utils c2654d5206da6b7b6ace12841e8f359bb89b443c
sigs.k8s.io/yaml v1.1.0