Override provider for all non-active targets

Instead of only targets with empty providers. This helps address a
problem that @soapy1 found in review where machines that failed to come
up would get stuck with the wrong provider.
This commit is contained in:
Paul Hinze 2022-05-17 16:00:38 -05:00
parent 823b6d366c
commit 88822f5a96
No known key found for this signature in database
GPG Key ID: B69DEDF2D55501C0
2 changed files with 6 additions and 3 deletions

View File

@ -68,7 +68,7 @@ func (p *Project) ActiveTargets() (activeTargets []core.Target, err error) {
if err != nil {
return nil, err
}
if st == core.CREATED {
if st.IsActive() {
activeTargets = append(activeTargets, t)
}
}
@ -302,7 +302,11 @@ func (p *Project) Target(nameOrId string, provider string) (core.Target, error)
// on lookup, but once we know for sure that any Target that exists
// already knows what its provider is, this should be able to be
// removed.
if t.target.Provider == "" && provider != "" {
st, err := t.State()
if err != nil {
return nil, err
}
if provider != "" && !st.IsActive() {
t.target.Provider = provider
}
return t, nil

View File

@ -114,7 +114,6 @@ func (t *Target) Provider() (p core.Provider, err error) {
}
// ProviderName implements core.Target
// TODO: Use actual value once provider is set on the go side
func (t *Target) ProviderName() (string, error) {
return t.target.Provider, nil
}