mirror of
https://github.com/rancher/os.git
synced 2025-08-24 09:28:14 +00:00
print proper tips when running ros
or system-docker
without using sudo
`ros` and `system-docker` command requires user to be the root user, when we running them without using sudo, it will print the follow: [rancher@rancher ~]$ ros os list ERRO[0000] Failed to read /var/lib/rancher/conf/cloud-config.d: open /var/lib/rancher/conf/cloud-config.d: permission denied ERRO[0000] Error reading config files err=open /var/lib/rancher/conf/cloud-config.yml: permission denied files=[/var/lib/rancher/conf/cloud-config.yml] ERRO[0000] Failed [1/4] 25% ERRO[0000] Failed to load config ...... ...... FATA[0000] open /var/lib/rancher/conf/cloud-config.yml: permission denied and [rancher@rancher ~]$ system-docker restart docker Failed to kill container(docker): Cannot connect to the Docker daemon. Is the docker daemon running on this host? this patch make the tips more clear and simple. Signed-off-by: Wang Long <long.wanglong@huawei.com>
This commit is contained in:
parent
99eaf61978
commit
6617eab12f
@ -3,6 +3,7 @@ package control
|
|||||||
import (
|
import (
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
|
log "github.com/Sirupsen/logrus"
|
||||||
"github.com/codegangsta/cli"
|
"github.com/codegangsta/cli"
|
||||||
"github.com/rancher/os/config"
|
"github.com/rancher/os/config"
|
||||||
)
|
)
|
||||||
@ -15,6 +16,12 @@ func Main() {
|
|||||||
app.Version = config.VERSION
|
app.Version = config.VERSION
|
||||||
app.Author = "Rancher Labs, Inc."
|
app.Author = "Rancher Labs, Inc."
|
||||||
app.EnableBashCompletion = true
|
app.EnableBashCompletion = true
|
||||||
|
app.Before = func(c *cli.Context) error {
|
||||||
|
if os.Geteuid() != 0 {
|
||||||
|
log.Fatalf("%s: Need to be root", os.Args[0])
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
app.Commands = []cli.Command{
|
app.Commands = []cli.Command{
|
||||||
{
|
{
|
||||||
|
@ -19,6 +19,10 @@ func Main() {
|
|||||||
|
|
||||||
newEnv = append(newEnv, "DOCKER_HOST="+config.DOCKER_SYSTEM_HOST)
|
newEnv = append(newEnv, "DOCKER_HOST="+config.DOCKER_SYSTEM_HOST)
|
||||||
|
|
||||||
|
if os.Geteuid() != 0 {
|
||||||
|
log.Fatalf("%s: Need to be root", os.Args[0])
|
||||||
|
}
|
||||||
|
|
||||||
os.Args[0] = config.DOCKER_DIST_BIN
|
os.Args[0] = config.DOCKER_DIST_BIN
|
||||||
if err := syscall.Exec(os.Args[0], os.Args, newEnv); err != nil {
|
if err := syscall.Exec(os.Args[0], os.Args, newEnv); err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
|
Loading…
Reference in New Issue
Block a user