[jira] [Created] (MESOS-1729) LogZooKeeperTest.WriteRead fails on OSX

2014-08-21 Thread Till Toenshoff (JIRA)
Till Toenshoff created MESOS-1729:
-

 Summary: LogZooKeeperTest.WriteRead fails on OSX
 Key: MESOS-1729
 URL: https://issues.apache.org/jira/browse/MESOS-1729
 Project: Mesos
  Issue Type: Bug
  Components: build, test
Affects Versions: 0.21.0
 Environment: OSX 10.9.4, clang 3.4
Reporter: Till Toenshoff


The following is reported and 100% reproducible when running {{make check}} on 
my OSX box.

{noformat}
[ RUN  ] LogZooKeeperTest.WriteRead
W0821 12:36:35.715975 1914815248 glog.hpp:52] RAW: Received signal SIGPIPE; 
escalating to SIGABRT
*** Aborted at 1408617395 (unix time) try date -d @1408617395 if you are 
using GNU date ***
PC: @ 0x7fff8523b292 __kill
*** SIGABRT (@0x7fff8523b292) received by PID 90142 (TID 0x7fff7221c310) stack 
trace: ***
@ 0x7fff8a2905aa _sigtramp
@ 0x7fff7276f338 usual
@0x10e35737d os::Bsd::chained_handler()
@0x10e35b166 JVM_handle_bsd_signal
@ 0x7fff8a2905aa _sigtramp
@0x0 (unknown)
@0x10bbec97b process::ProcessManager::wait()
@0x10bbee96b process::wait()
@0x10baf062a mesos::internal::log::Log::~Log()
@0x10a63857a LogZooKeeperTest_WriteRead_Test::TestBody()
@0x10a9bff8c 
testing::internal::HandleExceptionsInMethodIfSupported()
@0x10a9ab90a testing::Test::Run()
@0x10a9ac592 testing::TestInfo::Run()
@0x10a9acbd0 testing::TestCase::Run()
@0x10a9b2425 testing::internal::UnitTestImpl::RunAllTests()
@0x10a9c0754 
testing::internal::HandleExceptionsInMethodIfSupported()
@0x10a9b2159 testing::UnitTest::Run()
@0x10a66ea33 main
@ 0x7fff8c1c65fd start
@0x1 (unknown)
make[3]: *** [check-local] Abort trap: 6
make[2]: *** [check-am] Error 2
make[1]: *** [check] Error 2
make: *** [check-recursive] Error 1
{noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (MESOS-1729) LogZooKeeperTest.WriteRead fails on OSX

2014-08-21 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1729?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14105987#comment-14105987
 ] 

Till Toenshoff commented on MESOS-1729:
---

I am wildly guessing here, without proper testing... 
Could we possibly have hit an upstream issue in Zookeeper due to their usage of 
MSG_NOSIGNAL, which isn't functional on OSX (see [this lesson 
learned|https://issues.apache.org/jira/browse/MESOS-912?focusedCommentId=13899069page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13899069]
 in our libprocess past)?

 LogZooKeeperTest.WriteRead fails on OSX
 ---

 Key: MESOS-1729
 URL: https://issues.apache.org/jira/browse/MESOS-1729
 Project: Mesos
  Issue Type: Bug
  Components: build, test
Affects Versions: 0.21.0
 Environment: OSX 10.9.4, clang 3.4
Reporter: Till Toenshoff
  Labels: test

 The following is reported and 100% reproducible when running {{make check}} 
 on my OSX box.
 {noformat}
 [ RUN  ] LogZooKeeperTest.WriteRead
 I0821 21:18:34.960811 2078368528 jvm.cpp:572] Looking up method 
 init(Ljava/lang/String;)V
 I0821 21:18:34.960934 2078368528 jvm.cpp:572] Looking up method 
 deleteOnExit()V
 I0821 21:18:34.961335 2078368528 jvm.cpp:572] Looking up method 
 init(Ljava/io/File;Ljava/io/File;)V
 log4j:WARN No appenders could be found for logger 
 (org.apache.zookeeper.server.persistence.FileTxnSnapLog).
 log4j:WARN Please initialize the log4j system properly.
 I0821 21:18:35.004449 2078368528 jvm.cpp:572] Looking up method init()V
 I0821 21:18:35.005053 2078368528 jvm.cpp:572] Looking up method 
 init(Lorg/apache/zookeeper/server/persistence/FileTxnSnapLog;Lorg/apache/zookeeper/server/ZooKeeperServer$DataTreeBuilder;)V
 I0821 21:18:35.025753 2078368528 jvm.cpp:572] Looking up method init()V
 I0821 21:18:35.032670 2078368528 jvm.cpp:572] Looking up method init(I)V
 I0821 21:18:35.032873 2078368528 jvm.cpp:572] Looking up method 
 configure(Ljava/net/InetSocketAddress;I)V
 I0821 21:18:35.038020 2078368528 jvm.cpp:572] Looking up method 
 startup(Lorg/apache/zookeeper/server/ZooKeeperServer;)V
 I0821 21:18:35.093870 2078368528 jvm.cpp:572] Looking up method 
 getClientPort()I
 I0821 21:18:35.093925 2078368528 zookeeper_test_server.cpp:158] Started 
 ZooKeeperTestServer on port 52772
 I0821 21:18:35.094081 2078368528 log_tests.cpp:1945] Using temporary 
 directory '/tmp/LogZooKeeperTest_WriteRead_F8UzYv'
 I0821 21:18:35.095954 2078368528 leveldb.cpp:176] Opened db in 1815us
 I0821 21:18:35.096392 2078368528 leveldb.cpp:183] Compacted db in 428us
 I0821 21:18:35.096420 2078368528 leveldb.cpp:198] Created db iterator in 7us
 I0821 21:18:35.096432 2078368528 leveldb.cpp:204] Seeked to beginning of db 
 in 8us
 I0821 21:18:35.096442 2078368528 leveldb.cpp:273] Iterated through 0 keys in 
 the db in 8us
 I0821 21:18:35.096462 2078368528 replica.cpp:741] Replica recovered with log 
 positions 0 - 0 with 1 holes and 0 unlearned
 I0821 21:18:35.097043 107220992 leveldb.cpp:306] Persisting metadata (8 
 bytes) to leveldb took 184us
 I0821 21:18:35.097075 107220992 replica.cpp:320] Persisted replica status to 
 VOTING
 I0821 21:18:35.099768 2078368528 leveldb.cpp:176] Opened db in 1673us
 I0821 21:18:35.100049 2078368528 leveldb.cpp:183] Compacted db in 270us
 I0821 21:18:35.100070 2078368528 leveldb.cpp:198] Created db iterator in 6us
 I0821 21:18:35.100080 2078368528 leveldb.cpp:204] Seeked to beginning of db 
 in 5us
 I0821 21:18:35.100088 2078368528 leveldb.cpp:273] Iterated through 0 keys in 
 the db in 5us
 I0821 21:18:35.100097 2078368528 replica.cpp:741] Replica recovered with log 
 positions 0 - 0 with 1 holes and 0 unlearned
 I0821 21:18:35.100411 108294144 leveldb.cpp:306] Persisting metadata (8 
 bytes) to leveldb took 159us
 I0821 21:18:35.100435 108294144 replica.cpp:320] Persisted replica status to 
 VOTING
 I0821 21:18:35.101984 2078368528 leveldb.cpp:176] Opened db in 1224us
 I0821 21:18:35.102934 2078368528 leveldb.cpp:183] Compacted db in 942us
 I0821 21:18:35.102958 2078368528 leveldb.cpp:198] Created db iterator in 8us
 I0821 21:18:35.102972 2078368528 leveldb.cpp:204] Seeked to beginning of db 
 in 8us
 I0821 21:18:35.102984 2078368528 leveldb.cpp:273] Iterated through 1 keys in 
 the db in 9us
 I0821 21:18:35.102994 2078368528 replica.cpp:741] Replica recovered with log 
 positions 0 - 0 with 1 holes and 0 unlearned
 2014-08-21 21:18:35,103:6420(0x106641000):ZOO_INFO@log_env@712: Client 
 environment:zookeeper.version=zookeeper C client 3.4.5
 2014-08-21 21:18:35,103:6420(0x106641000):ZOO_INFO@log_env@716: Client 
 environment:host.name=lobomacpro2.fritz.box
 2014-08-21 21:18:35,103:6420(0x106641000):ZOO_INFO@log_env@723: Client 
 environment:os.name=Darwin
 2014-08-21 21:18:35,103:6420(0x106641000):ZOO_INFO@log_env@724: Client 

[jira] [Commented] (MESOS-1729) LogZooKeeperTest.WriteRead fails on OSX

2014-08-22 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1729?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14106524#comment-14106524
 ] 

Till Toenshoff commented on MESOS-1729:
---

[~jessicahartog] interesting. Are you building using the bundled Zookeeper 
version?

 LogZooKeeperTest.WriteRead fails on OSX
 ---

 Key: MESOS-1729
 URL: https://issues.apache.org/jira/browse/MESOS-1729
 Project: Mesos
  Issue Type: Bug
  Components: build, test
Affects Versions: 0.21.0
 Environment: OSX 10.9.4, clang 3.4
Reporter: Till Toenshoff
  Labels: test

 The following is reported and 100% reproducible when running {{make check}} 
 on my OSX box.
 {noformat}
 [ RUN  ] LogZooKeeperTest.WriteRead
 I0821 21:18:34.960811 2078368528 jvm.cpp:572] Looking up method 
 init(Ljava/lang/String;)V
 I0821 21:18:34.960934 2078368528 jvm.cpp:572] Looking up method 
 deleteOnExit()V
 I0821 21:18:34.961335 2078368528 jvm.cpp:572] Looking up method 
 init(Ljava/io/File;Ljava/io/File;)V
 log4j:WARN No appenders could be found for logger 
 (org.apache.zookeeper.server.persistence.FileTxnSnapLog).
 log4j:WARN Please initialize the log4j system properly.
 I0821 21:18:35.004449 2078368528 jvm.cpp:572] Looking up method init()V
 I0821 21:18:35.005053 2078368528 jvm.cpp:572] Looking up method 
 init(Lorg/apache/zookeeper/server/persistence/FileTxnSnapLog;Lorg/apache/zookeeper/server/ZooKeeperServer$DataTreeBuilder;)V
 I0821 21:18:35.025753 2078368528 jvm.cpp:572] Looking up method init()V
 I0821 21:18:35.032670 2078368528 jvm.cpp:572] Looking up method init(I)V
 I0821 21:18:35.032873 2078368528 jvm.cpp:572] Looking up method 
 configure(Ljava/net/InetSocketAddress;I)V
 I0821 21:18:35.038020 2078368528 jvm.cpp:572] Looking up method 
 startup(Lorg/apache/zookeeper/server/ZooKeeperServer;)V
 I0821 21:18:35.093870 2078368528 jvm.cpp:572] Looking up method 
 getClientPort()I
 I0821 21:18:35.093925 2078368528 zookeeper_test_server.cpp:158] Started 
 ZooKeeperTestServer on port 52772
 I0821 21:18:35.094081 2078368528 log_tests.cpp:1945] Using temporary 
 directory '/tmp/LogZooKeeperTest_WriteRead_F8UzYv'
 I0821 21:18:35.095954 2078368528 leveldb.cpp:176] Opened db in 1815us
 I0821 21:18:35.096392 2078368528 leveldb.cpp:183] Compacted db in 428us
 I0821 21:18:35.096420 2078368528 leveldb.cpp:198] Created db iterator in 7us
 I0821 21:18:35.096432 2078368528 leveldb.cpp:204] Seeked to beginning of db 
 in 8us
 I0821 21:18:35.096442 2078368528 leveldb.cpp:273] Iterated through 0 keys in 
 the db in 8us
 I0821 21:18:35.096462 2078368528 replica.cpp:741] Replica recovered with log 
 positions 0 - 0 with 1 holes and 0 unlearned
 I0821 21:18:35.097043 107220992 leveldb.cpp:306] Persisting metadata (8 
 bytes) to leveldb took 184us
 I0821 21:18:35.097075 107220992 replica.cpp:320] Persisted replica status to 
 VOTING
 I0821 21:18:35.099768 2078368528 leveldb.cpp:176] Opened db in 1673us
 I0821 21:18:35.100049 2078368528 leveldb.cpp:183] Compacted db in 270us
 I0821 21:18:35.100070 2078368528 leveldb.cpp:198] Created db iterator in 6us
 I0821 21:18:35.100080 2078368528 leveldb.cpp:204] Seeked to beginning of db 
 in 5us
 I0821 21:18:35.100088 2078368528 leveldb.cpp:273] Iterated through 0 keys in 
 the db in 5us
 I0821 21:18:35.100097 2078368528 replica.cpp:741] Replica recovered with log 
 positions 0 - 0 with 1 holes and 0 unlearned
 I0821 21:18:35.100411 108294144 leveldb.cpp:306] Persisting metadata (8 
 bytes) to leveldb took 159us
 I0821 21:18:35.100435 108294144 replica.cpp:320] Persisted replica status to 
 VOTING
 I0821 21:18:35.101984 2078368528 leveldb.cpp:176] Opened db in 1224us
 I0821 21:18:35.102934 2078368528 leveldb.cpp:183] Compacted db in 942us
 I0821 21:18:35.102958 2078368528 leveldb.cpp:198] Created db iterator in 8us
 I0821 21:18:35.102972 2078368528 leveldb.cpp:204] Seeked to beginning of db 
 in 8us
 I0821 21:18:35.102984 2078368528 leveldb.cpp:273] Iterated through 1 keys in 
 the db in 9us
 I0821 21:18:35.102994 2078368528 replica.cpp:741] Replica recovered with log 
 positions 0 - 0 with 1 holes and 0 unlearned
 2014-08-21 21:18:35,103:6420(0x106641000):ZOO_INFO@log_env@712: Client 
 environment:zookeeper.version=zookeeper C client 3.4.5
 2014-08-21 21:18:35,103:6420(0x106641000):ZOO_INFO@log_env@716: Client 
 environment:host.name=lobomacpro2.fritz.box
 2014-08-21 21:18:35,103:6420(0x106641000):ZOO_INFO@log_env@723: Client 
 environment:os.name=Darwin
 2014-08-21 21:18:35,103:6420(0x106641000):ZOO_INFO@log_env@724: Client 
 environment:os.arch=13.3.0
 2014-08-21 21:18:35,103:6420(0x106641000):ZOO_INFO@log_env@725: Client 
 environment:os.version=Darwin Kernel Version 13.3.0: Tue Jun  3 21:27:35 PDT 
 2014; root:xnu-2422.110.17~1/RELEASE_X86_64
 2014-08-21 21:18:35,103:6420(0x106641000):ZOO_INFO@log_env@733: Client 
 

[jira] [Commented] (MESOS-1729) LogZooKeeperTest.WriteRead fails on OSX

2014-08-22 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1729?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14107205#comment-14107205
 ] 

Till Toenshoff commented on MESOS-1729:
---

1.7.0_51 on my OSX box.

 LogZooKeeperTest.WriteRead fails on OSX
 ---

 Key: MESOS-1729
 URL: https://issues.apache.org/jira/browse/MESOS-1729
 Project: Mesos
  Issue Type: Bug
  Components: build, test
Affects Versions: 0.21.0
 Environment: OSX 10.9.4, clang 3.4
Reporter: Till Toenshoff
  Labels: test

 The following is reported and 100% reproducible when running {{make check}} 
 on my OSX box.
 {noformat}
 [ RUN  ] LogZooKeeperTest.WriteRead
 I0821 21:18:34.960811 2078368528 jvm.cpp:572] Looking up method 
 init(Ljava/lang/String;)V
 I0821 21:18:34.960934 2078368528 jvm.cpp:572] Looking up method 
 deleteOnExit()V
 I0821 21:18:34.961335 2078368528 jvm.cpp:572] Looking up method 
 init(Ljava/io/File;Ljava/io/File;)V
 log4j:WARN No appenders could be found for logger 
 (org.apache.zookeeper.server.persistence.FileTxnSnapLog).
 log4j:WARN Please initialize the log4j system properly.
 I0821 21:18:35.004449 2078368528 jvm.cpp:572] Looking up method init()V
 I0821 21:18:35.005053 2078368528 jvm.cpp:572] Looking up method 
 init(Lorg/apache/zookeeper/server/persistence/FileTxnSnapLog;Lorg/apache/zookeeper/server/ZooKeeperServer$DataTreeBuilder;)V
 I0821 21:18:35.025753 2078368528 jvm.cpp:572] Looking up method init()V
 I0821 21:18:35.032670 2078368528 jvm.cpp:572] Looking up method init(I)V
 I0821 21:18:35.032873 2078368528 jvm.cpp:572] Looking up method 
 configure(Ljava/net/InetSocketAddress;I)V
 I0821 21:18:35.038020 2078368528 jvm.cpp:572] Looking up method 
 startup(Lorg/apache/zookeeper/server/ZooKeeperServer;)V
 I0821 21:18:35.093870 2078368528 jvm.cpp:572] Looking up method 
 getClientPort()I
 I0821 21:18:35.093925 2078368528 zookeeper_test_server.cpp:158] Started 
 ZooKeeperTestServer on port 52772
 I0821 21:18:35.094081 2078368528 log_tests.cpp:1945] Using temporary 
 directory '/tmp/LogZooKeeperTest_WriteRead_F8UzYv'
 I0821 21:18:35.095954 2078368528 leveldb.cpp:176] Opened db in 1815us
 I0821 21:18:35.096392 2078368528 leveldb.cpp:183] Compacted db in 428us
 I0821 21:18:35.096420 2078368528 leveldb.cpp:198] Created db iterator in 7us
 I0821 21:18:35.096432 2078368528 leveldb.cpp:204] Seeked to beginning of db 
 in 8us
 I0821 21:18:35.096442 2078368528 leveldb.cpp:273] Iterated through 0 keys in 
 the db in 8us
 I0821 21:18:35.096462 2078368528 replica.cpp:741] Replica recovered with log 
 positions 0 - 0 with 1 holes and 0 unlearned
 I0821 21:18:35.097043 107220992 leveldb.cpp:306] Persisting metadata (8 
 bytes) to leveldb took 184us
 I0821 21:18:35.097075 107220992 replica.cpp:320] Persisted replica status to 
 VOTING
 I0821 21:18:35.099768 2078368528 leveldb.cpp:176] Opened db in 1673us
 I0821 21:18:35.100049 2078368528 leveldb.cpp:183] Compacted db in 270us
 I0821 21:18:35.100070 2078368528 leveldb.cpp:198] Created db iterator in 6us
 I0821 21:18:35.100080 2078368528 leveldb.cpp:204] Seeked to beginning of db 
 in 5us
 I0821 21:18:35.100088 2078368528 leveldb.cpp:273] Iterated through 0 keys in 
 the db in 5us
 I0821 21:18:35.100097 2078368528 replica.cpp:741] Replica recovered with log 
 positions 0 - 0 with 1 holes and 0 unlearned
 I0821 21:18:35.100411 108294144 leveldb.cpp:306] Persisting metadata (8 
 bytes) to leveldb took 159us
 I0821 21:18:35.100435 108294144 replica.cpp:320] Persisted replica status to 
 VOTING
 I0821 21:18:35.101984 2078368528 leveldb.cpp:176] Opened db in 1224us
 I0821 21:18:35.102934 2078368528 leveldb.cpp:183] Compacted db in 942us
 I0821 21:18:35.102958 2078368528 leveldb.cpp:198] Created db iterator in 8us
 I0821 21:18:35.102972 2078368528 leveldb.cpp:204] Seeked to beginning of db 
 in 8us
 I0821 21:18:35.102984 2078368528 leveldb.cpp:273] Iterated through 1 keys in 
 the db in 9us
 I0821 21:18:35.102994 2078368528 replica.cpp:741] Replica recovered with log 
 positions 0 - 0 with 1 holes and 0 unlearned
 2014-08-21 21:18:35,103:6420(0x106641000):ZOO_INFO@log_env@712: Client 
 environment:zookeeper.version=zookeeper C client 3.4.5
 2014-08-21 21:18:35,103:6420(0x106641000):ZOO_INFO@log_env@716: Client 
 environment:host.name=lobomacpro2.fritz.box
 2014-08-21 21:18:35,103:6420(0x106641000):ZOO_INFO@log_env@723: Client 
 environment:os.name=Darwin
 2014-08-21 21:18:35,103:6420(0x106641000):ZOO_INFO@log_env@724: Client 
 environment:os.arch=13.3.0
 2014-08-21 21:18:35,103:6420(0x106641000):ZOO_INFO@log_env@725: Client 
 environment:os.version=Darwin Kernel Version 13.3.0: Tue Jun  3 21:27:35 PDT 
 2014; root:xnu-2422.110.17~1/RELEASE_X86_64
 2014-08-21 21:18:35,103:6420(0x106641000):ZOO_INFO@log_env@733: Client 
 environment:user.name=till
 2014-08-21 

[jira] [Commented] (MESOS-1571) Signal escalation timeout is not configurable

2014-08-28 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14114119#comment-14114119
 ] 

Till Toenshoff commented on MESOS-1571:
---

[~nnielsen] Aye!

 Signal escalation timeout is not configurable
 -

 Key: MESOS-1571
 URL: https://issues.apache.org/jira/browse/MESOS-1571
 Project: Mesos
  Issue Type: Bug
Reporter: Niklas Quarfot Nielsen
Assignee: Alexander Rukletsov

 Even though the executor shutdown grace period is set to a larger interval, 
 the signal escalation timeout will still be 3 seconds. It should either be 
 configurable or dependent on EXECUTOR_SHUTDOWN_GRACE_PERIOD.
 Thoughts?



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Created] (MESOS-1750) ImportError in containerizer_pb2.py

2014-08-31 Thread Till Toenshoff (JIRA)
Till Toenshoff created MESOS-1750:
-

 Summary: ImportError in containerizer_pb2.py
 Key: MESOS-1750
 URL: https://issues.apache.org/jira/browse/MESOS-1750
 Project: Mesos
  Issue Type: Bug
  Components: python api
Reporter: Till Toenshoff


It appears as if the split of the Python egg (native/interface/protocol) has 
introduced a new issue.

Whenever I am trying to use {{from mesos.interface import containerizer_pb2}}, 
I am receiving an {{ImportError: No module named mesos_pb2}}.

For replicating this issue, try running 
{{build/src/examples/python/test-containerizer}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1750) ImportError in containerizer_pb2.py

2014-08-31 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1750?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14116911#comment-14116911
 ] 

Till Toenshoff commented on MESOS-1750:
---

{{containerizer.proto}} imports from {{mesos/mesos.proto}}, so the resulting 
python code in {{containerizer_pb2.py}} tries to import from 
{{mesos.mesos_pb2}} where it should actually import from {{mesos_pb2}}.

It seems as if the translation of the original structure into the flat 
interface structure is prone to cause issues with proto's that import from 
other mesos proto's while qualifying their relative path.

 ImportError in containerizer_pb2.py
 ---

 Key: MESOS-1750
 URL: https://issues.apache.org/jira/browse/MESOS-1750
 Project: Mesos
  Issue Type: Bug
  Components: python api
Reporter: Till Toenshoff
  Labels: mesos.interface, python-egg

 It appears as if the split of the Python egg (native/interface/protocol) has 
 introduced a new issue.
 Whenever I am trying to use {{from mesos.interface import 
 containerizer_pb2}}, I am receiving an {{ImportError: No module named 
 mesos_pb2}}.
 For replicating this issue, try running 
 {{build/src/examples/python/test-containerizer}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1007) Python framework unable to parse framework messages

2014-09-01 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14117567#comment-14117567
 ] 

Till Toenshoff commented on MESOS-1007:
---

I am guessing that this specific issue has magically disappeared and we could 
close this ticket.

[~vinodkone] agree?

 Python framework unable to parse framework messages
 ---

 Key: MESOS-1007
 URL: https://issues.apache.org/jira/browse/MESOS-1007
 Project: Mesos
  Issue Type: Bug
 Environment: Fedora 20. Cxx11
Reporter: Vinod Kone

 [ RUN  ] ExamplesTest.PythonFramework
 Using temporary directory '/tmp/ExamplesTest_PythonFramework_bk0KRb'
 WARNING: Logging before InitGoogleLogging() is written to STDERR
 I0213 22:15:39.954318 17373 process.cpp:1591] libprocess is initialized on 
 192.168.122.164:47130 for 8 cpus
 I0213 22:15:39.955761 17373 logging.cpp:140] Logging to STDERR
 I0213 22:15:39.959444 17373 master.cpp:240] Master ID: 
 2014-02-13-22:15:39-2759502016-47130-17373 Hostname: fedora-20
 I0213 22:15:39.960225 17383 master.cpp:322] Master started on 
 192.168.122.164:47130
 I0213 22:15:39.960244 17383 master.cpp:325] Master only allowing 
 authenticated frameworks to register!
 I0213 22:15:39.961699 17387 master.cpp:86] No whitelist given. Advertising 
 offers for all slaves
 I0213 22:15:39.962286 17382 hierarchical_allocator_process.hpp:302] 
 Initializing hierarchical allocator process with master : 
 master@192.168.122.164:47130
 I0213 22:15:39.963912 17373 containerizer.cpp:180] Using isolation: 
 posix/cpu,posix/mem
 I0213 22:15:39.965071 17373 containerizer.cpp:180] Using isolation: 
 posix/cpu,posix/mem
 I0213 22:15:39.965754 17384 slave.cpp:112] Slave started on 
 1)@192.168.122.164:47130
 I0213 22:15:39.966032 17387 master.cpp:760] The newly elected leader is 
 master@192.168.122.164:47130 with id 
 2014-02-13-22:15:39-2759502016-47130-17373
 I0213 22:15:39.966341 17387 master.cpp:770] Elected as the leading master!
 I0213 22:15:39.966227 17384 slave.cpp:122] Slave resources: cpus(*):1; 
 mem(*):979; disk(*):1001; ports(*):[31000-32000]
 I0213 22:15:39.967811 17384 slave.cpp:150] Slave hostname: fedora-20
 I0213 22:15:39.967828 17384 slave.cpp:151] Slave checkpoint: true
 I0213 22:15:39.968070 17384 state.cpp:33] Recovering state from 
 '/tmp/mesos-KG9dIs/0/meta'
 I0213 22:15:39.968147 17384 status_update_manager.cpp:188] Recovering status 
 update manager
 I0213 22:15:39.968200 17384 mesos_containerizer.cpp:137] Recovering 
 containerizer
 I0213 22:15:39.969071 17384 slave.cpp:2670] Finished recovery
 I0213 22:15:39.969290 17384 slave.cpp:397] New master detected at 
 master@192.168.122.164:47130
 I0213 22:15:39.970041 17384 slave.cpp:422] Detecting new master
 I0213 22:15:39.970067 17384 status_update_manager.cpp:162] New master 
 detected at master@192.168.122.164:47130
 I0213 22:15:39.970116 17384 master.cpp:1840] Attempting to register slave on 
 fedora-20 at slave(1)@192.168.122.164:47130
 I0213 22:15:39.970130 17384 master.cpp:2810] Adding slave 
 2014-02-13-22:15:39-2759502016-47130-17373-0 at fedora-20 with cpus(*):1; 
 mem(*):979; disk(*):1001; ports(*):[31000-32000]
 I0213 22:15:39.970213 17384 slave.cpp:440] Registered with master 
 master@192.168.122.164:47130; given slave ID 
 2014-02-13-22:15:39-2759502016-47130-17373-0
 I0213 22:15:39.970365 17384 slave.cpp:453] Checkpointing SlaveInfo to 
 '/tmp/mesos-KG9dIs/0/meta/slaves/2014-02-13-22:15:39-2759502016-47130-17373-0/slave.info'
 I0213 22:15:39.971178 17382 hierarchical_allocator_process.hpp:445] Added 
 slave 2014-02-13-22:15:39-2759502016-47130-17373-0 (fedora-20) with 
 cpus(*):1; mem(*):979; disk(*):1001; ports(*):[31000-32000] (and cpus(*):1; 
 mem(*):979; disk(*):1001; ports(*):[31000-32000] available)
 I0213 22:15:39.971231 17382 hierarchical_allocator_process.hpp:708] Performed 
 allocation for slave 2014-02-13-22:15:39-2759502016-47130-17373-0 in 9023ns
 I0213 22:15:39.972479 17373 containerizer.cpp:180] Using isolation: 
 posix/cpu,posix/mem
 I0213 22:15:39.973124 17381 slave.cpp:112] Slave started on 
 2)@192.168.122.164:47130
 I0213 22:15:39.973276 17381 slave.cpp:122] Slave resources: cpus(*):1; 
 mem(*):979; disk(*):1001; ports(*):[31000-32000]
 I0213 22:15:39.974185 17381 slave.cpp:150] Slave hostname: fedora-20
 I0213 22:15:39.974202 17381 slave.cpp:151] Slave checkpoint: true
 I0213 22:15:39.975014 17381 state.cpp:33] Recovering state from 
 '/tmp/mesos-KG9dIs/1/meta'
 I0213 22:15:39.975071 17381 status_update_manager.cpp:188] Recovering status 
 update manager
 I0213 22:15:39.975098 17381 mesos_containerizer.cpp:137] Recovering 
 containerizer
 I0213 22:15:39.975219 17381 slave.cpp:2670] Finished recovery
 I0213 22:15:39.976111 17381 slave.cpp:397] New master detected at 
 master@192.168.122.164:47130
 I0213 22:15:39.976758 17381 

[jira] [Commented] (MESOS-1750) ImportError in containerizer_pb2.py

2014-09-03 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1750?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14119530#comment-14119530
 ] 

Till Toenshoff commented on MESOS-1750:
---

That was exactly the only solution I could come up with so far as well; 
patching the python proto results after they have been rendered. Not really 
beautiful solution but maybe the only option we got other than changing the 
proto locations which seems just wrong considering that we would have to mix 
all proto-files into one flat folder (including the internal proto's for 
allowing MESOS-1731 to happen).

 ImportError in containerizer_pb2.py
 ---

 Key: MESOS-1750
 URL: https://issues.apache.org/jira/browse/MESOS-1750
 Project: Mesos
  Issue Type: Bug
  Components: python api
Reporter: Till Toenshoff
  Labels: mesos.interface, python-egg

 It appears as if the split of the Python egg (native/interface/protocol) has 
 introduced a new issue.
 Whenever I am trying to use {{from mesos.interface import 
 containerizer_pb2}}, I am receiving an {{ImportError: No module named 
 mesos_pb2}}.
 For replicating this issue, try running 
 {{build/src/examples/python/test-containerizer}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (MESOS-1750) ImportError in containerizer_pb2.py

2014-09-03 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1750?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14120175#comment-14120175
 ] 

Till Toenshoff edited comment on MESOS-1750 at 9/3/14 7:13 PM:
---

So the following does the job...
{noformat}
python/interface/src/mesos/interface/containerizer_pb2.py:  
\
$(CONTAINERIZER_PROTO)
$(MKDIR_P) $(@D)
$(PROTOC) -I$(top_srcdir)/include/mesos/containerizer   \
$(PROTOCFLAGS)  
\
--python_out=python/interface/src/mesos/interface $^
sed -i '' -e 's/mesos\.mesos_pb2/mesos_pb2/' $^
{noformat}

However, I still feel that this is not really *correct* and that we should 
possibly take a step back for finding a proper solution.

Another solution would be adapting the {{mesos/interface}} structure towards a 
non flat hierachy:
{noformat}
mesos/mesos_pb2.py
mesos/containerizer/containerizer_pb2.py
{noformat}

Resulting into rather verbose looking python imports like:
{noformat}
from mesos.interface.mesos.containerizer import containerizer_pb2
from mesos.interface.mesos import mesos_pb2
{noformat}

The above maintains the exact namespace structure we are using for all other 
bindings (but adds {{mesos.interface}} as a prefix). 

I do not see any other options right now and I really would like to ask for 
comments on this.



was (Author: tillt):
So the following does the job...
{noformat}
python/interface/src/mesos/interface/containerizer_pb2.py:  
\
$(CONTAINERIZER_PROTO)
$(MKDIR_P) $(@D)
$(PROTOC) -I$(top_srcdir)/include/mesos/containerizer   \
$(PROTOCFLAGS)  
\
--python_out=python/interface/src/mesos/interface $^
sed -i -e 's/mesos\.mesos_pb2/mesos_pb2/' $^
{noformat}

However, I still feel that this is not really *correct* and that we should 
possibly take a step back for finding a proper solution.

Another solution would be adapting the {{mesos/interface}} structure towards a 
non flat hierachy:
{noformat}
mesos/mesos_pb2.py
mesos/containerizer/containerizer_pb2.py
{noformat}

Resulting into rather verbose looking python imports like:
{noformat}
from mesos.interface.mesos.containerizer import containerizer_pb2
from mesos.interface.mesos import mesos_pb2
{noformat}

The above maintains the exact namespace structure we are using for all other 
bindings (but adds {{mesos.interface}} as a prefix). 

I do not see any other options right now and I really would like to ask for 
comments on this.


 ImportError in containerizer_pb2.py
 ---

 Key: MESOS-1750
 URL: https://issues.apache.org/jira/browse/MESOS-1750
 Project: Mesos
  Issue Type: Bug
  Components: python api
Reporter: Till Toenshoff
  Labels: mesos.interface, python-egg

 It appears as if the split of the Python egg (native/interface/protocol) has 
 introduced a new issue.
 Whenever I am trying to use {{from mesos.interface import 
 containerizer_pb2}}, I am receiving an {{ImportError: No module named 
 mesos_pb2}}.
 For replicating this issue, try running 
 {{build/src/examples/python/test-containerizer}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1745) Building Python egg on OS X using clang is problematic

2014-09-04 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1745?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14121133#comment-14121133
 ] 

Till Toenshoff commented on MESOS-1745:
---

[~jieyu] could you post the results of {{python-config --ldflags}} please?

 Building Python egg on OS X using clang is problematic
 --

 Key: MESOS-1745
 URL: https://issues.apache.org/jira/browse/MESOS-1745
 Project: Mesos
  Issue Type: Bug
Affects Versions: 0.19.1
 Environment: Mac OS X 10.8.5
 clang-3.3 installed via brew
 python 2.7.8 install via brew ([GCC 4.2.1 Compatible Apple LLVM 4.2 
 (clang-425.0.28)])
Reporter: Jie Yu

 Here is what I have observed, correct me if I am wrong.
 To reproduce:
 {noformat}
 $ tar zxvf mesos-0.19.1.tar.gz
 $ cd mesos-0.19.1
 $ mkdir build
 $ cd build
 $ CC=clang-3.3 CXX=clang++-3.3 ../configure
 $ make
 $ PYTHONPATH=src/python/dist/mesos-0.19.1-py2.7-macosx-10.8-x86_64.egg python
 Python 2.7.8 (default, Aug 18 2014, 15:46:02) 
 [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin
 Type help, copyright, credits or license for more information.
  import mesos
 Traceback (most recent call last):
   File stdin, line 1, in module
   File build/bdist.macosx-10.8-x86_64/egg/mesos.py, line 26, in module
   File build/bdist.macosx-10.8-x86_64/egg/_mesos.py, line 7, in module
   File build/bdist.macosx-10.8-x86_64/egg/_mesos.py, line 6, in 
 __bootstrap__
 ImportError: 
 dlopen(/Users/jyu/.python-eggs/mesos-0.19.1-py2.7-macosx-10.8-x86_64.egg-tmp/_mesos.so,
  2): Symbol not found: 
 __ZN5mesos20MesosSchedulerDriverC1EPNS_9SchedulerERKNS_13FrameworkInfoERKSs
   Referenced from: 
 /Users/jyu/.python-eggs/mesos-0.19.1-py2.7-macosx-10.8-x86_64.egg-tmp/_mesos.so
   Expected in: flat namespace
  in 
 /Users/jyu/.python-eggs/mesos-0.19.1-py2.7-macosx-10.8-x86_64.egg-tmp/_mesos.so
 
 {noformat}
 After digging this problem today, here is what I've found:
 1. build/src/.libs/libmesos_no_3rdparty.a is built using clang++-3.3 with 
 flags -std=c++11 -stdlib=libc++. So the mangled MesosSchedulerDriver 
 constructor symbol is like the following in libmesos_no_3rdparty.a
 {noformat}
 [tw-mbp-jyu build]$ nm src/.libs/libmesos_no_3rdparty.a | grep 
 MesosSchedulerDriver
 ...
 06d0 T 
 __ZN5mesos20MesosSchedulerDriverC1EPNS_9SchedulerERKNS_13FrameworkInfoERKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIc
 ...
 {noformat}
 2. 
 build/src/python/build/temp.macosx-10.8-x86_64-2.7/native/mesos_scheduler_driver_impl.o
  is built using clang++-3.3 without -stdlib=libc++
 {noformat}
 clang-3.3 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -g 
 -Qunused-arguments -Qunused-arguments 
 -I/tmp/build/mesos-0.19.1/build/../include 
 -I/tmp/build/mesos-0.19.1/build/include -I/tmp/build/mesos-0.19.1/build/src 
 -I/tmp/bui
 ld/mesos-0.19.1/build/src/python/native 
 -I/tmp/build/mesos-0.19.1/build/3rdparty/libprocess/3rdparty/protobuf-2.5.0/src
  
 -I/opt/twitter/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/include/python2.7
  -c native/mesos_
 scheduler_driver_impl.cpp -o 
 build/temp.macosx-10.8-x86_64-2.7/native/mesos_scheduler_driver_impl.o
 {noformat}
 As a result, it expects a mangled MesosSchedulerDriver constructor symbol 
 like the following:
 {noformat}
 [tw-mbp-jyu build]$ nm 
 src/python/build/temp.macosx-10.8-x86_64-2.7/native/mesos_scheduler_driver_impl.o
  | grep MesosSchedulerDriver
  U 
 __ZN5mesos20MesosSchedulerDriverC1EPNS_9SchedulerERKNS_13FrameworkInfoERKSs
 ...
 {noformat}
 3. As a result, the above symbol will remain 'unresolved' in _mesos.so, and 
 subsequently causes issue when we 'import mesos' using the egg.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1750) ImportError in containerizer_pb2.py

2014-09-04 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1750?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14121266#comment-14121266
 ] 

Till Toenshoff commented on MESOS-1750:
---

So I went ahead and proposed a patch that uses sed for in-place patching of the 
resulting python code: https://reviews.apache.org/r/25334/

 ImportError in containerizer_pb2.py
 ---

 Key: MESOS-1750
 URL: https://issues.apache.org/jira/browse/MESOS-1750
 Project: Mesos
  Issue Type: Bug
  Components: python api
Reporter: Till Toenshoff
  Labels: mesos.interface, python-egg

 It appears as if the split of the Python egg (native/interface/protocol) has 
 introduced a new issue.
 Whenever I am trying to use {{from mesos.interface import 
 containerizer_pb2}}, I am receiving an {{ImportError: No module named 
 mesos_pb2}}.
 For replicating this issue, try running 
 {{build/src/examples/python/test-containerizer}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1571) Signal escalation timeout is not configurable

2014-09-05 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14122858#comment-14122858
 ] 

Till Toenshoff commented on MESOS-1571:
---

Using the environment to pass that info seems to fit best when looking at the 
things we already pass (e.g. {{MESOS_RECOVERY_TIMEOUT}}), whereas the 
{{SlaveInfo}} protobuf is rather limited in additional execution specific 
parameters.

However to me this still raises the question on why we prefer using the 
environment instead of proto's for such information. One obvious reason 
certainly is that we might need to supply information that is needed 
immediately before or after starting the {{ExecutorProcess}} but definitely 
before it successfully registered, when {{SlaveInfo}} finally becomes available 
to him. Despite my above argument being we already do it that way, are there 
better arguments for not adding things to the proto but instead using the 
environment for passing the additional parameters?

[~benjaminhindman], [~idownes], [~tnachen] any input for this discussion?


 Signal escalation timeout is not configurable
 -

 Key: MESOS-1571
 URL: https://issues.apache.org/jira/browse/MESOS-1571
 Project: Mesos
  Issue Type: Bug
Reporter: Niklas Quarfot Nielsen
Assignee: Alexander Rukletsov

 Even though the executor shutdown grace period is set to a larger interval, 
 the signal escalation timeout will still be 3 seconds. It should either be 
 configurable or dependent on EXECUTOR_SHUTDOWN_GRACE_PERIOD.
 Thoughts?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1660) Lower ReaperProcess::wait() delay to 500ms or 250ms

2014-09-23 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14144532#comment-14144532
 ] 

Till Toenshoff commented on MESOS-1660:
---

Hey Guys, this is very promising. Would you need any help to get this committed?

 Lower ReaperProcess::wait() delay to 500ms or 250ms
 ---

 Key: MESOS-1660
 URL: https://issues.apache.org/jira/browse/MESOS-1660
 Project: Mesos
  Issue Type: Improvement
  Components: libprocess
Reporter: Craig Hansen-Sturm
Assignee: Craig Hansen-Sturm

 See https://issues.apache.org/jira/browse/MESOS-1199



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1797) Packaged Zookeeper does not compile on OSX Yosemite

2014-09-29 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1797?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14151975#comment-14151975
 ] 

Till Toenshoff commented on MESOS-1797:
---

https://issues.apache.org/jira/browse/ZOOKEEPER-2049

 Packaged Zookeeper does not compile on OSX Yosemite
 ---

 Key: MESOS-1797
 URL: https://issues.apache.org/jira/browse/MESOS-1797
 Project: Mesos
  Issue Type: Improvement
  Components: build
Affects Versions: 0.20.0, 0.21.0, 0.19.1
Reporter: Dario Rexin
Priority: Minor

 I have been struggling with this for some time (due to my lack of knowledge 
 about C compiler error messages) and finally found a way to make it compile. 
 The problem is that Zookeeper defines a function `htonll` that is a builtin 
 function in Yosemite. For me it worked to just remove this function, but as 
 it needs to keep working on other systems as well, we would need some check 
 for the OS version or if the function is already defined.
 Here are the links to the source:
 https://github.com/apache/zookeeper/blob/trunk/src/c/include/recordio.h#L73
 https://github.com/apache/zookeeper/blob/trunk/src/c/src/recordio.c#L83-L97



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1797) Packaged Zookeeper does not compile on OSX Yosemite

2014-09-29 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1797?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14152438#comment-14152438
 ] 

Till Toenshoff commented on MESOS-1797:
---

https://github.com/apache/zookeeper/pull/19.patch would be an upstream patch 
suggestion. I know this is kind of a red flag but given that Yosemite's release 
is close, should we also go ahead and include a hotfix patch within our bundle?

 Packaged Zookeeper does not compile on OSX Yosemite
 ---

 Key: MESOS-1797
 URL: https://issues.apache.org/jira/browse/MESOS-1797
 Project: Mesos
  Issue Type: Improvement
  Components: build
Affects Versions: 0.20.0, 0.21.0, 0.19.1
Reporter: Dario Rexin
Priority: Minor

 I have been struggling with this for some time (due to my lack of knowledge 
 about C compiler error messages) and finally found a way to make it compile. 
 The problem is that Zookeeper defines a function `htonll` that is a builtin 
 function in Yosemite. For me it worked to just remove this function, but as 
 it needs to keep working on other systems as well, we would need some check 
 for the OS version or if the function is already defined.
 Here are the links to the source:
 https://github.com/apache/zookeeper/blob/trunk/src/c/include/recordio.h#L73
 https://github.com/apache/zookeeper/blob/trunk/src/c/src/recordio.c#L83-L97



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1797) Packaged Zookeeper does not compile on OSX Yosemite

2014-09-29 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1797?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14152609#comment-14152609
 ] 

Till Toenshoff commented on MESOS-1797:
---

[~bmahler] +1

Hoping their unit tests are actually just flaky as my patch got flagged by them 
(just like many others that still got committed).

 Packaged Zookeeper does not compile on OSX Yosemite
 ---

 Key: MESOS-1797
 URL: https://issues.apache.org/jira/browse/MESOS-1797
 Project: Mesos
  Issue Type: Improvement
  Components: build
Affects Versions: 0.20.0, 0.21.0, 0.19.1
Reporter: Dario Rexin
Priority: Minor

 I have been struggling with this for some time (due to my lack of knowledge 
 about C compiler error messages) and finally found a way to make it compile. 
 The problem is that Zookeeper defines a function `htonll` that is a builtin 
 function in Yosemite. For me it worked to just remove this function, but as 
 it needs to keep working on other systems as well, we would need some check 
 for the OS version or if the function is already defined.
 Here are the links to the source:
 https://github.com/apache/zookeeper/blob/trunk/src/c/include/recordio.h#L73
 https://github.com/apache/zookeeper/blob/trunk/src/c/src/recordio.c#L83-L97



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1848) DRFAllocatorTest.DRFAllocatorProcess is flaky

2014-10-08 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1848?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14163973#comment-14163973
 ] 

Till Toenshoff commented on MESOS-1848:
---

Turned out the described symptoms were caused by a custom sasl installation I 
did on that VM. After removing all traces of it and rebuilding against a proper 
one, everything went back to normal. That certainly does not really help for 
pinning the problem to the exact cause but it did the job for me. 

 DRFAllocatorTest.DRFAllocatorProcess is flaky
 -

 Key: MESOS-1848
 URL: https://issues.apache.org/jira/browse/MESOS-1848
 Project: Mesos
  Issue Type: Bug
  Components: test
 Environment: Fedora 20
Reporter: Vinod Kone

 Observed this on CI. This is pretty strange because the authentication of 
 both the framework and slave timed out at the very beginning, even though we 
 don't manipulate clocks.
 {code}
 [ RUN  ] DRFAllocatorTest.DRFAllocatorProcess
 Using temporary directory '/tmp/DRFAllocatorTest_DRFAllocatorProcess_igiR9X'
 I0929 20:11:12.801327 16997 leveldb.cpp:176] Opened db in 489720ns
 I0929 20:11:12.801627 16997 leveldb.cpp:183] Compacted db in 168280ns
 I0929 20:11:12.801784 16997 leveldb.cpp:198] Created db iterator in 5820ns
 I0929 20:11:12.801898 16997 leveldb.cpp:204] Seeked to beginning of db in 
 1285ns
 I0929 20:11:12.802039 16997 leveldb.cpp:273] Iterated through 0 keys in the 
 db in 792ns
 I0929 20:11:12.802160 16997 replica.cpp:741] Replica recovered with log 
 positions 0 - 0 with 1 holes and 0 unlearned
 I0929 20:11:12.802441 17012 recover.cpp:425] Starting replica recovery
 I0929 20:11:12.802623 17012 recover.cpp:451] Replica is in EMPTY status
 I0929 20:11:12.803251 17012 replica.cpp:638] Replica in EMPTY status received 
 a broadcasted recover request
 I0929 20:11:12.803427 17012 recover.cpp:188] Received a recover response from 
 a replica in EMPTY status
 I0929 20:11:12.803632 17012 recover.cpp:542] Updating replica status to 
 STARTING
 I0929 20:11:12.803911 17012 leveldb.cpp:306] Persisting metadata (8 bytes) to 
 leveldb took 33999ns
 I0929 20:11:12.804033 17012 replica.cpp:320] Persisted replica status to 
 STARTING
 I0929 20:11:12.804245 17012 recover.cpp:451] Replica is in STARTING status
 I0929 20:11:12.804592 17012 replica.cpp:638] Replica in STARTING status 
 received a broadcasted recover request
 I0929 20:11:12.804775 17012 recover.cpp:188] Received a recover response from 
 a replica in STARTING status
 I0929 20:11:12.804952 17012 recover.cpp:542] Updating replica status to VOTING
 I0929 20:11:12.805115 17012 leveldb.cpp:306] Persisting metadata (8 bytes) to 
 leveldb took 15990ns
 I0929 20:11:12.805234 17012 replica.cpp:320] Persisted replica status to 
 VOTING
 I0929 20:11:12.805366 17012 recover.cpp:556] Successfully joined the Paxos 
 group
 I0929 20:11:12.805539 17012 recover.cpp:440] Recover process terminated
 I0929 20:11:12.809062 17017 master.cpp:312] Master 
 20140929-201112-2759502016-47295-16997 (fedora-20) started on 
 192.168.122.164:47295
 I0929 20:11:12.809432 17017 master.cpp:358] Master only allowing 
 authenticated frameworks to register
 I0929 20:11:12.809546 17017 master.cpp:363] Master only allowing 
 authenticated slaves to register
 I0929 20:11:12.810169 17017 credentials.hpp:36] Loading credentials for 
 authentication from 
 '/tmp/DRFAllocatorTest_DRFAllocatorProcess_igiR9X/credentials'
 I0929 20:11:12.810510 17017 master.cpp:392] Authorization enabled
 I0929 20:11:12.811841 17016 master.cpp:120] No whitelist given. Advertising 
 offers for all slaves
 I0929 20:11:12.812099 17013 hierarchical_allocator_process.hpp:299] 
 Initializing hierarchical allocator process with master : 
 master@192.168.122.164:47295
 I0929 20:11:12.813006 17017 master.cpp:1241] The newly elected leader is 
 master@192.168.122.164:47295 with id 20140929-201112-2759502016-47295-16997
 I0929 20:11:12.813164 17017 master.cpp:1254] Elected as the leading master!
 I0929 20:11:12.813279 17017 master.cpp:1072] Recovering from registrar
 I0929 20:11:12.813487 17013 registrar.cpp:312] Recovering registrar
 I0929 20:11:12.813824 17013 log.cpp:656] Attempting to start the writer
 I0929 20:11:12.814256 17013 replica.cpp:474] Replica received implicit 
 promise request with proposal 1
 I0929 20:11:12.814419 17013 leveldb.cpp:306] Persisting metadata (8 bytes) to 
 leveldb took 25049ns
 I0929 20:11:12.814581 17013 replica.cpp:342] Persisted promised to 1
 I0929 20:11:12.814909 17013 coordinator.cpp:230] Coordinator attemping to 
 fill missing position
 I0929 20:11:12.815340 17013 replica.cpp:375] Replica received explicit 
 promise request for position 0 with proposal 2
 I0929 20:11:12.815497 17013 leveldb.cpp:343] Persisting action (8 bytes) to 
 leveldb took 19855ns
 I0929 20:11:12.815636 17013 

[jira] [Created] (MESOS-1889) Create an Authenticatior Module

2014-10-09 Thread Till Toenshoff (JIRA)
Till Toenshoff created MESOS-1889:
-

 Summary: Create an Authenticatior Module
 Key: MESOS-1889
 URL: https://issues.apache.org/jira/browse/MESOS-1889
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff


Breaking this down into several tickets for allowing dedicated discussions 
where needed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (MESOS-1891) Authenticator Module: Interface design

2014-10-09 Thread Till Toenshoff (JIRA)
Till Toenshoff created MESOS-1891:
-

 Summary: Authenticator Module: Interface design
 Key: MESOS-1891
 URL: https://issues.apache.org/jira/browse/MESOS-1891
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff
Priority: Blocker


The current sasl based, flat-file Authenticator ( {{sasl/authenticator.hpp}} 
)  is spawning a (libprocess) process in its constructor and demands the 
authentication client process UPID as a parameter - not a perfect fit for the 
current Module API as that one does only allow default constructors. 

Instead of wrapping the flat-file Authenticator with yet another class that 
satisfies a proper interface design, we might just as well slightly change the 
current design into a feasible interface, no? 

I would like to propose something like this:

{noformat}
class Authenticator
{
public:
  Authenticator() {}
  virtual ~Authenticator() {}

  virtual void initialize(const process::UPID clientPid) = 0;
  virtual process::FutureOptionstd::string  authenticate(void) = 0;
};
{noformat}

As a result, the flat-file authenticator would spawn its process within that 
proposed initialize method and not within the constructor already.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (MESOS-1891) Authenticator Module: Interface design

2014-10-09 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-1891?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff updated MESOS-1891:
--
Description: 
h4. Motivation
Design an interface covering authenticator modules while staying minimal 
invasive in regards to changes on the existing flat-file Authenticator 
implementation.

h4. Status Quo 
The current sasl based, flat-file Authenticator ( {{sasl/authenticator.hpp}} 
)  is spawning a (libprocess) process in its constructor and demands the 
authentication client process UPID as a parameter - not a perfect fit for the 
current Module API as that one does only allow default constructors. 

h4. Design
Instead of wrapping the flat-file Authenticator with yet another class that 
satisfies a proper interface design, we might just as well slightly change the 
current design into a feasible interface, no? 

I would like to propose something like this:

{noformat}
class Authenticator
{
public:
  Authenticator() {}
  virtual ~Authenticator() {}

  virtual void initialize(const process::UPID clientPid) = 0;
  virtual process::FutureOptionstd::string  authenticate(void) = 0;
};
{noformat}

As a result, the flat-file authenticator would spawn its process within that 
proposed initialize method and not within the constructor already.

  was:
The current sasl based, flat-file Authenticator ( {{sasl/authenticator.hpp}} 
)  is spawning a (libprocess) process in its constructor and demands the 
authentication client process UPID as a parameter - not a perfect fit for the 
current Module API as that one does only allow default constructors. 

Instead of wrapping the flat-file Authenticator with yet another class that 
satisfies a proper interface design, we might just as well slightly change the 
current design into a feasible interface, no? 

I would like to propose something like this:

{noformat}
class Authenticator
{
public:
  Authenticator() {}
  virtual ~Authenticator() {}

  virtual void initialize(const process::UPID clientPid) = 0;
  virtual process::FutureOptionstd::string  authenticate(void) = 0;
};
{noformat}

As a result, the flat-file authenticator would spawn its process within that 
proposed initialize method and not within the constructor already.


 Authenticator Module: Interface design
 --

 Key: MESOS-1891
 URL: https://issues.apache.org/jira/browse/MESOS-1891
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff
Priority: Blocker

 h4. Motivation
 Design an interface covering authenticator modules while staying minimal 
 invasive in regards to changes on the existing flat-file Authenticator 
 implementation.
 h4. Status Quo 
 The current sasl based, flat-file Authenticator ( 
 {{sasl/authenticator.hpp}} )  is spawning a (libprocess) process in its 
 constructor and demands the authentication client process UPID as a parameter 
 - not a perfect fit for the current Module API as that one does only allow 
 default constructors. 
 h4. Design
 Instead of wrapping the flat-file Authenticator with yet another class that 
 satisfies a proper interface design, we might just as well slightly change 
 the current design into a feasible interface, no? 
 I would like to propose something like this:
 {noformat}
 class Authenticator
 {
 public:
   Authenticator() {}
   virtual ~Authenticator() {}
   virtual void initialize(const process::UPID clientPid) = 0;
   virtual process::FutureOptionstd::string  authenticate(void) = 0;
 };
 {noformat}
 As a result, the flat-file authenticator would spawn its process within that 
 proposed initialize method and not within the constructor already.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (MESOS-1889) Create an Authenticator Module

2014-10-09 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-1889?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff updated MESOS-1889:
--
Description: 
Breaking this down into several tickets for allowing dedicated discussions 
where needed.

- [Interface Design|https://issues.apache.org/jira/browse/MESOS-1891]
- [Location and Naming|https://issues.apache.org/jira/browse/MESOS-1893]
- [Tests|https://issues.apache.org/jira/browse/MESOS-1894]


  was:Breaking this down into several tickets for allowing dedicated 
discussions where needed.


 Create an Authenticator Module
 --

 Key: MESOS-1889
 URL: https://issues.apache.org/jira/browse/MESOS-1889
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff

 Breaking this down into several tickets for allowing dedicated discussions 
 where needed.
 - [Interface Design|https://issues.apache.org/jira/browse/MESOS-1891]
 - [Location and Naming|https://issues.apache.org/jira/browse/MESOS-1893]
 - [Tests|https://issues.apache.org/jira/browse/MESOS-1894]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (MESOS-1895) Enable cgroups isolation by default

2014-10-09 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-1895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff updated MESOS-1895:
--
Issue Type: Improvement  (was: Bug)

 Enable cgroups isolation by default
 ---

 Key: MESOS-1895
 URL: https://issues.apache.org/jira/browse/MESOS-1895
 Project: Mesos
  Issue Type: Improvement
  Components: slave
Affects Versions: 0.20.1
 Environment: Linux!
Reporter: Sunil Shah

 cgroups isolation is not enabled by default on mesos-slave. For people 
 deploying Mesos in a production environment, it makes sense that this would 
 default - given the assumption that Mesos uses cgroups to isolate running 
 tasks.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (MESOS-1889) Create an Authenticator Module

2014-10-09 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-1889?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff updated MESOS-1889:
--
Description: 
h4. Motivation
Allow for third parties to quickly develop and plug-in new authentication 
methods. The modularized Authenticator API will lower the barrier for the 
community to provide new methods to Mesos. An example for such additional, next 
step module could be PAM (LDAP, MySQL, NIS, UNIX) backed authentication. 
cyrus-sasl2 itself already offers more than a half a dozen mechanisms via its 
standard plugins and these could be triggered by additional Authenticator / 
Authenticatee modules. cyrus-sasl2 does support even more mechanisms when being 
custom built (about a full dozen) but we do not want to bundle cyrus-sasl2 to 
enforce custom builds. Alternative authentication (especially non-SASL based) 
methods may bring in new dependencies that we don't want to enforce on all of 
our users. Mesos users may be required to use custom authentication techniques 
due to strict security policies. 

h4. Breakdown
- [Interface Design|https://issues.apache.org/jira/browse/MESOS-1891]
- [Location and Naming|https://issues.apache.org/jira/browse/MESOS-1893]
- [Tests|https://issues.apache.org/jira/browse/MESOS-1894]


  was:
Breaking this down into several tickets for allowing dedicated discussions 
where needed.

- [Interface Design|https://issues.apache.org/jira/browse/MESOS-1891]
- [Location and Naming|https://issues.apache.org/jira/browse/MESOS-1893]
- [Tests|https://issues.apache.org/jira/browse/MESOS-1894]



 Create an Authenticator Module
 --

 Key: MESOS-1889
 URL: https://issues.apache.org/jira/browse/MESOS-1889
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff

 h4. Motivation
 Allow for third parties to quickly develop and plug-in new authentication 
 methods. The modularized Authenticator API will lower the barrier for the 
 community to provide new methods to Mesos. An example for such additional, 
 next step module could be PAM (LDAP, MySQL, NIS, UNIX) backed authentication. 
 cyrus-sasl2 itself already offers more than a half a dozen mechanisms via its 
 standard plugins and these could be triggered by additional Authenticator / 
 Authenticatee modules. cyrus-sasl2 does support even more mechanisms when 
 being custom built (about a full dozen) but we do not want to bundle 
 cyrus-sasl2 to enforce custom builds. Alternative authentication (especially 
 non-SASL based) methods may bring in new dependencies that we don't want to 
 enforce on all of our users. Mesos users may be required to use custom 
 authentication techniques due to strict security policies. 
 h4. Breakdown
 - [Interface Design|https://issues.apache.org/jira/browse/MESOS-1891]
 - [Location and Naming|https://issues.apache.org/jira/browse/MESOS-1893]
 - [Tests|https://issues.apache.org/jira/browse/MESOS-1894]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1889) Create an Authenticator Module

2014-10-09 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1889?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14165944#comment-14165944
 ] 

Till Toenshoff commented on MESOS-1889:
---

Great points guys. I have updated this ticket to reflect the motivation behind 
this improvement as a whole.

 Create an Authenticator Module
 --

 Key: MESOS-1889
 URL: https://issues.apache.org/jira/browse/MESOS-1889
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff

 h4. Motivation
 Allow for third parties to quickly develop and plug-in new authentication 
 methods. The modularized Authenticator API will lower the barrier for the 
 community to provide new methods to Mesos. An example for such additional, 
 next step module could be PAM (LDAP, MySQL, NIS, UNIX) backed authentication. 
 cyrus-sasl2 itself already offers more than a half a dozen mechanisms via its 
 standard plugins and these could be triggered by additional Authenticator / 
 Authenticatee modules. cyrus-sasl2 does support even more mechanisms when 
 being custom built (about a full dozen) but we do not want to bundle 
 cyrus-sasl2 to enforce custom builds. Alternative authentication (especially 
 non-SASL based) methods may bring in new dependencies that we don't want to 
 enforce on all of our users. Mesos users may be required to use custom 
 authentication techniques due to strict security policies. 
 h4. Breakdown
 - [Interface Design|https://issues.apache.org/jira/browse/MESOS-1891]
 - [Location and Naming|https://issues.apache.org/jira/browse/MESOS-1893]
 - [Tests|https://issues.apache.org/jira/browse/MESOS-1894]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (MESOS-1896) Enable module specific command line parameters

2014-10-09 Thread Till Toenshoff (JIRA)
Till Toenshoff created MESOS-1896:
-

 Summary: Enable module specific command line parameters 
 Key: MESOS-1896
 URL: https://issues.apache.org/jira/browse/MESOS-1896
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff


h4. Idea
Add a flags parameter to the create call and hand down textual or parsed JSON 
to the module. The JSON on the command line can either a) be associated with 
the module mention or it can b) be associated with the module kind's topic or 
c) have a separate flags section just for module flags. 
Opinions?

h4. Examples (prototyping, not claiming this grammar is ideal):

a) {noformat}slave --modules='[{lib : path, modules : [{name : myModule, 
flags : '{credentials : foo}}]}]'{noformat}
b) {noformat}slave --modules='[{lib : path, modules : [
{myModule}]}]' --authenticatorFlags='{credentials : foo}'{noformat}
c) {noformat}slave --modules='[{lib : path, modules : [{myModule}
]}]' --moduleFlags='[{module : myModule, flags :
{credentials : foo}
]}{noformat}

In any case modules could report their required flags syntax when calling 
{noformat}slave --help --modules='[{lib : path, modules : [
{myModule} ]}]'{noformat} or something like that in any of the above variants.

This was copied from Bernd's comment on MESOS-1384.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (MESOS-1894) Authenticator Module: Tests

2014-10-09 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-1894?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff updated MESOS-1894:
--
Component/s: modules

 Authenticator Module: Tests
 ---

 Key: MESOS-1894
 URL: https://issues.apache.org/jira/browse/MESOS-1894
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff
Priority: Blocker

 h4. Motivation
 Make sure that an authenticator module can be fully unit- and integration- 
 tested within the mesos test suite.
 h4. Status Quo
 There are no unit tests for authenticator or authenticatee so far. We 
 currently have a few authentication integration tests ( 
 {{tests/sasl_tests.cpp}} ). 
 h4. Approach
 1. MESOS-1864 needs to get fleshed out, providing a module integration test 
 scheme for our mesos test suite
 2. provide a unit test for the flatfile authenticator module
 3. implement integration tests via a parameterized version of 
 {{sasl_tests.cpp}}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (MESOS-1893) Authenticator Module: Location and Naming

2014-10-10 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-1893?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff updated MESOS-1893:
--
Description: 
h4. Motivation
Render a well structured and mesos-alike naming and folder tree. This shall be 
similar to what we know from the awesome! containerizer structure.

h4. Folder Structure
For the flat-file Authenticator Module but also for authentication as a whole, 
I would like to propose the following structural changes:

- move {{authenticator.hpp}} out of {{sasl/}}
- create a new {{authentication/}}
-- put the module interface here and name it {{authenticator.hpp}}
- create a new {{authentication/cram_md5/authenticator/}}
-- put the module implementation here and name it {{authenticator.hpp}} 
-- mind that I am proposing {{cram_md5}} instead of {{sasl}} due to the fact 
that cyrus-sasl2 offers many more mechanisms but our current default (CRAM-MD5) 
and further dividing the tree into sasl and non-sasl based authentications may 
be too verbosive/bloated.

h4. Module Naming
Following the module naming scheme, I would like to propose 
{{org_apache_mesos_authenticator_crammd5}} to be used for our first/default 
Authenticator.


  was:
h4. Motivation
Render a well structured and mesos-alike naming and folder tree. This shall be 
similar to what we know from the awesome! containerizer structure.

h4. Folder Structure
For the flat-file Authenticator Module but also for authentication as a whole, 
I would like to propose the following structural changes:

- move {{authenticator.hpp}} out of {{sasl/}}
- create a new {{authentication/}}
- create a new {{authentication/authenticator/}}
-- put the module interface here and name it {{authenticator.hpp}}
- create a new {{authentication/authenticator/flatfile/}}
-- put the module implementation here and name it {{authenticator.hpp}} 
-- mind that I am proposing {{flatfile}} instead of {{sasl}} due to the fact 
that sasl offers many more mechanisms but our current default (CRAM-MD5) and 
further dividing the tree into sasl and non-sasl based authentications may be 
too verbosive/bloated.

h4. Module Naming
Following the module naming scheme, I would like to propose 
{{org_apache_mesos_authenticator_flatfile}} to be used for our first/default 
Authenticator.



 Authenticator Module: Location and Naming
 -

 Key: MESOS-1893
 URL: https://issues.apache.org/jira/browse/MESOS-1893
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff
Priority: Blocker

 h4. Motivation
 Render a well structured and mesos-alike naming and folder tree. This shall 
 be similar to what we know from the awesome! containerizer structure.
 h4. Folder Structure
 For the flat-file Authenticator Module but also for authentication as a 
 whole, I would like to propose the following structural changes:
 - move {{authenticator.hpp}} out of {{sasl/}}
 - create a new {{authentication/}}
 -- put the module interface here and name it {{authenticator.hpp}}
 - create a new {{authentication/cram_md5/authenticator/}}
 -- put the module implementation here and name it {{authenticator.hpp}} 
 -- mind that I am proposing {{cram_md5}} instead of {{sasl}} due to the fact 
 that cyrus-sasl2 offers many more mechanisms but our current default 
 (CRAM-MD5) and further dividing the tree into sasl and non-sasl based 
 authentications may be too verbosive/bloated.
 h4. Module Naming
 Following the module naming scheme, I would like to propose 
 {{org_apache_mesos_authenticator_crammd5}} to be used for our first/default 
 Authenticator.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (MESOS-1893) Authenticator Module: Location and Naming

2014-10-10 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-1893?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff updated MESOS-1893:
--
Description: 
h4. Motivation
Render a well structured and mesos-alike naming and folder tree. This shall be 
similar to what we know from the awesome! containerizer structure.

h4. Folder Structure
For the flat-file Authenticator Module but also for authentication as a whole, 
I would like to propose the following structural changes:

- move {{authenticator.hpp}} out of {{sasl/}}
- create a new {{authentication/}}
-- put the module interface here and name it {{authenticator.hpp}}
- create a new {{authentication/cram_md5/authenticator/}}
-- put the module implementation here and name it {{authenticator.hpp}} 
-- mind that I am proposing {{cram_md5}} instead of {{sasl}} due to the fact 
that cyrus-sasl2 offers many more mechanisms but our current default (CRAM-MD5) 
and further dividing the tree into sasl and non-sasl based authentications may 
be too verbosive/bloated.

h4. Module Naming
Following the module naming scheme, I would like to propose 
{{org_apache_mesos_authenticator_crammd5}} to be used for our first/default 
Authenticator. Mind that in this case I did not reflect the folder tree into 
this reverse domain alike description as I find it more intuitive to have the 
module before the kind - objections? 


  was:
h4. Motivation
Render a well structured and mesos-alike naming and folder tree. This shall be 
similar to what we know from the awesome! containerizer structure.

h4. Folder Structure
For the flat-file Authenticator Module but also for authentication as a whole, 
I would like to propose the following structural changes:

- move {{authenticator.hpp}} out of {{sasl/}}
- create a new {{authentication/}}
-- put the module interface here and name it {{authenticator.hpp}}
- create a new {{authentication/cram_md5/authenticator/}}
-- put the module implementation here and name it {{authenticator.hpp}} 
-- mind that I am proposing {{cram_md5}} instead of {{sasl}} due to the fact 
that cyrus-sasl2 offers many more mechanisms but our current default (CRAM-MD5) 
and further dividing the tree into sasl and non-sasl based authentications may 
be too verbosive/bloated.

h4. Module Naming
Following the module naming scheme, I would like to propose 
{{org_apache_mesos_authenticator_crammd5}} to be used for our first/default 
Authenticator.



 Authenticator Module: Location and Naming
 -

 Key: MESOS-1893
 URL: https://issues.apache.org/jira/browse/MESOS-1893
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff
Priority: Blocker

 h4. Motivation
 Render a well structured and mesos-alike naming and folder tree. This shall 
 be similar to what we know from the awesome! containerizer structure.
 h4. Folder Structure
 For the flat-file Authenticator Module but also for authentication as a 
 whole, I would like to propose the following structural changes:
 - move {{authenticator.hpp}} out of {{sasl/}}
 - create a new {{authentication/}}
 -- put the module interface here and name it {{authenticator.hpp}}
 - create a new {{authentication/cram_md5/authenticator/}}
 -- put the module implementation here and name it {{authenticator.hpp}} 
 -- mind that I am proposing {{cram_md5}} instead of {{sasl}} due to the fact 
 that cyrus-sasl2 offers many more mechanisms but our current default 
 (CRAM-MD5) and further dividing the tree into sasl and non-sasl based 
 authentications may be too verbosive/bloated.
 h4. Module Naming
 Following the module naming scheme, I would like to propose 
 {{org_apache_mesos_authenticator_crammd5}} to be used for our first/default 
 Authenticator. Mind that in this case I did not reflect the folder tree into 
 this reverse domain alike description as I find it more intuitive to have the 
 module before the kind - objections? 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (MESOS-1905) Enable module metadata to be accessed by the user

2014-10-10 Thread Till Toenshoff (JIRA)
Till Toenshoff created MESOS-1905:
-

 Summary: Enable module metadata to be accessed by the user
 Key: MESOS-1905
 URL: https://issues.apache.org/jira/browse/MESOS-1905
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Priority: Blocker


h4. Motivation
I would love to be able to get custom, meta-data information from a module 
without needing to create a kind instance. 

h4. Use Case
When slave authentication is activated on the master, the user has to supply 
credentials (as our current implementation demands them). Given that 
alternative authentications will not rely on such credentials, we need a way to 
make sure that only Authenticator's that need this information will demand them 
from the user. I would like to prevent instantiating a kind for that module as 
I will not make further use of that instance at that (early) point - let me 
call this the capabilities instance. 
Options are; (a) delete it right away or (b) hold on to it.
a: definitely is possible but does not seem elegant to me right now.
b: holding on onto that instance and reusing it later is not really a good fit 
as the master will instantiate new Authenticator's per connected slave. So for 
the first slave, I would have to use that capabilities instance and for all 
further slave connections I would have to create new Authenticators (possible 
but ugly as hell).

So by extending the Module structure specialization, I could solve this rather 
neatly:
{noformat}
template 
struct ModuleAuthenticator : ModuleBase
{
  Module(
  const char* _moduleApiVersion,
  const char* _mesosVersion,
  const char* _authorName,
  const char* _authorEmail,
  const char* _description,
  bool (*_compatible)(),
  bool (*_needsCredentials)(),
  Authenticator* (*_create)())
: ModuleBase(
_moduleApiVersion,
_mesosVersion,
Authenticator,
_authorName,
_authorEmail,
_description,
_compatible),
  needsCredentials(_needsCredentials),
  create(_create)
  { }

  bool (*needsCredentials)();
  Authenticator* (*create)();
};
{noformat}

Within the implementation I would simply use that function just like we are 
using {{compatible()}} already.

h4. Status Quo
ModuleManager does not support returning the {{ModuleBase*}} to the user. The 
only way for such information to be returned by a module is to instantiate it 
and ask its implementation for it - that is, the module interface needs to 
include a method returning such info. 

h4. Idea
For being able to get information on a module without an instance kind, a 
method within the ModuleManager that looks something like this would help:
{noformat}
static TryModuleBase* peek(const std::string moduleName) 
{noformat}

h4. Discussion
Am I possibly attempting something too hacky here - are there better 
alternatives I missed?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1797) Packaged Zookeeper does not compile on OSX Yosemite

2014-10-10 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1797?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14167804#comment-14167804
 ] 

Till Toenshoff commented on MESOS-1797:
---

[~xujyan] Would you be available for shepparding 
https://reviews.apache.org/r/26571 which should fix the above issue?
Note however that we still intend to wait for upstream to commit this patch 
into their project - hence the above RR would be a hotfix to prevent us from 
having to upgrade the bundled ZooKeeper altogether.

 Packaged Zookeeper does not compile on OSX Yosemite
 ---

 Key: MESOS-1797
 URL: https://issues.apache.org/jira/browse/MESOS-1797
 Project: Mesos
  Issue Type: Improvement
  Components: build
Affects Versions: 0.20.0, 0.21.0, 0.19.1
Reporter: Dario Rexin
Priority: Minor

 I have been struggling with this for some time (due to my lack of knowledge 
 about C compiler error messages) and finally found a way to make it compile. 
 The problem is that Zookeeper defines a function `htonll` that is a builtin 
 function in Yosemite. For me it worked to just remove this function, but as 
 it needs to keep working on other systems as well, we would need some check 
 for the OS version or if the function is already defined.
 Here are the links to the source:
 https://github.com/apache/zookeeper/blob/trunk/src/c/include/recordio.h#L73
 https://github.com/apache/zookeeper/blob/trunk/src/c/src/recordio.c#L83-L97



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (MESOS-1894) Authenticator Module: Tests

2014-10-10 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-1894?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff updated MESOS-1894:
--
Description: 
h4. Motivation
Make sure that an authenticator module can be fully unit- and integration- 
tested within the mesos test suite.

h4. Status Quo
We currently have a few CRAM-MD5 specific authentication integration tests ( 
{{tests/sasl_tests.cpp}} ) as well as a complete authentication test list for 
authentication as a whole ( {{tests/authentication.cpp}} ). 

h4. Approach
1. MESOS-1864 needs to get fleshed out, providing a module integration test 
scheme for our mesos test suite
2. refactor / move / rename integration tests of the CRAM-MD5 specific tests 
{{tests/sasl_tests.cpp}}
3. implement tests via a parameterized version of {{tests/authentication.cpp}}


  was:
h4. Motivation
Make sure that an authenticator module can be fully unit- and integration- 
tested within the mesos test suite.

h4. Status Quo
There are no unit tests for authenticator or authenticatee so far. We currently 
have a few authentication integration tests ( {{tests/sasl_tests.cpp}} ). 

h4. Approach
1. MESOS-1864 needs to get fleshed out, providing a module integration test 
scheme for our mesos test suite
2. provide a unit test for the flatfile authenticator module
3. implement integration tests via a parameterized version of {{sasl_tests.cpp}}



 Authenticator Module: Tests
 ---

 Key: MESOS-1894
 URL: https://issues.apache.org/jira/browse/MESOS-1894
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff
Priority: Blocker

 h4. Motivation
 Make sure that an authenticator module can be fully unit- and integration- 
 tested within the mesos test suite.
 h4. Status Quo
 We currently have a few CRAM-MD5 specific authentication integration tests ( 
 {{tests/sasl_tests.cpp}} ) as well as a complete authentication test list for 
 authentication as a whole ( {{tests/authentication.cpp}} ). 
 h4. Approach
 1. MESOS-1864 needs to get fleshed out, providing a module integration test 
 scheme for our mesos test suite
 2. refactor / move / rename integration tests of the CRAM-MD5 specific tests 
 {{tests/sasl_tests.cpp}}
 3. implement tests via a parameterized version of {{tests/authentication.cpp}}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (MESOS-1894) Authenticator Module: Tests

2014-10-10 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-1894?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff updated MESOS-1894:
--
Description: 
h4. Motivation
Make sure that an authenticator module can be fully unit- and integration- 
tested within the mesos test suite.

h4. Status Quo
We currently have a few CRAM-MD5 specific authentication integration tests ( 
{{tests/sasl_tests.cpp}} ) as well as a complete authentication test list for 
authentication as a whole with some CRAM-MD5 specifics again ( 
{{tests/authentication.cpp}} ). 

h4. Approach
1. MESOS-1864 needs to get fleshed out, providing a module integration test 
scheme for our mesos test suite
2. refactor / move / rename integration tests of the CRAM-MD5 specific tests 
{{tests/sasl_tests.cpp}}  {{tests/authentication.cpp}}
3. implement tests via a parameterized version of {{tests/authentication.cpp}}


  was:
h4. Motivation
Make sure that an authenticator module can be fully unit- and integration- 
tested within the mesos test suite.

h4. Status Quo
We currently have a few CRAM-MD5 specific authentication integration tests ( 
{{tests/sasl_tests.cpp}} ) as well as a complete authentication test list for 
authentication as a whole ( {{tests/authentication.cpp}} ). 

h4. Approach
1. MESOS-1864 needs to get fleshed out, providing a module integration test 
scheme for our mesos test suite
2. refactor / move / rename integration tests of the CRAM-MD5 specific tests 
{{tests/sasl_tests.cpp}}
3. implement tests via a parameterized version of {{tests/authentication.cpp}}



 Authenticator Module: Tests
 ---

 Key: MESOS-1894
 URL: https://issues.apache.org/jira/browse/MESOS-1894
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff
Priority: Blocker

 h4. Motivation
 Make sure that an authenticator module can be fully unit- and integration- 
 tested within the mesos test suite.
 h4. Status Quo
 We currently have a few CRAM-MD5 specific authentication integration tests ( 
 {{tests/sasl_tests.cpp}} ) as well as a complete authentication test list for 
 authentication as a whole with some CRAM-MD5 specifics again ( 
 {{tests/authentication.cpp}} ). 
 h4. Approach
 1. MESOS-1864 needs to get fleshed out, providing a module integration test 
 scheme for our mesos test suite
 2. refactor / move / rename integration tests of the CRAM-MD5 specific tests 
 {{tests/sasl_tests.cpp}}  {{tests/authentication.cpp}}
 3. implement tests via a parameterized version of {{tests/authentication.cpp}}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1905) Enable module metadata to be accessed by the user

2014-10-15 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1905?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14172253#comment-14172253
 ] 

Till Toenshoff commented on MESOS-1905:
---

Turns out I can get around without this feature by a minor change in the 
flags-validation within mesos-master. So my specific use-case becomes invalid 
for now.

Given that the basic idea might still be useful when properly being expanded 
(versioning on the information channel), I will not close this unless 
instructed otherwise.

 Enable module metadata to be accessed by the user
 -

 Key: MESOS-1905
 URL: https://issues.apache.org/jira/browse/MESOS-1905
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Priority: Blocker

 h4. Motivation
 I would love to be able to get custom, meta-data information from a module 
 without needing to create a kind instance. 
 h4. Use Case
 When slave authentication is activated on the master, the user has to supply 
 credentials (as our current implementation demands them). Given that 
 alternative authentications will not rely on such credentials, we need a way 
 to make sure that only Authenticator's that need this information will demand 
 them from the user. I would like to prevent instantiating a kind for that 
 module as I will not make further use of that instance at that (early) point 
 - let me call this the capabilities instance. 
 Options are; (a) delete it right away or (b) hold on to it.
 a: definitely is possible but does not seem elegant to me right now.
 b: holding on onto that instance and reusing it later is not really a good 
 fit as the master will instantiate new Authenticator's per connected slave. 
 So for the first slave, I would have to use that capabilities instance and 
 for all further slave connections I would have to create new Authenticators 
 (possible but ugly as hell).
 So by extending the Module structure specialization with a {{bool 
 needsCredentials()}}, I could solve this rather neatly:
 {noformat}
 template 
 struct ModuleAuthenticator : ModuleBase
 {
   Module(
   const char* _moduleApiVersion,
   const char* _mesosVersion,
   const char* _authorName,
   const char* _authorEmail,
   const char* _description,
   bool (*_compatible)(),
   bool (*_needsCredentials)(),
   Authenticator* (*_create)())
 : ModuleBase(
 _moduleApiVersion,
 _mesosVersion,
 Authenticator,
 _authorName,
 _authorEmail,
 _description,
 _compatible),
   needsCredentials(_needsCredentials),
   create(_create)
   { }
   bool (*needsCredentials)();
   Authenticator* (*create)();
 };
 {noformat}
 Within the implementation I would simply use that function just like we are 
 using {{compatible()}} already.
 h4. Status Quo
 ModuleManager does not support returning the {{ModuleBase*}} to the user. The 
 only way for such information to be returned by a module is to instantiate it 
 and ask its implementation for it - that is, the module interface needs to 
 include a method returning such info. 
 h4. Idea
 For being able to get information on a module without an instance kind, a 
 method within the ModuleManager that looks something like this would help:
 {noformat}
 static TryModuleBase* peek(const std::string moduleName) 
 {noformat}
 h4. Discussion
 Am I possibly attempting something too hacky here - are there better 
 alternatives I missed?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (MESOS-1905) Enable module metadata to be accessed by the user

2014-10-15 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-1905?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff updated MESOS-1905:
--
Priority: Minor  (was: Blocker)

 Enable module metadata to be accessed by the user
 -

 Key: MESOS-1905
 URL: https://issues.apache.org/jira/browse/MESOS-1905
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Priority: Minor

 h4. Motivation
 I would love to be able to get custom, meta-data information from a module 
 without needing to create a kind instance. 
 h4. Use Case
 When slave authentication is activated on the master, the user has to supply 
 credentials (as our current implementation demands them). Given that 
 alternative authentications will not rely on such credentials, we need a way 
 to make sure that only Authenticator's that need this information will demand 
 them from the user. I would like to prevent instantiating a kind for that 
 module as I will not make further use of that instance at that (early) point 
 - let me call this the capabilities instance. 
 Options are; (a) delete it right away or (b) hold on to it.
 a: definitely is possible but does not seem elegant to me right now.
 b: holding on onto that instance and reusing it later is not really a good 
 fit as the master will instantiate new Authenticator's per connected slave. 
 So for the first slave, I would have to use that capabilities instance and 
 for all further slave connections I would have to create new Authenticators 
 (possible but ugly as hell).
 So by extending the Module structure specialization with a {{bool 
 needsCredentials()}}, I could solve this rather neatly:
 {noformat}
 template 
 struct ModuleAuthenticator : ModuleBase
 {
   Module(
   const char* _moduleApiVersion,
   const char* _mesosVersion,
   const char* _authorName,
   const char* _authorEmail,
   const char* _description,
   bool (*_compatible)(),
   bool (*_needsCredentials)(),
   Authenticator* (*_create)())
 : ModuleBase(
 _moduleApiVersion,
 _mesosVersion,
 Authenticator,
 _authorName,
 _authorEmail,
 _description,
 _compatible),
   needsCredentials(_needsCredentials),
   create(_create)
   { }
   bool (*needsCredentials)();
   Authenticator* (*create)();
 };
 {noformat}
 Within the implementation I would simply use that function just like we are 
 using {{compatible()}} already.
 h4. Status Quo
 ModuleManager does not support returning the {{ModuleBase*}} to the user. The 
 only way for such information to be returned by a module is to instantiate it 
 and ask its implementation for it - that is, the module interface needs to 
 include a method returning such info. 
 h4. Idea
 For being able to get information on a module without an instance kind, a 
 method within the ModuleManager that looks something like this would help:
 {noformat}
 static TryModuleBase* peek(const std::string moduleName) 
 {noformat}
 h4. Discussion
 Am I possibly attempting something too hacky here - are there better 
 alternatives I missed?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (MESOS-1926) Enable local cluster to use module loading.

2014-10-15 Thread Till Toenshoff (JIRA)
Till Toenshoff created MESOS-1926:
-

 Summary: Enable local cluster to use module loading.
 Key: MESOS-1926
 URL: https://issues.apache.org/jira/browse/MESOS-1926
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Priority: Blocker


This appears to break down into two issues;

launch: Given that frameworks can launch a local cluster implicitly (for 
testing purposes), we need to enable sched.cpp to load modules.

mesos-local: Enable loadable modules within the executable.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (MESOS-1926) Enable local cluster to use module loading.

2014-10-15 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-1926?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff updated MESOS-1926:
--
Description: 
This appears to break down into two issues;

launch: Given that frameworks can launch a local cluster implicitly (for 
testing purposes), we need to enable local/launch.cpp to load modules.

mesos-local: Enable loadable modules within the executable via changes in 
local/main.cpp.


  was:
This appears to break down into two issues;

launch: Given that frameworks can launch a local cluster implicitly (for 
testing purposes), we need to enable sched.cpp to load modules.

mesos-local: Enable loadable modules within the executable.



 Enable local cluster to use module loading.
 ---

 Key: MESOS-1926
 URL: https://issues.apache.org/jira/browse/MESOS-1926
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Priority: Blocker

 This appears to break down into two issues;
 launch: Given that frameworks can launch a local cluster implicitly (for 
 testing purposes), we need to enable local/launch.cpp to load modules.
 mesos-local: Enable loadable modules within the executable via changes in 
 local/main.cpp.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (MESOS-1927) Enable implicit local cluster launch to load modules

2014-10-15 Thread Till Toenshoff (JIRA)
Till Toenshoff created MESOS-1927:
-

 Summary: Enable implicit local cluster launch to load modules
 Key: MESOS-1927
 URL: https://issues.apache.org/jira/browse/MESOS-1927
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff
Priority: Blocker


Given that frameworks can launch a local cluster implicitly (for testing 
purposes), we need to enable local/launch.cpp to load modules.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (MESOS-1928) Enable mesos-local to load modules

2014-10-15 Thread Till Toenshoff (JIRA)
Till Toenshoff created MESOS-1928:
-

 Summary: Enable mesos-local to load modules
 Key: MESOS-1928
 URL: https://issues.apache.org/jira/browse/MESOS-1928
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff
Priority: Blocker


Enable loadable modules within the mesos-local executable.  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (MESOS-1926) Enable local cluster to use module loading.

2014-10-15 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-1926?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff updated MESOS-1926:
--
Description: 
This appears to break down into two issues;

launch: Given that frameworks can launch a local cluster implicitly (for 
testing purposes), we need to enable local/launch.cpp to load modules.

[mesos-local:https://issues.apache.org/jira/browse/MESOS-1928): Enable loadable 
modules within the executable via changes in local/main.cpp.


  was:
This appears to break down into two issues;

launch: Given that frameworks can launch a local cluster implicitly (for 
testing purposes), we need to enable local/launch.cpp to load modules.

mesos-local: Enable loadable modules within the executable via changes in 
local/main.cpp.



 Enable local cluster to use module loading.
 ---

 Key: MESOS-1926
 URL: https://issues.apache.org/jira/browse/MESOS-1926
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Priority: Blocker

 This appears to break down into two issues;
 launch: Given that frameworks can launch a local cluster implicitly (for 
 testing purposes), we need to enable local/launch.cpp to load modules.
 [mesos-local:https://issues.apache.org/jira/browse/MESOS-1928): Enable 
 loadable modules within the executable via changes in local/main.cpp.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (MESOS-1872) Cleanup right angle bracket in the code base.

2014-10-15 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1872?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14172803#comment-14172803
 ] 

Till Toenshoff edited comment on MESOS-1872 at 10/15/14 7:18 PM:
-

Evelina has bravely proposed three review requests (mesos/libprocess/stout) for 
covering the ticket. There is however some greater risk involved and I wanted 
to be sure that we are all aware of the pro’s and con's of such big cleanups.

{{+}} we may need to do cleanups - even major ones at some point, hence I think 
we need a consensus once and for all regarding tickets of the above nature
{{-}} almost all existing RRs will possibly get invalid and everyone with work 
in flight needs to rebase (possibly rather tedious task in particular case).

There may be more.

The only way I can currently see this happening with minimal friction is 
finding a certain date and even time for doing this on a very quick, 
propose/review/commit.

What do you think?


was (Author: tillt):
Evelina has bravely proposed three review requests (mesos/libprocess/stout) for 
covering the ticket. There is however some greater risk involved and I wanted 
to be sure that we are all aware of the pro’s and con's of such big cleanups.

+ we may need to do cleanups - even major ones at some point, hence I think we 
need a consensus once and for all regarding tickets of the above nature
- almost all existing RRs will possibly get invalid and everyone with work in 
flight needs to rebase (possibly rather tedious task in particular case).

There may be more.

The only way I can currently see this happening with minimal friction is 
finding a certain date and even time for doing this on a very quick, 
propose/review/commit.

What do you think?

 Cleanup right angle bracket in the code base.
 -

 Key: MESOS-1872
 URL: https://issues.apache.org/jira/browse/MESOS-1872
 Project: Mesos
  Issue Type: Bug
Reporter: Jie Yu
Assignee: Evelina Dumitrescu
  Labels: c++11, newbie

 As we start to use c++11 style right angle brackets ('' instead of ' '):
 https://reviews.apache.org/r/25861
 We should do a sweep in our code base to make it consistent.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1927) Enable implicit local cluster launch to load modules

2014-10-15 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14172946#comment-14172946
 ] 

Till Toenshoff commented on MESOS-1927:
---

https://reviews.apache.org/r/26775/

 Enable implicit local cluster launch to load modules
 

 Key: MESOS-1927
 URL: https://issues.apache.org/jira/browse/MESOS-1927
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff
Priority: Blocker

 Given that frameworks can launch a local cluster implicitly (for testing 
 purposes), we need to enable local/launch.cpp to load modules.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (MESOS-1939) Enable multiple authentication methods in parallel

2014-10-16 Thread Till Toenshoff (JIRA)
Till Toenshoff created MESOS-1939:
-

 Summary: Enable multiple authentication methods in parallel
 Key: MESOS-1939
 URL: https://issues.apache.org/jira/browse/MESOS-1939
 Project: Mesos
  Issue Type: Improvement
Reporter: Till Toenshoff
Priority: Minor


The master (authenticator) should allow for multiple authentication mechanisms 
to be used at the same time. That way, a slave could be authenticated by 
mechanism FOO while the frameworks are authenticated by BAR.
The authenticatee should be allowed to select the desired mechanism (module).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (MESOS-1891) Authenticator Module: Interface design

2014-10-16 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-1891?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff updated MESOS-1891:
--
Description: 
h4. Motivation
Design an interface covering authenticator modules while staying minimal 
invasive in regards to changes on the existing flat-file Authenticator 
implementation.

h4. Status Quo 
The current sasl based, flat-file Authenticator ( {{sasl/authenticator.hpp}} 
)  is spawning a (libprocess) process in its constructor and demands the 
authentication client process UPID as a parameter - not a perfect fit for the 
current Module API as that one does only allow default constructors. 

h4. Design
Instead of wrapping the flat-file Authenticator with yet another class that 
satisfies a proper interface design, we might just as well slightly change the 
current design into a feasible interface, no? 

I would like to propose this:

{noformat}
class Authenticator
{
public:
  Authenticator() {}
  virtual ~Authenticator() {}

  virtual OptionError initialize(const process::UPID clientPid, const 
OptionCredentials credentials) = 0;
  virtual process::FutureOptionstd::string  authenticate(void) = 0;
};
{noformat}

As a result, the flat-file authenticator would spawn its process within that 
proposed initialize method and not within the constructor already.

  was:
h4. Motivation
Design an interface covering authenticator modules while staying minimal 
invasive in regards to changes on the existing flat-file Authenticator 
implementation.

h4. Status Quo 
The current sasl based, flat-file Authenticator ( {{sasl/authenticator.hpp}} 
)  is spawning a (libprocess) process in its constructor and demands the 
authentication client process UPID as a parameter - not a perfect fit for the 
current Module API as that one does only allow default constructors. 

h4. Design
Instead of wrapping the flat-file Authenticator with yet another class that 
satisfies a proper interface design, we might just as well slightly change the 
current design into a feasible interface, no? 

I would like to propose something like this:

{noformat}
class Authenticator
{
public:
  Authenticator() {}
  virtual ~Authenticator() {}

  virtual void initialize(const process::UPID clientPid) = 0;
  virtual process::FutureOptionstd::string  authenticate(void) = 0;
};
{noformat}

As a result, the flat-file authenticator would spawn its process within that 
proposed initialize method and not within the constructor already.


 Authenticator Module: Interface design
 --

 Key: MESOS-1891
 URL: https://issues.apache.org/jira/browse/MESOS-1891
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff
Priority: Blocker

 h4. Motivation
 Design an interface covering authenticator modules while staying minimal 
 invasive in regards to changes on the existing flat-file Authenticator 
 implementation.
 h4. Status Quo 
 The current sasl based, flat-file Authenticator ( 
 {{sasl/authenticator.hpp}} )  is spawning a (libprocess) process in its 
 constructor and demands the authentication client process UPID as a parameter 
 - not a perfect fit for the current Module API as that one does only allow 
 default constructors. 
 h4. Design
 Instead of wrapping the flat-file Authenticator with yet another class that 
 satisfies a proper interface design, we might just as well slightly change 
 the current design into a feasible interface, no? 
 I would like to propose this:
 {noformat}
 class Authenticator
 {
 public:
   Authenticator() {}
   virtual ~Authenticator() {}
   virtual OptionError initialize(const process::UPID clientPid, const 
 OptionCredentials credentials) = 0;
   virtual process::FutureOptionstd::string  authenticate(void) = 0;
 };
 {noformat}
 As a result, the flat-file authenticator would spawn its process within that 
 proposed initialize method and not within the constructor already.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1010) Python extension build is broken if gflags-dev is installed

2014-10-18 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1010?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14175977#comment-14175977
 ] 

Till Toenshoff commented on MESOS-1010:
---

[~kevints] I am seeing this as well and I am currently trying to locate the 
cause.

 Python extension build is broken if gflags-dev is installed
 ---

 Key: MESOS-1010
 URL: https://issues.apache.org/jira/browse/MESOS-1010
 Project: Mesos
  Issue Type: Bug
  Components: build, python api
 Environment: Fedora 20, amd64. GCC: 4.8.2.
Reporter: Nikita Vetoshkin

 In my environment mesos build from master results in broken python api module 
 {{_mesos.so}}:
 {noformat}
 nekto0n@ya-darkstar ~/workspace/mesos/src/python $ 
 PYTHONPATH=build/lib.linux-x86_64-2.7/ python -c import _mesos
 Traceback (most recent call last):
   File string, line 1, in module
 ImportError: 
 /home/nekto0n/workspace/mesos/src/python/build/lib.linux-x86_64-2.7/_mesos.so:
  undefined symbol: _ZN6google14FlagRegistererC1EPKcS2_S2_S2_PvS3_
 {noformat}
 Unmangled version of symbol looks like this:
 {noformat}
 google::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, 
 char const*, void*, void*)
 {noformat}
 During {{./configure}} step {{glog}} finds {{gflags}} development files and 
 starts using them, thus *implicitly* adding dependency on {{libgflags.so}}. 
 This breaks Python extensions module and perhaps can break other mesos 
 subsystems when moved to hosts without {{gflags}} installed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1896) Enable module specific command line parameters

2014-10-21 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1896?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14178110#comment-14178110
 ] 

Till Toenshoff commented on MESOS-1896:
---

[~karya] +1

 Enable module specific command line parameters 
 ---

 Key: MESOS-1896
 URL: https://issues.apache.org/jira/browse/MESOS-1896
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Kapil Arya

 h4. Idea
 Add a flags parameter to the create call and hand down textual or parsed JSON 
 to the module. The JSON on the command line can either a) be associated with 
 the module mention or it can b) be associated with the module kind's topic or 
 c) have a separate flags section just for module flags. 
 Opinions?
 h4. Examples (prototyping, not claiming this grammar is ideal):
 a) {noformat}slave --modules='[{lib : path, modules : [{name : myModule, 
 flags : '{credentials : foo}}]}]'{noformat}
 b) {noformat}slave --modules='[{lib : path, modules : [
 {myModule}]}]' --authenticatorFlags='{credentials : foo}'{noformat}
 c) {noformat}slave --modules='[{lib : path, modules : [{myModule}
 ]}]' --moduleFlags='[{module : myModule, flags :
 {credentials : foo}
 ]}{noformat}
 In any case modules could report their required flags syntax when calling 
 {noformat}slave --help --modules='[{lib : path, modules : [
 {myModule} ]}]'{noformat} or something like that in any of the above 
 variants.
 This was copied from Bernd's comment on MESOS-1384.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (MESOS-1889) Create an Authenticator Module

2014-10-21 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-1889?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff updated MESOS-1889:
--
Sprint: Mesosphere Q4 Sprint 1

 Create an Authenticator Module
 --

 Key: MESOS-1889
 URL: https://issues.apache.org/jira/browse/MESOS-1889
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff

 h4. Motivation
 Allow for third parties to quickly develop and plug-in new authentication 
 methods. The modularized Authenticator API will lower the barrier for the 
 community to provide new methods to Mesos. An example for such additional, 
 next step module could be PAM (LDAP, MySQL, NIS, UNIX) backed authentication. 
 cyrus-sasl2 itself already offers more than a half a dozen mechanisms via its 
 standard plugins and these could be triggered by additional Authenticator / 
 Authenticatee modules. cyrus-sasl2 does support even more mechanisms when 
 being custom built (about a full dozen) but we do not want to bundle 
 cyrus-sasl2 to enforce custom builds. Alternative authentication (especially 
 non-SASL based) methods may bring in new dependencies that we don't want to 
 enforce on all of our users. Mesos users may be required to use custom 
 authentication techniques due to strict security policies. 
 h4. Breakdown
 - [Interface Design|https://issues.apache.org/jira/browse/MESOS-1891]
 - [Location and Naming|https://issues.apache.org/jira/browse/MESOS-1893]
 - [Tests|https://issues.apache.org/jira/browse/MESOS-1894]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (MESOS-1966) Integrate the Authenticator module

2014-10-22 Thread Till Toenshoff (JIRA)
Till Toenshoff created MESOS-1966:
-

 Summary: Integrate the Authenticator module
 Key: MESOS-1966
 URL: https://issues.apache.org/jira/browse/MESOS-1966
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff


There are some options we quickly need to decide upon:

1. Keep the currently existing authenticator (sasl/authenticator.hpp) within 
libmesos as a default implementation. Add the --authenticators flag to the 
master and if the user selects crammd5, use the linked in, default 
implementation. If the user selects a different name e.g. 
org_apache_mesos_authenticator_pam, the master will try to load a module with 
that name and use its implemenation. This is somewhat similar to what Kapil has 
done with the Isolator module integration.

2. Make the currently existing authenticator become a module and thereby remove 
it from libmesos. Add the --authenticators flag to the master and ask the user 
to supply a module as well (--modules). 

3. Mixture of 1. and 2. Difference to 2. would be that we load the 
authenticator module implicitly (without the user supplying the --modules flag) 
 as soon as he has enabled any kind of authentication (--authenticate_slaves / 
--authenticate_frameworks).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (MESOS-1966) Integrate the Authenticator module

2014-10-22 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-1966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff updated MESOS-1966:
--
Description: 
There are some options we quickly need to decide upon:

1. Keep the currently existing authenticator {{sasl/authenticator.hpp}} within 
{{libmesos}} as a default implementation. Add the {{--authenticators}} flag to 
the master and if the user selects {{crammd5}}, use the linked in, default 
implementation. If the user selects a different name e.g. 
{{org_apache_mesos_authenticator_pam}}, the master will try to load a module 
with that name and use its implementation. This is somewhat similar to what 
Kapil has done with the Isolator module integration.

2. Make the currently existing authenticator become a module and thereby remove 
it from libmesos. Add the {{--authenticators}} flag to the master and ask the 
user to supply a module as well ( {{--modules}} ). 

3. Mixture of 1. and 2. Difference to 2. would be that we load the 
authenticator module implicitly (without the user supplying the {{--modules}} 
flag)  as soon as he has enabled any kind of authentication ( 
{{--authenticate_slaves}} / {{--authenticate_frameworks}} ).

  was:
There are some options we quickly need to decide upon:

1. Keep the currently existing authenticator (sasl/authenticator.hpp) within 
libmesos as a default implementation. Add the --authenticators flag to the 
master and if the user selects crammd5, use the linked in, default 
implementation. If the user selects a different name e.g. 
org_apache_mesos_authenticator_pam, the master will try to load a module with 
that name and use its implemenation. This is somewhat similar to what Kapil has 
done with the Isolator module integration.

2. Make the currently existing authenticator become a module and thereby remove 
it from libmesos. Add the --authenticators flag to the master and ask the user 
to supply a module as well (--modules). 

3. Mixture of 1. and 2. Difference to 2. would be that we load the 
authenticator module implicitly (without the user supplying the --modules flag) 
 as soon as he has enabled any kind of authentication (--authenticate_slaves / 
--authenticate_frameworks).


 Integrate the Authenticator module
 --

 Key: MESOS-1966
 URL: https://issues.apache.org/jira/browse/MESOS-1966
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff

 There are some options we quickly need to decide upon:
 1. Keep the currently existing authenticator {{sasl/authenticator.hpp}} 
 within {{libmesos}} as a default implementation. Add the {{--authenticators}} 
 flag to the master and if the user selects {{crammd5}}, use the linked in, 
 default implementation. If the user selects a different name e.g. 
 {{org_apache_mesos_authenticator_pam}}, the master will try to load a module 
 with that name and use its implementation. This is somewhat similar to what 
 Kapil has done with the Isolator module integration.
 2. Make the currently existing authenticator become a module and thereby 
 remove it from libmesos. Add the {{--authenticators}} flag to the master and 
 ask the user to supply a module as well ( {{--modules}} ). 
 3. Mixture of 1. and 2. Difference to 2. would be that we load the 
 authenticator module implicitly (without the user supplying the {{--modules}} 
 flag)  as soon as he has enabled any kind of authentication ( 
 {{--authenticate_slaves}} / {{--authenticate_frameworks}} ).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (MESOS-1889) Create an Authenticator Module

2014-10-22 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-1889?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff updated MESOS-1889:
--
Description: 
h4. Motivation
Allow for third parties to quickly develop and plug-in new authentication 
methods. The modularized Authenticator API will lower the barrier for the 
community to provide new methods to Mesos. An example for such additional, next 
step module could be PAM (LDAP, MySQL, NIS, UNIX) backed authentication. 
cyrus-sasl2 itself already offers more than a half a dozen mechanisms via its 
standard plugins and these could be triggered by additional Authenticator / 
Authenticatee modules. cyrus-sasl2 does support even more mechanisms when being 
custom built (about a full dozen) but we do not want to bundle cyrus-sasl2 to 
enforce custom builds. Alternative authentication (especially non-SASL based) 
methods may bring in new dependencies that we don't want to enforce on all of 
our users. Mesos users may be required to use custom authentication techniques 
due to strict security policies. 

h4. Breakdown
- [Interface Design|https://issues.apache.org/jira/browse/MESOS-1891]
- [Location and Naming|https://issues.apache.org/jira/browse/MESOS-1893]
- [Integration|https://issues.apache.org/jira/browse/MESOS-1966]
- [Tests|https://issues.apache.org/jira/browse/MESOS-1894]


  was:
h4. Motivation
Allow for third parties to quickly develop and plug-in new authentication 
methods. The modularized Authenticator API will lower the barrier for the 
community to provide new methods to Mesos. An example for such additional, next 
step module could be PAM (LDAP, MySQL, NIS, UNIX) backed authentication. 
cyrus-sasl2 itself already offers more than a half a dozen mechanisms via its 
standard plugins and these could be triggered by additional Authenticator / 
Authenticatee modules. cyrus-sasl2 does support even more mechanisms when being 
custom built (about a full dozen) but we do not want to bundle cyrus-sasl2 to 
enforce custom builds. Alternative authentication (especially non-SASL based) 
methods may bring in new dependencies that we don't want to enforce on all of 
our users. Mesos users may be required to use custom authentication techniques 
due to strict security policies. 

h4. Breakdown
- [Interface Design|https://issues.apache.org/jira/browse/MESOS-1891]
- [Location and Naming|https://issues.apache.org/jira/browse/MESOS-1893]
- [Integration]https://issues.apache.org/jira/browse/MESOS-1966
- [Tests|https://issues.apache.org/jira/browse/MESOS-1894]



 Create an Authenticator Module
 --

 Key: MESOS-1889
 URL: https://issues.apache.org/jira/browse/MESOS-1889
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff

 h4. Motivation
 Allow for third parties to quickly develop and plug-in new authentication 
 methods. The modularized Authenticator API will lower the barrier for the 
 community to provide new methods to Mesos. An example for such additional, 
 next step module could be PAM (LDAP, MySQL, NIS, UNIX) backed authentication. 
 cyrus-sasl2 itself already offers more than a half a dozen mechanisms via its 
 standard plugins and these could be triggered by additional Authenticator / 
 Authenticatee modules. cyrus-sasl2 does support even more mechanisms when 
 being custom built (about a full dozen) but we do not want to bundle 
 cyrus-sasl2 to enforce custom builds. Alternative authentication (especially 
 non-SASL based) methods may bring in new dependencies that we don't want to 
 enforce on all of our users. Mesos users may be required to use custom 
 authentication techniques due to strict security policies. 
 h4. Breakdown
 - [Interface Design|https://issues.apache.org/jira/browse/MESOS-1891]
 - [Location and Naming|https://issues.apache.org/jira/browse/MESOS-1893]
 - [Integration|https://issues.apache.org/jira/browse/MESOS-1966]
 - [Tests|https://issues.apache.org/jira/browse/MESOS-1894]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1966) Integrate the Authenticator module

2014-10-22 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14179806#comment-14179806
 ] 

Till Toenshoff commented on MESOS-1966:
---

There are some implications on variant 3 that I think are not perfectly cleared 
out yet. Right now, the user has to supply the full path to the module library 
(or it has to be part of ldconfig's search path). Did we already decide where 
modules are being installed? We would need to make sure that modules are 
installed into the standard ldconfig-reachable path for option 3 to work out of 
the box, no?

 Integrate the Authenticator module
 --

 Key: MESOS-1966
 URL: https://issues.apache.org/jira/browse/MESOS-1966
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff

 There are some options we quickly need to decide upon:
 1. Keep the currently existing authenticator {{sasl/authenticator.hpp}} 
 within {{libmesos}} as a default implementation. Add the {{--authenticators}} 
 flag to the master and if the user selects {{crammd5}}, use the linked in, 
 default implementation. If the user selects a different name e.g. 
 {{org_apache_mesos_authenticator_pam}}, the master will try to load a module 
 with that name and use its implementation. This is somewhat similar to what 
 Kapil has done with the Isolator module integration.
 2. Make the currently existing authenticator become a module and thereby 
 remove it from libmesos. Add the {{--authenticators}} flag to the master and 
 ask the user to supply a module as well ( {{--modules}} ). 
 3. Mixture of 1. and 2. Difference to 2. would be that we load the 
 authenticator module implicitly (without the user supplying the {{--modules}} 
 flag)  as soon as he has enabled any kind of authentication ( 
 {{--authenticate_slaves}} / {{--authenticate_frameworks}} ).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1940) Add Mesos-graced/hosted libraries to installation path

2014-10-22 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1940?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14180280#comment-14180280
 ] 

Till Toenshoff commented on MESOS-1940:
---

Let me try to look at this from the user's perspective who needs to work with 
the results of this discussion.

The trivial use-case up front: supplying a full module library path via 
--modules certainly is always possible..
The less trivial case would be allowing the user to supply library names 
without supplying an absolute path. Do we want to cover this case? If so, then 
there seem to be at least two options:
A. Use the configuration-phase prefixed lib-folder (e.g. /usr/local/lib) and 
rely on ldconfig to initialize that location.
B. Use a more specific, mesos-module location (e.g. /usr/local/lib/mesos) and 
allow mesos to use that location by default (again due to configuration-phase 
prefixed location) which could then be overridden by a --modules_path flag. 

Using an ldconfig indexed path certainly makes things rather quick and easy on 
the integration side. It may however be considered a bit untidy as these 
modules are very much mesos specific, hence they should not clutter a 
regular, all-purpose shared object folder. cyrus-sasl2 does use option B with 
its mechanism plugins.


 Add Mesos-graced/hosted libraries to installation path
 --

 Key: MESOS-1940
 URL: https://issues.apache.org/jira/browse/MESOS-1940
 Project: Mesos
  Issue Type: Task
Reporter: Niklas Quarfot Nielsen

 When more modules are going to show up within the Mesos source base (and even 
 with sample/test modules) it would be convenient to have them be installed 
 alongside the regular Mesos binaries.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1543) MasterTest.OrphanTasks is flaky

2014-10-23 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14181394#comment-14181394
 ] 

Till Toenshoff commented on MESOS-1543:
---

I have just seen this one break in a single (unreplicatable) run, unfortunately 
I had no logging activated. Do we want to reopen this ticket, or shall I file a 
new one?

{noformat}
[ RUN  ] MasterTest.OrphanTasks
ABORT: (../../3rdparty/libprocess/3rdparty/stout/include/stout/try.hpp:92): 
Try::get() but state == ERROR: Resolver Error 0 (no error)*** Aborted at 
1414072736 (unix time) try date -d @1414072736 if you are using GNU date ***
PC: @ 0x7fff9219d282 __pthread_kill
*** SIGABRT (@0x7fff9219d282) received by PID 11348 (TID 0x7fff765a7300) stack 
trace: ***
   @ 0x7fff94743f1a _sigtramp
   @0x1 (unknown)
   @ 0x7fff8c40bb73 abort
   @0x1048fc0cd _Abort()
   @0x1048fc05a _Abort()
   @0x104aef8ca mesos::MesosSchedulerDriver::initialize()
   @0x104aefc32 mesos::MesosSchedulerDriver::MesosSchedulerDriver()
   @0x10349ded9 
mesos::internal::tests::TestingMesosSchedulerDriver::TestingMesosSchedulerDriver()
   @0x103901314 MasterTest_OrphanTasks_Test::TestBody()
   @0x103bf9b1c 
testing::internal::HandleExceptionsInMethodIfSupported()
   @0x103be4a6a testing::Test::Run()
   @0x103be5772 testing::TestInfo::Run()
   @0x103be5db0 testing::TestCase::Run()
   @0x103beb827 testing::internal::UnitTestImpl::RunAllTests()
   @0x103bfa2e4 
testing::internal::HandleExceptionsInMethodIfSupported()
   @0x103beb539 testing::UnitTest::Run()
   @0x103849fa8 main
   @ 0x7fff877325c9 start
{noformat}

 MasterTest.OrphanTasks is flaky
 ---

 Key: MESOS-1543
 URL: https://issues.apache.org/jira/browse/MESOS-1543
 Project: Mesos
  Issue Type: Bug
  Components: test
Reporter: Vinod Kone
Assignee: Yifan Gu
 Fix For: 0.20.0


 Looks like the slave's detector was discarded before the slave shutdown.
 {code}
 [ RUN  ] MasterTest.OrphanTasks
 Using temporary directory '/tmp/MasterTest_OrphanTasks_s8r6NU'
 I0625 16:07:58.861265 26203 leveldb.cpp:176] Opened db in 48.741714ms
 I0625 16:07:58.877020 26203 leveldb.cpp:183] Compacted db in 15.444957ms
 I0625 16:07:58.877488 26203 leveldb.cpp:198] Created db iterator in 8308ns
 I0625 16:07:58.877691 26203 leveldb.cpp:204] Seeked to beginning of db in 
 2133ns
 I0625 16:07:58.878000 26203 leveldb.cpp:273] Iterated through 0 keys in the 
 db in 1896ns
 I0625 16:07:58.878221 26203 replica.cpp:741] Replica recovered with log 
 positions 0 - 0 with 1 holes and 0 unlearned
 I0625 16:07:58.878715 26229 recover.cpp:425] Starting replica recovery
 I0625 16:07:58.878783 26229 recover.cpp:451] Replica is in EMPTY status
 I0625 16:07:58.879034 26229 replica.cpp:638] Replica in EMPTY status received 
 a broadcasted recover request
 I0625 16:07:58.879088 26229 recover.cpp:188] Received a recover response from 
 a replica in EMPTY status
 I0625 16:07:58.879166 26229 recover.cpp:542] Updating replica status to 
 STARTING
 I0625 16:07:58.882308 26228 master.cpp:288] Master 
 20140625-160758-16842879-47563-26203 (lucid) started on 127.0.1.1:47563
 I0625 16:07:58.882339 26228 master.cpp:325] Master only allowing 
 authenticated frameworks to register
 I0625 16:07:58.882345 26228 master.cpp:330] Master only allowing 
 authenticated slaves to register
 I0625 16:07:58.882351 26228 credentials.hpp:35] Loading credentials for 
 authentication from '/tmp/MasterTest_OrphanTasks_s8r6NU/credentials'
 I0625 16:07:58.882427 26228 master.cpp:356] Authorization enabled
 I0625 16:07:58.883036 26228 hierarchical_allocator_process.hpp:301] 
 Initializing hierarchical allocator process with master : 
 master@127.0.1.1:47563
 I0625 16:07:58.883080 26228 master.cpp:122] No whitelist given. Advertising 
 offers for all slaves
 I0625 16:07:58.883249 26228 master.cpp:1122] The newly elected leader is 
 master@127.0.1.1:47563 with id 20140625-160758-16842879-47563-26203
 I0625 16:07:58.883262 26228 master.cpp:1135] Elected as the leading master!
 I0625 16:07:58.883268 26228 master.cpp:953] Recovering from registrar
 I0625 16:07:58.883323 26228 registrar.cpp:313] Recovering registrar
 I0625 16:07:58.895361 26229 leveldb.cpp:306] Persisting metadata (8 bytes) to 
 leveldb took 16.126207ms
 I0625 16:07:58.895427 26229 replica.cpp:320] Persisted replica status to 
 STARTING
 I0625 16:07:58.89 26229 recover.cpp:451] Replica is in STARTING status
 I0625 16:07:58.895905 26229 replica.cpp:638] Replica in STARTING status 
 received a broadcasted recover request
 I0625 16:07:58.895972 26229 recover.cpp:188] Received a recover response from 
 a replica in STARTING status
 I0625 16:07:58.896081 26229 recover.cpp:542] 

[jira] [Updated] (MESOS-1927) Enable implicit local cluster launch to load modules

2014-10-23 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-1927?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff updated MESOS-1927:
--
Fix Version/s: 0.21.0

 Enable implicit local cluster launch to load modules
 

 Key: MESOS-1927
 URL: https://issues.apache.org/jira/browse/MESOS-1927
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff
Priority: Blocker
 Fix For: 0.21.0


 Given that frameworks can launch a local cluster implicitly (for testing 
 purposes), we need to enable local/launch.cpp to load modules.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1927) Enable implicit local cluster launch to load modules

2014-10-23 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14182062#comment-14182062
 ] 

Till Toenshoff commented on MESOS-1927:
---

commit 8bf7e726e59785805f88c67ad1b629bb3dae83d4
Author: Till Toenshoff toensh...@me.com
Date:   Fri Oct 24 00:00:04 2014 +0200

Added module loading support for local clusters.

Frameworks triggering a local cluster (--master=local) now have module 
loading
support via slave and master flags (--modules).

Review: https://reviews.apache.org/r/26775

 Enable implicit local cluster launch to load modules
 

 Key: MESOS-1927
 URL: https://issues.apache.org/jira/browse/MESOS-1927
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff
Priority: Blocker
 Fix For: 0.21.0


 Given that frameworks can launch a local cluster implicitly (for testing 
 purposes), we need to enable local/launch.cpp to load modules.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (MESOS-1927) Enable implicit local cluster launch to load modules

2014-10-23 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-1927?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff resolved MESOS-1927.
---
  Resolution: Implemented
Target Version/s: 0.21.0

 Enable implicit local cluster launch to load modules
 

 Key: MESOS-1927
 URL: https://issues.apache.org/jira/browse/MESOS-1927
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff
Priority: Blocker
 Fix For: 0.21.0


 Given that frameworks can launch a local cluster implicitly (for testing 
 purposes), we need to enable local/launch.cpp to load modules.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (MESOS-1990) Unable to build on OS X Yosemite

2014-10-23 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-1990?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff closed MESOS-1990.
-
Resolution: Duplicate

You will have to apply https://reviews.apache.org/r/26571 manually to build 
mesos 0.20 on yosemite.

 Unable to build on OS X Yosemite
 

 Key: MESOS-1990
 URL: https://issues.apache.org/jira/browse/MESOS-1990
 Project: Mesos
  Issue Type: Bug
  Components: build
Affects Versions: 0.20.0
Reporter: Gabriel Ki

 ./include/recordio.h  from zookeeper has conflict.  Also reported in 
 ZOOKEEPER-2049.
 I got the following errors when I build:
 {noformat}
 In file included from src/zookeeper.c:27:
 In file included from ./include/zookeeper.h:34:
 ./include/recordio.h:76:9: error: expected ')'
 int64_t htonll(int64_t v);
 ^
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/_endian.h:141:25:
  note: expanded from macro 'htonll'
 #define htonll(x)   __DARWIN_OSSwapInt64(x)
 ^
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/libkern/_OSByteOrder.h:78:30:
  note: expanded from macro '__DARWIN_OSSwapInt64'
 (__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt64(x) : _OSSwapInt64(x))
  ^
 ./include/recordio.h:76:9: note: to match this '('
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/_endian.h:141:25:
  note: expanded from macro 'htonll'
 #define htonll(x)   __DARWIN_OSSwapInt64(x)
 ^
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/libkern/_OSByteOrder.h:78:5:
  note: expanded from macro '__DARWIN_OSSwapInt64'
 (__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt64(x) : _OSSwapInt64(x))
 ^
 In file included from src/zookeeper.c:27:
 In file included from ./include/zookeeper.h:34:
 ./include/recordio.h:76:9: error: conflicting types for '__builtin_constant_p'
 int64_t htonll(int64_t v);
 ^
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/_endian.h:141:25:
  note: expanded from macro 'htonll'
 #define htonll(x)   __DARWIN_OSSwapInt64(x)
 ^
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/libkern/_OSByteOrder.h:78:6:
  note: expanded from macro '__DARWIN_OSSwapInt64'
 (__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt64(x) : _OSSwapInt64(x))
  ^
 ./include/recordio.h:76:9: note: '__builtin_constant_p' is a builtin with 
 type 'int ()'
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/_endian.h:141:25:
  note: expanded from macro 'htonll'
 #define htonll(x)   __DARWIN_OSSwapInt64(x)
 ^
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/libkern/_OSByteOrder.h:78:6:
  note: expanded from macro '__DARWIN_OSSwapInt64'
 (__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt64(x) : _OSSwapInt64(x))
  ^
 2 errors generated.
 {noformat}
 My compiler:
 {quote}
 $ g++ --version
 Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr 
 --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/c++/4.2.1
 Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)
 Target: x86_64-apple-darwin14.0.0
 Thread model: posix
 {quote}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1990) Unable to build on OS X Yosemite

2014-10-23 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1990?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14182331#comment-14182331
 ] 

Till Toenshoff commented on MESOS-1990:
---

Or as an alternative, use the homebrew version of ZooKeeper as that one has a 
fix in place as well.

 Unable to build on OS X Yosemite
 

 Key: MESOS-1990
 URL: https://issues.apache.org/jira/browse/MESOS-1990
 Project: Mesos
  Issue Type: Bug
  Components: build
Affects Versions: 0.20.0
Reporter: Gabriel Ki

 ./include/recordio.h  from zookeeper has conflict.  Also reported in 
 ZOOKEEPER-2049.
 I got the following errors when I build:
 {noformat}
 In file included from src/zookeeper.c:27:
 In file included from ./include/zookeeper.h:34:
 ./include/recordio.h:76:9: error: expected ')'
 int64_t htonll(int64_t v);
 ^
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/_endian.h:141:25:
  note: expanded from macro 'htonll'
 #define htonll(x)   __DARWIN_OSSwapInt64(x)
 ^
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/libkern/_OSByteOrder.h:78:30:
  note: expanded from macro '__DARWIN_OSSwapInt64'
 (__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt64(x) : _OSSwapInt64(x))
  ^
 ./include/recordio.h:76:9: note: to match this '('
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/_endian.h:141:25:
  note: expanded from macro 'htonll'
 #define htonll(x)   __DARWIN_OSSwapInt64(x)
 ^
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/libkern/_OSByteOrder.h:78:5:
  note: expanded from macro '__DARWIN_OSSwapInt64'
 (__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt64(x) : _OSSwapInt64(x))
 ^
 In file included from src/zookeeper.c:27:
 In file included from ./include/zookeeper.h:34:
 ./include/recordio.h:76:9: error: conflicting types for '__builtin_constant_p'
 int64_t htonll(int64_t v);
 ^
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/_endian.h:141:25:
  note: expanded from macro 'htonll'
 #define htonll(x)   __DARWIN_OSSwapInt64(x)
 ^
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/libkern/_OSByteOrder.h:78:6:
  note: expanded from macro '__DARWIN_OSSwapInt64'
 (__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt64(x) : _OSSwapInt64(x))
  ^
 ./include/recordio.h:76:9: note: '__builtin_constant_p' is a builtin with 
 type 'int ()'
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/_endian.h:141:25:
  note: expanded from macro 'htonll'
 #define htonll(x)   __DARWIN_OSSwapInt64(x)
 ^
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/libkern/_OSByteOrder.h:78:6:
  note: expanded from macro '__DARWIN_OSSwapInt64'
 (__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt64(x) : _OSSwapInt64(x))
  ^
 2 errors generated.
 {noformat}
 My compiler:
 {quote}
 $ g++ --version
 Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr 
 --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/c++/4.2.1
 Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)
 Target: x86_64-apple-darwin14.0.0
 Thread model: posix
 {quote}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1966) Integrate the Authenticator module

2014-10-25 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14184329#comment-14184329
 ] 

Till Toenshoff commented on MESOS-1966:
---

https://reviews.apache.org/r/26859/

 Integrate the Authenticator module
 --

 Key: MESOS-1966
 URL: https://issues.apache.org/jira/browse/MESOS-1966
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff

 There are some options we quickly need to decide upon:
 1. Keep the currently existing authenticator {{sasl/authenticator.hpp}} 
 within {{libmesos}} as a default implementation. Add the {{--authenticators}} 
 flag to the master and if the user selects {{crammd5}}, use the linked in, 
 default implementation. If the user selects a different name e.g. 
 {{org_apache_mesos_authenticator_pam}}, the master will try to load a module 
 with that name and use its implementation. This is somewhat similar to what 
 Kapil has done with the Isolator module integration.
 2. Make the currently existing authenticator become a module and thereby 
 remove it from libmesos. Add the {{--authenticators}} flag to the master and 
 ask the user to supply a module as well ( {{--modules}} ). 
 3. Mixture of 1. and 2. Difference to 2. would be that we load the 
 authenticator module implicitly (without the user supplying the {{--modules}} 
 flag)  as soon as he has enabled any kind of authentication ( 
 {{--authenticate_slaves}} / {{--authenticate_frameworks}} ).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1894) Authenticator Module: Tests

2014-10-25 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1894?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14184330#comment-14184330
 ] 

Till Toenshoff commented on MESOS-1894:
---

Module loadable via mesos-tests parameter {{ --authenticators }} 

 Authenticator Module: Tests
 ---

 Key: MESOS-1894
 URL: https://issues.apache.org/jira/browse/MESOS-1894
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff
Priority: Blocker

 h4. Motivation
 Make sure that an authenticator module can be fully unit- and integration- 
 tested within the mesos test suite.
 h4. Status Quo
 We currently have a few CRAM-MD5 specific authentication integration tests ( 
 {{tests/sasl_tests.cpp}} ) as well as a complete authentication test list for 
 authentication as a whole with some CRAM-MD5 specifics again ( 
 {{tests/authentication.cpp}} ). 
 h4. Approach
 1. MESOS-1864 needs to get fleshed out, providing a module integration test 
 scheme for our mesos test suite
 2. refactor / move / rename integration tests of the CRAM-MD5 specific tests 
 {{tests/sasl_tests.cpp}}  {{tests/authentication.cpp}}
 3. implement tests via a parameterized version of {{tests/authentication.cpp}}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (MESOS-1998) Subversion include path hardcoding

2014-10-27 Thread Till Toenshoff (JIRA)
Till Toenshoff created MESOS-1998:
-

 Summary: Subversion include path hardcoding
 Key: MESOS-1998
 URL: https://issues.apache.org/jira/browse/MESOS-1998
 Project: Mesos
  Issue Type: Bug
Reporter: Till Toenshoff


Currently, we are using a hardcoded location variant for subversion related 
headers. The default path is set to {{/usr/include/subversion-1}}.
This will fail on any OSX homebrew installed version of subversion and may also 
fail for other systems.

I would like to suggest changing the current hardcoded path into a basepath and 
to reference the actual headers (e.g. svn_delta.h) via 
subversion-1/svn_delta.h. This would allow homebrew users (and others) to build 
mesos out of the box and without 
A. manually supplying the subversion-1 location
B. linking /usr/local/include/subversion-1 towards /usr/include/subversion-1




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1998) Subversion include path hardcoding

2014-10-27 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1998?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14185692#comment-14185692
 ] 

Till Toenshoff commented on MESOS-1998:
---

That is a good point Timothy, I only checked ubuntu and fedora, both use 
subversion-1

 Subversion include path hardcoding
 --

 Key: MESOS-1998
 URL: https://issues.apache.org/jira/browse/MESOS-1998
 Project: Mesos
  Issue Type: Bug
Reporter: Till Toenshoff

 Currently, we are using a hardcoded location variant for subversion related 
 headers. The default path is set to {{/usr/include/subversion-1}}.
 This will fail on any OSX homebrew installed version of subversion and may 
 also fail for other systems.
 I would like to suggest changing the current hardcoded path into a basepath 
 and to reference the actual headers (e.g. svn_delta.h) via 
 subversion-1/svn_delta.h. This would allow homebrew users (and others) to 
 build mesos out of the box and without 
 A. manually supplying the subversion-1 location
 B. linking /usr/local/include/subversion-1 towards /usr/include/subversion-1



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1951) Add --isolation flag to mesos-tests

2014-10-27 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1951?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14185725#comment-14185725
 ] 

Till Toenshoff commented on MESOS-1951:
---

commit 1ff259e96396273b36624cf94a7989dee150baa6
Author: Kapil Arya ka...@mesosphere.io
Date:   Mon Oct 27 21:07:26 2014 +0100

Added --isolation flag for tests.

This is useful to test custom isolation modules with the test suite.
The user can specify the available modules with --modules and then he
can specify the isolator module with the --isolation flag.
With these flags, the test suite will run all tests with the specified
isolator modules.

Review: https://reviews.apache.org/r/26797

 Add --isolation flag to mesos-tests
 ---

 Key: MESOS-1951
 URL: https://issues.apache.org/jira/browse/MESOS-1951
 Project: Mesos
  Issue Type: Documentation
Reporter: Niklas Quarfot Nielsen
Assignee: Kapil Arya

 When hooking up specific modules for tests, we realized that it would be 
 generally useful to be able to set the default flags for masters and slaves 
 in the tests. For example let mesos-tests.sh take --isolation, --drf_sorter, 
 --authentication and so on, and have CreateSlaveFlags/CreateMasterFlags 
 alongside necessary ::create() use those flags so we can run the entire unit 
 test suite exercising different implementations.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (MESOS-2001) Authenticatee modules similar to Authenticator modules

2014-10-28 Thread Till Toenshoff (JIRA)
Till Toenshoff created MESOS-2001:
-

 Summary: Authenticatee modules similar to Authenticator modules
 Key: MESOS-2001
 URL: https://issues.apache.org/jira/browse/MESOS-2001
 Project: Mesos
  Issue Type: Epic
  Components: modules
Reporter: Till Toenshoff


For covering a complete modules based authentication, we will need to allow for 
authenticatee modules just like we are with authenticator modules.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (MESOS-2015) Build failure due to unconditional linux/ns.hpp inclusion in OSX builds

2014-10-30 Thread Till Toenshoff (JIRA)
Till Toenshoff created MESOS-2015:
-

 Summary: Build failure due to unconditional linux/ns.hpp inclusion 
in OSX builds
 Key: MESOS-2015
 URL: https://issues.apache.org/jira/browse/MESOS-2015
 Project: Mesos
  Issue Type: Bug
 Environment: OSX 10.10, clang 3.5
Reporter: Till Toenshoff


{noformat}
g++ -DPACKAGE_NAME=\mesos\ -DPACKAGE_TARNAME=\mesos\ 
-DPACKAGE_VERSION=\0.21.0\ -DPACKAGE_STRING=\mesos\ 0.21.0\ 
-DPACKAGE_BUGREPORT=\\ -DPACKAGE_URL=\\ -DPACKAGE=\mesos\ 
-DVERSION=\0.21.0\ -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 
-DHAVE_
STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 
-DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 
-DLT_OBJDIR=\.libs/\ -DHAVE_PTHREAD=1 -DHAVE_LIBZ=1 -DHAVE_LIBCURL=1 
-DHAVE_LIBAPR_1=1 -DHAVE_LIBSVN_SUBR_1=1 -DHAVE_LIBSVN_DELTA_
1=1 -DHAVE_LIBSASL2=1 -I. -I../../src   -Wall -Werror 
-DLIBDIR=\/usr/local/lib\ -DPKGLIBEXECDIR=\/usr/local/libexec/mesos\ 
-DPKGDATADIR=\/usr/local/share/mesos\ -I../../include 
-I../../3rdparty/libprocess/include 
-I../../3rdparty/libprocess/3rdparty/stout/include -
I../include -I../include/mesos -I../3rdparty/libprocess/3rdparty/boost-1.53.0 
-I../3rdparty/libprocess/3rdparty/picojson-4f93734 
-I../3rdparty/libprocess/3rdparty/protobuf-2.5.0/src 
-I../3rdparty/libprocess/3rdparty/glog-0.3.3/src 
-I../3rdparty/libprocess/3rdparty/glog-0
.3.3/src -I../3rdparty/leveldb/include 
-I../3rdparty/zookeeper-3.4.5/src/c/include 
-I../3rdparty/zookeeper-3.4.5/src/c/generated  
-I../3rdparty/libprocess/3rdparty/protobuf-2.5.0/src 
-DSOURCE_DIR=\/Users/till/Development/mesos-private/build/..\ 
-DBUILD_DIR=\/Users/til
l/Development/mesos-private/build\ 
-I../3rdparty/libprocess/3rdparty/gmock-1.6.0/gtest/include 
-I../3rdparty/libprocess/3rdparty/gmock-1.6.0/include  
-I/usr/include/subversion-1 -I/usr/include/apr-1 -I/usr/include/apr-1.0  
-D_THREAD_SAFE  -g1 -O0 -std=c++11 -stdlib=libc
++ -DGTEST_USE_OWN_TR1_TUPLE=1 -MT tests/mesos_tests-credentials_tests.o -MD 
-MP -MF tests/.deps/mesos_tests-credentials_tests.Tpo -c -o 
tests/mesos_tests-credentials_tests.o `test -f 'tests/credentials_tests.cpp' || 
echo '../../src/'`tests/credentials_tests.cpp
g++ -DPACKAGE_NAME=\mesos\ -DPACKAGE_TARNAME=\mesos\ 
-DPACKAGE_VERSION=\0.21.0\ -DPACKAGE_STRING=\mesos\ 0.21.0\ 
-DPACKAGE_BUGREPORT=\\ -DPACKAGE_URL=\\ -DPACKAGE=\mesos\ 
-DVERSION=\0.21.0\ -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 
-DHAVE_
STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 
-DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 
-DLT_OBJDIR=\.libs/\ -DHAVE_PTHREAD=1 -DHAVE_LIBZ=1 -DHAVE_LIBCURL=1 
-DHAVE_LIBAPR_1=1 -DHAVE_LIBSVN_SUBR_1=1 -DHAVE_LIBSVN_DELTA_
1=1 -DHAVE_LIBSASL2=1 -I. -I../../src   -Wall -Werror 
-DLIBDIR=\/usr/local/lib\ -DPKGLIBEXECDIR=\/usr/local/libexec/mesos\ 
-DPKGDATADIR=\/usr/local/share/mesos\ -I../../include 
-I../../3rdparty/libprocess/include 
-I../../3rdparty/libprocess/3rdparty/stout/include -
I../include -I../include/mesos -I../3rdparty/libprocess/3rdparty/boost-1.53.0 
-I../3rdparty/libprocess/3rdparty/picojson-4f93734 
-I../3rdparty/libprocess/3rdparty/protobuf-2.5.0/src 
-I../3rdparty/libprocess/3rdparty/glog-0.3.3/src 
-I../3rdparty/libprocess/3rdparty/glog-0
.3.3/src -I../3rdparty/leveldb/include 
-I../3rdparty/zookeeper-3.4.5/src/c/include 
-I../3rdparty/zookeeper-3.4.5/src/c/generated  
-I../3rdparty/libprocess/3rdparty/protobuf-2.5.0/src 
-DSOURCE_DIR=\/Users/till/Development/mesos-private/build/..\ 
-DBUILD_DIR=\/Users/til
l/Development/mesos-private/build\ 
-I../3rdparty/libprocess/3rdparty/gmock-1.6.0/gtest/include 
-I../3rdparty/libprocess/3rdparty/gmock-1.6.0/include  
-I/usr/include/subversion-1 -I/usr/include/apr-1 -I/usr/include/apr-1.0  
-D_THREAD_SAFE  -g1 -O0 -std=c++11 -stdlib=libc
++ -DGTEST_USE_OWN_TR1_TUPLE=1 -MT 
tests/mesos_tests-docker_containerizer_tests.o -MD -MP -MF 
tests/.deps/mesos_tests-docker_containerizer_tests.Tpo -c -o 
tests/mesos_tests-docker_containerizer_tests.o `test -f 
'tests/docker_containerizer_tests.cpp' || echo '../../src/'`
tests/docker_containerizer_tests.cpp
In file included from ../../src/tests/setns_test_helper.cpp:24:
../../src/linux/ns.hpp:20:2: error: linux/ns.hpp is only available on Linux 
systems.
#error linux/ns.hpp is only available on Linux systems.
 ^
In file included from ../../src/tests/setns_test_helper.cpp:24:
In file included from ../../src/linux/ns.hpp:36:
../../3rdparty/libprocess/3rdparty/stout/include/stout/proc.hpp:19:2: error: 
stout/proc.hpp is only available on Linux systems.
#error stout/proc.hpp is only available on Linux systems.
 ^
../../3rdparty/libprocess/3rdparty/stout/include/stout/proc.hpp:48:11: error: 
redefinition of 'proc' as different kind of symbol
namespace proc {
  ^
/usr/include/sys/proc.h:84:8: note: previous definition is here
struct 

[jira] [Commented] (MESOS-2015) Build failure due to unconditional linux/ns.hpp inclusion in OSX builds

2014-10-30 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-2015?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14190312#comment-14190312
 ] 

Till Toenshoff commented on MESOS-2015:
---

[~idownes] could you please have a look?

 Build failure due to unconditional linux/ns.hpp inclusion in OSX builds
 ---

 Key: MESOS-2015
 URL: https://issues.apache.org/jira/browse/MESOS-2015
 Project: Mesos
  Issue Type: Bug
 Environment: OSX 10.10, clang 3.5
Reporter: Till Toenshoff

 {noformat}
 g++ -DPACKAGE_NAME=\mesos\ -DPACKAGE_TARNAME=\mesos\ 
 -DPACKAGE_VERSION=\0.21.0\ -DPACKAGE_STRING=\mesos\ 0.21.0\ 
 -DPACKAGE_BUGREPORT=\\ -DPACKAGE_URL=\\ -DPACKAGE=\mesos\ 
 -DVERSION=\0.21.0\ -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 
 -DHAVE_SYS_STAT_H=1 -DHAVE_
 STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 
 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 
 -DLT_OBJDIR=\.libs/\ -DHAVE_PTHREAD=1 -DHAVE_LIBZ=1 -DHAVE_LIBCURL=1 
 -DHAVE_LIBAPR_1=1 -DHAVE_LIBSVN_SUBR_1=1 -DHAVE_LIBSVN_DELTA_
 1=1 -DHAVE_LIBSASL2=1 -I. -I../../src   -Wall -Werror 
 -DLIBDIR=\/usr/local/lib\ -DPKGLIBEXECDIR=\/usr/local/libexec/mesos\ 
 -DPKGDATADIR=\/usr/local/share/mesos\ -I../../include 
 -I../../3rdparty/libprocess/include 
 -I../../3rdparty/libprocess/3rdparty/stout/include -
 I../include -I../include/mesos -I../3rdparty/libprocess/3rdparty/boost-1.53.0 
 -I../3rdparty/libprocess/3rdparty/picojson-4f93734 
 -I../3rdparty/libprocess/3rdparty/protobuf-2.5.0/src 
 -I../3rdparty/libprocess/3rdparty/glog-0.3.3/src 
 -I../3rdparty/libprocess/3rdparty/glog-0
 .3.3/src -I../3rdparty/leveldb/include 
 -I../3rdparty/zookeeper-3.4.5/src/c/include 
 -I../3rdparty/zookeeper-3.4.5/src/c/generated  
 -I../3rdparty/libprocess/3rdparty/protobuf-2.5.0/src 
 -DSOURCE_DIR=\/Users/till/Development/mesos-private/build/..\ 
 -DBUILD_DIR=\/Users/til
 l/Development/mesos-private/build\ 
 -I../3rdparty/libprocess/3rdparty/gmock-1.6.0/gtest/include 
 -I../3rdparty/libprocess/3rdparty/gmock-1.6.0/include  
 -I/usr/include/subversion-1 -I/usr/include/apr-1 -I/usr/include/apr-1.0  
 -D_THREAD_SAFE  -g1 -O0 -std=c++11 -stdlib=libc
 ++ -DGTEST_USE_OWN_TR1_TUPLE=1 -MT tests/mesos_tests-credentials_tests.o -MD 
 -MP -MF tests/.deps/mesos_tests-credentials_tests.Tpo -c -o 
 tests/mesos_tests-credentials_tests.o `test -f 'tests/credentials_tests.cpp' 
 || echo '../../src/'`tests/credentials_tests.cpp
 g++ -DPACKAGE_NAME=\mesos\ -DPACKAGE_TARNAME=\mesos\ 
 -DPACKAGE_VERSION=\0.21.0\ -DPACKAGE_STRING=\mesos\ 0.21.0\ 
 -DPACKAGE_BUGREPORT=\\ -DPACKAGE_URL=\\ -DPACKAGE=\mesos\ 
 -DVERSION=\0.21.0\ -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 
 -DHAVE_SYS_STAT_H=1 -DHAVE_
 STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 
 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 
 -DLT_OBJDIR=\.libs/\ -DHAVE_PTHREAD=1 -DHAVE_LIBZ=1 -DHAVE_LIBCURL=1 
 -DHAVE_LIBAPR_1=1 -DHAVE_LIBSVN_SUBR_1=1 -DHAVE_LIBSVN_DELTA_
 1=1 -DHAVE_LIBSASL2=1 -I. -I../../src   -Wall -Werror 
 -DLIBDIR=\/usr/local/lib\ -DPKGLIBEXECDIR=\/usr/local/libexec/mesos\ 
 -DPKGDATADIR=\/usr/local/share/mesos\ -I../../include 
 -I../../3rdparty/libprocess/include 
 -I../../3rdparty/libprocess/3rdparty/stout/include -
 I../include -I../include/mesos -I../3rdparty/libprocess/3rdparty/boost-1.53.0 
 -I../3rdparty/libprocess/3rdparty/picojson-4f93734 
 -I../3rdparty/libprocess/3rdparty/protobuf-2.5.0/src 
 -I../3rdparty/libprocess/3rdparty/glog-0.3.3/src 
 -I../3rdparty/libprocess/3rdparty/glog-0
 .3.3/src -I../3rdparty/leveldb/include 
 -I../3rdparty/zookeeper-3.4.5/src/c/include 
 -I../3rdparty/zookeeper-3.4.5/src/c/generated  
 -I../3rdparty/libprocess/3rdparty/protobuf-2.5.0/src 
 -DSOURCE_DIR=\/Users/till/Development/mesos-private/build/..\ 
 -DBUILD_DIR=\/Users/til
 l/Development/mesos-private/build\ 
 -I../3rdparty/libprocess/3rdparty/gmock-1.6.0/gtest/include 
 -I../3rdparty/libprocess/3rdparty/gmock-1.6.0/include  
 -I/usr/include/subversion-1 -I/usr/include/apr-1 -I/usr/include/apr-1.0  
 -D_THREAD_SAFE  -g1 -O0 -std=c++11 -stdlib=libc
 ++ -DGTEST_USE_OWN_TR1_TUPLE=1 -MT 
 tests/mesos_tests-docker_containerizer_tests.o -MD -MP -MF 
 tests/.deps/mesos_tests-docker_containerizer_tests.Tpo -c -o 
 tests/mesos_tests-docker_containerizer_tests.o `test -f 
 'tests/docker_containerizer_tests.cpp' || echo '../../src/'`
 tests/docker_containerizer_tests.cpp
 In file included from ../../src/tests/setns_test_helper.cpp:24:
 ../../src/linux/ns.hpp:20:2: error: linux/ns.hpp is only available on Linux 
 systems.
 #error linux/ns.hpp is only available on Linux systems.
  ^
 In file included from ../../src/tests/setns_test_helper.cpp:24:
 In file included from ../../src/linux/ns.hpp:36:
 

[jira] [Assigned] (MESOS-2015) Build failure due to unconditional linux/ns.hpp inclusion in OSX builds

2014-10-30 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-2015?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff reassigned MESOS-2015:
-

Assignee: Till Toenshoff

 Build failure due to unconditional linux/ns.hpp inclusion in OSX builds
 ---

 Key: MESOS-2015
 URL: https://issues.apache.org/jira/browse/MESOS-2015
 Project: Mesos
  Issue Type: Bug
 Environment: OSX 10.10, clang 3.5
Reporter: Till Toenshoff
Assignee: Till Toenshoff

 {noformat}
 g++ -DPACKAGE_NAME=\mesos\ -DPACKAGE_TARNAME=\mesos\ 
 -DPACKAGE_VERSION=\0.21.0\ -DPACKAGE_STRING=\mesos\ 0.21.0\ 
 -DPACKAGE_BUGREPORT=\\ -DPACKAGE_URL=\\ -DPACKAGE=\mesos\ 
 -DVERSION=\0.21.0\ -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 
 -DHAVE_SYS_STAT_H=1 -DHAVE_
 STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 
 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 
 -DLT_OBJDIR=\.libs/\ -DHAVE_PTHREAD=1 -DHAVE_LIBZ=1 -DHAVE_LIBCURL=1 
 -DHAVE_LIBAPR_1=1 -DHAVE_LIBSVN_SUBR_1=1 -DHAVE_LIBSVN_DELTA_
 1=1 -DHAVE_LIBSASL2=1 -I. -I../../src   -Wall -Werror 
 -DLIBDIR=\/usr/local/lib\ -DPKGLIBEXECDIR=\/usr/local/libexec/mesos\ 
 -DPKGDATADIR=\/usr/local/share/mesos\ -I../../include 
 -I../../3rdparty/libprocess/include 
 -I../../3rdparty/libprocess/3rdparty/stout/include -
 I../include -I../include/mesos -I../3rdparty/libprocess/3rdparty/boost-1.53.0 
 -I../3rdparty/libprocess/3rdparty/picojson-4f93734 
 -I../3rdparty/libprocess/3rdparty/protobuf-2.5.0/src 
 -I../3rdparty/libprocess/3rdparty/glog-0.3.3/src 
 -I../3rdparty/libprocess/3rdparty/glog-0
 .3.3/src -I../3rdparty/leveldb/include 
 -I../3rdparty/zookeeper-3.4.5/src/c/include 
 -I../3rdparty/zookeeper-3.4.5/src/c/generated  
 -I../3rdparty/libprocess/3rdparty/protobuf-2.5.0/src 
 -DSOURCE_DIR=\/Users/till/Development/mesos-private/build/..\ 
 -DBUILD_DIR=\/Users/til
 l/Development/mesos-private/build\ 
 -I../3rdparty/libprocess/3rdparty/gmock-1.6.0/gtest/include 
 -I../3rdparty/libprocess/3rdparty/gmock-1.6.0/include  
 -I/usr/include/subversion-1 -I/usr/include/apr-1 -I/usr/include/apr-1.0  
 -D_THREAD_SAFE  -g1 -O0 -std=c++11 -stdlib=libc
 ++ -DGTEST_USE_OWN_TR1_TUPLE=1 -MT tests/mesos_tests-credentials_tests.o -MD 
 -MP -MF tests/.deps/mesos_tests-credentials_tests.Tpo -c -o 
 tests/mesos_tests-credentials_tests.o `test -f 'tests/credentials_tests.cpp' 
 || echo '../../src/'`tests/credentials_tests.cpp
 g++ -DPACKAGE_NAME=\mesos\ -DPACKAGE_TARNAME=\mesos\ 
 -DPACKAGE_VERSION=\0.21.0\ -DPACKAGE_STRING=\mesos\ 0.21.0\ 
 -DPACKAGE_BUGREPORT=\\ -DPACKAGE_URL=\\ -DPACKAGE=\mesos\ 
 -DVERSION=\0.21.0\ -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 
 -DHAVE_SYS_STAT_H=1 -DHAVE_
 STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 
 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 
 -DLT_OBJDIR=\.libs/\ -DHAVE_PTHREAD=1 -DHAVE_LIBZ=1 -DHAVE_LIBCURL=1 
 -DHAVE_LIBAPR_1=1 -DHAVE_LIBSVN_SUBR_1=1 -DHAVE_LIBSVN_DELTA_
 1=1 -DHAVE_LIBSASL2=1 -I. -I../../src   -Wall -Werror 
 -DLIBDIR=\/usr/local/lib\ -DPKGLIBEXECDIR=\/usr/local/libexec/mesos\ 
 -DPKGDATADIR=\/usr/local/share/mesos\ -I../../include 
 -I../../3rdparty/libprocess/include 
 -I../../3rdparty/libprocess/3rdparty/stout/include -
 I../include -I../include/mesos -I../3rdparty/libprocess/3rdparty/boost-1.53.0 
 -I../3rdparty/libprocess/3rdparty/picojson-4f93734 
 -I../3rdparty/libprocess/3rdparty/protobuf-2.5.0/src 
 -I../3rdparty/libprocess/3rdparty/glog-0.3.3/src 
 -I../3rdparty/libprocess/3rdparty/glog-0
 .3.3/src -I../3rdparty/leveldb/include 
 -I../3rdparty/zookeeper-3.4.5/src/c/include 
 -I../3rdparty/zookeeper-3.4.5/src/c/generated  
 -I../3rdparty/libprocess/3rdparty/protobuf-2.5.0/src 
 -DSOURCE_DIR=\/Users/till/Development/mesos-private/build/..\ 
 -DBUILD_DIR=\/Users/til
 l/Development/mesos-private/build\ 
 -I../3rdparty/libprocess/3rdparty/gmock-1.6.0/gtest/include 
 -I../3rdparty/libprocess/3rdparty/gmock-1.6.0/include  
 -I/usr/include/subversion-1 -I/usr/include/apr-1 -I/usr/include/apr-1.0  
 -D_THREAD_SAFE  -g1 -O0 -std=c++11 -stdlib=libc
 ++ -DGTEST_USE_OWN_TR1_TUPLE=1 -MT 
 tests/mesos_tests-docker_containerizer_tests.o -MD -MP -MF 
 tests/.deps/mesos_tests-docker_containerizer_tests.Tpo -c -o 
 tests/mesos_tests-docker_containerizer_tests.o `test -f 
 'tests/docker_containerizer_tests.cpp' || echo '../../src/'`
 tests/docker_containerizer_tests.cpp
 In file included from ../../src/tests/setns_test_helper.cpp:24:
 ../../src/linux/ns.hpp:20:2: error: linux/ns.hpp is only available on Linux 
 systems.
 #error linux/ns.hpp is only available on Linux systems.
  ^
 In file included from ../../src/tests/setns_test_helper.cpp:24:
 In file included from ../../src/linux/ns.hpp:36:
 ../../3rdparty/libprocess/3rdparty/stout/include/stout/proc.hpp:19:2: error: 
 stout/proc.hpp 

[jira] [Comment Edited] (MESOS-2015) Build failure due to unconditional linux/ns.hpp inclusion in OSX builds

2014-10-30 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-2015?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14190312#comment-14190312
 ] 

Till Toenshoff edited comment on MESOS-2015 at 10/30/14 9:28 PM:
-

[~idownes] could you please have a look?

Actually, was trivial to fix and I took the freedom to do it, please check:
https://reviews.apache.org/r/27395/



was (Author: tillt):
[~idownes] could you please have a look?

 Build failure due to unconditional linux/ns.hpp inclusion in OSX builds
 ---

 Key: MESOS-2015
 URL: https://issues.apache.org/jira/browse/MESOS-2015
 Project: Mesos
  Issue Type: Bug
 Environment: OSX 10.10, clang 3.5
Reporter: Till Toenshoff

 {noformat}
 g++ -DPACKAGE_NAME=\mesos\ -DPACKAGE_TARNAME=\mesos\ 
 -DPACKAGE_VERSION=\0.21.0\ -DPACKAGE_STRING=\mesos\ 0.21.0\ 
 -DPACKAGE_BUGREPORT=\\ -DPACKAGE_URL=\\ -DPACKAGE=\mesos\ 
 -DVERSION=\0.21.0\ -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 
 -DHAVE_SYS_STAT_H=1 -DHAVE_
 STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 
 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 
 -DLT_OBJDIR=\.libs/\ -DHAVE_PTHREAD=1 -DHAVE_LIBZ=1 -DHAVE_LIBCURL=1 
 -DHAVE_LIBAPR_1=1 -DHAVE_LIBSVN_SUBR_1=1 -DHAVE_LIBSVN_DELTA_
 1=1 -DHAVE_LIBSASL2=1 -I. -I../../src   -Wall -Werror 
 -DLIBDIR=\/usr/local/lib\ -DPKGLIBEXECDIR=\/usr/local/libexec/mesos\ 
 -DPKGDATADIR=\/usr/local/share/mesos\ -I../../include 
 -I../../3rdparty/libprocess/include 
 -I../../3rdparty/libprocess/3rdparty/stout/include -
 I../include -I../include/mesos -I../3rdparty/libprocess/3rdparty/boost-1.53.0 
 -I../3rdparty/libprocess/3rdparty/picojson-4f93734 
 -I../3rdparty/libprocess/3rdparty/protobuf-2.5.0/src 
 -I../3rdparty/libprocess/3rdparty/glog-0.3.3/src 
 -I../3rdparty/libprocess/3rdparty/glog-0
 .3.3/src -I../3rdparty/leveldb/include 
 -I../3rdparty/zookeeper-3.4.5/src/c/include 
 -I../3rdparty/zookeeper-3.4.5/src/c/generated  
 -I../3rdparty/libprocess/3rdparty/protobuf-2.5.0/src 
 -DSOURCE_DIR=\/Users/till/Development/mesos-private/build/..\ 
 -DBUILD_DIR=\/Users/til
 l/Development/mesos-private/build\ 
 -I../3rdparty/libprocess/3rdparty/gmock-1.6.0/gtest/include 
 -I../3rdparty/libprocess/3rdparty/gmock-1.6.0/include  
 -I/usr/include/subversion-1 -I/usr/include/apr-1 -I/usr/include/apr-1.0  
 -D_THREAD_SAFE  -g1 -O0 -std=c++11 -stdlib=libc
 ++ -DGTEST_USE_OWN_TR1_TUPLE=1 -MT tests/mesos_tests-credentials_tests.o -MD 
 -MP -MF tests/.deps/mesos_tests-credentials_tests.Tpo -c -o 
 tests/mesos_tests-credentials_tests.o `test -f 'tests/credentials_tests.cpp' 
 || echo '../../src/'`tests/credentials_tests.cpp
 g++ -DPACKAGE_NAME=\mesos\ -DPACKAGE_TARNAME=\mesos\ 
 -DPACKAGE_VERSION=\0.21.0\ -DPACKAGE_STRING=\mesos\ 0.21.0\ 
 -DPACKAGE_BUGREPORT=\\ -DPACKAGE_URL=\\ -DPACKAGE=\mesos\ 
 -DVERSION=\0.21.0\ -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 
 -DHAVE_SYS_STAT_H=1 -DHAVE_
 STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 
 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 
 -DLT_OBJDIR=\.libs/\ -DHAVE_PTHREAD=1 -DHAVE_LIBZ=1 -DHAVE_LIBCURL=1 
 -DHAVE_LIBAPR_1=1 -DHAVE_LIBSVN_SUBR_1=1 -DHAVE_LIBSVN_DELTA_
 1=1 -DHAVE_LIBSASL2=1 -I. -I../../src   -Wall -Werror 
 -DLIBDIR=\/usr/local/lib\ -DPKGLIBEXECDIR=\/usr/local/libexec/mesos\ 
 -DPKGDATADIR=\/usr/local/share/mesos\ -I../../include 
 -I../../3rdparty/libprocess/include 
 -I../../3rdparty/libprocess/3rdparty/stout/include -
 I../include -I../include/mesos -I../3rdparty/libprocess/3rdparty/boost-1.53.0 
 -I../3rdparty/libprocess/3rdparty/picojson-4f93734 
 -I../3rdparty/libprocess/3rdparty/protobuf-2.5.0/src 
 -I../3rdparty/libprocess/3rdparty/glog-0.3.3/src 
 -I../3rdparty/libprocess/3rdparty/glog-0
 .3.3/src -I../3rdparty/leveldb/include 
 -I../3rdparty/zookeeper-3.4.5/src/c/include 
 -I../3rdparty/zookeeper-3.4.5/src/c/generated  
 -I../3rdparty/libprocess/3rdparty/protobuf-2.5.0/src 
 -DSOURCE_DIR=\/Users/till/Development/mesos-private/build/..\ 
 -DBUILD_DIR=\/Users/til
 l/Development/mesos-private/build\ 
 -I../3rdparty/libprocess/3rdparty/gmock-1.6.0/gtest/include 
 -I../3rdparty/libprocess/3rdparty/gmock-1.6.0/include  
 -I/usr/include/subversion-1 -I/usr/include/apr-1 -I/usr/include/apr-1.0  
 -D_THREAD_SAFE  -g1 -O0 -std=c++11 -stdlib=libc
 ++ -DGTEST_USE_OWN_TR1_TUPLE=1 -MT 
 tests/mesos_tests-docker_containerizer_tests.o -MD -MP -MF 
 tests/.deps/mesos_tests-docker_containerizer_tests.Tpo -c -o 
 tests/mesos_tests-docker_containerizer_tests.o `test -f 
 'tests/docker_containerizer_tests.cpp' || echo '../../src/'`
 tests/docker_containerizer_tests.cpp
 In file included from ../../src/tests/setns_test_helper.cpp:24:
 ../../src/linux/ns.hpp:20:2: error: linux/ns.hpp is only available on Linux 
 systems.
 #error 

[jira] [Updated] (MESOS-2021) Mesos will not execute on ARM CPU based System

2014-10-31 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-2021?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff updated MESOS-2021:
--
Summary: Mesos will not execute on ARM CPU based System  (was: Mesos will 
not execute)

 Mesos will not execute on ARM CPU based System
 --

 Key: MESOS-2021
 URL: https://issues.apache.org/jira/browse/MESOS-2021
 Project: Mesos
  Issue Type: Bug
  Components: cli, general
Affects Versions: 0.20.1
 Environment: Linux c1-10-1-2-103.cloud.online.net 3.17.0-85 #2 SMP 
 Wed Oct 15 15:31:27 CEST 2014 armv7l Marvell Armada 370/XP (Device Tree) 
 GNU/Linux
Reporter: Axel Etcheverry
Priority: Blocker

 Configuration : ../configure --disable-java
 {noformat}
 c1-10-1-2-103 build # ./bin/mesos-master.sh --ip=127.0.0.1 
 --work_dir=/var/lib/mesos
 I1031 12:11:04.993352 21161 main.cpp:155] Build: 2014-10-31 01:04:48 by root
 I1031 12:11:04.995046 21161 main.cpp:157] Version: 0.20.1
 F1031 12:11:04.997396 21161 leveldb.cpp:160] Check failed: 
 leveldb::BytewiseComparator()-Compare(one, two)  0 
 *** Check failure stack trace: ***
 @ 0xb63db678  google::LogMessage::Fail()
 @ 0xb63dd428  google::LogMessage::SendToLog()
 @ 0xb63db294  google::LogMessage::Flush()
 @ 0xb63ddbc4  google::LogMessageFatal::~LogMessageFatal()
 @ 0xb62c8fb0  mesos::internal::log::LevelDBStorage::restore()
 @ 0xb6337198  mesos::internal::log::ReplicaProcess::restore()
 @ 0xb6337920  mesos::internal::log::ReplicaProcess::ReplicaProcess()
 @ 0xb6337ad4  mesos::internal::log::Replica::Replica()
 @ 0xb62ca948  mesos::internal::log::LogProcess::LogProcess()
 @ 0xb62cabc8  mesos::internal::log::Log::Log()
 @0x41818  main
 @ 0xb51965f8  (unknown)
 Aborted
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1998) Subversion include path hardcoding

2014-11-01 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1998?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14193265#comment-14193265
 ] 

Till Toenshoff commented on MESOS-1998:
---

Adding results of a compilation attempt to make it easier for users to locate a 
solution.

{noformat}
In file included from ../../src/state/log.cpp:25:0:
../../3rdparty/libprocess/3rdparty/stout/include/stout/svn.hpp:21:23: fatal 
error: svn_delta.h: No such file or directory
#include svn_delta.h
  ^
compilation terminated.
make[2]: *** [state/libstate_la-log.lo] Error 1
make[2]: *** Waiting for unfinished jobs
mv -f log/.deps/liblog_la-recover.Tpo log/.deps/liblog_la-recover.Plo
mv -f state/.deps/libstate_la-in_memory.Tpo 
state/.deps/libstate_la-in_memory.Plo
libtool: compile:  g++-4.9 -DPACKAGE_NAME=\mesos\ -DPACKAGE_TARNAME=\mesos\ 
-DPACKAGE_VERSION=\0.21.0\ -DPACKAGE_STRING=\mesos 0.21.0\ 
-DPACKAGE_BUGREPORT=\\ -DPACKAGE_URL=\\ -DPACKAGE=\mesos\ 
-DVERSION=\0.21.0\ -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 
-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 
-DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 
-DLT_OBJDIR=\.libs/\ -DHAVE_PTHREAD=1 -DHAVE_LIBZ=1 -DHAVE_LIBCURL=1 
-DHAVE_LIBAPR_1=1 -DHAVE_LIBSVN_SUBR_1=1 -DHAVE_LIBSVN_DELTA_1=1 
-DHAVE_LIBSASL2=1 -DMESOS_HAS_JAVA=1 -I. -I../../src -Wall -Werror 
-DLIBDIR=\/usr/local/lib\ -DPKGLIBEXECDIR=\/usr/local/libexec/mesos\ 
-DPKGDATADIR=\/usr/local/share/mesos\ -I../../include 
-I../../3rdparty/libprocess/include 
-I../../3rdparty/libprocess/3rdparty/stout/include -I../include 
-I../include/mesos -I../3rdparty/libprocess/3rdparty/boost-1.53.0 
-I../3rdparty/libprocess/3rdparty/picojson-4f93734 
-I../3rdparty/libprocess/3rdparty/protobuf-2.5.0/src 
-I../3rdparty/libprocess/3rdparty/glog-0.3.3/src 
-I../3rdparty/libprocess/3rdparty/glog-0.3.3/src -I../3rdparty/leveldb/include 
-I../3rdparty/zookeeper-3.4.5/src/c/include 
-I../3rdparty/zookeeper-3.4.5/src/c/generated 
-I../3rdparty/libprocess/3rdparty/protobuf-2.5.0/src 
-I/usr/include/subversion-1 -I/usr/include/apr-1 -I/usr/include/apr-1.0 
-D_THREAD_SAFE -g1 -O0 -Wno-unused-local-typedefs -std=c++11 
-DGTEST_USE_OWN_TR1_TUPLE=1 -MT state/libstate_la-leveldb.lo -MD -MP -MF 
state/.deps/libstate_la-leveldb.Tpo -c ../../src/state/leveldb.cpp -o 
state/libstate_la-leveldb.o /dev/null 21
mv -f state/.deps/libstate_la-leveldb.Tpo state/.deps/libstate_la-leveldb.Plo
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1
{noformat}

 Subversion include path hardcoding
 --

 Key: MESOS-1998
 URL: https://issues.apache.org/jira/browse/MESOS-1998
 Project: Mesos
  Issue Type: Bug
Reporter: Till Toenshoff

 Currently, we are using a hardcoded location variant for subversion related 
 headers. The default path is set to {{/usr/include/subversion-1}}.
 This will fail on any OSX homebrew installed version of subversion and may 
 also fail for other systems.
 I would like to suggest changing the current hardcoded path into a basepath 
 and to reference the actual headers (e.g. svn_delta.h) via 
 subversion-1/svn_delta.h. This would allow homebrew users (and others) to 
 build mesos out of the box and without 
 A. manually supplying the subversion-1 location
 B. linking /usr/local/include/subversion-1 towards /usr/include/subversion-1



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-2001) Authenticatee modules similar to Authenticator modules

2014-11-02 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-2001?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194059#comment-14194059
 ] 

Till Toenshoff commented on MESOS-2001:
---

[~adam-mesos] need shepherd :)

 Authenticatee modules similar to Authenticator modules
 --

 Key: MESOS-2001
 URL: https://issues.apache.org/jira/browse/MESOS-2001
 Project: Mesos
  Issue Type: Epic
  Components: modules
Reporter: Till Toenshoff

 For covering a complete modules based authentication, we will need to allow 
 for authenticatee modules just like we are with authenticator modules.
 h4.Motivation
 Allow for third parties to quickly develop and plug-in new authentication 
 methods. The modularized Authenticatee API will lower the barrier for the 
 community to provide new methods to Mesos. An example for such additional, 
 next step module could be PAM (LDAP, MySQL, NIS, UNIX) backed authentication. 
 cyrus-sasl2 itself already offers more than a half a dozen mechanisms via its 
 standard plugins and these could be triggered by additional Authenticator / 
 Authenticatee modules. cyrus-sasl2 does support even more mechanisms when 
 being custom built (about a full dozen) but we do not want to bundle 
 cyrus-sasl2 to enforce custom builds. Alternative authentication (especially 
 non-SASL based) methods may bring in new dependencies that we don't want to 
 enforce on all of our users. Mesos users may be required to use custom 
 authentication techniques due to strict security policies.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (MESOS-2027) make distcheck on OSX 10.10

2014-11-03 Thread Till Toenshoff (JIRA)
Till Toenshoff created MESOS-2027:
-

 Summary: make distcheck on OSX 10.10
 Key: MESOS-2027
 URL: https://issues.apache.org/jira/browse/MESOS-2027
 Project: Mesos
  Issue Type: Bug
  Components: build
 Environment: OSX 10.10
Reporter: Till Toenshoff
Assignee: Till Toenshoff
Priority: Minor


It seems our ZooKeeper Yosemite hotfix does not correctly get applied when 
doing a make distcheck on OSX 10.10.

{noformat}
config.status: executing depfiles commands
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-am
if /bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.  
-I./include -I./tests -I./generated  -Wall -Werror  -g -O2 -D_GNU_SOURCE -MT 
zookeeper.lo -MD -MP -MF .deps/zookeeper.Tpo -c -o zookeeper.lo `test -f 
'src/zookeeper.c' || echo './'`src/zookeeper.c; \
then mv -f .deps/zookeeper.Tpo .deps/zookeeper.Plo; else rm -f 
.deps/zookeeper.Tpo; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I. -I./include -I./tests -I./generated -Wall 
-Werror -g -O2 -D_GNU_SOURCE -MT zookeeper.lo -MD -MP -MF .deps/zookeeper.Tpo 
-c src/zookeeper.c  -fno-common -DPIC -o zookeeper.o
In file included from src/zookeeper.c:27:
In file included from ./include/zookeeper.h:34:
./include/recordio.h:76:9: error: expected ')'
int64_t htonll(int64_t v);
   ^
/usr/include/sys/_endian.h:141:25: note: expanded from macro 'htonll'
#define htonll(x)   __DARWIN_OSSwapInt64(x)
   ^
/usr/include/libkern/_OSByteOrder.h:78:30: note: expanded from macro 
'__DARWIN_OSSwapInt64'
   (__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt64(x) : _OSSwapInt64(x))
^
./include/recordio.h:76:9: note: to match this '('
/usr/include/sys/_endian.h:141:25: note: expanded from macro 'htonll'
#define htonll(x)   __DARWIN_OSSwapInt64(x)
   ^
/usr/include/libkern/_OSByteOrder.h:78:5: note: expanded from macro 
'__DARWIN_OSSwapInt64'
   (__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt64(x) : _OSSwapInt64(x))
   ^
In file included from src/zookeeper.c:27:
In file included from ./include/zookeeper.h:34:
{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-1981) Create docs/modules.md to record module API changes

2014-11-03 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1981?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14195568#comment-14195568
 ] 

Till Toenshoff commented on MESOS-1981:
---

Given that Niklas is currently unavailable, I will take the freedom to commit 
this now.

 Create docs/modules.md to record module API changes
 ---

 Key: MESOS-1981
 URL: https://issues.apache.org/jira/browse/MESOS-1981
 Project: Mesos
  Issue Type: Bug
Reporter: Kapil Arya
Assignee: Kapil Arya

 The docs/modules.md file keep a history of all module API changes.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Assigned] (MESOS-2001) Authenticatee modules similar to Authenticator modules

2014-11-04 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-2001?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff reassigned MESOS-2001:
-

Assignee: Till Toenshoff

 Authenticatee modules similar to Authenticator modules
 --

 Key: MESOS-2001
 URL: https://issues.apache.org/jira/browse/MESOS-2001
 Project: Mesos
  Issue Type: Epic
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff
  Labels: authentication, module

 For covering a complete modules based authentication, we will need to allow 
 for authenticatee modules just like we are with authenticator modules.
 h4.Motivation
 Allow for third parties to quickly develop and plug-in new authentication 
 methods. The modularized Authenticatee API will lower the barrier for the 
 community to provide new methods to Mesos. An example for such additional, 
 next step module could be PAM (LDAP, MySQL, NIS, UNIX) backed authentication. 
 cyrus-sasl2 itself already offers more than a half a dozen mechanisms via its 
 standard plugins and these could be triggered by additional Authenticator / 
 Authenticatee modules. cyrus-sasl2 does support even more mechanisms when 
 being custom built (about a full dozen) but we do not want to bundle 
 cyrus-sasl2 to enforce custom builds. Alternative authentication (especially 
 non-SASL based) methods may bring in new dependencies that we don't want to 
 enforce on all of our users. Mesos users may be required to use custom 
 authentication techniques due to strict security policies.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (MESOS-2040) Authenticatee Module: Integrate authenticatee module in slave

2014-11-04 Thread Till Toenshoff (JIRA)
Till Toenshoff created MESOS-2040:
-

 Summary: Authenticatee Module: Integrate authenticatee module in 
slave
 Key: MESOS-2040
 URL: https://issues.apache.org/jira/browse/MESOS-2040
 Project: Mesos
  Issue Type: Bug
Reporter: Till Toenshoff
Assignee: Till Toenshoff


Allow for slave authentication via authenticatee module.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (MESOS-2041) Authenticatee Module: Integrate authenticatee module in tests

2014-11-04 Thread Till Toenshoff (JIRA)
Till Toenshoff created MESOS-2041:
-

 Summary: Authenticatee Module: Integrate authenticatee module in 
tests
 Key: MESOS-2041
 URL: https://issues.apache.org/jira/browse/MESOS-2041
 Project: Mesos
  Issue Type: Improvement
Reporter: Till Toenshoff
Assignee: Till Toenshoff


Make the authenticatee module testable.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (MESOS-2040) Authenticatee Module: Integrate authenticatee module in slave

2014-11-04 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-2040?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff updated MESOS-2040:
--
Issue Type: Improvement  (was: Bug)

 Authenticatee Module: Integrate authenticatee module in slave
 -

 Key: MESOS-2040
 URL: https://issues.apache.org/jira/browse/MESOS-2040
 Project: Mesos
  Issue Type: Improvement
Reporter: Till Toenshoff
Assignee: Till Toenshoff

 Allow for slave authentication via authenticatee module.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (MESOS-2042) Authenticatee Module: Integrate authenticatee module in scheduler

2014-11-04 Thread Till Toenshoff (JIRA)
Till Toenshoff created MESOS-2042:
-

 Summary: Authenticatee Module: Integrate authenticatee module in 
scheduler
 Key: MESOS-2042
 URL: https://issues.apache.org/jira/browse/MESOS-2042
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff


Allow for frameworks to use the authenticatee module.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-830) ExamplesTest.JavaFramework is flaky

2014-11-04 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14196845#comment-14196845
 ] 

Till Toenshoff commented on MESOS-830:
--

I also see this one failing a lot on OSX. 

Just ran a gtest_repeat=20 and got 19 failures, 1 pass.

{noformat}
[ RUN  ] ExamplesTest.JavaFramework
Using temporary directory '/tmp/ExamplesTest_JavaFramework_DCnIxN'
Enabling authentication for the framework
I1104 22:21:37.416721 112590848 leveldb.cpp:176] Opened db in 2428us
I1104 22:21:37.417207 112590848 leveldb.cpp:183] Compacted db in 454us
I1104 22:21:37.417244 112590848 leveldb.cpp:198] Created db iterator in 15us
I1104 22:21:37.417258 112590848 leveldb.cpp:204] Seeked to beginning of db in 
7us
I1104 22:21:37.417268 112590848 leveldb.cpp:273] Iterated through 0 keys in the 
db in 8us
I1104 22:21:37.417317 112590848 replica.cpp:741] Replica recovered with log 
positions 0 - 0 with 1 holes and 0 unlearned
I1104 22:21:37.417966 503451648 recover.cpp:437] Starting replica recovery
I1104 22:21:37.418251 503451648 recover.cpp:463] Replica is in EMPTY status
I1104 22:21:37.419044 502378496 replica.cpp:638] Replica in EMPTY status 
received a broadcasted recover request
I1104 22:21:37.419242 506134528 recover.cpp:188] Received a recover response 
from a replica in EMPTY status
I1104 22:21:37.419445 504524800 recover.cpp:554] Updating replica status to 
STARTING
I1104 22:21:37.419777 505597952 leveldb.cpp:306] Persisting metadata (8 bytes) 
to leveldb took 231us
I1104 22:21:37.419802 505597952 replica.cpp:320] Persisted replica status to 
STARTING
I1104 22:21:37.419909 503988224 recover.cpp:463] Replica is in STARTING status
I1104 22:21:37.420393 502378496 replica.cpp:638] Replica in STARTING status 
received a broadcasted recover request
I1104 22:21:37.420555 503988224 recover.cpp:188] Received a recover response 
from a replica in STARTING status
I1104 22:21:37.420811 502915072 recover.cpp:554] Updating replica status to 
VOTING
I1104 22:21:37.421128 505597952 leveldb.cpp:306] Persisting metadata (8 bytes) 
to leveldb took 193us
I1104 22:21:37.421161 505597952 replica.cpp:320] Persisted replica status to 
VOTING
I1104 22:21:37.421190 504524800 recover.cpp:568] Successfully joined the Paxos 
group
I1104 22:21:37.421301 504524800 recover.cpp:452] Recover process terminated
I1104 22:21:37.425765 502378496 master.cpp:318] Master 
20141104-222137-347252928-55703-8935 (lobomacpro2.fritz.box) started on 
192.168.178.20:55703
I1104 22:21:37.425830 502378496 master.cpp:364] Master only allowing 
authenticated frameworks to register
I1104 22:21:37.425843 502378496 master.cpp:371] Master allowing unauthenticated 
slaves to register
I1104 22:21:37.425854 502378496 credentials.hpp:36] Loading credentials for 
authentication from '/tmp/ExamplesTest_JavaFramework_DCnIxN/credentials'
W1104 22:21:37.425889 502378496 credentials.hpp:51] Permissions on credentials 
file '/tmp/ExamplesTest_JavaFramework_DCnIxN/credentials' are too open. It is 
recommended that your credentials file is NOT accessible by others.
I1104 22:21:37.425921 502378496 master.cpp:408] Authorization enabled
I1104 22:21:37.426417 112590848 containerizer.cpp:100] Using isolation: 
posix/cpu,posix/mem
I1104 22:21:37.427026 504524800 slave.cpp:169] Slave started on 
1)@192.168.178.20:55703
I1104 22:21:37.427248 504524800 slave.cpp:289] Slave resources: cpus(*):2; 
mem(*):10240; disk(*):470808; ports(*):[31000-32000]
I1104 22:21:37.427533 112590848 containerizer.cpp:100] Using isolation: 
posix/cpu,posix/mem
I1104 22:21:37.428071 503988224 slave.cpp:169] Slave started on 
2)@192.168.178.20:55703
I1104 22:21:37.428176 502378496 master.cpp:1258] The newly elected leader is 
master@192.168.178.20:55703 with id 20141104-222137-347252928-55703-8935
I1104 22:21:37.428205 502378496 master.cpp:1271] Elected as the leading master!
I1104 22:21:37.428220 502378496 master.cpp:1089] Recovering from registrar
I1104 22:21:37.428267 503988224 slave.cpp:289] Slave resources: cpus(*):2; 
mem(*):10240; disk(*):470808; ports(*):[31000-32000]
I1104 22:21:37.428318 502915072 registrar.cpp:313] Recovering registrar
I1104 22:21:37.428598 505061376 log.cpp:656] Attempting to start the writer
I1104 22:21:37.428805 112590848 containerizer.cpp:100] Using isolation: 
posix/cpu,posix/mem
I1104 22:21:37.428889 503988224 slave.cpp:318] Slave hostname: 
lobomacpro2.fritz.box
I1104 22:21:37.428892 504524800 slave.cpp:318] Slave hostname: 
lobomacpro2.fritz.box
I1104 22:21:37.428917 503988224 slave.cpp:319] Slave checkpoint: true
I1104 22:21:37.428927 504524800 slave.cpp:319] Slave checkpoint: true
I1104 22:21:37.429457 506134528 state.cpp:33] Recovering state from 
'/var/folders/_t/rdp354gx7j5fjww270kbk6_rgn/T/mesos-XX.3EkfQ7TT/1/meta'
I1104 22:21:37.429478 505061376 state.cpp:33] Recovering state from 
'/var/folders/_t/rdp354gx7j5fjww270kbk6_rgn/T/mesos-XX.3EkfQ7TT/0/meta'

[jira] [Commented] (MESOS-1894) Authenticator Module: Tests

2014-11-05 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1894?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14198515#comment-14198515
 ] 

Till Toenshoff commented on MESOS-1894:
---

Added an additional step that now does typed testing within the mesos test 
suite. That way the CRAMMD5Authentication tests are run against both, the 
default (built-in) CRAMMD5Authenticator as well as against the modularized 
version of that class.

https://reviews.apache.org/r/27619/

 Authenticator Module: Tests
 ---

 Key: MESOS-1894
 URL: https://issues.apache.org/jira/browse/MESOS-1894
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff
Priority: Blocker

 h4. Motivation
 Make sure that an authenticator module can be fully unit- and integration- 
 tested within the mesos test suite.
 h4. Status Quo
 We currently have a few CRAM-MD5 specific authentication integration tests ( 
 {{tests/sasl_tests.cpp}} ) as well as a complete authentication test list for 
 authentication as a whole with some CRAM-MD5 specifics again ( 
 {{tests/authentication.cpp}} ). 
 h4. Approach
 1. MESOS-1864 needs to get fleshed out, providing a module integration test 
 scheme for our mesos test suite
 2. refactor / move / rename integration tests of the CRAM-MD5 specific tests 
 {{tests/sasl_tests.cpp}}  {{tests/authentication.cpp}}
 3. implement tests via a parameterized version of {{tests/authentication.cpp}}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (MESOS-2045) Supply a documentation for the ExternalContainerizer

2014-11-05 Thread Till Toenshoff (JIRA)
Till Toenshoff created MESOS-2045:
-

 Summary: Supply a documentation for the ExternalContainerizer
 Key: MESOS-2045
 URL: https://issues.apache.org/jira/browse/MESOS-2045
 Project: Mesos
  Issue Type: Documentation
Reporter: Till Toenshoff
Assignee: Till Toenshoff
Priority: Minor


The ExternalContainerizer has never been properly documented. That should be 
fixed even if the Docker use-case has gotten solved for most via the 
DockerContainerizer. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-2005) Authenticatee Module: Interface design

2014-11-05 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-2005?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14198609#comment-14198609
 ] 

Till Toenshoff commented on MESOS-2005:
---

https://reviews.apache.org/r/27494/

 Authenticatee Module: Interface design
 --

 Key: MESOS-2005
 URL: https://issues.apache.org/jira/browse/MESOS-2005
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff
Priority: Blocker
  Labels: authentication, interface, module

 h4.Motivation
 Design an interface covering authenticatee modules while staying minimally 
 invasive in regards to changes on the existing CRAM-MD5 Authenticatee 
 implementation.
 h4.Status Quo
 See MESOS-1891 but replace Authenticator with Authenticatee.
 h4.Design
 {noformat}
 class Authenticatee
 {
 public:
   Authenticatee() {}
   virtual ~Authenticatee() {}
   virtual TryNothing initialize(
   const process::UPID clientPid,
   const Optionmesos::Credential credential) = 0;
   virtual process::Futurebool authenticate(const process::UPID pid) = 0;
 };
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (MESOS-2045) Supply a documentation for the ExternalContainerizer

2014-11-05 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-2045?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff resolved MESOS-2045.
---
Resolution: Implemented

commit 0f348c411a301bee4b6af56d0e68120b064d6a2a
Author: Till Toenshoff toensh...@me.com
Date:   Wed Nov 5 17:57:28 2014 +0100

Added External Containerizer documentation.

Adds a markdown document describing the ExternalContainerizer.

Review: https://reviews.apache.org/r/22169/

 Supply a documentation for the ExternalContainerizer
 

 Key: MESOS-2045
 URL: https://issues.apache.org/jira/browse/MESOS-2045
 Project: Mesos
  Issue Type: Documentation
Reporter: Till Toenshoff
Assignee: Till Toenshoff
Priority: Minor

 The ExternalContainerizer has never been properly documented. That should be 
 fixed even if the Docker use-case has gotten solved for most via the 
 DockerContainerizer. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-2040) Authenticatee Module: Integrate authenticatee module in slave

2014-11-06 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-2040?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14200083#comment-14200083
 ] 

Till Toenshoff commented on MESOS-2040:
---

h4. Request for quick discussion

Due to Adam's valuable comment on the above RR, the following issue emerged and 
needs to be decided upon;

The existing logic on enabling a slave to attempt authentication is purely 
based on the existence of a credential. While that served its purpose, things 
now become a little odd when adding new authenticatees supporting 
authentication without credentials (think e.g. ticket based authentication 
schemes). 

Seems we got at least two options for enabling the attempt of authentication 
from the slave side; 

- add an explicit `--authenticate` flag to the slave
- use the new `--authenticatee` selector (introduced by the above RR) and 
authenticate only if a viable one (non empty?) was given


 Authenticatee Module: Integrate authenticatee module in slave
 -

 Key: MESOS-2040
 URL: https://issues.apache.org/jira/browse/MESOS-2040
 Project: Mesos
  Issue Type: Improvement
Reporter: Till Toenshoff
Assignee: Till Toenshoff

 Allow for slave authentication via authenticatee module.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-2040) Authenticatee Module: Integrate authenticatee module in slave

2014-11-06 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-2040?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14200085#comment-14200085
 ] 

Till Toenshoff commented on MESOS-2040:
---

[~vinodkone] [~adam-mesos] [~benjaminhindman] any thoughts?

 Authenticatee Module: Integrate authenticatee module in slave
 -

 Key: MESOS-2040
 URL: https://issues.apache.org/jira/browse/MESOS-2040
 Project: Mesos
  Issue Type: Improvement
Reporter: Till Toenshoff
Assignee: Till Toenshoff

 Allow for slave authentication via authenticatee module.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-2040) Authenticatee Module: Integrate authenticatee module in slave

2014-11-06 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-2040?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14200463#comment-14200463
 ] 

Till Toenshoff commented on MESOS-2040:
---

I just discussed the issue with BenH and here is what we would like to propose 
instead:

We should stick to the existing way which is to use --credential as a trigger 
for the slave / framework to attempt authentication (now based on the selected 
--authenticatee). At least we should do so until someone comes up with an 
authenticatee module that does not make use of either a principal or a 
password. This would mean that there was no need for an additional flag 
(despite --authenticatee), which is good. The reason why this would still work 
for ticket based authentication mechanisms is that those still use a principal 
(but no password).


 Authenticatee Module: Integrate authenticatee module in slave
 -

 Key: MESOS-2040
 URL: https://issues.apache.org/jira/browse/MESOS-2040
 Project: Mesos
  Issue Type: Improvement
Reporter: Till Toenshoff
Assignee: Till Toenshoff

 Allow for slave authentication via authenticatee module.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (MESOS-2040) Authenticatee Module: Integrate authenticatee module in slave

2014-11-06 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-2040?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14200463#comment-14200463
 ] 

Till Toenshoff edited comment on MESOS-2040 at 11/6/14 5:05 PM:


I just discussed the issue with BenH and here is what we would like to propose 
instead:

We should stick to the existing way which is to use `-credential as a trigger 
for the slave / framework to attempt authentication (now based on the selected 
`-authenticatee`). At least we should do so until someone comes up with an 
authenticatee module that does not make use of either a principal or a 
password. This would mean that there was no need for an additional flag 
(despite `-authenticatee`), which is good. The reason why this would still work 
for ticket based authentication mechanisms is that those still use a principal 
(but no password).



was (Author: tillt):
I just discussed the issue with BenH and here is what we would like to propose 
instead:

We should stick to the existing way which is to use --credential as a trigger 
for the slave / framework to attempt authentication (now based on the selected 
--authenticatee). At least we should do so until someone comes up with an 
authenticatee module that does not make use of either a principal or a 
password. This would mean that there was no need for an additional flag 
(despite --authenticatee), which is good. The reason why this would still work 
for ticket based authentication mechanisms is that those still use a principal 
(but no password).


 Authenticatee Module: Integrate authenticatee module in slave
 -

 Key: MESOS-2040
 URL: https://issues.apache.org/jira/browse/MESOS-2040
 Project: Mesos
  Issue Type: Improvement
Reporter: Till Toenshoff
Assignee: Till Toenshoff

 Allow for slave authentication via authenticatee module.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-2041) Authenticatee Module: Integrate authenticatee module in tests

2014-11-06 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-2041?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14200921#comment-14200921
 ] 

Till Toenshoff commented on MESOS-2041:
---

https://reviews.apache.org/r/27651/

 Authenticatee Module: Integrate authenticatee module in tests
 -

 Key: MESOS-2041
 URL: https://issues.apache.org/jira/browse/MESOS-2041
 Project: Mesos
  Issue Type: Improvement
Reporter: Till Toenshoff
Assignee: Till Toenshoff

 Make the authenticatee module testable.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (MESOS-2041) Authenticatee Module: Integrate authenticatee module in tests

2014-11-06 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-2041?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14200921#comment-14200921
 ] 

Till Toenshoff edited comment on MESOS-2041 at 11/6/14 9:07 PM:


https://reviews.apache.org/r/27495/
https://reviews.apache.org/r/27651/



was (Author: tillt):
https://reviews.apache.org/r/27651/

 Authenticatee Module: Integrate authenticatee module in tests
 -

 Key: MESOS-2041
 URL: https://issues.apache.org/jira/browse/MESOS-2041
 Project: Mesos
  Issue Type: Improvement
Reporter: Till Toenshoff
Assignee: Till Toenshoff

 Make the authenticatee module testable.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (MESOS-2005) Authenticatee Module: Interface design

2014-11-06 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-2005?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff updated MESOS-2005:
--
Description: 
h4.Motivation
Design an interface covering authenticatee modules while staying minimally 
invasive in regards to changes on the existing CRAM-MD5 Authenticatee 
implementation.

h4.Status Quo
See MESOS-1891 but replace Authenticator with Authenticatee.

h4.Design
{noformat}
class Authenticatee
{
public:
  Authenticatee() {}
  virtual ~Authenticatee() {}

  virtual TryNothing initialize(
  const process::UPID clientPid,
  const mesos::Credential credential) = 0;

  virtual process::Futurebool authenticate(const process::UPID pid) = 0;
};
{noformat}

  was:
h4.Motivation
Design an interface covering authenticatee modules while staying minimally 
invasive in regards to changes on the existing CRAM-MD5 Authenticatee 
implementation.

h4.Status Quo
See MESOS-1891 but replace Authenticator with Authenticatee.

h4.Design
{noformat}
class Authenticatee
{
public:
  Authenticatee() {}
  virtual ~Authenticatee() {}

  virtual TryNothing initialize(
  const process::UPID clientPid,
  const Optionmesos::Credential credential) = 0;

  virtual process::Futurebool authenticate(const process::UPID pid) = 0;
};
{noformat}


 Authenticatee Module: Interface design
 --

 Key: MESOS-2005
 URL: https://issues.apache.org/jira/browse/MESOS-2005
 Project: Mesos
  Issue Type: Improvement
  Components: modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff
Priority: Blocker
  Labels: authentication, interface, module

 h4.Motivation
 Design an interface covering authenticatee modules while staying minimally 
 invasive in regards to changes on the existing CRAM-MD5 Authenticatee 
 implementation.
 h4.Status Quo
 See MESOS-1891 but replace Authenticator with Authenticatee.
 h4.Design
 {noformat}
 class Authenticatee
 {
 public:
   Authenticatee() {}
   virtual ~Authenticatee() {}
   virtual TryNothing initialize(
   const process::UPID clientPid,
   const mesos::Credential credential) = 0;
   virtual process::Futurebool authenticate(const process::UPID pid) = 0;
 };
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-2050) InMemoryAuxProp plugin used by Authenticators results in SEGFAULT

2014-11-07 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-2050?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14201770#comment-14201770
 ] 

Till Toenshoff commented on MESOS-2050:
---

Trouble is that modules can not handle static methods. I initially had a 
proposal for covering that but it wasn't really scaling well (versioning 
issues), hence we decided to drop that approach. I will figure out a solution 
that makes everyone happy without pulling something out of the heavy duty mutex 
drawer

 InMemoryAuxProp plugin used by Authenticators results in SEGFAULT
 -

 Key: MESOS-2050
 URL: https://issues.apache.org/jira/browse/MESOS-2050
 Project: Mesos
  Issue Type: Bug
Affects Versions: 0.21.0
Reporter: Vinod Kone

 Observed this on ASF CI:
 Basically, as part of the recent Auth refactor for modules, the loading of 
 secrets is being done once per Authenticator Process instead of once in the 
 Master.  Since, InMemoryAuxProp plugin manipulates static variables (e.g, 
 'properties') it results in SEGFAULT when one Authenticator (e.g., for slave) 
 does load() while another Authenticator (e.g., for framework) does lookup(), 
 as both these methods manipulate static 'properties'.
 {code}
 [ RUN  ] MasterTest.LaunchDuplicateOfferTest
 Using temporary directory '/tmp/MasterTest_LaunchDuplicateOfferTest_XEBbvp'
 I1104 03:37:55.523553 28363 leveldb.cpp:176] Opened db in 2.270387ms
 I1104 03:37:55.524250 28363 leveldb.cpp:183] Compacted db in 662527ns
 I1104 03:37:55.524276 28363 leveldb.cpp:198] Created db iterator in 4964ns
 I1104 03:37:55.524284 28363 leveldb.cpp:204] Seeked to beginning of db in 
 702ns
 I1104 03:37:55.524291 28363 leveldb.cpp:273] Iterated through 0 keys in the 
 db in 450ns
 I1104 03:37:55.524333 28363 replica.cpp:741] Replica recovered with log 
 positions 0 - 0 with 1 holes and 0 unlearned
 I1104 03:37:55.524852 28384 recover.cpp:437] Starting replica recovery
 I1104 03:37:55.525188 28384 recover.cpp:463] Replica is in EMPTY status
 I1104 03:37:55.526577 28378 replica.cpp:638] Replica in EMPTY status received 
 a broadcasted recover request
 I1104 03:37:55.527135 28378 master.cpp:318] Master 
 20141104-033755-3176252227-49988-28363 (proserpina.apache.org) started on 
 67.195.81.189:49988
 I1104 03:37:55.527180 28378 master.cpp:364] Master only allowing 
 authenticated frameworks to register
 I1104 03:37:55.527191 28378 master.cpp:369] Master only allowing 
 authenticated slaves to register
 I1104 03:37:55.527217 28378 credentials.hpp:36] Loading credentials for 
 authentication from 
 '/tmp/MasterTest_LaunchDuplicateOfferTest_XEBbvp/credentials'
 I1104 03:37:55.527451 28378 master.cpp:408] Authorization enabled
 I1104 03:37:55.528081 28384 master.cpp:126] No whitelist given. Advertising 
 offers for all slaves
 I1104 03:37:55.528548 28383 recover.cpp:188] Received a recover response from 
 a replica in EMPTY status
 I1104 03:37:55.528645 28388 hierarchical_allocator_process.hpp:299] 
 Initializing hierarchical allocator process with master : 
 master@67.195.81.189:49988
 I1104 03:37:55.529233 28388 master.cpp:1258] The newly elected leader is 
 master@67.195.81.189:49988 with id 20141104-033755-3176252227-49988-28363
 I1104 03:37:55.529266 28388 master.cpp:1271] Elected as the leading master!
 I1104 03:37:55.529289 28388 master.cpp:1089] Recovering from registrar
 I1104 03:37:55.529311 28385 recover.cpp:554] Updating replica status to 
 STARTING
 I1104 03:37:55.529500 28384 registrar.cpp:313] Recovering registrar
 I1104 03:37:55.530037 28383 leveldb.cpp:306] Persisting metadata (8 bytes) to 
 leveldb took 497965ns
 I1104 03:37:55.530083 28383 replica.cpp:320] Persisted replica status to 
 STARTING
 I1104 03:37:55.530335 28387 recover.cpp:463] Replica is in STARTING status
 I1104 03:37:55.531343 28381 replica.cpp:638] Replica in STARTING status 
 received a broadcasted recover request
 I1104 03:37:55.531739 28384 recover.cpp:188] Received a recover response from 
 a replica in STARTING status
 I1104 03:37:55.532168 28379 recover.cpp:554] Updating replica status to VOTING
 I1104 03:37:55.532572 28381 leveldb.cpp:306] Persisting metadata (8 bytes) to 
 leveldb took 293974ns
 I1104 03:37:55.532594 28381 replica.cpp:320] Persisted replica status to 
 VOTING
 I1104 03:37:55.532790 28390 recover.cpp:568] Successfully joined the Paxos 
 group
 I1104 03:37:55.533107 28390 recover.cpp:452] Recover process terminated
 I1104 03:37:55.533604 28382 log.cpp:656] Attempting to start the writer
 I1104 03:37:55.534840 28381 replica.cpp:474] Replica received implicit 
 promise request with proposal 1
 I1104 03:37:55.535188 28381 leveldb.cpp:306] Persisting metadata (8 bytes) to 
 leveldb took 321021ns
 I1104 03:37:55.535212 28381 replica.cpp:342] Persisted promised to 1
 I1104 03:37:55.535893 28378 

[jira] [Assigned] (MESOS-2050) InMemoryAuxProp plugin used by Authenticators results in SEGFAULT

2014-11-07 Thread Till Toenshoff (JIRA)

 [ 
https://issues.apache.org/jira/browse/MESOS-2050?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Till Toenshoff reassigned MESOS-2050:
-

Assignee: Till Toenshoff

 InMemoryAuxProp plugin used by Authenticators results in SEGFAULT
 -

 Key: MESOS-2050
 URL: https://issues.apache.org/jira/browse/MESOS-2050
 Project: Mesos
  Issue Type: Bug
Affects Versions: 0.21.0
Reporter: Vinod Kone
Assignee: Till Toenshoff

 Observed this on ASF CI:
 Basically, as part of the recent Auth refactor for modules, the loading of 
 secrets is being done once per Authenticator Process instead of once in the 
 Master.  Since, InMemoryAuxProp plugin manipulates static variables (e.g, 
 'properties') it results in SEGFAULT when one Authenticator (e.g., for slave) 
 does load() while another Authenticator (e.g., for framework) does lookup(), 
 as both these methods manipulate static 'properties'.
 {code}
 [ RUN  ] MasterTest.LaunchDuplicateOfferTest
 Using temporary directory '/tmp/MasterTest_LaunchDuplicateOfferTest_XEBbvp'
 I1104 03:37:55.523553 28363 leveldb.cpp:176] Opened db in 2.270387ms
 I1104 03:37:55.524250 28363 leveldb.cpp:183] Compacted db in 662527ns
 I1104 03:37:55.524276 28363 leveldb.cpp:198] Created db iterator in 4964ns
 I1104 03:37:55.524284 28363 leveldb.cpp:204] Seeked to beginning of db in 
 702ns
 I1104 03:37:55.524291 28363 leveldb.cpp:273] Iterated through 0 keys in the 
 db in 450ns
 I1104 03:37:55.524333 28363 replica.cpp:741] Replica recovered with log 
 positions 0 - 0 with 1 holes and 0 unlearned
 I1104 03:37:55.524852 28384 recover.cpp:437] Starting replica recovery
 I1104 03:37:55.525188 28384 recover.cpp:463] Replica is in EMPTY status
 I1104 03:37:55.526577 28378 replica.cpp:638] Replica in EMPTY status received 
 a broadcasted recover request
 I1104 03:37:55.527135 28378 master.cpp:318] Master 
 20141104-033755-3176252227-49988-28363 (proserpina.apache.org) started on 
 67.195.81.189:49988
 I1104 03:37:55.527180 28378 master.cpp:364] Master only allowing 
 authenticated frameworks to register
 I1104 03:37:55.527191 28378 master.cpp:369] Master only allowing 
 authenticated slaves to register
 I1104 03:37:55.527217 28378 credentials.hpp:36] Loading credentials for 
 authentication from 
 '/tmp/MasterTest_LaunchDuplicateOfferTest_XEBbvp/credentials'
 I1104 03:37:55.527451 28378 master.cpp:408] Authorization enabled
 I1104 03:37:55.528081 28384 master.cpp:126] No whitelist given. Advertising 
 offers for all slaves
 I1104 03:37:55.528548 28383 recover.cpp:188] Received a recover response from 
 a replica in EMPTY status
 I1104 03:37:55.528645 28388 hierarchical_allocator_process.hpp:299] 
 Initializing hierarchical allocator process with master : 
 master@67.195.81.189:49988
 I1104 03:37:55.529233 28388 master.cpp:1258] The newly elected leader is 
 master@67.195.81.189:49988 with id 20141104-033755-3176252227-49988-28363
 I1104 03:37:55.529266 28388 master.cpp:1271] Elected as the leading master!
 I1104 03:37:55.529289 28388 master.cpp:1089] Recovering from registrar
 I1104 03:37:55.529311 28385 recover.cpp:554] Updating replica status to 
 STARTING
 I1104 03:37:55.529500 28384 registrar.cpp:313] Recovering registrar
 I1104 03:37:55.530037 28383 leveldb.cpp:306] Persisting metadata (8 bytes) to 
 leveldb took 497965ns
 I1104 03:37:55.530083 28383 replica.cpp:320] Persisted replica status to 
 STARTING
 I1104 03:37:55.530335 28387 recover.cpp:463] Replica is in STARTING status
 I1104 03:37:55.531343 28381 replica.cpp:638] Replica in STARTING status 
 received a broadcasted recover request
 I1104 03:37:55.531739 28384 recover.cpp:188] Received a recover response from 
 a replica in STARTING status
 I1104 03:37:55.532168 28379 recover.cpp:554] Updating replica status to VOTING
 I1104 03:37:55.532572 28381 leveldb.cpp:306] Persisting metadata (8 bytes) to 
 leveldb took 293974ns
 I1104 03:37:55.532594 28381 replica.cpp:320] Persisted replica status to 
 VOTING
 I1104 03:37:55.532790 28390 recover.cpp:568] Successfully joined the Paxos 
 group
 I1104 03:37:55.533107 28390 recover.cpp:452] Recover process terminated
 I1104 03:37:55.533604 28382 log.cpp:656] Attempting to start the writer
 I1104 03:37:55.534840 28381 replica.cpp:474] Replica received implicit 
 promise request with proposal 1
 I1104 03:37:55.535188 28381 leveldb.cpp:306] Persisting metadata (8 bytes) to 
 leveldb took 321021ns
 I1104 03:37:55.535212 28381 replica.cpp:342] Persisted promised to 1
 I1104 03:37:55.535893 28378 coordinator.cpp:230] Coordinator attemping to 
 fill missing position
 I1104 03:37:55.537318 28392 replica.cpp:375] Replica received explicit 
 promise request for position 0 with proposal 2
 I1104 03:37:55.537719 28392 leveldb.cpp:343] Persisting action (8 bytes) to 
 leveldb took 366858ns
 I1104 

[jira] [Comment Edited] (MESOS-2050) InMemoryAuxProp plugin used by Authenticators results in SEGFAULT

2014-11-07 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-2050?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14202522#comment-14202522
 ] 

Till Toenshoff edited comment on MESOS-2050 at 11/7/14 7:31 PM:


The trigger of this problem indeed most likely is 
InMemoryAuxiliaryPropertyPlugin::load while 
InMemoryAuxiliaryPropertyPlugin::lookup. So master triggers a load via 
CRAMMD5Authenticator::initialize and a CRAMMD5AuthenticatorProcess (which got 
spawned earlier via CRAMMD5Authenticator::initialize of a different 
Authenticator instance) tries to lookup concurrently. - bam!   

So it seems we got several options here;

Keep everything as is but...
- bandaid: add a mutex onto InMemoryAuxiliaryPropertyPlugin::load / 
InMemoryAuxiliaryPropertyPlugin::lookup to prevent concurrent access to the 
underlying data structure (properties)
- bandaid: use a process::Once within the CRAMMD5Authenticator::initialize to 
prevent concurrent and subsequent InMemoryAuxiliaryPropertyPlugin::load... this 
however will get even uglier as we have tests that want to reload credentials 
and for those I would have to expose an additional option to reset that 
process::Once.

Revise the Authenticator interface... 
- proper: instantiate an modularized authenticator factory early on, within 
master::initialize. That baby does load the credentials. Then, once the master 
receives the authentication message from slave/framework, it uses that factory 
to instantiate new authenticator-sessions. This would also make much more 
sense when we look at authentication mechanisms that might e.g. need to connect 
to a non-local database (expensive setup).

I currently am very much in favor of the last option. But given the extend of 
changes needed here, I fear that the review delays will be too much for the 
entire 0.21 release to wait.

So unless you vote for a band-aid, I would suggest we revert my Authenticator 
module commits (both for master and for 0.21), let me implement the proper 
and depending on when it can get committed, we might still be able to 
cherry-pick that into 0.21 or it will land in 0.22.

These are the commits in question:
commit 0756d185ab095d88d7313305417939260067a17f
commit 9ca757fc5abf24d9eaa371abcdab2a4ad5449cc3
commit 880ea7da6b5c4c1ac1fcc05f2ad5f5dfc875b94e
commit b51f55500b809b452123c011012227d821e02c04



was (Author: tillt):
The trigger of this problem indeed most likely is 
InMemoryAuxiliaryPropertyPlugin::load while 
InMemoryAuxiliaryPropertyPlugin::lookup. So master triggers a load via 
CRAMMD5Authenticator::initialize and a CRAMMD5AuthenticatorProcess (which got 
spawned earlier via CRAMMD5Authenticator::initialize of a different 
Authenticator instance) tries to lookup concurrently. - bam!   

So it seems we got several options here;

Keep everything as is but...
- bandaid: add a mutex onto InMemoryAuxiliaryPropertyPlugin::load / 
InMemoryAuxiliaryPropertyPlugin::lookup to prevent concurrent access to the 
underlying data structure (properties)
- bandaid: use a process::Once within the CRAMMD5Authenticator::initialize to 
prevent concurrent and subsequent InMemoryAuxiliaryPropertyPlugin::load... this 
however will get even uglier as we have tests that want to reload credentials 
and for those I would have to expose an additional flag.

Revise the Authenticator interface... 
- proper: instantiate an modularized authenticator factory early on, within 
master::initialize. That baby does load the credentials. Then, once the master 
receives the authentication message from slave/framework, it uses that factory 
to instantiate new authenticator-sessions. This would also make much more 
sense when we look at authentication mechanisms that might e.g. need to connect 
to a non-local database (expensive setup).

I currently am very much in favor of the last option. But given the extend of 
changes needed here, I fear that the review delays will be too much for the 
entire 0.21 release to wait.

So unless you vote for a band-aid, I would suggest we revert my Authenticator 
module commits (both for master and for 0.21), let me implement the proper 
and depending on when it can get committed, we might still be able to 
cherry-pick that into 0.21 or it will land in 0.22.

These are the commits in question:
commit 0756d185ab095d88d7313305417939260067a17f
commit 9ca757fc5abf24d9eaa371abcdab2a4ad5449cc3
commit 880ea7da6b5c4c1ac1fcc05f2ad5f5dfc875b94e
commit b51f55500b809b452123c011012227d821e02c04


 InMemoryAuxProp plugin used by Authenticators results in SEGFAULT
 -

 Key: MESOS-2050
 URL: https://issues.apache.org/jira/browse/MESOS-2050
 Project: Mesos
  Issue Type: Bug
Affects Versions: 0.21.0
Reporter: Vinod Kone
Assignee: Till Toenshoff

 Observed this on ASF CI:
 Basically, as 

[jira] [Commented] (MESOS-2050) InMemoryAuxProp plugin used by Authenticators results in SEGFAULT

2014-11-07 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-2050?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14203060#comment-14203060
 ] 

Till Toenshoff commented on MESOS-2050:
---

commit ce82e81c12d7f91b158c73465c47725331626f32
Author: Till Toenshoff toensh...@me.com
Date:   Sat Nov 8 01:19:50 2014 +0100

Fixed Authenticator SASL auxiliary memory access.

Review: https://reviews.apache.org/r/27741

 InMemoryAuxProp plugin used by Authenticators results in SEGFAULT
 -

 Key: MESOS-2050
 URL: https://issues.apache.org/jira/browse/MESOS-2050
 Project: Mesos
  Issue Type: Bug
Affects Versions: 0.21.0
Reporter: Vinod Kone
Assignee: Till Toenshoff

 Observed this on ASF CI:
 Basically, as part of the recent Auth refactor for modules, the loading of 
 secrets is being done once per Authenticator Process instead of once in the 
 Master.  Since, InMemoryAuxProp plugin manipulates static variables (e.g, 
 'properties') it results in SEGFAULT when one Authenticator (e.g., for slave) 
 does load() while another Authenticator (e.g., for framework) does lookup(), 
 as both these methods manipulate static 'properties'.
 {code}
 [ RUN  ] MasterTest.LaunchDuplicateOfferTest
 Using temporary directory '/tmp/MasterTest_LaunchDuplicateOfferTest_XEBbvp'
 I1104 03:37:55.523553 28363 leveldb.cpp:176] Opened db in 2.270387ms
 I1104 03:37:55.524250 28363 leveldb.cpp:183] Compacted db in 662527ns
 I1104 03:37:55.524276 28363 leveldb.cpp:198] Created db iterator in 4964ns
 I1104 03:37:55.524284 28363 leveldb.cpp:204] Seeked to beginning of db in 
 702ns
 I1104 03:37:55.524291 28363 leveldb.cpp:273] Iterated through 0 keys in the 
 db in 450ns
 I1104 03:37:55.524333 28363 replica.cpp:741] Replica recovered with log 
 positions 0 - 0 with 1 holes and 0 unlearned
 I1104 03:37:55.524852 28384 recover.cpp:437] Starting replica recovery
 I1104 03:37:55.525188 28384 recover.cpp:463] Replica is in EMPTY status
 I1104 03:37:55.526577 28378 replica.cpp:638] Replica in EMPTY status received 
 a broadcasted recover request
 I1104 03:37:55.527135 28378 master.cpp:318] Master 
 20141104-033755-3176252227-49988-28363 (proserpina.apache.org) started on 
 67.195.81.189:49988
 I1104 03:37:55.527180 28378 master.cpp:364] Master only allowing 
 authenticated frameworks to register
 I1104 03:37:55.527191 28378 master.cpp:369] Master only allowing 
 authenticated slaves to register
 I1104 03:37:55.527217 28378 credentials.hpp:36] Loading credentials for 
 authentication from 
 '/tmp/MasterTest_LaunchDuplicateOfferTest_XEBbvp/credentials'
 I1104 03:37:55.527451 28378 master.cpp:408] Authorization enabled
 I1104 03:37:55.528081 28384 master.cpp:126] No whitelist given. Advertising 
 offers for all slaves
 I1104 03:37:55.528548 28383 recover.cpp:188] Received a recover response from 
 a replica in EMPTY status
 I1104 03:37:55.528645 28388 hierarchical_allocator_process.hpp:299] 
 Initializing hierarchical allocator process with master : 
 master@67.195.81.189:49988
 I1104 03:37:55.529233 28388 master.cpp:1258] The newly elected leader is 
 master@67.195.81.189:49988 with id 20141104-033755-3176252227-49988-28363
 I1104 03:37:55.529266 28388 master.cpp:1271] Elected as the leading master!
 I1104 03:37:55.529289 28388 master.cpp:1089] Recovering from registrar
 I1104 03:37:55.529311 28385 recover.cpp:554] Updating replica status to 
 STARTING
 I1104 03:37:55.529500 28384 registrar.cpp:313] Recovering registrar
 I1104 03:37:55.530037 28383 leveldb.cpp:306] Persisting metadata (8 bytes) to 
 leveldb took 497965ns
 I1104 03:37:55.530083 28383 replica.cpp:320] Persisted replica status to 
 STARTING
 I1104 03:37:55.530335 28387 recover.cpp:463] Replica is in STARTING status
 I1104 03:37:55.531343 28381 replica.cpp:638] Replica in STARTING status 
 received a broadcasted recover request
 I1104 03:37:55.531739 28384 recover.cpp:188] Received a recover response from 
 a replica in STARTING status
 I1104 03:37:55.532168 28379 recover.cpp:554] Updating replica status to VOTING
 I1104 03:37:55.532572 28381 leveldb.cpp:306] Persisting metadata (8 bytes) to 
 leveldb took 293974ns
 I1104 03:37:55.532594 28381 replica.cpp:320] Persisted replica status to 
 VOTING
 I1104 03:37:55.532790 28390 recover.cpp:568] Successfully joined the Paxos 
 group
 I1104 03:37:55.533107 28390 recover.cpp:452] Recover process terminated
 I1104 03:37:55.533604 28382 log.cpp:656] Attempting to start the writer
 I1104 03:37:55.534840 28381 replica.cpp:474] Replica received implicit 
 promise request with proposal 1
 I1104 03:37:55.535188 28381 leveldb.cpp:306] Persisting metadata (8 bytes) to 
 leveldb took 321021ns
 I1104 03:37:55.535212 28381 replica.cpp:342] Persisted promised to 1
 I1104 03:37:55.535893 28378 coordinator.cpp:230] Coordinator attemping to 
 fill 

[jira] [Commented] (MESOS-1118) Add a 'failover' boolean to FrameworkInfo that let's a framework distinguish the failover forever case from setting a very large value for failover_timeout

2014-11-09 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-1118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14203922#comment-14203922
 ] 

Till Toenshoff commented on MESOS-1118:
---

[~ijimenez] are you still working on this one?

 Add a 'failover' boolean to FrameworkInfo that let's a framework distinguish 
 the failover forever case from setting a very large value for 
 failover_timeout
 -

 Key: MESOS-1118
 URL: https://issues.apache.org/jira/browse/MESOS-1118
 Project: Mesos
  Issue Type: Improvement
  Components: framework, master
Reporter: Benjamin Hindman
Assignee: Isabel Jimenez
Priority: Minor





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-2002) Module loading within frameworks

2014-11-10 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-2002?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14204763#comment-14204763
 ] 

Till Toenshoff commented on MESOS-2002:
---

https://reviews.apache.org/r/27806/

 Module loading within frameworks 
 -

 Key: MESOS-2002
 URL: https://issues.apache.org/jira/browse/MESOS-2002
 Project: Mesos
  Issue Type: Improvement
  Components: framework, modules
Reporter: Till Toenshoff
Assignee: Till Toenshoff
Priority: Blocker

 Frameworks should be granted the capability to load modules. 
 h4.Motivation
 Allowing a modularized Authenticatee to cover framework authentication 
 against the master.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (MESOS-2086) Update messages.proto to use a raw bytestream instead of a string for AuthenticationStartMessage.

2014-11-12 Thread Till Toenshoff (JIRA)
Till Toenshoff created MESOS-2086:
-

 Summary: Update messages.proto to use a raw bytestream instead of 
a string for AuthenticationStartMessage.
 Key: MESOS-2086
 URL: https://issues.apache.org/jira/browse/MESOS-2086
 Project: Mesos
  Issue Type: Improvement
Reporter: Till Toenshoff
Assignee: Till Toenshoff


{{messages.proto}} has to be slightly changed to use a raw bytestream instead 
of a string for {{AuthenticationStartMessage}} as non CRAM-MD5 authentication 
mechanisms may transmit binary data.

*NOTE* that the above change does basically have no impact on C++ based proto 
code other than the prevention of a warning due to non-UTF8 characters being 
encoded.

For more on this subject, please see 
https://www.mail-archive.com/protobuf@googlegroups.com/msg01486.html

Even though the above is pretty much determining that we wont run into 
compatibility issues (old master vs. new slave and vice versa), it still should 
be tested briefly.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (MESOS-2086) Update messages.proto to use a raw bytestream instead of a string for AuthenticationStartMessage.

2014-11-12 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-2086?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14207905#comment-14207905
 ] 

Till Toenshoff commented on MESOS-2086:
---

https://reviews.apache.org/r/27494/

 Update messages.proto to use a raw bytestream instead of a string for 
 AuthenticationStartMessage.
 -

 Key: MESOS-2086
 URL: https://issues.apache.org/jira/browse/MESOS-2086
 Project: Mesos
  Issue Type: Improvement
Reporter: Till Toenshoff
Assignee: Till Toenshoff

 {{messages.proto}} has to be slightly changed to use a raw bytestream instead 
 of a string for {{AuthenticationStartMessage}} as non CRAM-MD5 authentication 
 mechanisms may transmit binary data.
 *NOTE* that the above change does basically have no impact on C++ based proto 
 code other than the prevention of a warning due to non-UTF8 characters being 
 encoded.
 For more on this subject, please see 
 https://www.mail-archive.com/protobuf@googlegroups.com/msg01486.html
 Even though the above is pretty much determining that we wont run into 
 compatibility issues (old master vs. new slave and vice versa), it still 
 should be tested briefly.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (MESOS-2086) Update messages.proto to use a raw bytestream instead of a string for AuthenticationStartMessage.

2014-11-12 Thread Till Toenshoff (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-2086?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14207905#comment-14207905
 ] 

Till Toenshoff edited comment on MESOS-2086 at 11/12/14 10:36 AM:
--

https://reviews.apache.org/r/27494/ (change introduced)
https://reviews.apache.org/r/27675/ (change documented)


was (Author: tillt):
https://reviews.apache.org/r/27494/

 Update messages.proto to use a raw bytestream instead of a string for 
 AuthenticationStartMessage.
 -

 Key: MESOS-2086
 URL: https://issues.apache.org/jira/browse/MESOS-2086
 Project: Mesos
  Issue Type: Improvement
Reporter: Till Toenshoff
Assignee: Till Toenshoff

 {{messages.proto}} has to be slightly changed to use a raw bytestream instead 
 of a string for {{AuthenticationStartMessage}} as non CRAM-MD5 authentication 
 mechanisms may transmit binary data.
 *NOTE* that the above change does basically have no impact on C++ based proto 
 code other than the prevention of a warning due to non-UTF8 characters being 
 encoded.
 For more on this subject, please see 
 https://www.mail-archive.com/protobuf@googlegroups.com/msg01486.html
 Even though the above is pretty much determining that we wont run into 
 compatibility issues (old master vs. new slave and vice versa), it still 
 should be tested briefly.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (MESOS-2093) Allow live-updating credential/s on a running master/slave/framework.

2014-11-12 Thread Till Toenshoff (JIRA)
Till Toenshoff created MESOS-2093:
-

 Summary: Allow live-updating credential/s on a running 
master/slave/framework.
 Key: MESOS-2093
 URL: https://issues.apache.org/jira/browse/MESOS-2093
 Project: Mesos
  Issue Type: Improvement
Reporter: Till Toenshoff


For improving a transition from/to an authenticated slave/framework or changes 
within principal/s and/or password/s, we would have to permanently watch a 
given credential/s file and allow the authentication logic to get re-triggered 
by any changes on these files on both ends (slave/framework and master).

There are likely subtasks involved and hence this JIRA might get converted into 
an EPIC once this improvement should get implemented (if at all).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


  1   2   3   4   5   6   7   8   9   10   >