Como obtenho o endereço IP da unidade unida no gancho de instalação?

2

Eu sou novo no Juju e nos encantos, tentando coisas básicas.

Estou escrevendo um encanto (digamos, cliente) que precisa do endereço IP de outro encanto (digamos, servidor) no gancho de instalação.

Basicamente, eu preciso do endereço IP do servidor e coloco em um arquivo de configuração do cliente. Mas não estará disponível no gancho de instalação do cliente. Eu adicionei relação de cliente e servidor e $REMOTE-UNIT e relation-set hostname=unit-get private-address public-address=unit-get public-address e server_address=relation-get hostname podem ser usados.

No entanto, isso não parece funcionar. O endereço IP do servidor deve ser disponibilizado para o cliente enquanto no install hook , certo? Já que é um parâmetro de configuração único.

    
por Capricorn 13.05.2015 / 12:11

1 resposta

2

Então, se eu entendi corretamente, você deseja instalar um aplicativo que precisa de um ip do servidor para instalar corretamente? O que você basicamente tem é um cliente que é "inútil" sem relação com um servidor.

Juju é baseado em eventos. Quando um evento é acionado, Juju enfileira todos os outros eventos para esse charme. O próximo até é demitido do momento em que o anterior é feito. Os eventos relation só serão disparados depois que o evento install for concluído. Tecnicamente falando, a relação entre dois encantos só pode ser adicionada depois que o gancho install de um encanto terminar.

Se você tem um charme que não pode ser instalado a menos que tenha uma relação (a menos que ele saiba o ip do "servidor"), então o install hook não faz nada. A instalação real deve acontecer no gancho relation-joined .

Então, implemente isso:

  • install hook basicamente não faz nada [1]
  • relation-joined hook pega o ip usando relation-get private-address
  • relation-joined hook faz a instalação e configuração reais do cliente

[1] ou o hook de instalação pode fazer a instalação até o ponto em que o ip é necessário, e depois parar

    
por Galgalesh 16.05.2015 / 14:50