I'm attempting to use Chef-Provisioning to spin up some Vagrant VMs. The chef-client -z provision.rb
command runs and successfully completes. I know that the machine, or something exists out there because it idempotently completes this run with no changes when I rerun the command.
Inside knife.rb I define the profiles:
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'
}
}
}
}
})
Then I execute sudo CHEF_PROFILE=ubuntu_vagrant chef-client -z provision.rb
provision.rb:
machine 'webserver' do
recipe 'djnginx'
end
Results:
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 vagrant@127.0.0.1
[2015-04-18T13:13:32-08:00] INFO: Completed cp /etc/chef/client.pem /tmp/client.pem.1379680942 on vagrant@127.0.0.1: exit status 0
[2015-04-18T13:13:32-08:00] INFO: Executing sudo chown vagrant /tmp/client.pem.1379680942 on vagrant@127.0.0.1
[2015-04-18T13:13:32-08:00] INFO: Completed chown vagrant /tmp/client.pem.1379680942 on vagrant@127.0.0.1: exit status 0
[2015-04-18T13:13:32-08:00] INFO: Executing sudo rm /tmp/client.pem.1379680942 on vagrant@127.0.0.1
[2015-04-18T13:13:32-08:00] INFO: Completed rm /tmp/client.pem.1379680942 on vagrant@127.0.0.1: 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 vagrant@127.0.0.1
[2015-04-18T13:13:32-08:00] INFO: Completed ls -d /etc/chef/client.rb on vagrant@127.0.0.1: exit status 0
[2015-04-18T13:13:32-08:00] INFO: Executing sudo md5sum -b /etc/chef/client.rb on vagrant@127.0.0.1
[2015-04-18T13:13:32-08:00] INFO: Completed md5sum -b /etc/chef/client.rb on vagrant@127.0.0.1: exit status 0
[2015-04-18T13:13:32-08:00] INFO: Executing sudo chef-client -v on vagrant@127.0.0.1
[2015-04-18T13:13:33-08:00] INFO: Completed chef-client -v on vagrant@127.0.0.1: 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
But I look at virutalbox and I do not see a VM created for this instance, nor can I visit the static nginx page created by the djnginx cookbook.
Where the heck is my VM? Or does Chef-provisioning not actually create a vagrant VM for me??
If I create a Vagrantfile for this cookbook and run vagrant up
, the VM is spun-up and the static nginx page is available for me to navigate to.