Folks, my apologies for this. The rogue patch has been reverted, all culprits are punished.
AlexR. On 31 March 2016 at 15:32, <[email protected]> wrote: > WIP: mesos-execute. > > > Project: http://git-wip-us.apache.org/repos/asf/mesos/repo > Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/c0f6ae86 > Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/c0f6ae86 > Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/c0f6ae86 > > Branch: refs/heads/master > Commit: c0f6ae86e69f4a8f4735407d3b0134672b0f531f > Parents: 1bbe485 > Author: Alexander Rukletsov <[email protected]> > Authored: Wed Mar 30 16:54:30 2016 +0200 > Committer: Alexander Rukletsov <[email protected]> > Committed: Thu Mar 31 14:35:53 2016 +0200 > > ---------------------------------------------------------------------- > src/cli/execute.cpp | 31 +++++++++++++++++++++++++++++++ > 1 file changed, 31 insertions(+) > ---------------------------------------------------------------------- > > > > http://git-wip-us.apache.org/repos/asf/mesos/blob/c0f6ae86/src/cli/execute.cpp > ---------------------------------------------------------------------- > diff --git a/src/cli/execute.cpp b/src/cli/execute.cpp > index af62f41..7ced232 100644 > --- a/src/cli/execute.cpp > +++ b/src/cli/execute.cpp > @@ -262,6 +262,15 @@ protected: > task.mutable_agent_id()->MergeFrom(offer.agent_id()); > task.mutable_resources()->CopyFrom(TASK_RESOURCES.get()); > > + > + // Inject `KillPolicy` for testing. > + task.mutable_kill_policy()->mutable_grace_period()-> > + set_nanoseconds(Seconds(11).ns()); > + > + > + > + > + > CommandInfo* commandInfo = task.mutable_command(); > > if (shell) { > @@ -271,7 +280,12 @@ protected: > commandInfo->set_value(command.get()); > } else { > // TODO(gilbert): Treat 'command' as executable value and > arguments. > + // TODO(alexr): Add support for arguments. > + > commandInfo->set_shell(false); > + > + commandInfo->set_value(command.get()); > + commandInfo->add_arguments()->assign(command.get()); > } > > if (environment.isSome()) { > @@ -412,6 +426,23 @@ protected: > cout << "Received status update " << status.state() > << " for task " << status.task_id() << endl; > > + > + if (mesos::v1::TASK_RUNNING == status.state()) { > + Call call; > + call.set_type(Call::KILL); > + > + CHECK(frameworkInfo.has_id()); > + call.mutable_framework_id()->CopyFrom(frameworkInfo.id()); > + > + Call::Kill* kill = call.mutable_kill(); > + kill->mutable_task_id()->CopyFrom(status.task_id()); > + kill->mutable_agent_id()->CopyFrom(status.agent_id()); > + > + mesos->send(call); > + } > + > + > + > if (status.has_uuid()) { > Call call; > call.set_type(Call::ACKNOWLEDGE); > >
