Кухонный тест, как использовать локальный vm.box

Каждый раз, когда я бегу

kitchen test

он загружает новую виртуальную машину. Есть ли способ повторно использовать локально загруженный ящик?

Вот мой файл .kitchen.yml.

---
driver_plugin: vagrant
driver_config:
  require_chef_omnibus: true

platforms:
  - name: ubuntu-12.04

suites:
  - name: default
    run_list:
      - recipe[my-rails-server::default]
    attributes:

Выход терминала:

Downloading Chef  for ubuntu...       
downloading https://www.opscode.com/chef/metadata?v=&prerelease=false&p=ubuntu&pv=12.04&m=x86_64       
to file /tmp/install.sh.1121/metadata.txt       
trying wget...       
url https://opscode-omnibus-packages.s3.amazonaws.com/ubuntu/12.04/x86_64/chef_11.10.0-1.ubuntu.12.04_amd64.deb       
md5 21524287ed5631eb1c092ba7b589e968       
sha256  7a0a898b3682462620de80230c7a73730dde7131ca069e1d926f6faf07e4fa2f       
downloaded metadata file looks valid...       
downloading https://opscode-omnibus-packages.s3.amazonaws.com/ubuntu/12.04/x86_64/chef_11.10.0-1.ubuntu.12.04_amd64.deb       
to file /tmp/install.sh.1121/chef_11.10.0-1.ubuntu.12.04_amd64.deb       
trying wget...       
Checksum compare with sha256sum succeeded.       
Installing Chef        

person markhorrocks    schedule 11.02.2014    source источник
comment
платформы: - имя: ubuntu-12.04 драйвер: коробка: ubuntu-12.04 box_url: file:///home/user/doenloads/ubuntu-12.04.box   -  person HamTheAstroChimp    schedule 04.12.2015


Ответы (4)


Если под «загрузкой новой виртуальной машины» вы подразумеваете ее уничтожение и создание, то да, именно это и делает kitchen test. Если вы хотите сохранить экземпляр, просто запустите

kitchen converge

Если вы имеете в виду, что Vagrant загружает новую коробку из Интернета, то, скорее всего, это ошибка в Vagrant.

person sethvargo    schedule 11.02.2014
comment
Да, Vagrant загружает новую коробку каждый раз, когда я запускаю кухонный тест. - person markhorrocks; 12.02.2014
comment
Это загрузка Chef, а не коробки Ubuntu - person sethvargo; 12.02.2014

Test Kitchen создает собственный Vagrantfile на основе конфигурации .kitchen.yml.

Поэтому вы должны указать свой ящик (который уже должен быть доступен для Vagrant, отметьте vagrant box list) в .kitchen.yml. В вашем примере это будет:

platforms:
- name: ubuntu-12.04
  driver:
    box: centos-6.5-x86_64-minimal

А кухня будет использовать коробку, доступную для Vagrant, не скачивая ее.

Вы также можете указать другие параметры Vagrant, например.

- name: centos-vagrant
  driver:
    provider: parallels
    box: centos-6.5-x86_64-minimal
    customize:
      memsize: 1024
      cpus: 2

Вы можете увидеть больше примеров, например. в моих кулинарных книгах Vagrant lemp-server или ням.

person Marcin R    schedule 25.02.2014
comment
Спасибо, marcin-r, это была линия драйвера / коробки, которую мне не хватало - person jaygooby; 26.02.2014
comment
ОП обновил исходный вопрос, но это то, что я искал. Спасибо! - person Lucas Pottersky; 21.08.2014

Используйте следующую команду

exec kitchen converge ubuntu

сходиться будет регулярное выражение экземпляров

person bhaskar    schedule 07.10.2014

Используйте следующее определение в файле kitchen.yml, чтобы отключить обновления коробки.

platforms:
  - name: centos-7
    driver:
      box: bento/centos-7
      box_check_update: false

где ящик — это локально доступный бродячий ящик на вашем хосте. Выполните следующую команду, чтобы получить список доступных ящиков:

$ vagrant box list
bento/centos-6.7           (virtualbox, 2.2.7)
bento/centos-7             (virtualbox, 201808.24.0)
person Shanim    schedule 13.11.2018