diff --git a/util/display/messages.go b/util/display/messages.go index 3b4a8648..1af1629b 100644 --- a/util/display/messages.go +++ b/util/display/messages.go @@ -199,3 +199,16 @@ func LoginComplete() { %s You've successfully logged in `, TaskComplete)) } + +func NetworkCreateError() { + os.Stderr.WriteString(` +Nanobox is trying to create a native docker network, and it +looks like we have a conflict. An existing docker network is +already using the DEFAULT_NETWORK address space. + +You will need to either remove the conflicting network, or set +an alternative address space with the following: + +nanobox COMMAND TO SET NEW ADDRESS SPACE +`) +} \ No newline at end of file diff --git a/util/provider/native.go b/util/provider/native.go index 255d07df..3fa151d0 100644 --- a/util/provider/native.go +++ b/util/provider/native.go @@ -10,7 +10,6 @@ import ( "strings" "github.com/jcelliott/lumber" - "github.com/nanobox-io/nanobox-golang-stylish" "github.com/nanobox-io/nanobox/models" "github.com/nanobox-io/nanobox/util/config" @@ -99,7 +98,7 @@ func (native Native) Destroy() error { // TODO: remove nanobox images if native.hasNetwork() { - fmt.Print(stylish.Bullet("Removing custom docker network...")) + display.StartTask("Removing custom docker network...") cmd := exec.Command("docker", "network", "rm", "nanobox") @@ -107,8 +106,10 @@ func (native Native) Destroy() error { cmd.Stderr = display.NewStreamer(" ") if err := cmd.Run(); err != nil { + display.ErrorTask() return err } + display.StopTask() } return nil @@ -119,7 +120,7 @@ func (native Native) Start() error { // TODO: some networking maybe??? if !native.hasNetwork() { - fmt.Print(stylish.Bullet("Setting up custom docker network...")) + display.StartTask("Setting up custom docker network...") config, _ := models.LoadConfig() ip, ipNet, err := net.ParseCIDR(config.NativeNetworkSpace) @@ -133,8 +134,11 @@ func (native Native) Start() error { cmd.Stderr = display.NewStreamer(" ") if err := cmd.Run(); err != nil { + display.ErrorTask() + display.NetworkCreateError() return err } + display.StopTask() } return nil