Commit Graph

700 Commits

Author SHA1 Message Date
Pengfei Ni
3aee57d4ae Add security context support in dockershim 2016-11-07 11:07:56 +08:00
Pengfei Ni
476cd96098 run hack/update-bazel.sh 2016-11-07 11:07:56 +08:00
Kubernetes Submit Queue
8371a778f6 Merge pull request #35839 from Random-Liu/add-cri-runtime-status
Automatic merge from submit-queue

CRI: Add Status into CRI.

For https://github.com/kubernetes/kubernetes/issues/35701.
Fixes https://github.com/kubernetes/kubernetes/issues/35701.

This PR added a `Status` call in CRI, and the `RuntimeStatus` is defined as following:

``` protobuf
message RuntimeCondition {
    // Type of runtime condition.
    optional string type = 1;
    // Status of the condition, one of true/false.
    optional bool status = 2;
    // Brief reason for the condition's last transition.
    optional string reason = 3;
    // Human readable message indicating details about last transition.
    optional string message = 4;
}

message RuntimeStatus {
    // Conditions is an array of current observed runtime conditions.
    repeated RuntimeCondition conditions = 1;
}
```

Currently, only `conditions` is included in `RuntimeStatus`, and the definition is almost the same with `NodeCondition` and `PodCondition` in K8s api.

@yujuhong @feiskyer @bprashanth If this makes sense, I'll send a follow up PR to let dockershim return `RuntimeStatus` and let kubelet make use of it.
@yifan-gu @euank Does this make sense to rkt?
/cc @kubernetes/sig-node
2016-11-06 04:16:29 -08:00
Kubernetes Submit Queue
37e3074d3e Merge pull request #36100 from timstclair/cris-leak
Automatic merge from submit-queue

Cleanup leaking goroutine

Cleanup potential go-routine leak in ExecSync path by removing timeout support. Timeout support is added in https://github.com/kubernetes/kubernetes/pull/33366 and https://github.com/kubernetes/kubernetes/pull/35893, and until those merge this is consistent with current behavior.

/cc @rhcarvalho
2016-11-05 16:52:46 -07:00
Random-Liu
90fe0c5994 Update bazel. 2016-11-05 00:02:05 -07:00
Random-Liu
772bf8e14d Populate NetworkReady Status. 2016-11-05 00:02:05 -07:00
Random-Liu
4bd9dbf6ad Add RuntimeStatus in container/runtime.go 2016-11-05 00:02:05 -07:00
Random-Liu
55c5232810 Add Status implementation. 2016-11-05 00:02:05 -07:00
Random-Liu
fc10a25ae1 Add Status into CRI. 2016-11-05 00:00:26 -07:00
Kubernetes Submit Queue
66a7a1f961 Merge pull request #36200 from yujuhong/remove_logs
Automatic merge from submit-queue

dockershim: remove unused GetContainerLogs method
2016-11-04 21:03:22 -07:00
Random-Liu
158e48861c Add remote streaming implementation. 2016-11-04 17:47:12 -07:00
Kubernetes Submit Queue
c4ff44b66d Merge pull request #35597 from feiskyer/gpu
Automatic merge from submit-queue

CRI: Add devices to ContainerConfig

This PR adds devices to ContainerConfig and adds experimental GPU support.

cc/ @yujuhong @Hui-Zhi @vishh @kubernetes/sig-node
2016-11-04 02:30:52 -07:00
Yu-Ju Hong
5933540e44 dockershim: remove unused GetContainerLogs method
We have already implemented the new method, and this is no longer needed.
2016-11-03 17:27:18 -07:00
Kubernetes Submit Queue
41b5fe86b6 Merge pull request #31546 from derekwaynecarr/systemd-pod-cgroups
Automatic merge from submit-queue

pod and qos level cgroup support

```release-note
[Kubelet] Add alpha support for `--cgroups-per-qos` using the configured `--cgroup-driver`. Disabled by default.
```
2016-11-03 03:56:56 -07:00
Tim St. Clair
fa15c87cf0 Cleanup leaking goroutine 2016-11-02 15:08:21 -07:00
derekwaynecarr
42289c2758 pod and qos level cgroup support 2016-11-02 08:07:04 -04:00
Alexander D. Kanevskiy
6ad82e5a30 Fix build break on non-Linux OS introduced in 87aaf4c0 2016-11-02 12:27:11 +02:00
Kubernetes Submit Queue
6e90106ded Merge pull request #34490 from yujuhong/docker_cgroup
Automatic merge from submit-queue

dockershim: move docker to the given cgroup
2016-11-02 00:30:30 -07:00
Pengfei Ni
e0f89a322b CRI: Add devices implementation and moves GPU to devices 2016-11-02 15:24:45 +08:00
Kubernetes Submit Queue
07f78836ea Merge pull request #35969 from sttts/sttts-dockershim-infra-sysctl-only
Automatic merge from submit-queue

Only set sysctls in infra container in dockershim

Dockershim counterpart of https://github.com/kubernetes/kubernetes/pull/32383.
2016-11-01 23:52:06 -07:00
Kubernetes Submit Queue
bef915da9d Merge pull request #35930 from Random-Liu/handle-empty-container-name
Automatic merge from submit-queue

CRI: Handle empty container name in dockershim.

Fixes https://github.com/kubernetes/kubernetes/issues/35924.

Dead container may have no name, we should handle this properly.

@yujuhong @bprashanth
2016-11-01 21:59:38 -07:00
Yu-Ju Hong
8a6285d844 CRI: Rename container/sandbox states
The enum constants are not namespaced. The shorter, unspecifc names are likely
to cause naming conflicts in the future.

Also replace "SandBox" with "Sandbox" in the API.
2016-11-01 13:18:21 -07:00
Yu-Ju Hong
87aaf4c0ac dockershim: move docker to the given cgruop
This change add a container manager inside the dockershim to move docker daemon
and associated processes to a specified cgroup. The original kubelet container
manager will continue checking the name of the cgroup, so that kubelet know how
to report runtime stats.
2016-11-01 11:39:20 -07:00
Dr. Stefan Schimanski
42f6179517 dockershim: only set sysctl in infra container 2016-11-01 13:21:47 +01:00
Random-Liu
ecd1044200 Handle empty container name in dockershim. 2016-10-31 15:05:23 -07:00
bprashanth
11638e9ee1 Unittests 2016-10-31 13:05:20 -07:00
bprashanth
706207904e SetUp/TearDown I: dockershim 2016-10-31 13:05:19 -07:00
bprashanth
48db726342 Split network.Host into LegacyHost and NamespaceGetter 2016-10-31 13:05:19 -07:00
bprashanth
9c585baf1f Teach cri about podCIDR 2016-10-31 13:05:18 -07:00
bprashanth
c11aa2eb77 Teach dockershim to probe for network plugins 2016-10-31 13:05:13 -07:00
Tim St. Clair
c60db99536 Implement streaming CRI methods in dockershim 2016-10-28 11:15:53 -07:00
Kubernetes Submit Queue
c9953ae0ed Merge pull request #34830 from feiskyer/sysctl
Automatic merge from submit-queue

Add sysctls for dockershim

This PR adds sysctls support for dockershim. All sysctls e2e tests are passed in my local settings.

Note that sysctls runtimeAdmit is not included in this PR, it is addressed in #32803.

cc/ @yujuhong @Random-Liu
2016-10-26 19:09:03 -07:00
Random-Liu
46916bc58b Update bazel. 2016-10-25 10:57:46 -07:00
Random-Liu
3d549b9e25 Add dockershim grpc server. 2016-10-25 10:31:16 -07:00
Pengfei Ni
fee6daaa8d Add sysctls for dockershim 2016-10-25 11:24:31 +08:00
Kubernetes Submit Queue
8923087b52 Merge pull request #31558 from MHBauer/match-raw-term-setting
Automatic merge from submit-queue

Use the rawTerminal setting from the container itself

**What this PR does / why we need it**:
Checks whether the container is set for rawTerminal connection and uses the appropriate connection.
Prevents the output `Error from server: Unrecognized input header` when doing `kubectl run`.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, #<issue_number>, ...)` format, will close that issue when PR gets merged)*: 
helps with case 1 in #28695, resolves #30159

**Special notes for your reviewer**:

**Release note**:
```
release-note-none
```
2016-10-24 18:55:14 -07:00
Mike Danese
763c4987f2 autogenerated 2016-10-24 14:47:27 -07:00
Random-Liu
121a91eb12 Symlink docker logs to CRI defined log path. 2016-10-23 19:08:47 -07:00
Mike Danese
3b6a067afc autogenerated 2016-10-21 17:32:32 -07:00
Morgan Bauer
a53990fd59 Use the rawTerminal setting from the container itself 2016-10-21 08:15:39 -07:00
Yu-Ju Hong
fee4c9a7d9 Return empty network namespace if the infra container has exited
If the infra container has already terminated, `docker inspect` will report
pid 0. The path constructed using the pid to check the network namespace of
the process will be invalid. This commit changes docker to report an empty
path to stop kubenet from erroring out whenever TearDown is called on an
exited infra container.

This is not a fix for all the plugins, as some plugins may require the actual
network namespace to tear down properly.
2016-10-20 17:12:08 -07:00
Kubernetes Submit Queue
e5cdc95b85 Merge pull request #34767 from ivan4th/fix-more-typos-1
Automatic merge from submit-queue

Fix typos
2016-10-14 23:30:23 -07:00
Ivan Shvedunov
f1258dca4e Fix typos 2016-10-15 00:21:00 +03:00
Kubernetes Submit Queue
d7c0eb322c Merge pull request #34276 from freehan/cri-runtime-config
Automatic merge from submit-queue

add UpdateRuntimeConfig interface

Expose UpdateRuntimeConfig interface in RuntimeService for kubelet to pass a set of configurations to runtime. Currently it only takes PodCIDR.

The use case is for kubelet to pass configs to runtime. Kubelet holds some config/information which runtime does not have, such as PodCIDR. I expect some of kubelet configurations will gradually move to runtime, but I believe cases like PodCIDR, which dynamically assigned by k8s master, need to stay for a while.
2016-10-13 23:10:42 -07:00
Minhan Xia
480bcb9760 add UpdateRuntimeConfig interface 2016-10-12 22:33:58 -07:00
Kubernetes Submit Queue
b99a9094cc Merge pull request #34380 from Random-Liu/fix-cri-image
Automatic merge from submit-queue

CRI: Image pullable support in dockershim

For #33189.

The new test `ImageID should be set to the manifest digest (from RepoDigests) when available` introduced in #33014 is failing, because:
1) `docker-pullable://` conversion is not supported in dockershim;
2) `kuberuntime` and `dockershim` is using `ListImages with image name filter` to check whether image presents. However, `ListImages` doesn't support filter with `digest`.

This PR:
1) Change `kuberuntime.IsImagePresent` to use `runtime.ImageStatus` and `dockershim.InspectImage` instead. ***Notice an API change: `ImageStatus` should return `(nil, nil)` for non-existing image.***
2) Add `docker-pullable://` support.
3) Fix `RemoveImage` in dockershim https://github.com/kubernetes/kubernetes/pull/29316.

I've tried myself, the test can pass now.

@yujuhong @feiskyer @yifan-gu 
/cc @kubernetes/sig-node
2016-10-12 12:25:37 -07:00
Random-Liu
afa3414779 * Add docker pullable support.
* Fix inspect image bug.
* Fix remove image bug.
2016-10-12 09:21:10 -07:00
Random-Liu
13459411c1 Change dockershim to use UnixNano instead of Unix. 2016-10-11 14:50:55 -07:00
Random-Liu
76056a47f9 Change the timestamp unit to nanosecond. 2016-10-07 14:10:19 -07:00
Kubernetes Submit Queue
3f4a66f3d6 Merge pull request #33970 from yifan-gu/remove_names
Automatic merge from submit-queue

CRI: Remove the mount name and port name.

Per discussion on https://github.com/kubernetes/kubernetes/issues/33873.

Currently the mount name is not being used and also involves some
incorrect usage (sometimes it's referencing a mount name, sometimes
it's referecing a volume name), so we decide to remove it from CRI.

The port name is also not used, so remove it as well.

Fix #33873
Fix #33526 

/cc @kubernetes/sig-node @kubernetes/sig-rktnetes
2016-10-04 17:08:20 -07:00