From 6af6fc444d99239839c6706894eb02109a76dc80 Mon Sep 17 00:00:00 2001 From: Jeff Ortel Date: Wed, 12 Jun 2024 09:32:54 -0700 Subject: [PATCH] Addon selected when kind specified even when addon defined. The kind takes precidence. Signed-off-by: Jeff Ortel --- task/manager.go | 56 ++++++++++++++++++++++++------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/task/manager.go b/task/manager.go index 459657435..a0d85c3f4 100644 --- a/task/manager.go +++ b/task/manager.go @@ -431,41 +431,41 @@ func (m *Manager) selectAddons(list []*Task) (kept []*Task, err error) { // selectAddon select an addon when not specified. func (m *Manager) selectAddon(task *Task) (addon *crd.Addon, err error) { - if task.Addon != "" { - found := false - addon, found = m.cluster.addons[task.Addon] + if task.Kind != "" { + kind, found := m.cluster.tasks[task.Kind] if !found { - err = &AddonNotFound{task.Addon} - } - return - } - kind, found := m.cluster.tasks[task.Kind] - if !found { - err = &KindNotFound{task.Kind} - return - } - matched := false - var selected *crd.Addon - selector := NewSelector(m.DB, task) - for _, addon = range m.cluster.addons { - if addon.Spec.Task != kind.Name { - continue - } - matched, err = selector.Match(addon.Spec.Selector) - if err != nil { + err = &KindNotFound{task.Kind} return } - if matched { - selected = addon - break + matched := false + var selected *crd.Addon + selector := NewSelector(m.DB, task) + for _, addon = range m.cluster.addons { + if addon.Spec.Task != kind.Name { + continue + } + matched, err = selector.Match(addon.Spec.Selector) + if err != nil { + return + } + if matched { + selected = addon + break + } + } + if selected != nil { + task.Addon = selected.Name + task.Event(AddonSelected, selected) } } - if selected == nil { - err = &AddonNotSelected{} + if task.Addon != "" { + _, found := m.cluster.addons[task.Addon] + if !found { + err = &AddonNotFound{task.Addon} + } return } - task.Addon = selected.Name - task.Event(AddonSelected, selected) + err = &AddonNotSelected{} return }