I've recently noticed that our MySQL entity fails to install on many flavours of Red Hat due to missing perl dependencies [1]. While it's a straightforward matter to hard-code additional prerequisites in the SSH driver, I do wonder about playing whack-a-mole with dependencies in this way. Package managers make this a solved problem.

In the past we've sought to preserve filesystem isolation between entities and have avoided installing global packages [2]. Given the trend towards containerisation (specifically isolated filesystem namespaces) is this still a primary concern?

What does the community think? Should we embrace package managers and resort to alternative (system-provided) mechanisms for isolation?

Pros:
* dependency management (obviously)
* install in locations familiar to sysadmins
* beautiful simple YAML entities
* codifies certain best practices [3]

Cons:
* Windows will need special treatment (meh, what's new?)
* Vagrant or boot2docker may be needed in place of native localhost deployments
* need to rethink Brooklyn optimisations for avoiding repeat downloads


[1] For v5.5.x and 5.6.x, several admin utilities are provided as perl scripts.
    Specifically, mysql_install_db is required during customise.
[2] Except, of course, where we do, e.g. CouchbaseNode, RiakNode, BashCommands.installXYZ() [3] "The recommended way to install MySQL on RPM-based Linux distributions is by using the RPM packages provided by Oracle."
https://dev.mysql.com/doc/refman/5.7/en/linux-installation-rpm.html

A.
--
Alasdair Hodge
Principal Engineer,
Cloudsoft Corporation

Reply via email to