Juju застрял в состоянии «ожидания» при использовании LXC [закрыто]

8

Поэтому я пытаюсь начать с 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

Как вы можете видеть, состояние агента находится в состоянии ожидания, и нет общедоступного адреса, по которому я могу получить доступ к вновь созданному сайту. Я что-то здесь упускаю?

ОБНОВЛЕНИЕ: Попытка уничтожить окружающую среду и сделать все снова (несколько раз). Это вывод для журнала отладки:

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

Вот результат для команды состояния (с подробным флагом):

~$ 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
источник
Можете ли вы отредактировать свой вопрос и связать примеры, которым вы следуете?
Хорхе Кастро,
Также вы можете добавить вывод 'ps auxf'? Это должно показать, что узел WordPress по-прежнему ожидает, потому что он все еще устанавливает некоторые из его компонентов. При медленном соединении с медленным жестким диском и нехваткой оперативной памяти установка этих узлов может занять более 10 минут.
SpamapS
В ветке juju bzr есть полезный инструмент, который даст нам некоторую информацию. Можете ли вы взять его, используя, bzr branch lp:jujuа затем sudo misc/devel-tools/juju-inspect-local-providerи затем запустить sudo lxc-lsи запустить вышеупомянутый инструмент для каждого из перечисленных изображений, чтобы мы могли видеть выходные данные всех журналов внутри контейнеров.
SpamapS

Ответы:

10

Я столкнулся с той же ошибкой, и с помощью хороших людей из #juju смог определить, что включение брандмауэра на хост-машине блокировало соединение zookeeper с хостом.

Попробуйте запустить:

sudo ufw disable

а потом:

sudo juju destroy-environment

а затем выстрелить обратно. Кроме того, если вы в первый раз запускаете среду на своем компьютере, обратите внимание, что для завершения начальной загрузки трюка требуется некоторое время, поэтому подождите 15-20 минут после развертывания юнита.

Это также теперь открытая ошибка , так как juju должен обрабатывать эту ситуацию автоматически.

nathwill
источник
2
Отключил брандмауэр, и он сразу заработал. Я надеюсь, что они исправят эту ошибку, заставляют меня нервничать, чтобы отключить мой UFW, но, по крайней мере, теперь я могу экспериментировать и играть с juju до тех пор, пока у меня не появится сервер для игры :)
Андре
3

Если вы впервые загрузили локальную среду, потребуется несколько (в зависимости от того, сколько времени потребуется для загрузки около 400 МБ данных образа сервера) для создания первого главного образа. В вашем пути «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 <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...

Через несколько мгновений вы увидите следующее:

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

Какие детали, что через несколько минут был создан главный контейнер.

Наконец, не все «локальные» бустрапы работают, попробуйте запустить, juju destroy-environmentа затем снова запуститеjuju bootstrap

Марко Чеппи
источник
Спасибо за ответ. Я перезапускаю процесс и слежу за журналами, чтобы увидеть, что происходит.
Андре
Должен ли я повторно использовать чары после juju destroy-environment? Или они по сути уже «установлены»?
Андре
@Andre Вы должны будете повторно развернуть. Выполнение destroy-environment по существу удалит среду и все, что на ней работало.
Марко Чеппи
К сожалению, все еще не повезло. Я пробовал это несколько раз и ждал, чтобы все закончилось. Я обновил свой оригинальный пост подробным статусом и отладочным журналом.
Андре
1

У меня была такая же проблема. Я обнаружил master-customize.logошибки apt-get из-за поврежденных пакетов в apt-cacher-ng (я не уверен, что думаю, что это произошло из-за приостановки работы моего ноутбука во время загрузки). Я смог исправить проблему, посетив http://localhost:3142/acng-report.html, проверив:

  • Проверка по имени файла И файловому каталогу (не рекомендуется),
  • затем проверить содержимое файла с помощью контрольной суммы (SLOW), также обнаруживая поврежденные файлы,
  • затем немедленно обрежьте поврежденные файлы.

и нажмите «Начать сканирование и / или срок действия». Тогда я смог уничтожить среду джуджу и успешно перераспределить ее.

Дэн Нуффер
источник
0

Вместо отключения ufw можно попытаться разрешить использование сети juju (libvirt) с помощью:

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

Работает в моем случае на Ubuntu 12.04

suside
источник