To be honest, I would also be interested in a solution to this.

Of course all the machines, that I install myself (preseed, kickstart, ...) meet the requirements for ansible.

For already existing machines which should be managed by us, the requirements are somewhere in the middle of met or unmet.

To my knowledge python-simplejson (required on Python 2.4 boxes) can only be installed using the raw module and not with the apt or yum module.
Therefore this is a task which I'd not like to be executed on every run.

Maybe the first task in the list could be an ansible ping and if it fails do some brute-force raw commands.
....
And as writing this I answered my question :-)

My prototype looks like this:

- hosts: all
  user: root
  tasks:
  - name: ping
    ping:
    register: result
  - name: conditional task
    raw: here_your_command
    when: result|failed


Cheers
Christian


On 04/15/2014 05:34 PM, Dick Davies wrote:
On 15 April 2014 09:24, Joachim Friberg <[email protected]> wrote:

For example I want to do a yum install mysql on a server, but this server
does not have python-simplejson and/or other packages that is neccesary for
Ansible.
In this specific case you'd just assert the python-simplejson package
exists right?
If it's already installed then nothing happens, and you'll be able to
skip on to the
other tasks.

If of course you're in a catch-22 situation (can't run ansible to set
up ansible pre-requisites),
then you'll need to seed your base image with what's required.

For example, my kickstarts bring up a machine with

* SSHd enabled and tcp/22 inbound permitted on the local firewall
* an 'ansible' account with a pre-defined list of SSH keys in its
authorised_keys file
* passwordless sudo configured for that account

Everything else is managed by Ansible.

This general approach also applies to CM with puppet, chef, etc.
(which typically
have much more requirements).



--
toscom - the open source company

Christian Rusa
Breiteneckergasse 32                    1230 Wien
Mobil: 0699 10205595                     Fax: 01 9249633
www.toscom.at                           [email protected]

--
You received this message because you are subscribed to the Google Groups "Ansible 
Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/534E16E8.1050305%40toscom.at.
For more options, visit https://groups.google.com/d/optout.

Reply via email to