Cp-ansible: Sortie du module Kafka Connect

Créé le 15 sept. 2020  ·  12Commentaires  ·  Source: confluentinc/cp-ansible

Mis à part le fait qu'il s'agit d'une fonctionnalité très intéressante et qui rend la vie beaucoup plus facile, le résultat n'est malheureusement souvent pas très utile. Vous obtenez un retour de 400 lors du déploiement de n connecteurs, peu importe si le mot de passe JDBC dans un connecteur n'est pas correct ou si le format d'un autre connecteur ne convient pas. C'est du moins mon impression jusqu'à présent. Je n'ai pas eu le temps d'examiner le code plus en détail, mais peut-être que quelqu'un pourra répondre à la question, si cela est dû à l'API Connector, ou si cela pourrait être amélioré dans le module ?

bug help wanted

Tous les 12 commentaires

@Fobhep Merci pour la question. Où obtenez-vous l'erreur 400, voulez-vous dire après le redémarrage de Connect et l'exécution de la vérification de l'état ?

Si tel est le cas, la vérification de l'état vérifie simplement si nous pouvons interroger la liste des connecteurs à partir de l'API Connect. Donc, s'il se termine par 400, cela signifie que Connect n'a pas pu démarrer pour une raison quelconque.

Pouvez-vous confirmer où vous recevez l'erreur 400 ?

Merci

L'erreur se produit lors de l'exécution de la tâche de déploiement du connecteur kafka et Ansible renvoie soit
La demande a expiré ou la demande est incorrecte

Après avoir creusé dans les journaux, j'ai ensuite réussi à trouver des exceptions indiquant que, par exemple, le mot de passe d'un connecteur était erroné.

@Fobhep Êtes-vous en mesure de partager quels connecteurs vous avez essayé de déployer et lequel a la mauvaise configuration ? Nous voulons reproduire cela en interne.

Nous pensons que cela peut être un problème dans la bibliothèque python, selon lequel si un nouveau connecteur échoue, il ne renvoie pas le code d'erreur de l'API, alors que si une mise à jour d'un connecteur existant échoue, c'est le cas.

@JumaX Dans ce scénario client particulier, il s'agissait uniquement de connecteurs JDBC

Une autre chose que j'ai remarquée seulement maintenant :

Parfois, je reçois un

« Erreur HTTP : 409 Conflit », mais le module lui-même indique « modifié : vrai » .

Maintenant, je suis conscient que l'API REST peut renvoyer 409 lors de la publication alors qu'un rééquilibrage est en cours.
Mais le module ne devrait-il pas encore échouer si un travail POST n'a pas été effectué ?
Ou est-ce que 409 signifie que le POST a été fait, mais qu'il y avait un Rebalane en même temps ?

Rien de nouveau ici ? Cette API REST pour l'ajout de connecteurs semble avoir son propre esprit. Je viens d'y ajouter un ensemble de 6 connecteurs jdbc oracle (3source, 3sink).
La première fois que j'ai reçu une mauvaise demande de 400, rien n'a été configuré... ok
Réessayez avec exactement la même configuration. Maintenant, 1 sur 6 est déployé, il y a toujours une mauvaise demande de 400...

Cela a été ajouté en tant que contribution de la communauté, j'ai parlé avec l'auteur et il en fait une priorité de revoir cela, cette semaine.

@Fobhep @JumaX Reprise du travail sur ce problème maintenant, désolé pour la réponse tardive. Je vais réécrire la gestion des erreurs afin que nous obtenions un message/résultat explicite pour chaque connecteur.

Je vais aussi voir s'il y a moyen d'attendre qu'un rééquilibrage se termine. Le 409 est bien la réponse qu'on obtient quand il y a un rééquilibrage, c'est pourquoi au départ je ne l'ai pas traité comme une erreur, mais c'est vrai qu'il masque une erreur s'il y en a une, ce qui est dommage.

Mise à jour rapide : j'ai complètement réécrit la gestion des erreurs et j'ai ajouté un contrôle d'état sur les tâches des connecteurs, ce qui signifie que si un connecteur ne s'initialise pas, il sera détecté et renvoyé en erreur. Préparer un PR maintenant.

@ldom des mises à jour de statut à ce sujet ?

@jamuska PR est là mais n'a pas encore été fusionné (https://github.com/confluentinc/cp-ansible/pull/490). Je suppose que Justin attend les tests de molécules. Je vais travailler dessus cette semaine.

@ldom @jamuska Correct, nous attendons les tests de molécules. Faites-moi savoir si je peux vous être utile @ldom.

Cette page vous a été utile?
0 / 5 - 0 notes