dcos-cassandra-service icon indicating copy to clipboard operation
dcos-cassandra-service copied to clipboard

Executor dependency management improvements

Open dylanwilder opened this issue 8 years ago • 0 comments

The recent addition of the EXECUTOR_LIBMESOS_LOCATION adds an additional runtime dependency on a new system with little added value. E.g.:

  1. Users are now required to access mesosphere downloads upon launch of a new container
  2. Users must keep this bundle version in sync with installed mesos version (complicated from an operational perspective)
  3. Users which are not directly connected to the internet must now maintain and host this package somewhere
  4. As far as I can tell (correct me if I'm wrong), this package is only available for dcos-mesos 1.8.7-1.0.2

Whereas previously this package was guaranteed to be available on the local filesystem with the correct version and likely available in the appropriate environment variables. This new arrangement greatly restricts the array of possible deployment strategies.

Proposal:

  • Change EXECUTOR_X_LOCATION configurations to an array of uris to be pulled at container launch. This will allow for various package strategies (i.e. single package fetched from a single external dependency), as well as flexibly excluding unneeded packages (i.e. java).
  • Export EXECUTOR_ENV_VAR in scheduler config to ENV_VAR in the executor to allow overriding of LD_LIBRARY_PATH or in general other environment

This should provide an appropriate solution for docker deployments which I imagine was the original intention, without inconveniencing current users. It also seems to be be a cleaner, more scalable approach to maintaining this type of configuration.

dylanwilder avatar Feb 01 '17 14:02 dylanwilder