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]
