2015-04-18 3 views
0

Я пытаюсь использовать Chef-Provisioning, чтобы развернуть некоторые Vagrant VM. Команда chef-client -z provision.rb запускается и успешно завершается. Я знаю, что машина или что-то существует там, потому что она идемпотентно завершает этот запуск без каких-либо изменений при повторном выполнении команды.Шеф-ассистент-бродяга: Есть машина?

Внутри knife.rb я определяю профили:

profiles({ 
    'default' => { 
    }, 
    'ubuntu_vagrant' => { 
     :driver => 'vagrant:', 
     :machine_options => { 
     :vagrant_options => { 
      'vm.box' => 'chef/ubuntu-14.04', 
     } 
     } 
    }, 
    'ubuntu_docker' => { 
     :driver => 'docker', 
     :machine_options => { 
     :docker_options => { 
      :base_image => { 
      :name => 'ubuntu', 
      :tag => '14.04.2' 
      } 
     } 
     } 
    } 
    }) 

Тогда я исполню sudo CHEF_PROFILE=ubuntu_vagrant chef-client -z provision.rb

provision.rb:

machine 'webserver' do 
    recipe 'djnginx' 
end 

Результаты:

sudo CHEF_PROFILE=ubuntu_vagrant chef-client -z provision.rb 
[2015-04-18T13:13:23-08:00] INFO: Started chef-zero at http://localhost:8889 with repository at /Users/djenriquez/chef-repo 
One version per cookbook 

[2015-04-18T13:13:23-08:00] INFO: Forking chef instance to converge... 
Starting Chef Client, version 12.2.1 
[2015-04-18T13:13:23-08:00] INFO: *** Chef 12.2.1 *** 
[2015-04-18T13:13:23-08:00] INFO: Chef-client pid: 948 
[2015-04-18T13:13:26-08:00] INFO: Run List is [] 
[2015-04-18T13:13:26-08:00] INFO: Run List expands to [] 
[2015-04-18T13:13:26-08:00] INFO: Starting Chef Run for djenriquez07 
[2015-04-18T13:13:26-08:00] INFO: Running start handlers 
[2015-04-18T13:13:26-08:00] INFO: Start handlers complete. 
[2015-04-18T13:13:26-08:00] INFO: HTTP Request Returned 404 Not Found : Object not found: /reports/nodes/djenriquez07/runs 
resolving cookbooks for run list: [] 
[2015-04-18T13:13:26-08:00] INFO: Loading cookbooks [] 
Synchronizing Cookbooks: 
Compiling Cookbooks... 
[2015-04-18T13:13:26-08:00] WARN: Node djenriquez07 has an empty run list. 
Converging 1 resources 
Recipe: @recipe_files::/Users/djenriquez/chef-repo/cookbooks/djnginx/provision.rb 
* machine[webserver] action converge[2015-04-18T13:13:26-08:00] INFO: Processing machine[webserver] action converge (@recipe_files::/Users/djenriquez/chef-repo/cookbooks/djnginx/provision.rb line 1) 
[2015-04-18T13:13:26-08:00] INFO: Processing vagrant_cluster[/] action create (basic_chef_client::block line 212) 
[2015-04-18T13:13:26-08:00] INFO: Processing directory[/] action create (basic_chef_client::block line 15) 
[2015-04-18T13:13:26-08:00] INFO: Processing file[/Vagrantfile] action create (basic_chef_client::block line 16) 
[2015-04-18T13:13:26-08:00] INFO: Processing file[/webserver.vm] action create (basic_chef_client::block line 232) 
[2015-04-18T13:13:26-08:00] INFO: Processing chef_node[webserver] action create (basic_chef_client::block line 57) 
[2015-04-18T13:13:31-08:00] INFO: Processing chef_node[webserver] action create (basic_chef_client::block line 57) 
[2015-04-18T13:13:31-08:00] INFO: Executing sudo cp /etc/chef/client.pem /tmp/client.pem.1379680942 on [email protected] 
[2015-04-18T13:13:32-08:00] INFO: Completed cp /etc/chef/client.pem /tmp/client.pem.1379680942 on [email protected]: exit status 0 
[2015-04-18T13:13:32-08:00] INFO: Executing sudo chown vagrant /tmp/client.pem.1379680942 on [email protected] 
[2015-04-18T13:13:32-08:00] INFO: Completed chown vagrant /tmp/client.pem.1379680942 on [email protected]: exit status 0 
[2015-04-18T13:13:32-08:00] INFO: Executing sudo rm /tmp/client.pem.1379680942 on [email protected] 
[2015-04-18T13:13:32-08:00] INFO: Completed rm /tmp/client.pem.1379680942 on [email protected]: exit status 0 
[2015-04-18T13:13:32-08:00] INFO: Processing chef_client[webserver] action create (basic_chef_client::block line 131) 
[2015-04-18T13:13:32-08:00] INFO: Processing chef_node[webserver] action create (basic_chef_client::block line 142) 
[2015-04-18T13:13:32-08:00] INFO: Port forwarded: local URL http://localhost:8889 is available to 127.0.0.1 as http://localhost:8889 for the duration of this SSH connection. 
[2015-04-18T13:13:32-08:00] INFO: Executing sudo ls -d /etc/chef/client.rb on [email protected] 
[2015-04-18T13:13:32-08:00] INFO: Completed ls -d /etc/chef/client.rb on [email protected]: exit status 0 
[2015-04-18T13:13:32-08:00] INFO: Executing sudo md5sum -b /etc/chef/client.rb on [email protected] 
[2015-04-18T13:13:32-08:00] INFO: Completed md5sum -b /etc/chef/client.rb on [email protected]: exit status 0 
[2015-04-18T13:13:32-08:00] INFO: Executing sudo chef-client -v on [email protected] 
[2015-04-18T13:13:33-08:00] INFO: Completed chef-client -v on [email protected]: exit status 0 
[2015-04-18T13:13:33-08:00] INFO: Processing chef_node[webserver] action create (basic_chef_client::block line 57) 
(up to date) 
[2015-04-18T13:13:33-08:00] INFO: Chef Run complete in 6.688063 seconds 

Running handlers: 
[2015-04-18T13:13:33-08:00] INFO: Running report handlers 
Running handlers complete 
[2015-04-18T13:13:33-08:00] INFO: Report handlers complete 
Chef Client finished, 0/1 resources updated in 9.993406 seconds 

Но я смотрю на virutalbox, и я не вижу виртуальную машину, созданную для этого экземпляра, и я не могу посетить статическую страницу nginx, созданную кулинарной книгой djnginx.

Где находится моя виртуальная машина? Или подготовка шеф-повара фактически не создает для меня бродячую ВМ?

Если я создаю Vagrantfile для этой поваренной книги и запускаю vagrant up, VM развернута, и статическая страница nginx доступна для меня, чтобы перейти к ней.

ответ

0

Машины бродяг по умолчанию хранятся в «.chef/vms». Вы можете видеть их статус, перейдя в этот каталог и работают обычные бродячие команды, например .:

cd .chef/vms vagrant status

Вы также можете использовать команду vagrant global-status, чтобы увидеть состояние любой виртуальной машины на рабочей станции. Это полезная команда, потому что она также дает вам глобальный идентификатор, который вы можете использовать для выдачи вагранных команд на любой виртуальной машине, вместо того, чтобы искать каталог с Vagrantfile.

+0

Tyvm! Эти команды будут очень полезны! –

0

Возможно, вы захотите установить converge true на свой ресурс машины, по крайней мере, во время тестирования. Кажется, что он не запускал ваш рецепт на созданной виртуальной машине. Похоже, что создал виртуальную машину и успешно запускает на ней команды Linux, поэтому даже если вы не можете ее найти, она работает.

Смежные вопросы