ok, got it.  On Kubernetes we have both StatefulSet and DaemonSet to give us 
logical names. 

If you are missing that in Mesos, then maybe the minimally disruptive change is:
1. Build some id assignment microservice, most likely using zookeeper as you 
described above.  It would only be used on platforms like Mesos that lack 
built-in mechanisms for getting stable logical names.
2. Modify the invoker/controller start up path so that we add a new option to 
get the stable name from that id assignment service instead of assuming it is 
provided as a command line argument.  Or, in Kubernetes I might set it up so 
that an init_container contacted the id assignment service so the main 
invoker/controller code could be completely unchanged.  Does Mesos have 
something like init containers?

If we can do that, then we could contain the change so it could be easily 
ignored in systems that don't need it. I guess you also need a hook on shutdown 
to release the id as well (although I'd be worried about assuming a clean 
shutdown; invokers especially tend to crash in ugly fashions occasionally.  Can 
you add the hook externally as a container cleanup action in mesos somehow, so 
we know it will always be run??). 

[ Full content available at: 
https://github.com/apache/incubator-openwhisk/issues/3858 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to