diff --git a/commands/commands.go b/commands/commands.go index c835e54ce0..4aec6643c0 100644 --- a/commands/commands.go +++ b/commands/commands.go @@ -113,7 +113,7 @@ func listHosts(store persist.Store) ([]*host.Host, error) { for _, h := range hosts { d, err := newPluginDriver(h.DriverName, h.RawDriver) if err != nil { - return nil, fmt.Errorf("Error attempting to invoke binary for plugin: %s", err) + return nil, fmt.Errorf("Error attempting to invoke binary for plugin '%s': %s", h.DriverName, err) } h.Driver = d diff --git a/libmachine/host/migrate_v2_v3.go b/libmachine/host/migrate_v2_v3.go index 08a4c01769..4786025830 100644 --- a/libmachine/host/migrate_v2_v3.go +++ b/libmachine/host/migrate_v2_v3.go @@ -1,6 +1,7 @@ package host import ( + "bytes" "encoding/json" "github.com/docker/machine/libmachine/log" @@ -22,7 +23,9 @@ func MigrateHostV2ToHostV3(hostV2 *HostV2, data []byte, storePath string) *Host // Must migrate to include store path in driver since it was not // previously stored in drivers directly - if err := json.Unmarshal(*rawHost.Driver, &m); err != nil { + d := json.NewDecoder(bytes.NewReader(*rawHost.Driver)) + d.UseNumber() + if err := d.Decode(&m); err != nil { log.Warnf("Could not unmarshal raw host into map[string]interface{}: %s", err) }