Skip to content

Commit

Permalink
Revert "QoS Manager Framework (#590)"
Browse files Browse the repository at this point in the history
This reverts commit 0de7d7b.

Signed-off-by: Jason Liu <jasonliu747@gmail.com>
  • Loading branch information
jasonliu747 committed Sep 8, 2022
1 parent 045ab9c commit a01bfd8
Show file tree
Hide file tree
Showing 18 changed files with 0 additions and 1,120 deletions.
6 changes: 0 additions & 6 deletions cmd/koordlet/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -68,12 +68,6 @@ func main() {
os.Exit(1)
}

// Init config from ConfigMap.
if err = cfg.InitFromConfigMap(); err != nil {
klog.Error("Unable to init config from ConfigMap: ", err)
os.Exit(1)
}

d, err := agent.NewDaemon(cfg)
if err != nil {
klog.Error("Unable to setup koordlet daemon: ", err)
Expand Down
22 changes: 0 additions & 22 deletions pkg/features/koordlet_features.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,8 @@ limitations under the License.
package features

import (
"fmt"

"k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/component-base/featuregate"

slov1alpha1 "github.com/koordinator-sh/koordinator/apis/slo/v1alpha1"
)

const (
Expand Down Expand Up @@ -79,21 +75,3 @@ var (
Accelerators: {Default: false, PreRelease: featuregate.Alpha},
}
)

// IsFeatureDisabled returns whether the featuregate is disabled by nodeSLO config
func IsFeatureDisabled(nodeSLO *slov1alpha1.NodeSLO, feature featuregate.Feature) (bool, error) {
if nodeSLO == nil || nodeSLO.Spec == (slov1alpha1.NodeSLOSpec{}) {
return true, fmt.Errorf("cannot parse feature config for invalid nodeSLO %v", nodeSLO)
}

spec := nodeSLO.Spec
switch feature {
case BECPUSuppress, BEMemoryEvict, BECPUEvict:
if spec.ResourceUsedThresholdWithBE == nil || spec.ResourceUsedThresholdWithBE.Enable == nil {
return true, fmt.Errorf("cannot parse feature config for invalid nodeSLO %v", nodeSLO)
}
return !(*spec.ResourceUsedThresholdWithBE.Enable), nil
default:
return true, fmt.Errorf("cannot parse feature config for unsupported feature %s", feature)
}
}
34 changes: 0 additions & 34 deletions pkg/koordlet/common/reason/reason.go

This file was deleted.

79 changes: 0 additions & 79 deletions pkg/koordlet/common/testutil/k8s.go

This file was deleted.

22 changes: 0 additions & 22 deletions pkg/koordlet/common/types/constants.go

This file was deleted.

54 changes: 0 additions & 54 deletions pkg/koordlet/common/utils/containers.go

This file was deleted.

36 changes: 0 additions & 36 deletions pkg/koordlet/common/utils/pod.go

This file was deleted.

47 changes: 0 additions & 47 deletions pkg/koordlet/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,9 @@ limitations under the License.
package config

import (
"context"
"encoding/json"
"errors"
"flag"
"strings"

metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/rest"
cliflag "k8s.io/component-base/cli/flag"
"sigs.k8s.io/controller-runtime/pkg/client/config"
Expand All @@ -33,61 +28,44 @@ import (
"github.com/koordinator-sh/koordinator/pkg/koordlet/audit"
"github.com/koordinator-sh/koordinator/pkg/koordlet/metriccache"
"github.com/koordinator-sh/koordinator/pkg/koordlet/metricsadvisor"
qosmanagerconfig "github.com/koordinator-sh/koordinator/pkg/koordlet/qosmanager/config"
"github.com/koordinator-sh/koordinator/pkg/koordlet/reporter"
"github.com/koordinator-sh/koordinator/pkg/koordlet/resmanager"
"github.com/koordinator-sh/koordinator/pkg/koordlet/runtimehooks"
"github.com/koordinator-sh/koordinator/pkg/koordlet/statesinformer"
"github.com/koordinator-sh/koordinator/pkg/util/system"
)

const (
DefaultKoordletConfigMapNamespace = "koordinator-system"
DefaultKoordletConfigMapName = "koordlet-config"

CMKeyQoSPluginExtraConfigs = "qos-plugin-extra-configs"
)

type Configuration struct {
ConfigMapName string
ConfigMapNamesapce string
KubeRestConf *rest.Config
StatesInformerConf *statesinformer.Config
ReporterConf *reporter.Config
CollectorConf *metricsadvisor.Config
MetricCacheConf *metriccache.Config
ResManagerConf *resmanager.Config
QosManagerConf *qosmanagerconfig.Config
RuntimeHookConf *runtimehooks.Config
AuditConf *audit.Config
FeatureGates map[string]bool
}

func NewConfiguration() *Configuration {
return &Configuration{
ConfigMapName: DefaultKoordletConfigMapName,
ConfigMapNamesapce: DefaultKoordletConfigMapNamespace,
StatesInformerConf: statesinformer.NewDefaultConfig(),
ReporterConf: reporter.NewDefaultConfig(),
CollectorConf: metricsadvisor.NewDefaultConfig(),
MetricCacheConf: metriccache.NewDefaultConfig(),
ResManagerConf: resmanager.NewDefaultConfig(),
QosManagerConf: qosmanagerconfig.NewDefaultConfig(),
RuntimeHookConf: runtimehooks.NewDefaultConfig(),
AuditConf: audit.NewDefaultConfig(),
}
}

func (c *Configuration) InitFlags(fs *flag.FlagSet) {
fs.StringVar(&c.ConfigMapName, "configmap-name", DefaultKoordletConfigMapName, "determines the name the koordlet configmap uses.")
fs.StringVar(&c.ConfigMapNamesapce, "configmap-namespace", DefaultKoordletConfigMapNamespace, "determines the namespace of configmap uses.")
system.Conf.InitFlags(fs)
c.StatesInformerConf.InitFlags(fs)
c.ReporterConf.InitFlags(fs)
c.CollectorConf.InitFlags(fs)
c.MetricCacheConf.InitFlags(fs)
c.ResManagerConf.InitFlags(fs)
c.QosManagerConf.InitFlags(fs)
c.RuntimeHookConf.InitFlags(fs)
c.AuditConf.InitFlags(fs)
fs.Var(cliflag.NewMapStringBool(&c.FeatureGates), "feature-gates", "A set of key=value pairs that describe feature gates for alpha/experimental features. "+
Expand All @@ -103,28 +81,3 @@ func (c *Configuration) InitClient() error {
c.KubeRestConf = cfg
return nil
}

func (c *Configuration) InitFromConfigMap() error {
if c.KubeRestConf == nil {
return errors.New("KubeRestConf is nil")
}
cli, err := kubernetes.NewForConfig(c.KubeRestConf)
if err != nil {
return err
}
cm, err := cli.CoreV1().ConfigMaps(c.ConfigMapNamesapce).Get(context.TODO(), c.ConfigMapName, metav1.GetOptions{})
if err != nil {
return err
}

// Setup extra configs for QoS Manager.
if qosPluginExtraConfigRaw, found := cm.Data[CMKeyQoSPluginExtraConfigs]; found {
var extraConfigs map[string]string
if err = json.Unmarshal([]byte(qosPluginExtraConfigRaw), &extraConfigs); err != nil {
return err
}
c.QosManagerConf.PluginExtraConfigs = extraConfigs
}

return nil
}
Loading

0 comments on commit a01bfd8

Please sign in to comment.