Juju atascado en estado "pendiente" cuando usa LXC [cerrado]

8

Así que estoy tratando de comenzar con Juju, e intenté hacerlo localmente usando LXC.

Seguí las instrucciones aquí: ¿Cómo configuro juju para uso local?

Lamentablemente, esto no parece funcionar para mí.

El estado muestra lo siguiente:

$ juju status
machines:
  0:
    agent-state: running
    dns-name: localhost
    instance-id: local
    instance-state: running
services:
  mysql:
    charm: cs:precise/mysql-1
    relations:
      db:
      - wordpress
    units:
      mysql/0:
        agent-state: pending
        machine: 0
        public-address: null
  wordpress:
    charm: cs:precise/wordpress-0
    exposed: true
    relations:
      db:
      - mysql
    units:
      wordpress/0:
        agent-state: pending
        machine: 0
        open-ports: []
        public-address: null
2012-05-10 14:09:38,155 INFO 'status' command finished successfully

Como puede ver, el estado del agente está 'pendiente' y no hay una dirección pública donde pueda acceder al sitio recién creado. ¿Me estoy perdiendo de algo?

ACTUALIZACIÓN: Intenté destruir el medio ambiente y hacer todo de nuevo (varias veces). Este es el resultado para el registro de depuración:

~$ juju debug-log 
2012-05-11 08:50:23,790 INFO Enabling distributed debug log.
2012-05-11 08:50:23,806 INFO Tailing logs - Ctrl-C to stop.
2012-05-11 08:50:42,338 Machine:0: juju.agents.machine DEBUG: Units changed old:set([]) new:set(['mysql/0'])
2012-05-11 08:50:42,339 Machine:0: juju.agents.machine DEBUG: Starting service unit: mysql/0 ...
2012-05-11 08:50:42,459 Machine:0: unit.deploy DEBUG: Downloading charm cs:precise/mysql-1 to /home/andre/.juju/data/andre-local/charms
2012-05-11 08:50:42,620 Machine:0: unit.deploy DEBUG: Using <juju.machine.unit.UnitContainerDeployment object at 0x9c54b6c> for mysql/0 in /home/andre/.juju/data/andre-local
2012-05-11 08:50:42,648 Machine:0: unit.deploy DEBUG: Starting service unit mysql/0...
2012-05-11 08:50:42,649 Machine:0: unit.deploy DEBUG: Creating master container...
2012-05-11 08:54:33,992 Machine:0: unit.deploy DEBUG: Created master container andre-local-0-template
2012-05-11 08:54:33,993 Machine:0: unit.deploy INFO: Creating container mysql-0...
2012-05-11 08:56:18,760 Machine:0: unit.deploy INFO: Container created for mysql/0
2012-05-11 08:56:19,466 Machine:0: unit.deploy DEBUG: Charm extracted into container
2012-05-11 08:56:19,569 Machine:0: unit.deploy DEBUG: Starting container...
2012-05-11 08:56:22,707 Machine:0: unit.deploy INFO: Started container for mysql/0
2012-05-11 08:56:22,707 Machine:0: unit.deploy INFO: Started service unit mysql/0
2012-05-11 08:56:23,012 Machine:0: juju.agents.machine DEBUG: Units changed old:set(['mysql/0']) new:set(['wordpress/0', 'mysql/0'])
2012-05-11 08:56:23,039 Machine:0: juju.agents.machine DEBUG: Starting service unit: wordpress/0 ...
2012-05-11 08:56:23,154 Machine:0: unit.deploy DEBUG: Downloading charm cs:precise/wordpress-0 to /home/andre/.juju/data/andre-local/charms
2012-05-11 08:56:23,396 Machine:0: unit.deploy DEBUG: Using <juju.machine.unit.UnitContainerDeployment object at 0x9c519cc> for wordpress/0 in /home/andre/.juju/data/andre-local
2012-05-11 08:56:23,620 Machine:0: unit.deploy DEBUG: Starting service unit wordpress/0...
2012-05-11 08:56:23,621 Machine:0: unit.deploy INFO: Creating container wordpress-0...
2012-05-11 08:58:24,739 Machine:0: unit.deploy INFO: Container created for wordpress/0
2012-05-11 08:58:25,163 Machine:0: unit.deploy DEBUG: Charm extracted into container
2012-05-11 08:58:25,397 Machine:0: unit.deploy DEBUG: Starting container...
2012-05-11 08:58:27,982 Machine:0: unit.deploy INFO: Started container for wordpress/0
2012-05-11 08:58:27,983 Machine:0: unit.deploy INFO: Started service unit wordpress/0

Este es el resultado del comando de estado (con indicador detallado):

~$ juju -v status
2012-05-11 08:51:53,464 DEBUG Initializing juju status runtime
2012-05-11 08:51:53,625:4030(0xb7345b00):ZOO_INFO@log_env@658: Client environment:zookeeper.version=zookeeper C client 3.3.5
2012-05-11 08:51:53,625:4030(0xb7345b00):ZOO_INFO@log_env@662: Client environment:host.name=andre-ufo
2012-05-11 08:51:53,625:4030(0xb7345b00):ZOO_INFO@log_env@669: Client environment:os.name=Linux
2012-05-11 08:51:53,625:4030(0xb7345b00):ZOO_INFO@log_env@670: Client environment:os.arch=3.2.0-24-generic-pae
2012-05-11 08:51:53,625:4030(0xb7345b00):ZOO_INFO@log_env@671: Client environment:os.version=#37-Ubuntu SMP Wed Apr 25 10:47:59 UTC 2012
2012-05-11 08:51:53,626:4030(0xb7345b00):ZOO_INFO@log_env@679: Client environment:user.name=andre
2012-05-11 08:51:53,626:4030(0xb7345b00):ZOO_INFO@log_env@687: Client environment:user.home=/home/andre
2012-05-11 08:51:53,626:4030(0xb7345b00):ZOO_INFO@log_env@699: Client environment:user.dir=/home/andre
2012-05-11 08:51:53,626:4030(0xb7345b00):ZOO_INFO@zookeeper_init@727: Initiating client connection, host=192.168.122.1:41779 sessionTimeout=10000 watcher=0xb7780620 sessionId=0 sessionPasswd=<null> context=0x9242ee8 flags=0
2012-05-11 08:51:53,627:4030(0xb6b90b40):ZOO_INFO@check_events@1585: initiated connection to server [192.168.122.1:41779]
2012-05-11 08:51:53,649:4030(0xb6b90b40):ZOO_INFO@check_events@1632: session establishment complete on server [192.168.122.1:41779], sessionId=0x1373ae057d90007, negotiated timeout=10000
2012-05-11 08:51:53,651 DEBUG Environment is initialized.
machines:
  0:
    agent-state: running
    dns-name: localhost
    instance-id: local
    instance-state: running
services:
  mysql:
    charm: cs:precise/mysql-1
    relations:
      db:
      - wordpress
    units:
      mysql/0:
        agent-state: pending
        machine: 0
        public-address: null
  wordpress:
    charm: cs:precise/wordpress-0
    relations:
      db:
      - mysql
    units:
      wordpress/0:
        agent-state: pending
        machine: 0
        public-address: null
Andre
fuente
¿Puedes editar tu pregunta y vincular los ejemplos que estás siguiendo?
Jorge Castro
¿También puede agregar la salida de 'ps auxf'? Eso debería mostrar que el nodo de wordpress aún está pendiente porque todavía está instalando algunos de sus componentes. En una conexión lenta con un disco duro lento y poca RAM, puede llevar más de 10 minutos instalar estos nodos.
SpamapS
Hay una herramienta útil en la rama juju bzr que nos proporcionará información. ¿Puede tomarlo usando bzr branch lp:jujuy luego sudo misc/devel-tools/juju-inspect-local-providery luego también ejecutar sudo lxc-lsy ejecutar la herramienta anterior para cada una de las imágenes que se enumeran, para que podamos ver la salida de todos los registros dentro de los contenedores.
SpamapS

Respuestas:

10

Me encontraba con el mismo error y, con la ayuda de la gente buena de #juju, pude determinar que tener mi firewall activado en la máquina host impedía que Zookeeper se conectara nuevamente al host.

Intenta correr:

sudo ufw disable

y entonces:

sudo juju destroy-environment

y luego vuelve a encender las cosas. Además, si esta es la primera vez que inicia un entorno de arranque en su máquina, tenga en cuenta que la descarga inicial de amuletos tarda un tiempo en completarse, así que espere 15-20 minutos después de desplegar una unidad.

Esto también es ahora un error abierto , ya que juju debería manejar esta situación automáticamente.

nathwill
fuente
2
Deshabilitó el firewall y funcionó de inmediato. Espero que solucionen este error, me hace sentir nervioso al deshabilitar mi ufw, pero al menos ahora puedo experimentar y jugar con juju hasta el momento en que tenga un servidor para jugar :)
Andre
3

Si es la primera vez que inicia su entorno local, se necesitarán varios (según el tiempo que tarde en descargar aproximadamente 400 MB de datos de imagen del servidor) para crear la primera imagen maestra. En su ruta de "directorio de datos" (definida en su archivo environment.yaml) hay una machine-agent.logque describe este proceso:

2012-05-09 10:04:03,848: juju.agents.machine@INFO: Machine agent started id:0
2012-05-09 10:05:08,175: juju.agents.machine@DEBUG: Units changed old:set([]) new:set(['mysql/0'])
2012-05-09 10:05:08,176: juju.agents.machine@DEBUG: Starting service unit: mysql/0 ...
2012-05-09 10:05:08,222: unit.deploy@DEBUG: Downloading charm cs:precise/mysql-1 to /home/marco/.juju/local/marco-local/charms
2012-05-09 10:05:08,314: unit.deploy@DEBUG: Using <juju.machine.unit.UnitContainerDeployment object at 0x9cccbec> for mysql/0 in /home/marco/.juju/local/marco-local
2012-05-09 10:05:08,375: unit.deploy@DEBUG: Starting service unit mysql/0...
2012-05-09 10:05:08,376: unit.deploy@DEBUG: Creating master container...

Unos momentos más tarde verás lo siguiente:

2012-05-09 10:09:40,699: unit.deploy@DEBUG: Created master container marco-local-0-template
2012-05-09 10:09:40,699: unit.deploy@INFO: Creating container mysql-0...
2012-05-09 10:10:31,429: unit.deploy@INFO: Container created for mysql/0
2012-05-09 10:10:31,483: unit.deploy@DEBUG: Charm extracted into container

El cual detalla que varios minutos después se creó el contenedor maestro.

Finalmente, no todo boostrap "local" funciona, intente ejecutar juju destroy-environmenty luego vuelva a ejecutarjuju bootstrap

Marco Ceppi
fuente
Gracias por la respuesta. Estoy reiniciando el proceso y vigilando los registros para ver qué sucede.
Andre
Después de juju destroy-environment, ¿tengo que volver a implementar los encantos? ¿O están esencialmente ya 'instalados'?
Andre
@Andre Tendrás que volver a implementar. Hacer un destruir-entorno esencialmente eliminará el entorno y todo lo que se estaba ejecutando en él.
Marco Ceppi
Todavía no hay suerte, lamentablemente. Lo intenté varias veces y esperé para asegurarme de que todo terminara. Actualicé mi publicación original con el estado detallado y el registro de depuración.
Andre
1

Tuve el mismo problema. Encontré master-customize.logfallas en apt-get debido a paquetes corruptos en apt-cacher-ng (no estoy seguro, creo que esto sucedió porque mi computadora portátil se suspendió durante la descarga). Pude corregir el problema visitando http://localhost:3142/acng-report.html, comprobando:

  • Validar por nombre de archivo Y directorio de archivos (no recomendado),
  • luego valide el contenido del archivo a través de la suma de comprobación (LENTO), también detectando archivos corruptos,
  • luego truncar los archivos dañados de inmediato.

y haciendo clic en Iniciar escaneo y / o caducidad. Luego pude destruir el entorno juju y volver a implementarlo con éxito.

Dan Nuffer
fuente
0

En lugar de deshabilitar ufw, uno puede intentar permitir la red de juju (libvirt) con:

sudo ufw allow from `ip addr show virbr0|tail -n 1 |cut -d' ' -f 6` to any

Funciona en mi caso en Ubuntu 12.04

suside
fuente