always load instance state when -refresh=false
The loading of the initial instance state was inadvertently skipped when -refresh=false, causing all resources to appear to be missing from the state during plan.
This commit is contained in:
parent
a7e43dfd46
commit
ac526d8d5d
|
@ -6403,12 +6403,18 @@ resource "test_instance" "a" {
|
||||||
SkipRefresh: true,
|
SkipRefresh: true,
|
||||||
})
|
})
|
||||||
|
|
||||||
_, diags := ctx.Plan()
|
plan, diags := ctx.Plan()
|
||||||
assertNoErrors(t, diags)
|
assertNoErrors(t, diags)
|
||||||
|
|
||||||
if p.ReadResourceCalled {
|
if p.ReadResourceCalled {
|
||||||
t.Fatal("Resource should not have been refreshed")
|
t.Fatal("Resource should not have been refreshed")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for _, c := range plan.Changes.Resources {
|
||||||
|
if c.Action != plans.NoOp {
|
||||||
|
t.Fatalf("expected no changes, got %s for %q", c.Action, c.Addr)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestContext2Plan_dataInModuleDependsOn(t *testing.T) {
|
func TestContext2Plan_dataInModuleDependsOn(t *testing.T) {
|
||||||
|
|
|
@ -146,24 +146,23 @@ func (n *NodePlannableResourceInstance) managedResourceExecute(ctx EvalContext,
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
instanceRefreshState, err = n.ReadResourceInstanceState(ctx, addr)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
refreshLifecycle := &EvalRefreshLifecycle{
|
||||||
|
Addr: addr,
|
||||||
|
Config: n.Config,
|
||||||
|
State: &instanceRefreshState,
|
||||||
|
ForceCreateBeforeDestroy: n.ForceCreateBeforeDestroy,
|
||||||
|
}
|
||||||
|
_, err = refreshLifecycle.Eval(ctx)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
// Refresh, maybe
|
// Refresh, maybe
|
||||||
if !skipRefresh {
|
if !skipRefresh {
|
||||||
instanceRefreshState, err = n.ReadResourceInstanceState(ctx, addr)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
refreshLifecycle := &EvalRefreshLifecycle{
|
|
||||||
Addr: addr,
|
|
||||||
Config: n.Config,
|
|
||||||
State: &instanceRefreshState,
|
|
||||||
ForceCreateBeforeDestroy: n.ForceCreateBeforeDestroy,
|
|
||||||
}
|
|
||||||
_, err = refreshLifecycle.Eval(ctx)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
refresh := &EvalRefresh{
|
refresh := &EvalRefresh{
|
||||||
Addr: addr.Resource,
|
Addr: addr.Resource,
|
||||||
ProviderAddr: n.ResolvedProvider,
|
ProviderAddr: n.ResolvedProvider,
|
||||||
|
|
Loading…
Reference in New Issue