3 votes

Comment puis-je obtenir l'adresse IP de l'unité jointe dans le crochet d'installation ?

Je suis nouveau dans le domaine du Juju et des charmes, j'essaie des choses basiques.

J'écris un charme (disons client) qui a besoin de l'adresse IP d'un autre charme (disons serveur) dans son hook d'installation.

En gros, j'ai besoin de l'adresse IP du serveur et de la placer dans un fichier de configuration du client. Mais elle ne sera pas disponible dans le hook d'installation du client. J'ai ajouté la relation entre le client et le serveur et $REMOTE-UNIT y relation-set hostname=unit-get private-address public-address=unit-get public-address y server_address=relation-get hostname peut être utilisé.

Cependant, cela ne semble pas fonctionner. L'adresse IP du serveur doit être mise à la disposition du client alors que dans l'application install hook n'est-ce pas ? Puisque c'est un paramètre de configuration unique.

3voto

Merlijn Sebrechts Points 6519

Donc, si je comprends bien, vous voulez installer une application qui a besoin d'une ip de serveur pour s'installer correctement ? Ce que vous avez essentiellement est un client qui est "inutile" sans relation avec un serveur.

Juju est basé sur les événements. Lorsqu'un événement est déclenché, Juju met en attente tous les autres événements pour ce charme. L'événement suivant est déclenché à partir du moment où le précédent est terminé. Le site relation ne seront déclenchés qu'après que le install l'événement est terminé. Techniquement parlant, la relation entre deux charmes ne peut être ajoutée qu'après l'événement install le crochet d'un charme finit.

Si vous avez un charme qui ne peut pas s'installer à moins d'avoir une relation (à moins qu'il ne connaisse l'ip du "serveur"), alors l'option install Le crochet ne fait rien. L'installation proprement dite doit se faire dans le relation-joined crochet.

Donc, mettez en place ceci :

  • install le crochet ne fait rien [1]
  • relation-joined hook récupère l'ip en utilisant relation-get private-address
  • relation-joined hook se charge de l'installation et de la configuration du client.

[1] ou le hook d'installation peut faire l'installation jusqu'au point où l'ip est nécessaire, et ensuite arrêter

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X