diff --git a/contrib/mesos/pkg/scheduler/components/algorithm/algorithm.go b/contrib/mesos/pkg/scheduler/components/algorithm/algorithm.go index a8bab848a73..319372908f5 100644 --- a/contrib/mesos/pkg/scheduler/components/algorithm/algorithm.go +++ b/contrib/mesos/pkg/scheduler/components/algorithm/algorithm.go @@ -23,8 +23,8 @@ import ( "k8s.io/kubernetes/contrib/mesos/pkg/offers" "k8s.io/kubernetes/contrib/mesos/pkg/queue" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler" + "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/components/algorithm/podschedulers" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/errors" - "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/podschedulers" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/podtask" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/client/cache" diff --git a/contrib/mesos/pkg/scheduler/podschedulers/doc.go b/contrib/mesos/pkg/scheduler/components/algorithm/podschedulers/doc.go similarity index 100% rename from contrib/mesos/pkg/scheduler/podschedulers/doc.go rename to contrib/mesos/pkg/scheduler/components/algorithm/podschedulers/doc.go diff --git a/contrib/mesos/pkg/scheduler/podschedulers/fcfs.go b/contrib/mesos/pkg/scheduler/components/algorithm/podschedulers/fcfs.go similarity index 96% rename from contrib/mesos/pkg/scheduler/podschedulers/fcfs.go rename to contrib/mesos/pkg/scheduler/components/algorithm/podschedulers/fcfs.go index 12872595429..072e08e04d9 100644 --- a/contrib/mesos/pkg/scheduler/podschedulers/fcfs.go +++ b/contrib/mesos/pkg/scheduler/components/algorithm/podschedulers/fcfs.go @@ -23,6 +23,7 @@ import ( "k8s.io/kubernetes/contrib/mesos/pkg/node" "k8s.io/kubernetes/contrib/mesos/pkg/offers" + "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/errors" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/podtask" ) @@ -101,5 +102,5 @@ func (fps *fcfsPodScheduler) SchedulePod(r offers.Registry, task *podtask.T) (of return nil, err } log.V(2).Infof("failed to find a fit for pod: %s", podName) - return nil, NoSuitableOffersErr + return nil, errors.NoSuitableOffersErr } diff --git a/contrib/mesos/pkg/scheduler/podschedulers/types.go b/contrib/mesos/pkg/scheduler/components/algorithm/podschedulers/types.go similarity index 88% rename from contrib/mesos/pkg/scheduler/podschedulers/types.go rename to contrib/mesos/pkg/scheduler/components/algorithm/podschedulers/types.go index 14eb13c8ab9..49211694d33 100644 --- a/contrib/mesos/pkg/scheduler/podschedulers/types.go +++ b/contrib/mesos/pkg/scheduler/components/algorithm/podschedulers/types.go @@ -17,8 +17,6 @@ limitations under the License. package podschedulers import ( - "errors" - "k8s.io/kubernetes/contrib/mesos/pkg/offers" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/podtask" ) @@ -45,14 +43,3 @@ type PodScheduler interface { // See the FCFSPodScheduler for example. SchedulePod(r offers.Registry, task *podtask.T) (offers.Perishable, error) } - -// A minimal placeholder -type empty struct{} - -var ( - NoSuitableOffersErr = errors.New("No suitable offers for pod/task") -) - -type SlaveIndex interface { - SlaveHostNameFor(id string) string -} diff --git a/contrib/mesos/pkg/scheduler/components/errorhandler/errorhandler.go b/contrib/mesos/pkg/scheduler/components/errorhandler/errorhandler.go index e043a88b77e..a756a248618 100644 --- a/contrib/mesos/pkg/scheduler/components/errorhandler/errorhandler.go +++ b/contrib/mesos/pkg/scheduler/components/errorhandler/errorhandler.go @@ -22,7 +22,6 @@ import ( "k8s.io/kubernetes/contrib/mesos/pkg/queue" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/errors" - "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/podschedulers" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/podtask" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/queuer" "k8s.io/kubernetes/pkg/api" @@ -84,7 +83,7 @@ func (k *errorHandler) Error(pod *api.Pod, schedulingErr error) { return } breakoutEarly := queue.BreakChan(nil) - if schedulingErr == podschedulers.NoSuitableOffersErr { + if schedulingErr == errors.NoSuitableOffersErr { log.V(3).Infof("adding backoff breakout handler for pod %v", podKey) breakoutEarly = k.newBreakChan(podKey) } diff --git a/contrib/mesos/pkg/scheduler/components/scheduler.go b/contrib/mesos/pkg/scheduler/components/scheduler.go index 6348c154858..adf798a464e 100644 --- a/contrib/mesos/pkg/scheduler/components/scheduler.go +++ b/contrib/mesos/pkg/scheduler/components/scheduler.go @@ -27,6 +27,7 @@ import ( "k8s.io/kubernetes/contrib/mesos/pkg/runtime" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/components/algorithm" + "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/components/algorithm/podschedulers" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/components/binder" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/components/deleter" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/components/errorhandler" @@ -34,7 +35,6 @@ import ( "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/components/podreconciler" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/components/schedulerloop" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/config" - "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/podschedulers" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/podtask" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/queuer" "k8s.io/kubernetes/pkg/api" diff --git a/contrib/mesos/pkg/scheduler/errors/errors.go b/contrib/mesos/pkg/scheduler/errors/errors.go index cc3d2a1e59d..c496adddd1a 100644 --- a/contrib/mesos/pkg/scheduler/errors/errors.go +++ b/contrib/mesos/pkg/scheduler/errors/errors.go @@ -25,4 +25,5 @@ var ( NoSuchPodErr = errors.New("No such pod exists") NoSuchTaskErr = errors.New("No such task exists") ReconciliationCancelledErr = fmt.Errorf("explicit task reconciliation cancelled") + NoSuitableOffersErr = errors.New("No suitable offers for pod/task") ) diff --git a/contrib/mesos/pkg/scheduler/integration/integration_test.go b/contrib/mesos/pkg/scheduler/integration/integration_test.go index 6bfb5130bf8..06b645323e1 100644 --- a/contrib/mesos/pkg/scheduler/integration/integration_test.go +++ b/contrib/mesos/pkg/scheduler/integration/integration_test.go @@ -35,12 +35,12 @@ import ( "k8s.io/kubernetes/contrib/mesos/pkg/executor/messages" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/components" + "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/components/algorithm/podschedulers" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/components/framework" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/components/schedulerloop" schedcfg "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/config" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/ha" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/meta" - "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/podschedulers" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/podtask" mresource "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/resource" "k8s.io/kubernetes/pkg/api" diff --git a/contrib/mesos/pkg/scheduler/service/service.go b/contrib/mesos/pkg/scheduler/service/service.go index c0811b8384f..b58f072e6b4 100644 --- a/contrib/mesos/pkg/scheduler/service/service.go +++ b/contrib/mesos/pkg/scheduler/service/service.go @@ -55,12 +55,12 @@ import ( "k8s.io/kubernetes/contrib/mesos/pkg/profile" "k8s.io/kubernetes/contrib/mesos/pkg/runtime" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/components" + "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/components/algorithm/podschedulers" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/components/framework" schedcfg "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/config" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/ha" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/meta" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/metrics" - "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/podschedulers" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/podtask" mresource "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/resource" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/uid"