Среда тестирования Docker

#beaker

#мензурка

Вопрос:

Я только что выполнил конфигурацию, описанную в документах для docker.

 HOSTS:
  ubuntu-12-10:
    platform: ubuntu-12.10-x64
    image: ubuntu:12.10
    hypervisor: docker
CONFIG: 
  type: foss
  

Но я получаю эту трассировку стека после запуска мензурки:

 ubuntu@ip-xxx-xx-xx-xxx:~$ beaker --hosts test-environment.yaml
/var/lib/gems/1.9.1/gems/beaker-1.12.2/lib/beaker/options/options_hash.rb:27:in `[]': undefined method `to_sym' for 0:Fixnum (NoMethodError)
    from /var/lib/gems/1.9.1/gems/beaker-1.12.2/lib/beaker/options/parser.rb:152:in `set_default_host!'
    from /var/lib/gems/1.9.1/gems/beaker-1.12.2/lib/beaker/options/parser.rb:346:in `normalize_args'
    from /var/lib/gems/1.9.1/gems/beaker-1.12.2/lib/beaker/options/parser.rb:211:in `parse_args'
    from /var/lib/gems/1.9.1/gems/beaker-1.12.2/lib/beaker/cli.rb:14:in `initialize'
    from /var/lib/gems/1.9.1/gems/beaker-1.12.2/bin/beaker:6:in `new'
    from /var/lib/gems/1.9.1/gems/beaker-1.12.2/bin/beaker:6:in `<top (required)>'
    from /usr/local/bin/beaker:23:in `load'
    from /usr/local/bin/beaker:23:in `<main>'
  

Ответ №1:

Метод

set_default_host!(хосты)

для библиотеки синтаксического анализатора требуется, чтобы у вас была хотя бы роль по умолчанию или master, определенная на ваших хостах.

Добавьте роль «по умолчанию» к хосту, определенному как значение по умолчанию. Если у хоста уже есть роль по умолчанию, тогда ничего не делайте. Если более одного хоста имеют роль «по умолчанию», возникает ошибка. Хост по умолчанию определяется как 1) единственный хост в конфигурации одного хоста, 2) хост с определенной ролью «master».

См. http://www.rdoc.info/github/puppetlabs/beaker/frames/Beaker/Options/Parser

Кроме того, вам, вероятно, потребуется установить gem docker-api, см. https://github.com/swipely/docker-api

Для будущих ссылок я задокументировал шаги здесь http://varmenise.tumblr.com/post/89252765948/beaker-acceptance-tests-on-modules-with-docker-tests