[PYTHON] Das Einfügen von Ansible in AmazonLinux über yum funktioniert nicht

Es scheint, dass die Standardversion von Python in der Version 2015/03 von Amazon Linux 2.7 ist, was Ansible via yum ein wenig süchtig gemacht hat. Amazon Linux AMI 2015.03 Release Notes

Installieren Sie Ansible

$ sudo yum install ansible

Abhängige Pakete enthalten die Python 2.6-Serie.

==================================================================================================================================================================================================
Paketarchitektur-Versions-Repository-Kapazität
==================================================================================================================================================================================================
Während der Installation:
 ansible                                                          noarch                            1.9.0.1-2.el6                                   epel                                    1.7 M
Abhängigkeitsbezogene Installation:
 python-crypto2.6                                                 x86_64                            2.6.1-2.el6                                     epel                                    513 k
 python-keyczar                                                   noarch                            0.71c-1.el6                                     epel                                    219 k
 python26                                                         x86_64                            2.6.9-1.80.amzn1                                amzn-updates                            5.7 M
 python26-PyYAML                                                  x86_64                            3.10-3.10.amzn1                                 amzn-main                               186 k
 python26-babel                                                   noarch                            0.9.4-5.1.8.amzn1                               amzn-main                               1.8 M
 python26-backports                                               x86_64                            1.0-3.14.amzn1                                  amzn-main                               5.2 k
 python26-backports-ssl_match_hostname                            noarch                            3.4.0.2-1.12.amzn1                              amzn-main                                12 k
 python26-crypto                                                  x86_64                            2.6.1-1.10.amzn1                                amzn-main                               697 k
 python26-ecdsa                                                   noarch                            0.11-3.3.amzn1                                  amzn-main                                77 k
 python26-httplib2                                                noarch                            0.7.7-1.5.amzn1                                 amzn-main                                81 k
 python26-jinja2                                                  noarch                            2.7.2-2.15.amzn1                                amzn-main                               899 k
 python26-libs                                                    x86_64                            2.6.9-1.80.amzn1                                amzn-updates                            692 k
 python26-markupsafe                                              x86_64                            0.11-4.6.amzn1                                  amzn-main                                27 k
 python26-paramiko                                                noarch                            1.15.1-1.5.amzn1                                amzn-main                               1.3 M
 python26-pyasn1                                                  noarch                            0.1.7-2.7.amzn1                                 amzn-main                               174 k
 python26-setuptools                                              noarch                            12.2-1.30.amzn1                                 amzn-updates                            582 k
 python26-simplejson                                              x86_64                            3.6.5-1.12.amzn1                                amzn-main                               210 k
 python26-six                                                     noarch                            1.8.0-1.23.amzn1                                amzn-main                                31 k

Transaktions zusammenfassung
==================================================================================================================================================================================================
Installation 1 Paket(+18 Abhängigkeitspakete)

Installationsbestätigung

$ ansible localhost --connection=local -m ping
Traceback (most recent call last):
  File "/usr/bin/ansible", line 36, in <module>
    from ansible.runner import Runner
ImportError: No module named ansible.runner

Es funktioniert nicht.

$ python --version
Python 2.7.9

Die Python-Version ist die 2.7-Serie.

Wenn Python auf 2.6 eingestellt ist, funktioniert es vorerst

Versuchen Sie, die Python-Version auf die 2.6-Serie zu ändern.

$ sudo alternatives --config python

Es gibt 2 Programme'python'Bereitstellen.

Befehl auswählen
-----------------------------------------------
*+ 1           /usr/bin/python2.7
   2           /usr/bin/python2.6

Drücken Sie die Eingabetaste, um den aktuellen auszuwählen[+]Oder geben Sie die Auswahlnummer ein:2
$ python --version
Python 2.6.9

Dies funktioniert vorerst.

$ ansible localhost --connection=local -m ping
 [WARNING]: The version of gmp you have installed has a known issue regarding
timing vulnerabilities when used with pycrypto. If possible, you should update
it (i.e. yum update gmp).

localhost | success >> {
    "changed": false,
    "ping": "pong"
}

yum funktioniert nicht

Dies funktioniert jedoch nicht mit yum.

Playbook habe ich ausprobiert

---
- hosts:
    - localhost

  connection: local

  tasks:
    - name: update all packages
      yum: name=* state=latest
      sudo: yes

Ausführungsergebnis

$ ansible-playbook test.yml
 [WARNING]: The version of gmp you have installed has a known issue regarding
timing vulnerabilities when used with pycrypto. If possible, you should update
it (i.e. yum update gmp).


PLAY [localhost] **************************************************************

GATHERING FACTS ***************************************************************
ok: [localhost]

TASK: [update all packages] ***************************************************
failed: [localhost] => {"failed": true, "parsed": false}
BECOME-SUCCESS-cowfsuudxofapfzgotceycqgfeksicos
Traceback (most recent call last):
  File "/home/ec2-user/.ansible/tmp/ansible-tmp-1430645872.15-203675717416361/yum", line 27, in <module>
    import yum
ImportError: No module named yum


FATAL: all hosts have already failed -- aborting

PLAY RECAP ********************************************************************
           to retry, use: --limit @/home/ec2-user/test.retry

localhost                  : ok=1    changed=0    unreachable=0    failed=1

Ich denke nicht, dass es üblich ist, Playbooks in Ansible auf localhost anzuwenden, daher ist dies möglicherweise kein Problem, aber etwas unangenehm.

Fazit: Lassen Sie uns mit pip installieren

Lassen Sie uns Python leise mit pip unter Verwendung der 2.7-Serie installieren.

$ python --version
Python 2.7.9
$ sudo pip install ansible
...
Successfully installed ansible-1.9.1

Das wird funktionieren. (Warnung ist aus ...)

$ ansible-playbook test.yml
/usr/lib64/python2.7/dist-packages/Crypto/Util/number.py:57: PowmInsecureWarning: Not using mpz_powm_sec.  You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.
  _warn("Not using mpz_powm_sec.  You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.", PowmInsecureWarning)

PLAY [localhost] **************************************************************

GATHERING FACTS ***************************************************************
ok: [localhost]

TASK: [update all packages] ***************************************************
changed: [localhost]

PLAY RECAP ********************************************************************
localhost                  : ok=2    changed=1    unreachable=0    failed=0

Referenz

Ansible funktioniert nach dem yum-Update unter Amazon Linux nicht mehr

Recommended Posts

Das Einfügen von Ansible in AmazonLinux über yum funktioniert nicht
Pip funktioniert nicht gut mit PyDev in Plejaden
Tensorflow funktioniert nicht!