mirror of
https://github.com/rancher/os.git
synced 2025-07-31 06:32:09 +00:00
Show current/enabled/disabled in 'ros engine list'
This commit is contained in:
parent
a81be13f82
commit
11cf2a195b
@ -2,7 +2,9 @@ package control
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
"golang.org/x/net/context"
|
||||
|
||||
@ -15,6 +17,10 @@ import (
|
||||
"github.com/rancher/os/util/network"
|
||||
)
|
||||
|
||||
const (
|
||||
dockerDone = "/run/docker-done"
|
||||
)
|
||||
|
||||
func engineSubcommands() []cli.Command {
|
||||
return []cli.Command{
|
||||
{
|
||||
@ -107,9 +113,27 @@ func engineList(c *cli.Context) error {
|
||||
}
|
||||
sort.Strings(engines)
|
||||
|
||||
currentEngine := currentEngine()
|
||||
|
||||
for _, engine := range engines {
|
||||
fmt.Println(engine)
|
||||
if engine == currentEngine {
|
||||
fmt.Printf("current %s\n", engine)
|
||||
} else if engine == cfg.Rancher.Docker.Engine {
|
||||
fmt.Printf("enabled %s\n", engine)
|
||||
} else {
|
||||
fmt.Printf("disabled %s\n", engine)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func currentEngine() (engine string) {
|
||||
engineBytes, err := ioutil.ReadFile(dockerDone)
|
||||
if err == nil {
|
||||
engine = strings.TrimSpace(string(engineBytes))
|
||||
} else {
|
||||
log.Warnf("Failed to detect current Docker engine: %v", err)
|
||||
}
|
||||
return
|
||||
}
|
@ -10,12 +10,14 @@ import (
|
||||
"time"
|
||||
|
||||
log "github.com/Sirupsen/logrus"
|
||||
"github.com/rancher/os/config"
|
||||
"github.com/rancher/os/util"
|
||||
)
|
||||
|
||||
const (
|
||||
consoleDone = "/run/console-done"
|
||||
dockerConf = "/var/lib/rancher/conf/docker"
|
||||
dockerDone = "/run/docker-done"
|
||||
dockerLog = "/var/log/docker.log"
|
||||
)
|
||||
|
||||
@ -80,6 +82,12 @@ func Main() {
|
||||
args = append(args, os.Getenv("DOCKER_OPTS"))
|
||||
}
|
||||
|
||||
cfg := config.LoadConfig()
|
||||
|
||||
if err := ioutil.WriteFile(dockerDone, []byte(cfg.Rancher.Docker.Engine), 0644); err != nil {
|
||||
log.Error(err)
|
||||
}
|
||||
|
||||
log.Fatal(syscall.Exec("/usr/bin/dockerlaunch", args, os.Environ()))
|
||||
}
|
||||
|
||||
|
@ -68,7 +68,7 @@ func projectReload(p *project.Project, useNetwork *bool, loadConsole bool, envir
|
||||
}
|
||||
}
|
||||
|
||||
if cfg.Rancher.Docker.Engine != "" {
|
||||
if cfg.Rancher.Docker.Engine != "" && cfg.Rancher.Docker.Engine != cfg.Rancher.Defaults.Docker.Engine {
|
||||
p.ServiceConfigs.Add("docker", &composeConfig.ServiceConfig{})
|
||||
if err := LoadService(p, cfg, *useNetwork, cfg.Rancher.Docker.Engine); err != nil && err != network.ErrNoNetwork {
|
||||
log.Error(err)
|
||||
|
@ -172,6 +172,7 @@ type CloudInit struct {
|
||||
|
||||
type Defaults struct {
|
||||
Hostname string `yaml:"hostname,omitempty"`
|
||||
Docker DockerConfig `yaml:"docker,omitempty"`
|
||||
Network netconf.NetworkConfig `yaml:"network,omitempty"`
|
||||
}
|
||||
|
||||
|
@ -4,6 +4,8 @@ rancher:
|
||||
SUFFIX: {{.SUFFIX}}
|
||||
defaults:
|
||||
hostname: {{.HOSTNAME_DEFAULT}}
|
||||
docker:
|
||||
engine: docker-1.11.2
|
||||
network:
|
||||
dns:
|
||||
nameservers: [8.8.8.8, 8.8.4.4]
|
||||
@ -382,6 +384,7 @@ rancher:
|
||||
url: {{.OS_RELEASES_YML}}/releases{{.SUFFIX}}.yml
|
||||
image: {{.OS_REPO}}/os
|
||||
docker:
|
||||
engine: docker-1.11.2
|
||||
tls_args: [--tlsverify, --tlscacert=/etc/docker/tls/ca.pem, --tlscert=/etc/docker/tls/server-cert.pem, --tlskey=/etc/docker/tls/server-key.pem,
|
||||
'-H=0.0.0.0:2376']
|
||||
args: [daemon, --log-opt, max-size=25m, --log-opt, max-file=2, -s, overlay, -G, docker, -H, 'unix:///var/run/docker.sock']
|
||||
|
@ -10,6 +10,8 @@ func (s *QemuSuite) TestCustomDocker(c *C) {
|
||||
set -ex
|
||||
|
||||
docker version | grep 1.10.3
|
||||
|
||||
sudo ros engine list | grep 1.10.3 | grep current
|
||||
docker run -d --restart=always nginx
|
||||
docker ps | grep nginx`)
|
||||
|
||||
@ -19,6 +21,7 @@ set -ex
|
||||
sudo ros engine switch docker-1.11.2
|
||||
/usr/sbin/wait-for-docker
|
||||
docker version | grep 1.11.2
|
||||
sudo ros engine list | grep 1.11.2 | grep current
|
||||
docker ps | grep nginx`)
|
||||
|
||||
s.Reboot(c)
|
||||
@ -27,6 +30,7 @@ docker ps | grep nginx`)
|
||||
set -ex
|
||||
|
||||
docker version | grep 1.11.2
|
||||
sudo ros engine list | grep 1.11.2 | grep current
|
||||
docker ps | grep nginx`)
|
||||
}
|
||||
|
||||
@ -39,6 +43,7 @@ set -ex
|
||||
|
||||
apt-get --version
|
||||
docker version | grep 1.10.3
|
||||
sudo ros engine list | grep 1.10.3 | grep current
|
||||
docker run -d --restart=always nginx
|
||||
docker ps | grep nginx`)
|
||||
|
||||
@ -48,6 +53,7 @@ set -ex
|
||||
sudo ros engine switch docker-1.11.2
|
||||
/usr/sbin/wait-for-docker
|
||||
docker version | grep 1.11.2
|
||||
sudo ros engine list | grep 1.11.2 | grep current
|
||||
docker ps | grep nginx`)
|
||||
|
||||
s.Reboot(c)
|
||||
@ -56,5 +62,6 @@ docker ps | grep nginx`)
|
||||
set -ex
|
||||
|
||||
docker version | grep 1.11.2
|
||||
sudo ros engine list | grep 1.11.2 | grep current
|
||||
docker ps | grep nginx`)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user