From 70a5cc462bb2a18651653060b2f2937981b9d75b Mon Sep 17 00:00:00 2001 From: James DeFelice Date: Wed, 27 Jan 2016 17:09:32 +0000 Subject: [PATCH] updated cluster/mesos/docker and contrib/mesos for mesos-0.26 compat --- cluster/mesos/docker/docker-compose.yml | 4 ++-- .../components/framework/driver_mock.go | 12 +++++++++--- contrib/mesos/pkg/scheduler/service/service.go | 16 +++++++--------- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/cluster/mesos/docker/docker-compose.yml b/cluster/mesos/docker/docker-compose.yml index 072aed889e2..df098f69689 100644 --- a/cluster/mesos/docker/docker-compose.yml +++ b/cluster/mesos/docker/docker-compose.yml @@ -13,7 +13,7 @@ etcd: --initial-cluster-state new mesosmaster1: hostname: mesosmaster1 - image: mesosphere/mesos:0.24.0-1.0.27.ubuntu1404 + image: mesosphere/mesos:0.26.0-0.2.145.ubuntu1404 entrypoint: [ "mesos-master" ] ports: [ "5050:5050" ] environment: @@ -30,7 +30,7 @@ mesosmaster1: mesosslave: hostname: mesosslave privileged: true - image: mesosphere/mesos-slave-dind:0.2.2_mesos-0.24.0_docker-1.8.2_ubuntu-14.04.3 + image: mesosphere/mesos-slave-dind:0.2.4_mesos-0.26.0_docker-1.8.2_ubuntu-14.04.3 ports: [ "10248","10249" ] entrypoint: - bash diff --git a/contrib/mesos/pkg/scheduler/components/framework/driver_mock.go b/contrib/mesos/pkg/scheduler/components/framework/driver_mock.go index 6074ff2a8c3..98dc1b13dd6 100644 --- a/contrib/mesos/pkg/scheduler/components/framework/driver_mock.go +++ b/contrib/mesos/pkg/scheduler/components/framework/driver_mock.go @@ -56,10 +56,11 @@ type extendedMock struct { // Upon returns a chan that closes upon the execution of the most recently registered call. func (m *extendedMock) Upon() <-chan struct{} { + // TODO(jdef) this isn't thread safe, should make it so ch := make(chan struct{}) - call := &m.ExpectedCalls[len(m.ExpectedCalls)-1] - f := call.Run - call.Run = func(args mock.Arguments) { + call := m.ExpectedCalls[len(m.ExpectedCalls)-1] + f := call.RunFn + call.RunFn = func(args mock.Arguments) { defer close(ch) if f != nil { f(args) @@ -107,6 +108,11 @@ func (m *MockSchedulerDriver) RequestResources(r []*mesos.Request) (mesos.Status return status(args, 0), args.Error(1) } +func (m *MockSchedulerDriver) AcceptOffers(ids []*mesos.OfferID, ops []*mesos.Offer_Operation, f *mesos.Filters) (mesos.Status, error) { + args := m.Called(ids, ops, f) + return status(args, 0), args.Error(1) +} + func (m *MockSchedulerDriver) ReconcileTasks(statuses []*mesos.TaskStatus) (mesos.Status, error) { args := m.Called(statuses) return status(args, 0), args.Error(1) diff --git a/contrib/mesos/pkg/scheduler/service/service.go b/contrib/mesos/pkg/scheduler/service/service.go index 381d4217358..8912a212b23 100644 --- a/contrib/mesos/pkg/scheduler/service/service.go +++ b/contrib/mesos/pkg/scheduler/service/service.go @@ -18,7 +18,6 @@ package service import ( "bufio" - "errors" "fmt" "io/ioutil" "net" @@ -926,16 +925,15 @@ func (s *SchedulerServer) buildFrameworkInfo() (info *mesos.FrameworkInfo, cred if s.mesosAuthPrincipal != "" { info.Principal = proto.String(s.mesosAuthPrincipal) - if s.mesosAuthSecretFile == "" { - return nil, nil, errors.New("authentication principal specified without the required credentials file") - } - secret, err := ioutil.ReadFile(s.mesosAuthSecretFile) - if err != nil { - return nil, nil, err - } cred = &mesos.Credential{ Principal: proto.String(s.mesosAuthPrincipal), - Secret: secret, + } + if s.mesosAuthSecretFile != "" { + secret, err := ioutil.ReadFile(s.mesosAuthSecretFile) + if err != nil { + return nil, nil, err + } + cred.Secret = proto.String(string(secret)) } } return