当使用LXC时,Juju陷入“待定”状态

所以我试图开始使用Juju,并尝试使用LXC在本地进行此操作。

我按照这里的说明操作: 如何配置juju用于本地使用?

不幸的是,这似乎对我不起作用。

状态显示以下内容:

$ 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 

正如您所看到的,代理状态是“待定”,并且没有公共地址,我可以访问新创建的站点。 我在这里错过了什么吗?

更新:试图破坏环境再做一次(多次)。 这是debug-log的输出:

 ~$ 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  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  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 

这是status命令的结果(带有详细标志):

 ~$ 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= 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 

我遇到了同样的错误,并且在#juju中的优秀人员的帮助下,能够确定在主机上打开我的防火墙阻止了zookeeper连接回主机。

试试跑步:

 sudo ufw disable 

然后:

 sudo juju destroy-environment 

然后重新开火。 此外,如果这是您第一次在计算机上引导环境,请注意完成初始魅力下载需要一些时间,因此在部署单元后15-20分钟给它。

这也是一个开放的bug ,因为juju应该自动处理这种情况。

如果这是您第一次引导本地环境,则需要几次(取决于下载大约400MB服务器映像数据所需的时间)来构建第一个主映像。 在您的“data-dir”路径(在environment.yaml文件中定义)中,有一个machine-agent.log描述了这个过程:

 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  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... 

过了一会儿,你会看到以下内容:

 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 

几分钟后创建主容器的详细信息。

最后,不是每个“本地”的boostrap都可以运行,尝试运行juju destroy-environment ,然后重新运行juju bootstrap

我有同样的问题。 我发现在master-customize.log由于apt-cacher-ng中的包损坏而导致apt-get失败(我不确定这一点我认为这是因为我的笔记本电脑在下载期间暂停了)。 我可以通过访问http://localhost:3142/acng-report.html来解决问题,检查:

  • 通过文件名和文件目录validation(不推荐),
  • 然后通过校验和(SLOW)validation文件内容,同时检测损坏的文件,
  • 然后立即截断损坏的文件。

然后单击“开始扫描”和/或“过期”。 然后我能够破坏juju环境并成功重新部署它。

可以尝试允许juju(libvirt)网络使用以下内容而不是禁用ufw:

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

在我的案例中适用于Ubuntu 12.04