state: cache should use State.Equal to check equality

reflect.DeepEqual was returning false, sometimes.
This commit is contained in:
Mitchell Hashimoto 2015-04-07 15:03:04 -07:00
parent c9fe0c1b34
commit 1fac7b6488
3 changed files with 7 additions and 5 deletions

View File

@ -1,6 +1,9 @@
## 0.4.1 (unreleased) ## 0.4.1 (unreleased)
BUG FIXES:
* command/remote-config: remove spurrious error "nil" when initializing
remote state on a new configuration. [GH-1392]
## 0.4.0 (April 2, 2015) ## 0.4.0 (April 2, 2015)

View File

@ -255,8 +255,8 @@ func remoteState(
"Error preparing remote state: {{err}}", err) "Error preparing remote state: {{err}}", err)
} }
default: default:
return nil, errwrap.Wrapf( return nil, fmt.Errorf(
"Error initilizing remote state: {{err}}", err) "Unknown refresh result: %s", cache.RefreshResult())
} }
} }

View File

@ -2,7 +2,6 @@ package state
import ( import (
"fmt" "fmt"
"reflect"
"github.com/hashicorp/terraform/terraform" "github.com/hashicorp/terraform/terraform"
) )
@ -77,7 +76,7 @@ func (s *CacheState) RefreshState() error {
s.refreshResult = CacheRefreshUpdateLocal s.refreshResult = CacheRefreshUpdateLocal
case durable.Serial == cached.Serial: case durable.Serial == cached.Serial:
// They're supposedly equal, verify. // They're supposedly equal, verify.
if reflect.DeepEqual(cached, durable) { if cached.Equal(durable) {
// Hashes are the same, everything is great // Hashes are the same, everything is great
s.refreshResult = CacheRefreshNoop s.refreshResult = CacheRefreshNoop
break break