Error de conexión posterior al arranque de MAAS y Juju

Error de conexión posterior al arranque de MAAS y Juju

Estoy trabajando con un problema bastante extraño al usar MAAS y Juju donde, después del arranque, la máquina "0" se creó con éxito, no puedo implementar ningún servicio que emita un archivo juju deploy mysql. Para brindar una breve descripción general del entorno, estoy ejecutando MAAS en Ubuntu Server 13.04 con la IP 10.0.0.10 y lo jujuestoy juju-coreejecutando en el mismo servidor. Todo esto también se ejecuta en un laboratorio de pruebas localizado. La emisión de un juju statusrevela lo siguiente:

root@maas:~# juju status
2013-04-30 10:24:32,876 INFO Connecting to environment...
2013-04-30 10:24:33,439 INFO Connected to environment.
machines:
  0:
    agent-state: not-started
    dns-name: test4.master
    instance-id: /MAAS/api/1.0/nodes/node-ee044686-b100-11e2-9927-52540089abb8/
    instance-state: unknown
  5:
    instance-id: pending
services:
  mysql:
    charm: cs:precise/mysql-19
    relations: {}
    units:
      mysql/0:
        agent-state: pending
        machine: 5
        public-address: null
2013-04-30 10:24:33,496 INFO 'status' command finished successfully

La instancia permanece en un pendingestado indefinidamente y una mirada al registro de depuración revela que no se está realizando una conexión para aprovisionar la instancia:

2013-04-30 10:27:26,562: juju.agents.provision@ERROR: Cannot get machine list
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/juju/agents/provision.py", line 175, in process_machines
    provider_machines = yield self.provider.get_machines()
ProviderInteractionError: Unexpected ConnectionRefusedError interacting with provider: Connection was refused by other side: 111: Connection refused.

Ahora que este error se genera en la máquina "0" aproximadamente cada minuto, miré un tcpdump para intentar descubrir qué estaba sucediendo. Después de investigar un poco, encontré esto en el momento exacto en que se registraba el error:

10:27:26.561631 IP 127.0.0.1.33607 > 127.0.0.1.80: Flags [S], seq 1222093882, win 32792, options [mss 16396,sackOK,TS val 454628 ecr 0,nop,wscale 6], length 0
10:27:26.561651 IP 127.0.0.1.80 > 127.0.0.1.33607: Flags [R.], seq 0, ack 1222093883, win 0, length 0

Dado que la máquina "0" se implementó con MAAS a través de Juju, no creo que también ejecute MAAS. Para solucionar el problema, creé un túnel SSH en la máquina "0" escuchando en el puerto 80 (localhost) al puerto 80 del servidor MAAS, por ejemplo, 80:MAAS-Server-IP:80. Después de eso, juju statusse cambió para mostrar la nueva máquina fuera del estado pendiente:

  5:
    agent-state: not-started
    dns-name: test5.master
    instance-id: /MAAS/api/1.0/nodes/node-fe882bb2-b100-11e2-ba1c-52540089abb8/
    instance-state: unknown

Todo esto para decir, ¿puede alguien ayudarme a comprender por qué la máquina implementada "0" está intentando conectarse al puerto 80 del host local en lugar del servidor MAAS? ¿Esto se debe al hecho de que estoy ejecutando Juju y MAAS en el mismo servidor?

Respuesta1

Cuando se inicia un entorno, debe prestar atención al nombre de host en entornos.yaml, ya que parece que es lo que se envía a las máquinas posteriores. En mi caso, tenía el servidor configurado en http://localhost:80/MAAS, lo que provocó que la máquina "0", y cualquier otra máquina, intentara establecer una conexión con el host local y no con la IP/nombre de host del servidor MAAS. Después de destruir mi entorno y reiniciarlo nuevamente con el servidor http://10.0.0.10:80/MAAS, todo pareció implementarse correctamente. Esto es totalmente un descuido de mi parte.

información relacionada