Ce n'est que récemment que j'ai commencé à construire un serveur CentOS 8, et je pensais que c'était un coup avec ansible, mais ce n'était pas un coup, donc c'est un mémo.
Je sens que ça s'arrêtera si j'élève la version d'Ansible, mais comme on m'a dit du haut que "la portée d'influence est ...", j'ai répondu sans relever la version.
Lorsque j'ai démarré CentOS 8 avec EC2 et exécuté le playbook avec ansible playbook
, une erreur comme celle-ci s'est produite.
fatal: [nom du serveur]: FAILED! => {
"changed": false, "failed": true,
"module_stderr": "Shared connection to [nom du serveur] closed.\r\n",
"module_stdout": "/bin/sh: /usr/bin/python: No such file or directory\r\n",
"msg": "MODULE FAILURE",
"rc": 0
}
ansible2.3 fonctionne avec python2, mais CentOS8 n'a pas installé python2 par défaut __ Même si vous créez un lien vers python3 installé dans / usr / bin / python, l'opération ne peut pas être garantie en raison de la différence de version (je ne sais pas car je ne l'ai pas fait)
Comme je l'ai écrit au début, il a été dit que le support de la mise à niveau de la version était NG, alors installez python2 et supportez-le.
Installez python2.7 sur le serveur CentOS8 que vous construisez
dnf install python2
Après l'installation, créez un lien symbolique pour python2.7
ln -s /usr/bin/python2.7 /usr/bin/python
Ce n'est pas grave si le lien python-> / usr / bin / python2.7
est collé comme ceci
[root@hoge:~]$ll /usr/bin | grep python | grep -e "^l"
lrwxrwxrwx 1 root root 18 Oct 1 16:17 python -> /usr/bin/python2.7
lrwxrwxrwx. 1 root root 9 Jun 5 12:38 python2 -> python2.7
lrwxrwxrwx. 1 root root 25 Oct 1 16:04 python3 -> /etc/alternatives/python3
lrwxrwxrwx. 1 root root 31 Nov 21 2019 python3.6 -> /usr/libexec/platform-python3.6
lrwxrwxrwx. 1 root root 32 Nov 21 2019 python3.6m -> /usr/libexec/platform-python3.6m
lrwxrwxrwx. 1 root root 24 Oct 1 16:10 unversioned-python -> /etc/alternatives/python
Vous pouvez maintenant exécuter le playbook à partir de l'ancien Ansible.
Cependant, dans cet état, une erreur se produira dans la nouvelle version d'Ansible.
Cela peut être évité en incluant ansible_python_interpreter = / usr / bin / python3
dans la nouvelle version du fichier hosts d'Ansible.
[hoge-sv]
hoge001.net ansible_python_interpreter=/usr/bin/python3
Même CentOS8, qui n'a pas installé python2 par défaut, peut désormais exécuter ansible en installant python2. En gros, je pense qu'il vaut mieux mettre à jour la version.
Recommended Posts