mirror of
https://github.com/rancher/os.git
synced 2025-08-01 23:17:50 +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 (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io/ioutil"
|
||||||
"sort"
|
"sort"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"golang.org/x/net/context"
|
"golang.org/x/net/context"
|
||||||
|
|
||||||
@ -15,6 +17,10 @@ import (
|
|||||||
"github.com/rancher/os/util/network"
|
"github.com/rancher/os/util/network"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
dockerDone = "/run/docker-done"
|
||||||
|
)
|
||||||
|
|
||||||
func engineSubcommands() []cli.Command {
|
func engineSubcommands() []cli.Command {
|
||||||
return []cli.Command{
|
return []cli.Command{
|
||||||
{
|
{
|
||||||
@ -107,9 +113,27 @@ func engineList(c *cli.Context) error {
|
|||||||
}
|
}
|
||||||
sort.Strings(engines)
|
sort.Strings(engines)
|
||||||
|
|
||||||
|
currentEngine := currentEngine()
|
||||||
|
|
||||||
for _, engine := range engines {
|
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
|
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"
|
"time"
|
||||||
|
|
||||||
log "github.com/Sirupsen/logrus"
|
log "github.com/Sirupsen/logrus"
|
||||||
|
"github.com/rancher/os/config"
|
||||||
"github.com/rancher/os/util"
|
"github.com/rancher/os/util"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
consoleDone = "/run/console-done"
|
consoleDone = "/run/console-done"
|
||||||
dockerConf = "/var/lib/rancher/conf/docker"
|
dockerConf = "/var/lib/rancher/conf/docker"
|
||||||
|
dockerDone = "/run/docker-done"
|
||||||
dockerLog = "/var/log/docker.log"
|
dockerLog = "/var/log/docker.log"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -80,6 +82,12 @@ func Main() {
|
|||||||
args = append(args, os.Getenv("DOCKER_OPTS"))
|
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()))
|
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{})
|
p.ServiceConfigs.Add("docker", &composeConfig.ServiceConfig{})
|
||||||
if err := LoadService(p, cfg, *useNetwork, cfg.Rancher.Docker.Engine); err != nil && err != network.ErrNoNetwork {
|
if err := LoadService(p, cfg, *useNetwork, cfg.Rancher.Docker.Engine); err != nil && err != network.ErrNoNetwork {
|
||||||
log.Error(err)
|
log.Error(err)
|
||||||
|
@ -172,6 +172,7 @@ type CloudInit struct {
|
|||||||
|
|
||||||
type Defaults struct {
|
type Defaults struct {
|
||||||
Hostname string `yaml:"hostname,omitempty"`
|
Hostname string `yaml:"hostname,omitempty"`
|
||||||
|
Docker DockerConfig `yaml:"docker,omitempty"`
|
||||||
Network netconf.NetworkConfig `yaml:"network,omitempty"`
|
Network netconf.NetworkConfig `yaml:"network,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,6 +4,8 @@ rancher:
|
|||||||
SUFFIX: {{.SUFFIX}}
|
SUFFIX: {{.SUFFIX}}
|
||||||
defaults:
|
defaults:
|
||||||
hostname: {{.HOSTNAME_DEFAULT}}
|
hostname: {{.HOSTNAME_DEFAULT}}
|
||||||
|
docker:
|
||||||
|
engine: docker-1.11.2
|
||||||
network:
|
network:
|
||||||
dns:
|
dns:
|
||||||
nameservers: [8.8.8.8, 8.8.4.4]
|
nameservers: [8.8.8.8, 8.8.4.4]
|
||||||
@ -382,6 +384,7 @@ rancher:
|
|||||||
url: {{.OS_RELEASES_YML}}/releases{{.SUFFIX}}.yml
|
url: {{.OS_RELEASES_YML}}/releases{{.SUFFIX}}.yml
|
||||||
image: {{.OS_REPO}}/os
|
image: {{.OS_REPO}}/os
|
||||||
docker:
|
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,
|
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']
|
'-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']
|
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
|
set -ex
|
||||||
|
|
||||||
docker version | grep 1.10.3
|
docker version | grep 1.10.3
|
||||||
|
|
||||||
|
sudo ros engine list | grep 1.10.3 | grep current
|
||||||
docker run -d --restart=always nginx
|
docker run -d --restart=always nginx
|
||||||
docker ps | grep nginx`)
|
docker ps | grep nginx`)
|
||||||
|
|
||||||
@ -19,6 +21,7 @@ set -ex
|
|||||||
sudo ros engine switch docker-1.11.2
|
sudo ros engine switch docker-1.11.2
|
||||||
/usr/sbin/wait-for-docker
|
/usr/sbin/wait-for-docker
|
||||||
docker version | grep 1.11.2
|
docker version | grep 1.11.2
|
||||||
|
sudo ros engine list | grep 1.11.2 | grep current
|
||||||
docker ps | grep nginx`)
|
docker ps | grep nginx`)
|
||||||
|
|
||||||
s.Reboot(c)
|
s.Reboot(c)
|
||||||
@ -27,6 +30,7 @@ docker ps | grep nginx`)
|
|||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
docker version | grep 1.11.2
|
docker version | grep 1.11.2
|
||||||
|
sudo ros engine list | grep 1.11.2 | grep current
|
||||||
docker ps | grep nginx`)
|
docker ps | grep nginx`)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,6 +43,7 @@ set -ex
|
|||||||
|
|
||||||
apt-get --version
|
apt-get --version
|
||||||
docker version | grep 1.10.3
|
docker version | grep 1.10.3
|
||||||
|
sudo ros engine list | grep 1.10.3 | grep current
|
||||||
docker run -d --restart=always nginx
|
docker run -d --restart=always nginx
|
||||||
docker ps | grep nginx`)
|
docker ps | grep nginx`)
|
||||||
|
|
||||||
@ -48,6 +53,7 @@ set -ex
|
|||||||
sudo ros engine switch docker-1.11.2
|
sudo ros engine switch docker-1.11.2
|
||||||
/usr/sbin/wait-for-docker
|
/usr/sbin/wait-for-docker
|
||||||
docker version | grep 1.11.2
|
docker version | grep 1.11.2
|
||||||
|
sudo ros engine list | grep 1.11.2 | grep current
|
||||||
docker ps | grep nginx`)
|
docker ps | grep nginx`)
|
||||||
|
|
||||||
s.Reboot(c)
|
s.Reboot(c)
|
||||||
@ -56,5 +62,6 @@ docker ps | grep nginx`)
|
|||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
docker version | grep 1.11.2
|
docker version | grep 1.11.2
|
||||||
|
sudo ros engine list | grep 1.11.2 | grep current
|
||||||
docker ps | grep nginx`)
|
docker ps | grep nginx`)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user