2015-04-18 65 views
0

我正在尝试使用Chef-Provisioning来启动一些Vagrant虚拟机。 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,并没有看到为此实例创建的虚拟机,也不能访问由djnginx食谱创建的静态nginx页面。

何处是我的虚拟机?还是厨师提供不实际为我创造一个流浪VM?

如果我为此烹饪书创建了一个Vagrantfile并运行vagrant up,则虚拟机启动并且我可以导航到静态nginx页面。

回答

0

默认情况下,Vagrant机器存储在“.chef/vms”中。您可以通过这个目录并运行正常的流浪汉命令,e.g看清自己的现状:

cd .chef/vms vagrant status

您也可以使用vagrant global-status命令来查看您的工作站上的任何虚拟机的状态。这是一个有用的命令,因为它还为您提供了一个全局ID,您可以使用它在任何VM上发出vagrant命令,而不必使用Vagrantfile查找目录。

+0

Tyvm!这些命令将非常有用! –

0

您可能希望在您的机器资源中设置converge true,至少在测试时。它似乎没有在创建的虚拟机上运行你的配方。看起来已经创建了一个虚拟机,并成功地在其上运行了linux命令,所以即使找不到它,它仍在运行。