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(
"//pkg/util/runtime:go_default_library",
"//pkg/util/sets:go_default_library",
"//pkg/util/sysctl:go_default_library",
"//pkg/util/version:go_default_library",
"//pkg/util/wait:go_default_library",
"//vendor:github.com/blang/semver",
"//vendor:github.com/golang/glog",
"//vendor:github.com/opencontainers/runc/libcontainer/cgroups",
"//vendor:github.com/opencontainers/runc/libcontainer/cgroups/fs",
...
...
pkg/kubelet/cm/container_manager_linux.go
View file @
c7887938
...
...
@@ -29,7 +29,6 @@ import (
"sync"
"time"
"github.com/blang/semver"
"github.com/golang/glog"
"github.com/opencontainers/runc/libcontainer/cgroups"
"github.com/opencontainers/runc/libcontainer/cgroups/fs"
...
...
@@ -47,6 +46,7 @@ import (
"k8s.io/kubernetes/pkg/util/runtime"
"k8s.io/kubernetes/pkg/util/sets"
utilsysctl
"k8s.io/kubernetes/pkg/util/sysctl"
utilversion
"k8s.io/kubernetes/pkg/util/version"
"k8s.io/kubernetes/pkg/util/wait"
)
...
...
@@ -66,7 +66,7 @@ const (
var
(
// 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.
...
...
@@ -632,10 +632,10 @@ func getPidsForProcess(name, pidFile string) ([]int, error) {
// Temporarily export the function to be used by dockershim.
// TODO(yujuhong): Move this function to dockershim once kubelet migrates to
// 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
}
dockerProcs
:=
[]
process
{{
dockerProcessName
,
dockerPidFile
}}
if
dockerVersion
.
GTE
(
containerdVersion
)
{
if
dockerVersion
.
AtLeast
(
containerdVersion
)
{
dockerProcs
=
append
(
dockerProcs
,
process
{
containerdProcessName
,
containerdPidFile
})
}
var
errs
[]
error
...
...
@@ -797,17 +797,16 @@ func isKernelPid(pid int) bool {
}
// Helper for getting the docker version.
func
getDockerVersion
(
cadvisor
cadvisor
.
Interface
)
semver
.
Version
{
var
fallback
semver
.
Version
// Fallback to zero-value by default.
func
getDockerVersion
(
cadvisor
cadvisor
.
Interface
)
*
utilversion
.
Version
{
versions
,
err
:=
cadvisor
.
VersionInfo
()
if
err
!=
nil
{
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
{
glog
.
Errorf
(
"Error parsing docker version %q: %v"
,
versions
.
DockerVersion
,
err
)
return
fallback
return
utilversion
.
MustParseSemantic
(
"0.0.0"
)
}
return
dockerVersion
}
pkg/kubelet/dockershim/cm/BUILD
View file @
c7887938
...
...
@@ -18,8 +18,8 @@ go_library(
"//pkg/kubelet/cm:go_default_library",
"//pkg/kubelet/dockertools:go_default_library",
"//pkg/kubelet/qos:go_default_library",
"//pkg/util/version:go_default_library",
"//pkg/util/wait:go_default_library",
"//vendor:github.com/blang/semver",
"//vendor:github.com/golang/glog",
"//vendor:github.com/opencontainers/runc/libcontainer/cgroups/fs",
"//vendor:github.com/opencontainers/runc/libcontainer/configs",
...
...
pkg/kubelet/dockershim/cm/container_manager_linux.go
View file @
c7887938
...
...
@@ -25,13 +25,13 @@ import (
"strconv"
"time"
"github.com/blang/semver"
"github.com/golang/glog"
"github.com/opencontainers/runc/libcontainer/cgroups/fs"
"github.com/opencontainers/runc/libcontainer/configs"
kubecm
"k8s.io/kubernetes/pkg/kubelet/cm"
"k8s.io/kubernetes/pkg/kubelet/dockertools"
"k8s.io/kubernetes/pkg/kubelet/qos"
utilversion
"k8s.io/kubernetes/pkg/util/version"
"k8s.io/kubernetes/pkg/util/wait"
)
...
...
@@ -85,7 +85,7 @@ func (m *containerManager) doWork() {
glog
.
Errorf
(
"Unable to get docker version: %v"
,
err
)
return
}
version
,
err
:=
semver
.
Parse
(
v
.
Version
)
version
,
err
:=
utilversion
.
ParseSemantic
(
v
.
Version
)
if
err
!=
nil
{
glog
.
Errorf
(
"Unable to parse docker version %q: %v"
,
v
.
Version
,
err
)
return
...
...
pkg/kubelet/dockertools/BUILD
View file @
c7887938
...
...
@@ -62,7 +62,7 @@ go_library(
"//pkg/util/sets:go_default_library",
"//pkg/util/strings: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/reference",
"//vendor:github.com/docker/docker/pkg/jsonmessage",
...
...
pkg/kubelet/dockertools/docker_manager.go
View file @
c7887938
...
...
@@ -34,7 +34,6 @@ import (
"sync"
"time"
"github.com/coreos/go-semver/semver"
dockertypes
"github.com/docker/engine-api/types"
dockercontainer
"github.com/docker/engine-api/types/container"
dockerstrslice
"github.com/docker/engine-api/types/strslice"
...
...
@@ -73,6 +72,7 @@ import (
"k8s.io/kubernetes/pkg/util/sets"
utilstrings
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/util/term"
utilversion
"k8s.io/kubernetes/pkg/util/version"
)
const
(
...
...
@@ -1033,37 +1033,9 @@ func getDockerNetworkMode(container *dockertypes.ContainerJSON) string {
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
func
newDockerVersion
(
version
string
)
(
dockerVersion
,
error
)
{
sem
,
err
:=
semver
.
NewVersion
(
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
func
newDockerVersion
(
version
string
)
(
*
utilversion
.
Version
,
error
)
{
return
utilversion
.
ParseSemantic
(
version
)
}
// 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) {
{
version
:
"1.10.4-rc1"
,
compare
:
-
1
},
{
version
:
"1.11.1"
,
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
)
res
,
err
:=
v
.
Compare
(
test
.
version
)
assert
.
Equal
(
t
,
test
.
compare
,
res
,
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(
"//pkg/util/runtime:go_default_library",
"//pkg/util/selinux: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/fsnotify/fsnotify",
"//vendor:github.com/golang/glog",
...
...
pkg/kubelet/kuberuntime/kuberuntime_manager.go
View file @
c7887938
...
...
@@ -22,7 +22,6 @@ import (
"os"
"time"
"github.com/coreos/go-semver/semver"
"github.com/golang/glog"
cadvisorapi
"github.com/google/cadvisor/info/v1"
...
...
@@ -43,6 +42,7 @@ import (
kubetypes
"k8s.io/kubernetes/pkg/types"
"k8s.io/kubernetes/pkg/util/flowcontrol"
utilruntime
"k8s.io/kubernetes/pkg/util/runtime"
utilversion
"k8s.io/kubernetes/pkg/util/version"
)
const
(
...
...
@@ -202,33 +202,8 @@ func (m *kubeGenericRuntimeManager) Type() string {
return
m
.
runtimeName
}
// runtimeVersion implements kubecontainer.Version interface by implementing
// Compare() and String()
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
newRuntimeVersion
(
version
string
)
(
*
utilversion
.
Version
,
error
)
{
return
utilversion
.
ParseSemantic
(
version
)
}
func
(
m
*
kubeGenericRuntimeManager
)
getTypedVersion
()
(
*
runtimeapi
.
VersionResponse
,
error
)
{
...
...
pkg/kubelet/rkt/BUILD
View file @
c7887938
...
...
@@ -47,10 +47,10 @@ go_library(
"//pkg/util/strings:go_default_library",
"//pkg/util/term:go_default_library",
"//pkg/util/uuid:go_default_library",
"//pkg/util/version:go_default_library",
"//pkg/util/wait:go_default_library",
"//vendor:github.com/appc/spec/schema",
"//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/unit",
"//vendor:github.com/coreos/rkt/api/v1alpha",
...
...
pkg/kubelet/rkt/version.go
View file @
c7887938
...
...
@@ -20,45 +20,21 @@ import (
"fmt"
"sync"
"github.com/coreos/go-semver/semver"
rktapi
"github.com/coreos/rkt/api/v1alpha"
"golang.org/x/net/context"
utilversion
"k8s.io/kubernetes/pkg/util/version"
)
type
versions
struct
{
sync
.
RWMutex
binVersion
rkt
Version
apiVersion
rkt
Version
binVersion
*
utilversion
.
Version
apiVersion
*
utilversion
.
Version
systemdVersion
systemdVersion
}
// rktVersion implementes kubecontainer.Version interface by implementing
// Compare() and String() (which is implemented by the underlying semver.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
newRktVersion
(
version
string
)
(
*
utilversion
.
Version
,
error
)
{
return
utilversion
.
ParseSemantic
(
version
)
}
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