Исключения RabbitMQ при установке через Chef

У меня есть очень простой рецепт шеф-повара, который пытается установить RabbitMQ и несколько плагинов RabbitMQ на виртуальную машину EC2 и Vagrant (оба работают под управлением Ubuntu 12.04).

Я использую кулинарную книгу OpsCode RabbitMQ (https://github.com/opscode-cookbooks/rabbitmq), и когда я выделяю машины, я получаю следующую трассировку стека:

INFO: Processing apt_repository[rabbitmq] action add (rabbitmq::default line 43)
INFO: Processing remote_file[/srv/chef/file_store/rabbitmq-signing-key-public.asc] action create (/srv/chef/file_store/cookbooks/apt/providers/repository.rb line 36)
INFO: remote_file[/srv/chef/file_store/rabbitmq-signing-key-public.asc] updated
INFO: remote_file[/srv/chef/file_store/rabbitmq-signing-key-public.asc] mode changed to 644
INFO: Processing execute[install-key rabbitmq-signing-key-public.asc] action run (/srv/chef/file_store/cookbooks/apt/providers/repository.rb line 52)
INFO: execute[install-key rabbitmq-signing-key-public.asc] ran successfully
INFO: apt_repository[rabbitmq] sending run action to execute[apt-get update] (immediate)
INFO: Processing execute[apt-get update] action run (apt::default line 29)
INFO: execute[apt-get update] ran successfully
INFO: Processing remote_file[/srv/chef/file_store/rabbitmq-signing-key-public.asc] action nothing (/srv/chef/file_store/cookbooks/apt/providers/repository.rb line 36)
INFO: Processing execute[install-key rabbitmq-signing-key-public.asc] action nothing (/srv/chef/file_store/cookbooks/apt/providers/repository.rb line 52)
INFO: Processing execute[apt-get update] action nothing (/srv/chef/file_store/cookbooks/apt/providers/repository.rb line 78)
INFO: Processing file[/etc/apt/sources.list.d/rabbitmq-source.list] action create (/srv/chef/file_store/cookbooks/apt/providers/repository.rb line 89)
INFO: file[/etc/apt/sources.list.d/rabbitmq-source.list] created file /etc/apt/sources.list.d/rabbitmq-source.list
INFO: Processing package[util-linux] action install (rabbitmq::default line 53)
INFO: Processing package[rabbitmq-server] action install (rabbitmq::default line 54)
ERROR: package[rabbitmq-server] (rabbitmq::default line 54) has had an error
...
FATAL: Chef::Exceptions::Exec: package[rabbitmq-server] (rabbitmq::default line 54) had an error: Chef::Exceptions::Exec: apt-get -q -y install rabbitmq-server=2.7.1-0ubuntu4 returned 100, expected 0

Как вы можете видеть из журналов, apt-get update происходит до добавления нового источника rabbitmq (это означает, что он пытается установить версию rabbitmq-server 2.7.1 вместо версии 2.8.x из репозитория RabbitMQ.

Это код кулинарной книги: https://github.com/opscode-cookbooks/rabbitmq/blob/master/recipes/default.rb#L43-54

Любые идеи, как решить проблему?


person d2kagw    schedule 13.08.2012    source источник


Ответы (1)


У меня есть 2 исправления, которые вам нужны.

apt_repository не запускал правильное обновление apt-get при добавлении новых репозиториев. http://tickets.opscode.com/browse/COOK-1530 содержит исправление.

apt_repository rabbitmq не запускал обновление apt-get http://tickets.opscode.com/browse/COOK-1496 с обновлением кулинарной книги apt исправляет это. Сегодня это было объединено с мастером https://github.com/opscode-cookbooks/rabbitmq.

Новые выпуски двух поваренных книг должны все исправить, надеюсь, на этой неделе. Тем временем не стесняйтесь брать с github и пинговать меня с любыми дополнительными вопросами.

Мэтт@opscode

person mray    schedule 13.08.2012
comment
К сожалению, эти патчи не решают проблему. Я опубликовал подробную информацию о том, как воссоздать эту суть: gist.github.com/3345845 - person d2kagw; 14.08.2012
comment
Для тех, кто испытывает ту же проблему, она была решена путем включения вышеуказанных исправлений и обновления Chef-Client до 0.10.12. - person d2kagw; 15.08.2012