# Client requirements

**URL:** <https://forum.ansible.com/t/client-requirements/12052>\
**Category:** Ansible Project\
**Created:** [October 30, 2012, 1:49pm UTC](https://forum.ansible.com/t/client-requirements/12052 "2012-10-30T13:49:12Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mark\_Maas](https://avatars.discourse-cdn.com/v4/letter/m/7c8e57/32.png) [@Mark\_Maas](https://forum.ansible.com/u/Mark_Maas)\
**Post date:** [October 30, 2012, 1:49pm UTC](https://forum.ansible.com/t/client-requirements/12052/1 "2012-10-30T13:49:12Z")

</div>

Dear List,

On the github page I see this statement “No additional software required on client boxes” but I think I need at least python-symplejson to run right? And i’ve tried it on AIX (After installing python 2.6) and it complained about \_md5 beeing deprecated.

Anyhow, what I really want to ask; what are the minimum requirements for the clients (besides a SSH connectivity 😉 for ansible to be able to run?

Thanks!  
Mark

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@Michael\_DeHaan](https://forum.ansible.com/u/Michael_DeHaan)\
**Post date:** [October 30, 2012, 2:06pm UTC](https://forum.ansible.com/t/client-requirements/12052/2 "2012-10-30T14:06:18Z")

</div>

The JSON library is part of Python if you have python x\>=2.5,  
otherwise you do need to install python-simplejson

Hence the part that says " On the managed nodes, you only need Python  
2.4 or later, but if you are are running less than Python 2.6 on them,  
you will also need: python-simplejson"

Can you paste the message you are getting about md5? I'm betting we  
can make that go away.

---

<div class="post-metadata">

**Author:** ![Jeremiah\_Snapp](https://avatars.discourse-cdn.com/v4/letter/j/3bc359/32.png) [@Jeremiah\_Snapp](https://forum.ansible.com/u/Jeremiah_Snapp)\
**Post date:** [October 30, 2012, 6:26pm UTC](https://forum.ansible.com/t/client-requirements/12052/3 "2012-10-30T18:26:04Z")

</div>

Hello Michael,

I’m just looking for clarity about which Python version includes the JSON library. In your email you say “Python \>= 2.5” includes the JSON library but later you also say “less than 2.6” needs python-simplejson installed. Can you clear that up for me please?

Thanks,  
Jeremiah

---

<div class="post-metadata">

**Author:** ![Mark\_Maas](https://avatars.discourse-cdn.com/v4/letter/m/7c8e57/32.png) [@Mark\_Maas](https://forum.ansible.com/u/Mark_Maas)\
**Post date:** [October 31, 2012, 10:18am UTC](https://forum.ansible.com/t/client-requirements/12052/4 "2012-10-31T10:18:55Z")

</div>

Excellent, This is the message I get when connecting to AIX:  
mmaas@pmgtansible:~/playbooks$ ansible aix -m ping  
taixkitty | FAILED =\> failed to parse: /home/mmaas/.ansible/tmp/ansible-1351678614.33-20335724501960/ping:89: DeprecationWarning: the md5 module is deprecated; use hashlib instead

from md5 import md5 as \_md5

Traceback (most recent call last):

File “/home/mmaas/.ansible/tmp/ansible-1351678614.33-20335724501960/ping”, line 89, in

from md5 import md5 as \_md5

File “/opt/pware64/lib/python2.6/md5.py”, line 10, in

from hashlib import md5

File “/opt/pware64/lib/python2.6/hashlib.py”, line 136, in

md5 = \_\_get\_builtin\_constructor(‘md5’)

File “/opt/pware64/lib/python2.6/hashlib.py”, line 63, in \_\_get\_builtin\_constructor

import \_md5

ImportError: No module named \_md5

And the version running there is :

mmaas@taixkitty:/opt/pware64 \> python --version  
Python 2.6.5

Why would it complain to mush about hashlib / md5?

Thanks,  
Mark

---

<div class="post-metadata">

**Author:** ![Mark\_Maas](https://avatars.discourse-cdn.com/v4/letter/m/7c8e57/32.png) [@Mark\_Maas](https://forum.ansible.com/u/Mark_Maas)\
**Post date:** [October 31, 2012, 12:05pm UTC](https://forum.ansible.com/t/client-requirements/12052/5 "2012-10-31T12:05:00Z")

</div>

> Why would it complain to mush about hashlib / md5?

Yeah, that’s not even English… What I wanted to say: "Why would it complain so much about … "

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@Michael\_DeHaan](https://forum.ansible.com/u/Michael_DeHaan)\
**Post date:** [October 31, 2012, 12:15pm UTC](https://forum.ansible.com/t/client-requirements/12052/6 "2012-10-31T12:15:05Z")

</div>

It's definitely English 🙂

Otherwise it would be like "Um de hur hur, bork um gosh bork bork bork"

So it seems you have built your own python and it doesn't have md5 or  
hashlib, and we're looking for one or the other.

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@Michael\_DeHaan](https://forum.ansible.com/u/Michael_DeHaan)\
**Post date:** [October 31, 2012, 12:16pm UTC](https://forum.ansible.com/t/client-requirements/12052/7 "2012-10-31T12:16:50Z")

</div>

Sorry if I mispoke.

You need python-simplejson if you have Python x\<2.6

[http://docs.python.org/2/library/json.html](http://docs.python.org/2/library/json.html)

The json module is new in 2.6, if you don't have that, you need to  
install python-simplejson

---

<div class="post-metadata">

**Author:** ![Mark\_Maas](https://avatars.discourse-cdn.com/v4/letter/m/7c8e57/32.png) [@Mark\_Maas](https://forum.ansible.com/u/Mark_Maas)\
**Post date:** [October 31, 2012, 12:23pm UTC](https://forum.ansible.com/t/client-requirements/12052/8 "2012-10-31T12:23:11Z")

</div>

Actually, i’ve simply installed this one:  
[http://pware.hvcc.edu/download/aix53-64/](http://pware.hvcc.edu/download/aix53-64/)

But it seems, I need to do a different python install first.

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@Michael\_DeHaan](https://forum.ansible.com/u/Michael_DeHaan)\
**Post date:** [October 31, 2012, 12:52pm UTC](https://forum.ansible.com/t/client-requirements/12052/9 "2012-10-31T12:52:31Z")

</div>

AIX! Congrats!

Yeah, fair warning, some of the modules contain Linuxisms. There are  
a fair amount of BSD users using a subset of the modules. We are in  
the process of making many of them (like user) do OS detection and  
choose appropriate sub-implementations of how to do certain things.

As such, I think things like command/etc may be good for you, but  
there are going to be places where module upgrades are probably going  
to be needed. I'm very much up for supporting that effort if you are  
interested, and I think the OS detection in modules (see  
[https://github.com/ansible/ansible/pull/1483](https://github.com/ansible/ansible/pull/1483) for an example) are going  
to make that easier.

If you are interested in helping this along, that would be great. If  
not, it's important to share where we are at 🙂

--Michael

---

<div class="post-metadata">

**Author:** ![Mark\_Maas](https://avatars.discourse-cdn.com/v4/letter/m/7c8e57/32.png) [@Mark\_Maas](https://forum.ansible.com/u/Mark_Maas)\
**Post date:** [November 1, 2012, 6:38am UTC](https://forum.ansible.com/t/client-requirements/12052/10 "2012-11-01T06:38:13Z")

</div>

> AIX! Congrats!

Ugh, don’t I know it… It’s THE most arcane, archaic, old, stupid, complex leftover from the cold war I have ever encountered. I wish I could just replace it completely.

> Yeah, fair warning, some of the modules contain Linuxisms. There are  
> a fair amount of BSD users using a subset of the modules. We are in  
> the process of making many of them (like user) do OS detection and  
> choose appropriate sub-implementations of how to do certain things.

Sounds like I should either stick with Linux for a while. I’m not good at python. Perhaps someday. The only thing I could do is test, and give you commandline examples (Both for hacmp clusters on AIX as on standalone aix). (For instance for creating mount points and/or users/groups)

> As such, I think things like command/etc may be good for you, but  
> there are going to be places where module upgrades are probably going  
> to be needed. I’m very much up for supporting that effort if you are  
> interested, and I think the OS detection in modules (see  
> [https://github.com/ansible/ansible/pull/1483](https://github.com/ansible/ansible/pull/1483) for an example) are going  
> to make that easier.

I can’t read it yet, but read above 😉

Thanks,  
Mark

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@Michael\_DeHaan](https://forum.ansible.com/u/Michael_DeHaan)\
**Post date:** [November 1, 2012, 11:23am UTC](https://forum.ansible.com/t/client-requirements/12052/11 "2012-11-01T11:23:33Z")

</div>

> Sounds like I should either stick with Linux for a while. I'm not good at  
> python. Perhaps someday. The only thing I could do is test, and give you  
> commandline examples (Both for hacmp clusters on AIX as on standalone aix).  
> (For instance for creating mount points and/or users/groups)

Understood 🙂

It's probably hard for me to test new AIX development back and forth  
that way, but I suspect there may be some other people on the list  
with access to AIX hardware who would be willing to help and work with  
you, and maybe you can help test too.

I'd also suggest stopping by #ansible in the middle of the day EST or  
so, and seeing if anyone there can help, if you don't get any hits  
here.

--Michael

---

<div class="post-metadata">

**Author:** ![Mark\_Maas](https://avatars.discourse-cdn.com/v4/letter/m/7c8e57/32.png) [@Mark\_Maas](https://forum.ansible.com/u/Mark_Maas)\
**Post date:** [November 1, 2012, 1:33pm UTC](https://forum.ansible.com/t/client-requirements/12052/12 "2012-11-01T13:33:00Z")

</div>

Sounds like a plan, I have been neglecting my IRC skilzz.

---

<div class="post-metadata">

**Author:** ![Seth\_Vidal](https://avatars.discourse-cdn.com/v4/letter/s/7ba0ec/32.png) [@Seth\_Vidal](https://forum.ansible.com/u/Seth_Vidal)\
**Post date:** [November 1, 2012, 8:16pm UTC](https://forum.ansible.com/t/client-requirements/12052/13 "2012-11-01T20:16:15Z")

</div>

it has the older deprecated ones. So that python is similar to the one that came in Rhel4 - which is to say ancient.

python-hashlib exists and can be built for specifically the case above.

I'd say grab it.  
[http://pypi.python.org/pypi/hashlib](http://pypi.python.org/pypi/hashlib)

-sv
