diff --git a/backend/local/backend.go b/backend/local/backend.go index e45eaec251..62cd71e068 100644 --- a/backend/local/backend.go +++ b/backend/local/backend.go @@ -5,7 +5,6 @@ import ( "fmt" "sync" - "github.com/hashicorp/errwrap" "github.com/hashicorp/terraform/backend" "github.com/hashicorp/terraform/helper/schema" "github.com/hashicorp/terraform/state" @@ -113,11 +112,6 @@ func (b *Local) State() (state.State, error) { PathOut: b.StateOutPath, } - // Load the state as a sanity check - if err := s.RefreshState(); err != nil { - return nil, errwrap.Wrapf("Error reading local state: {{err}}", err) - } - // If we are backing up the state, wrap it if path := b.StateBackupPath; path != "" { s = &state.BackupState{ diff --git a/command/meta_backend_test.go b/command/meta_backend_test.go index de0078164d..fc9cfb5b90 100644 --- a/command/meta_backend_test.go +++ b/command/meta_backend_test.go @@ -103,6 +103,9 @@ func TestMetaBackend_emptyWithDefaultState(t *testing.T) { if err != nil { t.Fatalf("bad: %s", err) } + if err := s.RefreshState(); err != nil { + t.Fatalf("err: %s", err) + } if actual := s.State().String(); actual != testState().String() { t.Fatalf("bad: %s", actual) } @@ -173,6 +176,9 @@ func TestMetaBackend_emptyWithExplicitState(t *testing.T) { if err != nil { t.Fatalf("bad: %s", err) } + if err := s.RefreshState(); err != nil { + t.Fatalf("err: %s", err) + } if actual := s.State().String(); actual != testState().String() { t.Fatalf("bad: %s", actual) } diff --git a/command/state_mv.go b/command/state_mv.go index 32d023232f..aea1078283 100644 --- a/command/state_mv.go +++ b/command/state_mv.go @@ -45,14 +45,14 @@ func (c *StateMvCommand) Run(args []string) int { return cli.RunResultHelp } - stateFromReal := stateFrom.State() - if stateFromReal == nil { - c.Ui.Error(fmt.Sprintf(errStateNotFound)) + if err := stateFrom.RefreshState(); err != nil { + c.Ui.Error(fmt.Sprintf("Failed to load state: %s", err)) return 1 } - if err := stateFrom.RefreshState(); err != nil { - c.Ui.Error(fmt.Sprintf("Failed to load state: %s", err)) + stateFromReal := stateFrom.State() + if stateFromReal == nil { + c.Ui.Error(fmt.Sprintf(errStateNotFound)) return 1 }