pycrypto

The OS is CentOS 6.5 64 bit.


Initial questions - what OS are you running from and how did you install
ansible?

Pycrypto can get confused when your libs get mixed between OS packages and
pip.

On Thu, Aug 7, 2014 at 5:46 PM, Guanwen Zhang <[guan...@ualberta.ca](mailto:guan...@ualberta.ca)> wrote:

>
> I installed ansible 1.7, when I played my playbook, I got the following
> error messages:
>
> [***@xxxx openstack]$ ansible-playbook -i ../inventory --ask-vault-pass
> keystone.yml
> Vault password:
> ERROR: ansible-vault requires a newer version of pycrypto than the one
> installed on your platform. You may fix this with OS-specific commands such
> as:
> yum install python-devel; rpm -e --nodeps python-crypto; pip install
> pycrypto
>
>
> I followed the above instruction, I got:
>
>  pip install pycrypto --upgrade
> Requirement already up-to-date: pycrypto in
> /usr/lib64/python2.6/site-packages/pycrypto-2.6.1-py2.6-linux-x86_64.egg
> Cleaning up...
>
>
> However, the problem is not still there.
>
> regards
>
> Henry
>
> --
> 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 [ansible-project+unsubscr...@googlegroups.com](mailto:ansible-project%2Bunsubscr...@googlegroups.com).
> To post to this group, send email to [ansible-project@googlegroups.com](mailto:ansible-project@googlegroups.com).
> To view this discussion on the web visit
> [https://groups.google.com/d/msgid/ansible-project/CAKx6xESJfA9d7XMSmkWbJzdeP3DFQZYmoJujVn2kB-HWGsoukg%40mail.gmail.com](https://groups.google.com/d/msgid/ansible-project/CAKx6xESJfA9d7XMSmkWbJzdeP3DFQZYmoJujVn2kB-HWGsoukg%40mail.gmail.com)
> <[https://groups.google.com/d/msgid/ansible-project/CAKx6xESJfA9d7XMSmkWbJzdeP3DFQZYmoJujVn2kB-HWGsoukg%40mail.gmail.com?utm_medium=email&utm_source=footer](https://groups.google.com/d/msgid/ansible-project/CAKx6xESJfA9d7XMSmkWbJzdeP3DFQZYmoJujVn2kB-HWGsoukg%40mail.gmail.com?utm_medium=email&utm_source=footer)>
> .
> For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).
>

-- 
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 [ansible-project+unsubscr...@googlegroups.com](mailto:ansible-project%2Bunsubscr...@googlegroups.com).
To post to this group, send email to [ansible-project@googlegroups.com](mailto:ansible-project@googlegroups.com).
To view this discussion on the web visit 
[https://groups.google.com/d/msgid/ansible-project/CA%2BnsWgxWNV_D1srmOw41C12YWxmGFtHZ_sgjdcUo6janAs_qhw%40mail.gmail.com](https://groups.google.com/d/msgid/ansible-project/CA%2BnsWgxWNV_D1srmOw41C12YWxmGFtHZ_sgjdcUo6janAs_qhw%40mail.gmail.com).
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

Can you share how you installed Ansible as well?

I wonder if you have two or three different pythons on your managing host ?

I have 3 pythons and 1 pypy on my CentOS 5 managing host. You may need to be careful about what ansible, ansible-playbook really invoke. Joggling between various libgmp , pycrypto and python/pypys is a little tricky.

I’m having the same problem.

RHEL 6.5, ansible installed from “yum install ansible”.

Installed Packages
Name : ansible
Arch : noarch
Version : 1.7
Release : 1.el6

I was able to use vault to encrypt a group_vars file, but it won’t unencrypt:

`

ansible linux-renderfarm -m ping --ask-vault-pass

Vault password:
ERROR: ansible-vault requires a newer version of pycrypto than the one installed on your platform. You may fix this with OS-specific commands such as: yum install python-devel; rpm -e --nodeps python-crypto; pip install pycrypto
`

Running the given commands:

Setting up Install Process Package python-devel-2.6.6-52.el6.x86_64 already installed and latest version Nothing to do error: package python-crypto is not installed Requirement already satisfied (use --upgrade to upgrade): pycrypto in /usr/lib64/python2.6/site-packages/pycrypto-2.6.1-py2.6-linux-x86_64.egg Cleaning up...

Also did a “yum install python-crypto” afterwards, still has the same error message. Any ideas?

More info:

ansible-vault encrypt/decrypt/edit all work. The only part that doesn’t work is using --ask-vault-pass from the command line.

Ah, rhel6 ships with a version of pycrypto that’s too old. There’s a forward compat python-crypto2.6 package in the epel6 repo. The ansible package shipped in epel6 has a patch to make use of that forward compat package. It’s possible the patch splits changes to ansible-vault but not to ansible-playbook. I can check on that for you after dinner.

-Toshio

Ah, rhel6 ships with a version of pycrypto that's too old. There's a forward
compat python-crypto2.6 package in the epel6 repo. The ansible package
shipped in epel6 has a patch to make use of that forward compat package.
It's possible the patch splits changes to ansible-vault but not to
ansible-playbook. I can check on that for you after dinner.

s/ansible-playbook/ansible/ in the above and that's exactly what the
issue turned out to be.

Since I have a foot in the door in the EPEL world as well, I've built
new packages there:

http://koji.fedoraproject.org/koji/buildinfo?buildID=583559

You can download and yum or rpm install that rpm on your system to
test that the fix works.

The packages will go through the normal EPEL process of being signed,
and going to the epel-esting repository. Then, after approximately
two weeks (sooner if enough people say the package works), the package
will go to the EPEL6 stable repo. You can watch that here:
https://admin.fedoraproject.org/updates/ansible-1.7.2-2.el6

-Toshio