Como obter $ db_host como domínio de Juju?

3

Estou usando um ambiente manual com o Juju e, para não perder as máquinas, adicionei todas elas como machinename.local (usando avahi-discover). Não é possível usar ips estáticos devido a algumas regras da administração.

Quando eu adiciono uma relação entre um serviço e um mysql, por exemplo, o $ db_host sempre obtém o ip e não o domínio do host mysql.

Como faço relações com $ db_host como um domínio avahi em vez de um IP?

    
por ayr-ton 11.10.2014 / 21:51

1 resposta

3

Primeiro, algumas coisas para entender sobre as relações:

  • O Juju não tem muito a ver com a definição de configurações específicas de relacionamento (por exemplo, uma escolha entre o endereço IP ou o nome do domínio). Cabe aos charms implementar um determinado tipo de relação para decidir quais dados de relação devem ser definidos.

  • Como exceção, o Juju define a configuração private-address relation por padrão por conveniência, mas os charms podem excluí-lo ou alterá-lo.

  • O Juju fornece private-address na configuração de relação, bem como a saída de unit-get private-address como endereço, não como nome.

Então, você está terminando com um endereço IP e não com um nome de host, é uma função tanto do charme que você está se relacionando quanto dos padrões de Juju, dependendo do caso.

Olhando para o charme mysql, vejo que ele define host (em hooks/db-relation-joined ) com base na saída de unit-get private-address .

Portanto, uma opção é modificar cada encanto onde ele define o endereço e alterá-lo para fornecer o nome necessário. Ou onde os charms apenas usam a configuração padrão private-address , para substituí-la nos *-relation-joined hooks. Em seu ambiente, usar algo como uma chamada para hostname e acrescentar .local faria. Mas esta claramente não é uma ótima solução, já que você tem que modificar todos os feitiços afetados.

Infelizmente, a maioria dos charms é projetada para ambientes que funcionam de maneira inversa - onde os IPs geralmente não mudam (ou um administrador tem controle para ter certeza de que eles não mudam), mas o mDNS (conforme necessário para o Zeroconf) geralmente não funciona, e não há servidor DNS central disponível. Então, embora Juju não exija charms para apoiar apenas endereços, isso geralmente é o que os charms da loja de charme fazem.

    
por Robie Basak 23.10.2014 / 13:24

Tags