func (s *Scheduler) StopCluster(clusterModel *state.ClusterModel) error { plan, err := s.newPlan(clusterModel, structs.ClusterFeatures{NodeCount: 0}) if err != nil { return err } s.logger.Info("scheduler.stop-cluster", lager.Data{ "instance-id": clusterModel.InstanceID(), "plan": plan, "steps-count": len(plan.steps()), "steps": plan.stepTypes(), }) return s.executePlan(clusterModel, plan) }
func (s *Scheduler) RunCluster(clusterModel *state.ClusterModel, features structs.ClusterFeatures) (err error) { err = s.VerifyClusterFeatures(features) if err != nil { return } plan, err := s.newPlan(clusterModel, features) if err != nil { return } s.logger.Info("scheduler.run-cluster", lager.Data{ "instance-id": clusterModel.InstanceID(), "steps-count": len(plan.steps()), "steps": plan.stepTypes(), "features": features, }) return s.executePlan(clusterModel, plan) }