Skip to content

Commit 1180398

Browse files
committed
fix: remove useless options from configmap
1 parent 39e6dc0 commit 1180398

3 files changed

Lines changed: 23 additions & 3 deletions

File tree

pkg/manager/component/component.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ import (
3535
"k8s.io/client-go/tools/cache"
3636
"k8s.io/klog"
3737

38-
"yunion.io/x/jsonutils"
3938
"yunion.io/x/log"
4039
errorswrap "yunion.io/x/pkg/errors"
4140
"yunion.io/x/pkg/utils"
@@ -49,6 +48,7 @@ import (
4948
"yunion.io/x/onecloud-operator/pkg/manager"
5049
"yunion.io/x/onecloud-operator/pkg/service-init/component"
5150
"yunion.io/x/onecloud-operator/pkg/util/k8sutil"
51+
"yunion.io/x/onecloud-operator/pkg/util/onecloud"
5252
)
5353

5454
type ComponentManager struct {
@@ -638,7 +638,7 @@ func (m *ComponentManager) newConfigMap(componentType v1alpha1.ComponentType, zo
638638
}
639639

640640
func (m *ComponentManager) newServiceConfigMap(cType v1alpha1.ComponentType, zone string, oc *v1alpha1.OnecloudCluster, opt interface{}) *corev1.ConfigMap {
641-
configYaml := jsonutils.Marshal(opt).YAMLString()
641+
configYaml := onecloud.GetConfig(opt).YAMLString()
642642
return m.newConfigMap(cType, zone, oc, configYaml)
643643
}
644644

pkg/service-init/component/prepare.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
"yunion.io/x/onecloud-operator/pkg/controller"
1515
"yunion.io/x/onecloud-operator/pkg/manager/config"
1616
"yunion.io/x/onecloud-operator/pkg/service-init/cluster"
17+
"yunion.io/x/onecloud-operator/pkg/util/onecloud"
1718
)
1819

1920
type PrepareManager interface {
@@ -283,7 +284,7 @@ func (m *prepareManager) syncComponentConfig(
283284
case string:
284285
optContent = opt.(string)
285286
default:
286-
optContent = jsonutils.Marshal(opt).YAMLString()
287+
optContent = onecloud.GetConfig(opt).YAMLString()
287288
}
288289
if err := os.WriteFile(
289290
cfgFilePath,

pkg/util/onecloud/onecloud.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ package onecloud
1616

1717
import (
1818
"net/http"
19+
"reflect"
1920
"strings"
2021

2122
"golang.org/x/sync/errgroup"
@@ -24,9 +25,11 @@ import (
2425
"yunion.io/x/log"
2526
"yunion.io/x/pkg/errors"
2627
"yunion.io/x/pkg/util/httputils"
28+
"yunion.io/x/pkg/utils"
2729

2830
ansibleapi "yunion.io/x/onecloud/pkg/apis/ansible"
2931
devtoolapi "yunion.io/x/onecloud/pkg/apis/devtool"
32+
identityapi "yunion.io/x/onecloud/pkg/apis/identity"
3033
monitorapi "yunion.io/x/onecloud/pkg/apis/monitor"
3134
"yunion.io/x/onecloud/pkg/mcclient"
3235
"yunion.io/x/onecloud/pkg/mcclient/modulebase"
@@ -888,3 +891,19 @@ func EnsureAgentAnsiblePlaybookRef(s *mcclient.ClientSession) error {
888891
}
889892
return nil
890893
}
894+
895+
func GetConfig(opt interface{}) *jsonutils.JSONDict {
896+
config := jsonutils.Marshal(opt).(*jsonutils.JSONDict)
897+
rv := reflect.Indirect(reflect.ValueOf(opt))
898+
for _, k := range []string{"BaseOptions", "DBOptions"} {
899+
if !rv.FieldByName(k).IsValid() {
900+
return config
901+
}
902+
}
903+
for _, k := range config.SortedKeys() {
904+
if !utils.IsInArray(k, identityapi.ServiceBlacklistOptionMap["default"]) {
905+
config.Remove(k)
906+
}
907+
}
908+
return config
909+
}

0 commit comments

Comments
 (0)