Une histoire sur la connexion à un serveur CentOS 8 avec un ancien Ansible

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.

environnement

Serveur Ansible
Serveur intégré

Que s'est il passé

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
}

Cause

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)

Contre-mesures

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

Sommaire

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

Une histoire sur la connexion à un serveur CentOS 8 avec un ancien Ansible
Une histoire à laquelle j'étais accro avec toString () d'Interface qui était proxy avec JdkDynamicAopProxy
L'histoire de toString () commençant par le passage d'un tableau à System.out.println
Créez un serveur de passerelle simple en définissant masquerade avec firewall-cmd de CentOS8
Une histoire à laquelle j'étais accro à deux reprises avec le paramètre de démarrage automatique de Tomcat 8 sur CentOS 8
L'histoire selon laquelle traiter d'anciennes dates est agaçante
Une histoire accro à EntityNotFoundException de getOne de JpaRepository
Configurer un serveur virtuel Cent OS avec Vagrant
Comment déployer un système réalisé avec Java (démarrage Wicket-Spring) sur le serveur du campus
Rails6 Je veux créer un tableau de valeurs avec une case à cocher
L'histoire de la création d'un proxy inverse avec ProxyServlet
Une histoire d'essayer de s'entendre avec Mockito
Une histoire sur l'exécution de Sprint-boot avec kubernetes (GKE) et l'échec de la connexion à CloudSQL
Une histoire sur la réduction de la consommation de mémoire à 1/100 avec find_in_batches
Comment créer un serveur Jenkins avec un conteneur Docker sur CentOS 7 de VirtualBox et accéder au serveur Jenkins à partir d'un PC local
L'histoire du transfert d'un conteneur Docker vers le registre de packages GitHub et Docker Hub avec des actions GitHub
L'histoire de la création d'une version Java du serveur Minecraft avec GCP (et également de la création d'une liste blanche)
Histoire d'auto-apprentissage X inexpérimenté à devenir ingénieur d'une société de développement interne basée sur le Web
Une histoire dans laquelle j'étais accro à la conversion de type implicite d'ActiveRecord lors du test unitaire
Fait le côté serveur du jeu de cartes en ligne ⑤
J'ai créé le côté serveur du jeu de cartes en ligne ③
Code du port C avec de nombreux typecasts vers Swift
J'ai créé le côté serveur du jeu de cartes en ligne ⑥
Une histoire remplie des bases de Spring Boot (résolu)
Initialisation avec une chaîne vide vers une instance de type Java String
Une série d'étapes pour créer des livrables pour les portefeuilles avec Rails
J'ai créé le côté serveur du jeu de cartes en ligne ④
Comment déplacer une autre classe avec une action de bouton d'une autre classe.
J'ai créé le côté serveur du jeu de cartes en ligne ②
Une histoire bloquée avec NotSerializableException
L'histoire du refactoring avec un assistant personnel pour la première fois dans une application Rails
Essayez d'imiter l'idée d'un tableau à deux dimensions avec un tableau à une dimension
Une histoire que j'ai eu du mal à défier le pro de la concurrence avec Java
J'ai essayé de créer un environnement de serveur UML Plant avec Docker
Connexion à une base de données avec Java (partie 1) Peut-être la méthode de base
Une histoire sur l'utilisation de l'API League Of Legends avec JAVA
Convertir un tableau de chaînes en une liste d'entiers en Java
J'ai essayé de vérifier le fonctionnement du serveur gRPC avec grpcurl
Une histoire qui a eu du mal avec l'introduction de Web Apple Pay
Comment écrire lors de l'installation d'Amazon Corretto 8 sur CentOS 8 avec Ansible.
Comment créer un serveur Web sur une instance EC2 d'AWS
L'histoire de rendre possible la construction d'un projet qui a été construit par Maven avec Ant
Je voulais écrire un processus équivalent à une instruction while avec l'API Java 8 Stream
L'histoire de l'introduction de Gradle en tant que modernisation d'un système existant qui ne gérait pas de packages
Ecrire un serveur réactif avec Micronaut
Lancer un serveur stub avec WireMock
Connectez-vous au serveur Rails avec iPhone
Comment interagir avec un serveur qui ne plante pas l'application
Faites en sorte qu'Apache et Tomcat travaillent ensemble en un clin d'œil sur CentOS 8
L'histoire de l'oubli de fermer un fichier en Java et de l'échec
L'histoire de la création d'un lanceur de jeu avec une fonction de chargement automatique [Java]
[Java] Comment transformer un tableau à deux dimensions avec une instruction for étendue
Comment convertir un tableau de chaînes en un tableau d'objets avec l'API Stream