Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
c7887938
Commit
c7887938
authored
Oct 22, 2016
by
Dan Winship
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Port remaining code to pkg/util/version
parent
f369372d
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
31 additions
and
107 deletions
+31
-107
BUILD
pkg/kubelet/cm/BUILD
+1
-1
container_manager_linux.go
pkg/kubelet/cm/container_manager_linux.go
+8
-9
BUILD
pkg/kubelet/dockershim/cm/BUILD
+1
-1
container_manager_linux.go
pkg/kubelet/dockershim/cm/container_manager_linux.go
+2
-2
BUILD
pkg/kubelet/dockertools/BUILD
+1
-1
docker_manager.go
pkg/kubelet/dockertools/docker_manager.go
+3
-31
docker_manager_test.go
pkg/kubelet/dockertools/docker_manager_test.go
+4
-2
BUILD
pkg/kubelet/kuberuntime/BUILD
+1
-1
kuberuntime_manager.go
pkg/kubelet/kuberuntime/kuberuntime_manager.go
+3
-28
BUILD
pkg/kubelet/rkt/BUILD
+1
-1
version.go
pkg/kubelet/rkt/version.go
+6
-30
No files found.
pkg/kubelet/cm/BUILD
View file @
c7887938
...
@@ -36,8 +36,8 @@ go_library(
...
@@ -36,8 +36,8 @@ go_library(
"//pkg/util/runtime:go_default_library",
"//pkg/util/runtime:go_default_library",
"//pkg/util/sets:go_default_library",
"//pkg/util/sets:go_default_library",
"//pkg/util/sysctl:go_default_library",
"//pkg/util/sysctl:go_default_library",
"//pkg/util/version:go_default_library",
"//pkg/util/wait:go_default_library",
"//pkg/util/wait:go_default_library",
"//vendor:github.com/blang/semver",
"//vendor:github.com/golang/glog",
"//vendor:github.com/golang/glog",
"//vendor:github.com/opencontainers/runc/libcontainer/cgroups",
"//vendor:github.com/opencontainers/runc/libcontainer/cgroups",
"//vendor:github.com/opencontainers/runc/libcontainer/cgroups/fs",
"//vendor:github.com/opencontainers/runc/libcontainer/cgroups/fs",
...
...
pkg/kubelet/cm/container_manager_linux.go
View file @
c7887938
...
@@ -29,7 +29,6 @@ import (
...
@@ -29,7 +29,6 @@ import (
"sync"
"sync"
"time"
"time"
"github.com/blang/semver"
"github.com/golang/glog"
"github.com/golang/glog"
"github.com/opencontainers/runc/libcontainer/cgroups"
"github.com/opencontainers/runc/libcontainer/cgroups"
"github.com/opencontainers/runc/libcontainer/cgroups/fs"
"github.com/opencontainers/runc/libcontainer/cgroups/fs"
...
@@ -47,6 +46,7 @@ import (
...
@@ -47,6 +46,7 @@ import (
"k8s.io/kubernetes/pkg/util/runtime"
"k8s.io/kubernetes/pkg/util/runtime"
"k8s.io/kubernetes/pkg/util/sets"
"k8s.io/kubernetes/pkg/util/sets"
utilsysctl
"k8s.io/kubernetes/pkg/util/sysctl"
utilsysctl
"k8s.io/kubernetes/pkg/util/sysctl"
utilversion
"k8s.io/kubernetes/pkg/util/version"
"k8s.io/kubernetes/pkg/util/wait"
"k8s.io/kubernetes/pkg/util/wait"
)
)
...
@@ -66,7 +66,7 @@ const (
...
@@ -66,7 +66,7 @@ const (
var
(
var
(
// The docker version in which containerd was introduced.
// The docker version in which containerd was introduced.
containerdVersion
=
semver
.
MustParse
(
"1.11.0"
)
containerdVersion
=
utilversion
.
MustParseSemantic
(
"1.11.0"
)
)
)
// A non-user container tracked by the Kubelet.
// A non-user container tracked by the Kubelet.
...
@@ -632,10 +632,10 @@ func getPidsForProcess(name, pidFile string) ([]int, error) {
...
@@ -632,10 +632,10 @@ func getPidsForProcess(name, pidFile string) ([]int, error) {
// Temporarily export the function to be used by dockershim.
// Temporarily export the function to be used by dockershim.
// TODO(yujuhong): Move this function to dockershim once kubelet migrates to
// TODO(yujuhong): Move this function to dockershim once kubelet migrates to
// dockershim as the default.
// dockershim as the default.
func
EnsureDockerInContainer
(
dockerVersion
semver
.
Version
,
oomScoreAdj
int
,
manager
*
fs
.
Manager
)
error
{
func
EnsureDockerInContainer
(
dockerVersion
*
utilversion
.
Version
,
oomScoreAdj
int
,
manager
*
fs
.
Manager
)
error
{
type
process
struct
{
name
,
file
string
}
type
process
struct
{
name
,
file
string
}
dockerProcs
:=
[]
process
{{
dockerProcessName
,
dockerPidFile
}}
dockerProcs
:=
[]
process
{{
dockerProcessName
,
dockerPidFile
}}
if
dockerVersion
.
GTE
(
containerdVersion
)
{
if
dockerVersion
.
AtLeast
(
containerdVersion
)
{
dockerProcs
=
append
(
dockerProcs
,
process
{
containerdProcessName
,
containerdPidFile
})
dockerProcs
=
append
(
dockerProcs
,
process
{
containerdProcessName
,
containerdPidFile
})
}
}
var
errs
[]
error
var
errs
[]
error
...
@@ -797,17 +797,16 @@ func isKernelPid(pid int) bool {
...
@@ -797,17 +797,16 @@ func isKernelPid(pid int) bool {
}
}
// Helper for getting the docker version.
// Helper for getting the docker version.
func
getDockerVersion
(
cadvisor
cadvisor
.
Interface
)
semver
.
Version
{
func
getDockerVersion
(
cadvisor
cadvisor
.
Interface
)
*
utilversion
.
Version
{
var
fallback
semver
.
Version
// Fallback to zero-value by default.
versions
,
err
:=
cadvisor
.
VersionInfo
()
versions
,
err
:=
cadvisor
.
VersionInfo
()
if
err
!=
nil
{
if
err
!=
nil
{
glog
.
Errorf
(
"Error requesting cAdvisor VersionInfo: %v"
,
err
)
glog
.
Errorf
(
"Error requesting cAdvisor VersionInfo: %v"
,
err
)
return
fallback
return
utilversion
.
MustParseSemantic
(
"0.0.0"
)
}
}
dockerVersion
,
err
:=
semver
.
Parse
(
versions
.
DockerVersion
)
dockerVersion
,
err
:=
utilversion
.
ParseSemantic
(
versions
.
DockerVersion
)
if
err
!=
nil
{
if
err
!=
nil
{
glog
.
Errorf
(
"Error parsing docker version %q: %v"
,
versions
.
DockerVersion
,
err
)
glog
.
Errorf
(
"Error parsing docker version %q: %v"
,
versions
.
DockerVersion
,
err
)
return
fallback
return
utilversion
.
MustParseSemantic
(
"0.0.0"
)
}
}
return
dockerVersion
return
dockerVersion
}
}
pkg/kubelet/dockershim/cm/BUILD
View file @
c7887938
...
@@ -18,8 +18,8 @@ go_library(
...
@@ -18,8 +18,8 @@ go_library(
"//pkg/kubelet/cm:go_default_library",
"//pkg/kubelet/cm:go_default_library",
"//pkg/kubelet/dockertools:go_default_library",
"//pkg/kubelet/dockertools:go_default_library",
"//pkg/kubelet/qos:go_default_library",
"//pkg/kubelet/qos:go_default_library",
"//pkg/util/version:go_default_library",
"//pkg/util/wait:go_default_library",
"//pkg/util/wait:go_default_library",
"//vendor:github.com/blang/semver",
"//vendor:github.com/golang/glog",
"//vendor:github.com/golang/glog",
"//vendor:github.com/opencontainers/runc/libcontainer/cgroups/fs",
"//vendor:github.com/opencontainers/runc/libcontainer/cgroups/fs",
"//vendor:github.com/opencontainers/runc/libcontainer/configs",
"//vendor:github.com/opencontainers/runc/libcontainer/configs",
...
...
pkg/kubelet/dockershim/cm/container_manager_linux.go
View file @
c7887938
...
@@ -25,13 +25,13 @@ import (
...
@@ -25,13 +25,13 @@ import (
"strconv"
"strconv"
"time"
"time"
"github.com/blang/semver"
"github.com/golang/glog"
"github.com/golang/glog"
"github.com/opencontainers/runc/libcontainer/cgroups/fs"
"github.com/opencontainers/runc/libcontainer/cgroups/fs"
"github.com/opencontainers/runc/libcontainer/configs"
"github.com/opencontainers/runc/libcontainer/configs"
kubecm
"k8s.io/kubernetes/pkg/kubelet/cm"
kubecm
"k8s.io/kubernetes/pkg/kubelet/cm"
"k8s.io/kubernetes/pkg/kubelet/dockertools"
"k8s.io/kubernetes/pkg/kubelet/dockertools"
"k8s.io/kubernetes/pkg/kubelet/qos"
"k8s.io/kubernetes/pkg/kubelet/qos"
utilversion
"k8s.io/kubernetes/pkg/util/version"
"k8s.io/kubernetes/pkg/util/wait"
"k8s.io/kubernetes/pkg/util/wait"
)
)
...
@@ -85,7 +85,7 @@ func (m *containerManager) doWork() {
...
@@ -85,7 +85,7 @@ func (m *containerManager) doWork() {
glog
.
Errorf
(
"Unable to get docker version: %v"
,
err
)
glog
.
Errorf
(
"Unable to get docker version: %v"
,
err
)
return
return
}
}
version
,
err
:=
semver
.
Parse
(
v
.
Version
)
version
,
err
:=
utilversion
.
ParseSemantic
(
v
.
Version
)
if
err
!=
nil
{
if
err
!=
nil
{
glog
.
Errorf
(
"Unable to parse docker version %q: %v"
,
v
.
Version
,
err
)
glog
.
Errorf
(
"Unable to parse docker version %q: %v"
,
v
.
Version
,
err
)
return
return
...
...
pkg/kubelet/dockertools/BUILD
View file @
c7887938
...
@@ -62,7 +62,7 @@ go_library(
...
@@ -62,7 +62,7 @@ go_library(
"//pkg/util/sets:go_default_library",
"//pkg/util/sets:go_default_library",
"//pkg/util/strings:go_default_library",
"//pkg/util/strings:go_default_library",
"//pkg/util/term:go_default_library",
"//pkg/util/term:go_default_library",
"//
vendor:github.com/coreos/go-semver/semver
",
"//
pkg/util/version:go_default_library
",
"//vendor:github.com/docker/distribution/digest",
"//vendor:github.com/docker/distribution/digest",
"//vendor:github.com/docker/distribution/reference",
"//vendor:github.com/docker/distribution/reference",
"//vendor:github.com/docker/docker/pkg/jsonmessage",
"//vendor:github.com/docker/docker/pkg/jsonmessage",
...
...
pkg/kubelet/dockertools/docker_manager.go
View file @
c7887938
...
@@ -34,7 +34,6 @@ import (
...
@@ -34,7 +34,6 @@ import (
"sync"
"sync"
"time"
"time"
"github.com/coreos/go-semver/semver"
dockertypes
"github.com/docker/engine-api/types"
dockertypes
"github.com/docker/engine-api/types"
dockercontainer
"github.com/docker/engine-api/types/container"
dockercontainer
"github.com/docker/engine-api/types/container"
dockerstrslice
"github.com/docker/engine-api/types/strslice"
dockerstrslice
"github.com/docker/engine-api/types/strslice"
...
@@ -73,6 +72,7 @@ import (
...
@@ -73,6 +72,7 @@ import (
"k8s.io/kubernetes/pkg/util/sets"
"k8s.io/kubernetes/pkg/util/sets"
utilstrings
"k8s.io/kubernetes/pkg/util/strings"
utilstrings
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/util/term"
"k8s.io/kubernetes/pkg/util/term"
utilversion
"k8s.io/kubernetes/pkg/util/version"
)
)
const
(
const
(
...
@@ -1033,37 +1033,9 @@ func getDockerNetworkMode(container *dockertypes.ContainerJSON) string {
...
@@ -1033,37 +1033,9 @@ func getDockerNetworkMode(container *dockertypes.ContainerJSON) string {
return
""
return
""
}
}
// dockerVersion implements kubecontainer.Version interface by implementing
// Compare() and String() (which is implemented by the underlying semver.Version)
// TODO: this code is the same as rktVersion and may make sense to be moved to
// somewhere shared.
type
dockerVersion
struct
{
*
semver
.
Version
}
// newDockerVersion returns a semantically versioned docker version value
// newDockerVersion returns a semantically versioned docker version value
func
newDockerVersion
(
version
string
)
(
dockerVersion
,
error
)
{
func
newDockerVersion
(
version
string
)
(
*
utilversion
.
Version
,
error
)
{
sem
,
err
:=
semver
.
NewVersion
(
version
)
return
utilversion
.
ParseSemantic
(
version
)
return
dockerVersion
{
sem
},
err
}
func
(
r
dockerVersion
)
String
()
string
{
return
r
.
Version
.
String
()
}
func
(
r
dockerVersion
)
Compare
(
other
string
)
(
int
,
error
)
{
v
,
err
:=
newDockerVersion
(
other
)
if
err
!=
nil
{
return
-
1
,
err
}
if
r
.
LessThan
(
*
v
.
Version
)
{
return
-
1
,
nil
}
if
v
.
Version
.
LessThan
(
*
r
.
Version
)
{
return
1
,
nil
}
return
0
,
nil
}
}
// apiVersion implements kubecontainer.Version interface by implementing
// apiVersion implements kubecontainer.Version interface by implementing
...
...
pkg/kubelet/dockertools/docker_manager_test.go
View file @
c7887938
...
@@ -2117,12 +2117,14 @@ func TestDockerVersionComparison(t *testing.T) {
...
@@ -2117,12 +2117,14 @@ func TestDockerVersionComparison(t *testing.T) {
{
version
:
"1.10.4-rc1"
,
compare
:
-
1
},
{
version
:
"1.10.4-rc1"
,
compare
:
-
1
},
{
version
:
"1.11.1"
,
compare
:
-
1
},
{
version
:
"1.11.1"
,
compare
:
-
1
},
{
version
:
"1.11.1-rc4"
,
compare
:
-
1
},
{
version
:
"1.11.1-rc4"
,
compare
:
-
1
},
{
version
:
"invalid"
,
compare
:
-
1
,
err
:
true
},
{
version
:
"invalid"
,
err
:
true
},
}
{
}
{
testCase
:=
fmt
.
Sprintf
(
"test case #%d test version %q"
,
i
,
test
.
version
)
testCase
:=
fmt
.
Sprintf
(
"test case #%d test version %q"
,
i
,
test
.
version
)
res
,
err
:=
v
.
Compare
(
test
.
version
)
res
,
err
:=
v
.
Compare
(
test
.
version
)
assert
.
Equal
(
t
,
test
.
compare
,
res
,
testCase
)
assert
.
Equal
(
t
,
test
.
err
,
err
!=
nil
,
testCase
)
assert
.
Equal
(
t
,
test
.
err
,
err
!=
nil
,
testCase
)
if
!
test
.
err
{
assert
.
Equal
(
t
,
test
.
compare
,
res
,
testCase
)
}
}
}
}
}
...
...
pkg/kubelet/kuberuntime/BUILD
View file @
c7887938
...
@@ -53,7 +53,7 @@ go_library(
...
@@ -53,7 +53,7 @@ go_library(
"//pkg/util/runtime:go_default_library",
"//pkg/util/runtime:go_default_library",
"//pkg/util/selinux:go_default_library",
"//pkg/util/selinux:go_default_library",
"//pkg/util/sets:go_default_library",
"//pkg/util/sets:go_default_library",
"//
vendor:github.com/coreos/go-semver/semver
",
"//
pkg/util/version:go_default_library
",
"//vendor:github.com/docker/docker/pkg/jsonlog",
"//vendor:github.com/docker/docker/pkg/jsonlog",
"//vendor:github.com/fsnotify/fsnotify",
"//vendor:github.com/fsnotify/fsnotify",
"//vendor:github.com/golang/glog",
"//vendor:github.com/golang/glog",
...
...
pkg/kubelet/kuberuntime/kuberuntime_manager.go
View file @
c7887938
...
@@ -22,7 +22,6 @@ import (
...
@@ -22,7 +22,6 @@ import (
"os"
"os"
"time"
"time"
"github.com/coreos/go-semver/semver"
"github.com/golang/glog"
"github.com/golang/glog"
cadvisorapi
"github.com/google/cadvisor/info/v1"
cadvisorapi
"github.com/google/cadvisor/info/v1"
...
@@ -43,6 +42,7 @@ import (
...
@@ -43,6 +42,7 @@ import (
kubetypes
"k8s.io/kubernetes/pkg/types"
kubetypes
"k8s.io/kubernetes/pkg/types"
"k8s.io/kubernetes/pkg/util/flowcontrol"
"k8s.io/kubernetes/pkg/util/flowcontrol"
utilruntime
"k8s.io/kubernetes/pkg/util/runtime"
utilruntime
"k8s.io/kubernetes/pkg/util/runtime"
utilversion
"k8s.io/kubernetes/pkg/util/version"
)
)
const
(
const
(
...
@@ -202,33 +202,8 @@ func (m *kubeGenericRuntimeManager) Type() string {
...
@@ -202,33 +202,8 @@ func (m *kubeGenericRuntimeManager) Type() string {
return
m
.
runtimeName
return
m
.
runtimeName
}
}
// runtimeVersion implements kubecontainer.Version interface by implementing
func
newRuntimeVersion
(
version
string
)
(
*
utilversion
.
Version
,
error
)
{
// Compare() and String()
return
utilversion
.
ParseSemantic
(
version
)
type
runtimeVersion
struct
{
*
semver
.
Version
}
func
newRuntimeVersion
(
version
string
)
(
runtimeVersion
,
error
)
{
sem
,
err
:=
semver
.
NewVersion
(
version
)
if
err
!=
nil
{
return
runtimeVersion
{},
err
}
return
runtimeVersion
{
sem
},
nil
}
func
(
r
runtimeVersion
)
Compare
(
other
string
)
(
int
,
error
)
{
v
,
err
:=
semver
.
NewVersion
(
other
)
if
err
!=
nil
{
return
-
1
,
err
}
if
r
.
LessThan
(
*
v
)
{
return
-
1
,
nil
}
if
v
.
LessThan
(
*
r
.
Version
)
{
return
1
,
nil
}
return
0
,
nil
}
}
func
(
m
*
kubeGenericRuntimeManager
)
getTypedVersion
()
(
*
runtimeapi
.
VersionResponse
,
error
)
{
func
(
m
*
kubeGenericRuntimeManager
)
getTypedVersion
()
(
*
runtimeapi
.
VersionResponse
,
error
)
{
...
...
pkg/kubelet/rkt/BUILD
View file @
c7887938
...
@@ -47,10 +47,10 @@ go_library(
...
@@ -47,10 +47,10 @@ go_library(
"//pkg/util/strings:go_default_library",
"//pkg/util/strings:go_default_library",
"//pkg/util/term:go_default_library",
"//pkg/util/term:go_default_library",
"//pkg/util/uuid:go_default_library",
"//pkg/util/uuid:go_default_library",
"//pkg/util/version:go_default_library",
"//pkg/util/wait:go_default_library",
"//pkg/util/wait:go_default_library",
"//vendor:github.com/appc/spec/schema",
"//vendor:github.com/appc/spec/schema",
"//vendor:github.com/appc/spec/schema/types",
"//vendor:github.com/appc/spec/schema/types",
"//vendor:github.com/coreos/go-semver/semver",
"//vendor:github.com/coreos/go-systemd/dbus",
"//vendor:github.com/coreos/go-systemd/dbus",
"//vendor:github.com/coreos/go-systemd/unit",
"//vendor:github.com/coreos/go-systemd/unit",
"//vendor:github.com/coreos/rkt/api/v1alpha",
"//vendor:github.com/coreos/rkt/api/v1alpha",
...
...
pkg/kubelet/rkt/version.go
View file @
c7887938
...
@@ -20,45 +20,21 @@ import (
...
@@ -20,45 +20,21 @@ import (
"fmt"
"fmt"
"sync"
"sync"
"github.com/coreos/go-semver/semver"
rktapi
"github.com/coreos/rkt/api/v1alpha"
rktapi
"github.com/coreos/rkt/api/v1alpha"
"golang.org/x/net/context"
"golang.org/x/net/context"
utilversion
"k8s.io/kubernetes/pkg/util/version"
)
)
type
versions
struct
{
type
versions
struct
{
sync
.
RWMutex
sync
.
RWMutex
binVersion
rkt
Version
binVersion
*
utilversion
.
Version
apiVersion
rkt
Version
apiVersion
*
utilversion
.
Version
systemdVersion
systemdVersion
systemdVersion
systemdVersion
}
}
// rktVersion implementes kubecontainer.Version interface by implementing
func
newRktVersion
(
version
string
)
(
*
utilversion
.
Version
,
error
)
{
// Compare() and String() (which is implemented by the underlying semver.Version)
return
utilversion
.
ParseSemantic
(
version
)
type
rktVersion
struct
{
*
semver
.
Version
}
func
newRktVersion
(
version
string
)
(
rktVersion
,
error
)
{
sem
,
err
:=
semver
.
NewVersion
(
version
)
if
err
!=
nil
{
return
rktVersion
{},
err
}
return
rktVersion
{
sem
},
nil
}
func
(
r
rktVersion
)
Compare
(
other
string
)
(
int
,
error
)
{
v
,
err
:=
semver
.
NewVersion
(
other
)
if
err
!=
nil
{
return
-
1
,
err
}
if
r
.
LessThan
(
*
v
)
{
return
-
1
,
nil
}
if
v
.
LessThan
(
*
r
.
Version
)
{
return
1
,
nil
}
return
0
,
nil
}
}
func
(
r
*
Runtime
)
getVersions
()
error
{
func
(
r
*
Runtime
)
getVersions
()
error
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment