dcos-cassandra-service
dcos-cassandra-service copied to clipboard
Executor dependency management improvements
The recent addition of the EXECUTOR_LIBMESOS_LOCATION
adds an additional runtime dependency on a new system with little added value. E.g.:
- Users are now required to access mesosphere downloads upon launch of a new container
- Users must keep this bundle version in sync with installed mesos version (complicated from an operational perspective)
- Users which are not directly connected to the internet must now maintain and host this package somewhere
- 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 toENV_VAR
in the executor to allow overriding ofLD_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.