1
0
mirror of https://github.com/rancher/os.git synced 2025-08-31 22:32:14 +00:00

Fix the wrong symlinks when using the custom docker engine

This commit is contained in:
niusmallnan
2019-08-15 13:17:07 +08:00
committed by niusmallnan
parent 1893c7863b
commit 3961aa6855
3 changed files with 22 additions and 25 deletions

View File

@@ -137,7 +137,7 @@ func consoleInitFunc() error {
} }
} }
baseSymlink := symLinkEngineBinary(cfg.Rancher.Docker.Engine) baseSymlink := symLinkEngineBinary()
if _, err := os.Stat(dockerCompletionFile); err == nil { if _, err := os.Stat(dockerCompletionFile); err == nil {
baseSymlink = append(baseSymlink, symlink{ baseSymlink = append(baseSymlink, symlink{

View File

@@ -86,14 +86,15 @@ func dockerInitAction(c *cli.Context) error {
} }
cfg := config.LoadConfig() cfg := config.LoadConfig()
baseSymlink := symLinkEngineBinary(cfg.Rancher.Docker.Engine)
for _, link := range baseSymlink { for _, link := range symLinkEngineBinary() {
syscall.Unlink(link.newname) syscall.Unlink(link.newname)
if _, err := os.Stat(link.oldname); err == nil {
if err := os.Symlink(link.oldname, link.newname); err != nil { if err := os.Symlink(link.oldname, link.newname); err != nil {
log.Error(err) log.Error(err)
} }
} }
}
err = checkZfsBackingFS(cfg.Rancher.Docker.StorageDriver, cfg.Rancher.Docker.Graph) err = checkZfsBackingFS(cfg.Rancher.Docker.StorageDriver, cfg.Rancher.Docker.Graph)
if err != nil { if err != nil {

View File

@@ -10,7 +10,6 @@ import (
"github.com/rancher/os/config" "github.com/rancher/os/config"
"github.com/rancher/os/pkg/log" "github.com/rancher/os/pkg/log"
"github.com/rancher/os/pkg/util/versions"
"github.com/pkg/errors" "github.com/pkg/errors"
) )
@@ -34,30 +33,27 @@ func formatImage(image string, cfg *config.CloudConfig) string {
return image return image
} }
func symLinkEngineBinary(version string) []symlink { func symLinkEngineBinary() []symlink {
versionNum := strings.Replace(strings.Replace(version, "docker-", "", -1), "-ce", "", -1)
baseSymlink := []symlink{ baseSymlink := []symlink{
{"/usr/share/ros/os-release", "/usr/lib/os-release"},
{"/usr/share/ros/os-release", "/etc/os-release"},
{"/var/lib/rancher/engine/docker", "/usr/bin/docker"}, {"/var/lib/rancher/engine/docker", "/usr/bin/docker"},
{"/var/lib/rancher/engine/dockerd", "/usr/bin/dockerd"}, {"/var/lib/rancher/engine/dockerd", "/usr/bin/dockerd"},
{"/var/lib/rancher/engine/docker-init", "/usr/bin/docker-init"}, {"/var/lib/rancher/engine/docker-init", "/usr/bin/docker-init"},
{"/var/lib/rancher/engine/docker-proxy", "/usr/bin/docker-proxy"}, {"/var/lib/rancher/engine/docker-proxy", "/usr/bin/docker-proxy"},
{"/usr/share/ros/os-release", "/usr/lib/os-release"},
{"/usr/share/ros/os-release", "/etc/os-release"}, // >= 18.09.0
}
if versions.GreaterThanOrEqualTo(versionNum, "18.09.0") {
baseSymlink = append(baseSymlink, []symlink{
{"/var/lib/rancher/engine/containerd", "/usr/bin/containerd"}, {"/var/lib/rancher/engine/containerd", "/usr/bin/containerd"},
{"/var/lib/rancher/engine/ctr", "/usr/bin/ctr"}, {"/var/lib/rancher/engine/ctr", "/usr/bin/ctr"},
{"/var/lib/rancher/engine/containerd-shim", "/usr/bin/containerd-shim"}, {"/var/lib/rancher/engine/containerd-shim", "/usr/bin/containerd-shim"},
{"/var/lib/rancher/engine/runc", "/usr/bin/runc"}, {"/var/lib/rancher/engine/runc", "/usr/bin/runc"},
}...)
} else { // < 18.09.0
baseSymlink = append(baseSymlink, []symlink{
{"/var/lib/rancher/engine/docker-containerd", "/usr/bin/docker-containerd"}, {"/var/lib/rancher/engine/docker-containerd", "/usr/bin/docker-containerd"},
{"/var/lib/rancher/engine/docker-containerd-ctr", "/usr/bin/docker-containerd-ctr"}, {"/var/lib/rancher/engine/docker-containerd-ctr", "/usr/bin/docker-containerd-ctr"},
{"/var/lib/rancher/engine/docker-containerd-shim", "/usr/bin/docker-containerd-shim"}, {"/var/lib/rancher/engine/docker-containerd-shim", "/usr/bin/docker-containerd-shim"},
{"/var/lib/rancher/engine/docker-runc", "/usr/bin/docker-runc"}, {"/var/lib/rancher/engine/docker-runc", "/usr/bin/docker-runc"},
}...)
} }
return baseSymlink return baseSymlink
} }