Skip to content

Commit

Permalink
fix: inject register-center version and gorm query condition
Browse files Browse the repository at this point in the history
Signed-off-by: CeerDecy <[email protected]>
  • Loading branch information
CeerDecy committed Sep 20, 2024
1 parent a07df58 commit e66dd72
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 2 deletions.
2 changes: 1 addition & 1 deletion internal/tools/orchestrator/dbclient/addon_instance.go
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ func (db *DBClient) GetAddonInstance(id string) (*AddonInstance, error) {

func (db *DBClient) GetAddonInstanceByNameAndCluster(addonName, cluster string) (*AddonInstance, error) {
var instance AddonInstance
if err := db.Where("name = ?", addonName).
if err := db.Where("addon_name = ?", addonName).

Check warning on line 119 in internal/tools/orchestrator/dbclient/addon_instance.go

View check run for this annotation

Codecov / codecov/patch

internal/tools/orchestrator/dbclient/addon_instance.go#L119

Added line #L119 was not covered by tests
Where("az = ?", cluster).
Where("is_deleted = ?", apistructs.AddonNotDeleted).
First(&instance).Error; err != nil {
Expand Down
31 changes: 30 additions & 1 deletion internal/tools/orchestrator/services/addon/addon.go
Original file line number Diff line number Diff line change
Expand Up @@ -321,9 +321,13 @@ func (a *Addon) BatchCreate(req *apistructs.AddonCreateRequest) error {
}

var hasRegister, hasConfig bool
for _, addon := range req.Addons {
for i, addon := range req.Addons {

Check warning on line 324 in internal/tools/orchestrator/services/addon/addon.go

View check run for this annotation

Codecov / codecov/patch

internal/tools/orchestrator/services/addon/addon.go#L324

Added line #L324 was not covered by tests
if addon.Type == RegisterCenterAddon {
hasRegister = true
err = a.injectVersion(&req.Addons[i])
if err != nil {
return errors.Wrapf(err, "inject version to [%s] error ", addon.Type)

Check warning on line 329 in internal/tools/orchestrator/services/addon/addon.go

View check run for this annotation

Codecov / codecov/patch

internal/tools/orchestrator/services/addon/addon.go#L327-L329

Added lines #L327 - L329 were not covered by tests
}
}
if addon.Type == ConfigCenterAddon {
hasConfig = true
Expand Down Expand Up @@ -3880,3 +3884,28 @@ func (a *Addon) CheckDeployCondition(addonName, addonPlan, workspace string) (bo
//}
return true, nil
}

func (a *Addon) injectVersion(addon *apistructs.AddonCreateItem) error {
if addon.Options == nil {
addon.Options = make(map[string]string)

Check warning on line 3890 in internal/tools/orchestrator/services/addon/addon.go

View check run for this annotation

Codecov / codecov/patch

internal/tools/orchestrator/services/addon/addon.go#L3888-L3890

Added lines #L3888 - L3890 were not covered by tests
}
if v, ok := addon.Options["Version"]; ok && v != "" {
return nil

Check warning on line 3893 in internal/tools/orchestrator/services/addon/addon.go

View check run for this annotation

Codecov / codecov/patch

internal/tools/orchestrator/services/addon/addon.go#L3892-L3893

Added lines #L3892 - L3893 were not covered by tests
}

versionMap, err := GetCache().Get(addon.Type)
if err != nil {
return fmt.Errorf("can't get addon [%s] from cache, %v", addon.Type, err)

Check warning on line 3898 in internal/tools/orchestrator/services/addon/addon.go

View check run for this annotation

Codecov / codecov/patch

internal/tools/orchestrator/services/addon/addon.go#L3896-L3898

Added lines #L3896 - L3898 were not covered by tests
}
addons, ok := versionMap.(*VersionMap)
if !ok {
return fmt.Errorf("can't convert to VersionMap")

Check warning on line 3902 in internal/tools/orchestrator/services/addon/addon.go

View check run for this annotation

Codecov / codecov/patch

internal/tools/orchestrator/services/addon/addon.go#L3900-L3902

Added lines #L3900 - L3902 were not covered by tests
}
defaultAddon, ok := addons.GetDefault()
if !ok {
return fmt.Errorf("there are no default addons [%s]", addon.Type)

Check warning on line 3906 in internal/tools/orchestrator/services/addon/addon.go

View check run for this annotation

Codecov / codecov/patch

internal/tools/orchestrator/services/addon/addon.go#L3904-L3906

Added lines #L3904 - L3906 were not covered by tests
}

addon.Options["Version"] = defaultAddon.Version
return nil

Check warning on line 3910 in internal/tools/orchestrator/services/addon/addon.go

View check run for this annotation

Codecov / codecov/patch

internal/tools/orchestrator/services/addon/addon.go#L3909-L3910

Added lines #L3909 - L3910 were not covered by tests
}

0 comments on commit e66dd72

Please sign in to comment.