Visto che l’installazione di Ansible su OsX non è stata delle più agevoli, cerchiamo di fare un recap dei passi necessari.
Innanzitutto dovrete installare XCode CLI (Command Line Interface).
No, Xcode da solo non basta, se non siete sicuri se lo avete già installato o meno potete sfruttare il seguente comando per verificarne la presenza:
$ pkgutil –pkg-info=com.apple.pkg.DeveloperToolsCLI
package-id: com.apple.pkg.DeveloperToolsCLIversion: 4.6.0.0.1.1365549073volume: /location: /install-time: 1370983764groups: com.apple.FindSystemFiles.pkg-group com.apple.DevToolsBoth.pkg-group com.apple.DevToolsNonRelocatableShared.pkg-group
Qualora invece non fosse presente, provvedete al download e all’installazione
Ora passiamo ad installare il Package Manage di Python, che ci permetterà di eseguire i passi successivi più agevolmente:
sudoeasy_install pip
E utilizziamolo subito per installare le dipendenze dirette e ansible stesso:
sudopipinstallparamiko PyYAML jinja2sudopipinstallansible
$ ansibleUsage: ansible <host-pattern> [options]Options:-a MODULE_ARGS, --args=MODULE_ARGSmodule arguments-k, --ask-pass askforSSH password-K, --ask-sudo-pass askforsudopassword-B SECONDS, --background=SECONDSrun asynchronously, failing after X seconds(default=N/A)-C, --check don'tmakeany changes; instead, try to predict someof the changes that may occur-c CONNECTION, --connection=CONNECTIONconnectiontypeto use (default=smart)-f FORKS, --forks=FORKSspecify number of parallel processes to use(default=5)-h, --help show this help message andexit-i INVENTORY, --inventory-file=INVENTORYspecify inventory hostfile(default=/etc/ansible/hosts)-l SUBSET, --limit=SUBSETfurther limit selected hosts to an additional pattern--list-hosts outputs a list of matching hosts; does not executeanythingelse-m MODULE_NAME, --module-name=MODULE_NAMEmodule name to execute (default=command)-M MODULE_PATH, --module-path=MODULE_PATHspecify path(s) to module library(default=/usr/share/ansible/)-o, --one-line condense output-P POLL_INTERVAL, --poll=POLL_INTERVALsetthe poll intervalifusing -B (default=15)--private-key=PRIVATE_KEY_FILEuse thisfileto authenticate the connection-s, --sudorun operations withsudo(nopasswd)-U SUDO_USER, --sudo-user=SUDO_USERdesiredsudouser (default=root)-T TIMEOUT, --timeout=TIMEOUToverride the SSH timeoutinseconds (default=10)-t TREE, --tree=TREE log output to this directory-u REMOTE_USER, --user=REMOTE_USERconnect as this user (default=msacchetti)-v, --verbose verbose mode (-vvvformore, -vvvv toenableconnection debugging)--version show program's version number andexit$ ansible --versionansible 1.3.2
locatemysql_config/usr/local/mysql-5.5.32-osx10.6-x86_64/bin/mysql_config
exportPATH=$PATH:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/local/bin:/opt/local/sbin:/usr/local/mysql-5.5.32-osx10.6-x86_64/bin
$sudoln-s/usr/local/mysql-5.5.32-osx10.6-x86_64/lib/libmysqlclient.18.dylib/usr/lib/libmysqlclient.18.dylib$sudoln-s/usr/local/mysql-5.5.32-osx10.6-x86_64/bin/mysql/usr/bin/mysql$sudoln-s/usr/local/mysql-5.5.32-osx10.6-x86_64/bin/mysqldump/usr/bin/mysqldump
A questo punto tutto dovrebbe finalmente essere al suo posto, installiamo quindi l’agognato modulo:
sudopipinstallMySQL-python
