Troubleshooting (deprecated)
Troubleshooting​
Ce document apporte les solutions ou corrections Ă des dysfonctionnements mineurs connus.
Erreur unexpected error: ssh: handshake failed: knownhosts: key mismatch lors d'un kosmos create​
Exemple :
[ansible@spray-dev-service KUBM_dcy]$ kosmos create -n yournamespace --source-repository ssh://git@gitlab.technique.artemis:2222/athea/distrib/artemis/monprojet.git monapplication
About to create application monapplication
Whoops. There was an error while executing your CLI :
=> not able to clone source repository ssh://git@gitlab.technique.artemis:2222/athea/distrib/artemis/monprojet.git :
unexpected error: ssh: handshake failed: knownhosts: key mismatch
Explication:
KOSMOS-CLI (par le biais de kosmos-common) charge le fichier ~/.ssh/known_hosts pour avoir la liste des hosts connus et autorisés.
3 cas de figure :
- Le host n'est pas connu, dans ce cas nous aurions une erreur de type unknown key --> nous ne sommes pas dans ce cas
- Le host est connu mais l'entrée n'est pas celle correspondante à la clé
- Le host est connu mais l'entrée est dans un format non supporté par le code (cas de l'exemple)
Fix rapide:
- Vérifier qu'il n'y a pas déjà une entrée de format ecdsa-sha2-nistp256 correspondant a
[gitlab.technique.artemis]:2222dans le fichier ~/.ssh/known_hosts. Si cette entrée est présente, la supprimer. Attention, ne pas supprimer l'entrée correspondante à gitlabe pour le format ssh-ed25519. - Exécuter la commande :
$ ssh-keyscan -p 2222 gitlab.technique.artemis
# gitlab.technique.artemis:2222 SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.5
[gitlab.technique.artemis]:2222 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC/++Y0rKP97VM4XhDGXpLn0tw5BhmzBvfnSdxtQCYUvZGlk3oujhdAbqVPsDBrp0QzzCG9yKRAczm9vCzgiGcGRAv5X8w8sMIHc7EAQhN+EaD6V7TJyoFiPbfORdkWLedr42efKSeESktm9aj1c+vkM2dyJa0Vbe0oiCIwfAtETV1eONtNr1tH/koYc/2kR9IbyvdQU18q9XcZvmpN85LOf7NAIuPbmPRWMTtdc9fM7FhJklmYU1sAJ68Of7h3eXG8GOeoX+jy0aeuFXsa1QsU4hLsF2JUL9mD9LoUrPzfkchULVje1ygzQRHlSuwZFC5OJmt8qq3zInc8/Lua0CVWD1HJ3WcffubZF+EMmp4z0QuskyeLmsmjD/hDooaGLZNCmb8x/GezAGueyYRSoNOaIRj4RwOMnC7ZClGMiaBQ7XGk0N5KOZwtUSRfZSTnpfNKmBv6Fqun1pT4Bdei3e3RaZLRkHdnQlvsGdwsDmvEwAl/RCv5LH2euq4arN0cuUE=
# gitlab.technique.artemis:2222 SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.5
[gitlab.technique.artemis]:2222 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNtGy6N2Mxm5iOgUEda4F/CNYgmXDCEs2ahD+rk0kwUHd8+yFhzfR4z3rr4G1rM1EO5wj/egrtaa6lH2VMllcqs=
# gitlab.technique.artemis:2222 SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.5
[gitlab.technique.artemis]:2222 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBMiHEkdKgwahkCGROiujtNzXmdTLWjCJ8LBT+j32NCE
- Copier la sortie de format ecdsa-sha2-nistp256 (
[gitlab.technique.artemis]:2222 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNtGy6N2Mxm5iOgUEda4F/CNYgmXDCEs2ahD+rk0kwUHd8+yFhzfR4z3rr4G1rM1EO5wj/egrtaa6lH2VMllcqs=dans l'exemple) et la placer dans le fichier ~/.ssh/known_hosts --> le format ssh-ed25519 n'est pas reconnu aujourd'hui - Tester de nouveau la commande
kosmos create, l'erreur devrait être corrigée.
Erreur unexpected error: author field is required lors d'un kosmos create​
Exemple:
$ kosmos create -n monnamespace --source-tag master --source-repository ssh://git@gitlab.technique.artemis:2222/athea/distrib/artemis/monprojet.git monapplication
About to create application monapplication
Whoops. There was an error while executing your CLI :
=> not able to manage target repository :
unexpected error: author field is required
Explication:
L'action de commit nécessite que dans la configuration git, les champs user.name et user.email soient renseignés. Par défaut, les CommitOptions (dans kosmos-common) prennent la configuration présente dans le fichier ~/.gitconfig.
Sauf que dans notre cas, il n'est pas souhaitable d'avoir une config globale à toute la plateforme (il faut que l'auteur soit identifié).
Un essai de création d'un fichier .gitconfigperso dans le dossier de travail de l'utilisateur puis l'exécution de la commande export GIT_CONFIG=/path/to/.gitconfigperso ne règle pas le souci : il semblerait que les CommitOptions de go-git/v5 ne prennent pas en compte la variable kd'environnement et qu'ils ne lisent que le fichier ~/.gitconfig.
Fix rapide:
Ajouter (ou modifier) les champs du fichier ~/.gitconfig
- Besoin a terme de modifier le package kosmos-common pour permettre de passer les informations user.name et user.email
- Besoin de modifier le CLI en conséquence (l'import et l'export doivent être concernés aussi par ce problème)
- Forcer les utilisateurs à avoir leur propre fichier de config kosmos-config.yaml et de donner le path du fichier pour chaque commande OU donner ces informations à chaque exécution par flag
unexpected error: author field is required​
Explication:
Les champs user.name et user.email sont obligatoires dans la configuration GIT client.
Fix rapide:
Passer les commandes suivantes :
git config --global user.name nom_utilisateur
git config --global user.email email_utilisateur