Merge pull request #30 from estesp/missing-rootfs-check

Make startup errors a bit friendlier
This commit is contained in:
Alexander Morozov
2015-06-26 09:03:49 -07:00
2 changed files with 8 additions and 2 deletions

View File

@@ -82,7 +82,6 @@ func main() {
// default action is to execute a container // default action is to execute a container
app.Action = func(context *cli.Context) { app.Action = func(context *cli.Context) {
if os.Geteuid() != 0 { if os.Geteuid() != 0 {
cli.ShowAppHelp(context)
logrus.Fatal("runc should be run as root") logrus.Fatal("runc should be run as root")
} }
spec, err := loadSpec(context.Args().First()) spec, err := loadSpec(context.Args().First())
@@ -91,7 +90,7 @@ func main() {
} }
status, err := execContainer(context, spec) status, err := execContainer(context, spec)
if err != nil { if err != nil {
fatal(err) logrus.Fatalf("Container start failed: %v", err)
} }
// exit with the container's exit status so any external supervisor is // exit with the container's exit status so any external supervisor is
// notified of the exit with the correct exit status. // notified of the exit with the correct exit status.

7
run.go
View File

@@ -2,6 +2,7 @@ package main
import ( import (
"fmt" "fmt"
"os"
"github.com/Sirupsen/logrus" "github.com/Sirupsen/logrus"
"github.com/codegangsta/cli" "github.com/codegangsta/cli"
@@ -16,6 +17,12 @@ func execContainer(context *cli.Context, spec *LinuxSpec) (int, error) {
if err != nil { if err != nil {
return -1, err return -1, err
} }
if _, err := os.Stat(config.Rootfs); err != nil {
if os.IsNotExist(err) {
return -1, fmt.Errorf("Rootfs (%q) does not exist", config.Rootfs)
}
return -1, err
}
rootuid, err := config.HostUID() rootuid, err := config.HostUID()
if err != nil { if err != nil {
return -1, err return -1, err