func()

in scheduler/client/cli/sched_alg_params.go [116:168]


func (s *setLbsSchedAlgParams) Run(cl *client.SimpleClient, cmd *cobra.Command, args []string) error {
	log.Info("Setting Scheduling Algorithm Parameters", args)

	if s.RebalanceMinimumDuration > -1 {
		err := cl.ScootClient.SetRebalanceMinimumDuration(int32(s.RebalanceMinimumDuration))
		if err != nil {
			log.Errorf("%s", err)
			return err
		}
	}
	if s.RebalanceThreshold > -1 {
		err := cl.ScootClient.SetRebalanceThreshold(int32(s.RebalanceThreshold))
		if err != nil {
			log.Errorf("%s", err)
			return err
		}
	}

	if s.clpFilePath != "" {
		content, err := s.readSettingsFile(s.clpFilePath)
		if err != nil {
			log.Errorf("%s", err)
			return err
		}
		err = json.Unmarshal(content, &s.ClassLoadPercents)
		if err != nil {
			log.Errorf("%s", err)
			return err
		}
		err = cl.ScootClient.SetClassLoadPercents(s.ClassLoadPercents)
		if err != nil {
			log.Errorf("%s", err)
			return err
		}
	}

	if s.reqMapFilePath != "" {
		content, err := s.readSettingsFile(s.reqMapFilePath)
		if err != nil {
			return err
		}
		err = json.Unmarshal(content, &s.RequestorMap)
		if err != nil {
			return err
		}
		cl.ScootClient.SetRequestorToClassMap(s.RequestorMap)
		if err != nil {
			log.Errorf("%s", err)
			return err
		}
	}
	return nil
}