brooklyn-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alasdair Hodge <alasdair.ho...@cloudsoftcorp.com>
Subject Discuss: entities install software via packages?
Date Wed, 16 Dec 2015 18:25:21 GMT
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


Mime
View raw message