chef-provisioning-vbox 0.1.8 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 665939e09c8743442cec6166ceb4e1429e84d46b
4
- data.tar.gz: 969dcb31b9764fd6e3216a6a3811d8868c573c61
3
+ metadata.gz: dc31b536b3f6fa9040b27838e6e17cdffeb188e2
4
+ data.tar.gz: 00368baf6e49da437c210bf942c50e2e1965026c
5
5
  SHA512:
6
- metadata.gz: 483e1d42a32afbc576a6c773f4e5b7067fd3a575603b6e3b2ccbd194702eac0fac383d686d18a77df5411c9b4b2c65a3356a9b4b5766ea2801310038a72f02a1
7
- data.tar.gz: 64c0b3deb7f35f2d4eaf19c76c70a5cc0e83b8ab659b3094851730c53cb908985bf2c06c93f66e71c5cf8e83f0fc804cd87016a3b49eec9526374abcf67192b5
6
+ metadata.gz: 8cb7280dcf8138a3291df8f29df883421be7050525a88260c27877a0e7a178b2f2f5d8ae3cc7c63310a330f5276bf50b8480fb78180f18fba6baaf634a3347f8
7
+ data.tar.gz: 723cce59cad2aecd671d897f90b25be2fbae65eda8798cbb3c7a63e9768ec55d8a1584a2918362d8d39d1775f4690ae51fe0e71dfb18bd8aa63525ef9137e962
@@ -3,127 +3,126 @@ require 'chef/provisioning/vbox_driver/version'
3
3
 
4
4
  class Chef
5
5
  module Provisioning
6
- module VboxDriver
7
- class Driver < Chef::Provisioning::Driver
6
+ module VboxDriver
7
+ class Driver < Chef::Provisioning::Driver
8
8
 
9
- # generated by script, required by API.
10
- def self.canonicalize_url(driver_url, config)
11
- [ "vbox:#{driver_url} [vboxmanage]", config ]
12
- end
9
+ # generated by script, required by API.
10
+ def self.canonicalize_url(driver_url, config)
11
+ [ "vbox:#{driver_url} [vboxmanage]", config ]
12
+ end
13
13
 
14
- # generated by script, required by API.
15
- def self.from_url(driver_url, config)
16
- Driver.new(driver_url, config)
17
- end
14
+ # generated by script, required by API.
15
+ def self.from_url(driver_url, config)
16
+ Driver.new(driver_url, config)
17
+ end
18
18
 
19
- out = %x(vboxmanage list vms |grep "#{server_id}" |awk '{print $2}'|sed 's/\{//g'|sed 's/\}//g')
20
- machine_spec.reference['server_id'] = out
21
- end
19
+ out = %x(vboxmanage list vms |grep "#{server_id}" |awk '{print $2}'|sed 's/\{//g'|sed 's/\}//g')
20
+ machine_spec.reference['server_id'] = out
21
+ end
22
22
 
23
- #create vm
24
- def vbox.create_server(name, machine_options)
25
- machine_spec.reference['server_id'] = %x(/usr/local/bin/createvm-q.sh "#{name}" 10)
26
- end
23
+ #create vm
24
+ def vbox.create_server(name, machine_options)
25
+ machine_spec.reference['server_id'] = %x(/usr/local/bin/createvm-q.sh "#{name}" 10)
26
+ end
27
27
 
28
- #start vm
29
- def vbox.power_on(server_id)
30
- %x(vboxmanage startvm #{server_id} --type headless)
31
- end
28
+ #start vm
29
+ def vbox.power_on(server_id)
30
+ %x(vboxmanage startvm #{server_id} --type headless)
31
+ end
32
32
 
33
- #ready the vm
34
- def vbox.wait_for_machine_to_have_status(server_id)
35
- ready = %x(ready.sh #{server_id})
36
- end
33
+ #ready the vm
34
+ def vbox.wait_for_machine_to_have_status(server_id)
35
+ ready = %x(ready.sh #{server_id})
36
+ end
37
37
 
38
- #get hostname
39
- def vbox.get_hostname(server_id)
40
- hostname = %x(vboxmanage list vms |grep "#{server_id}|awk '{print $1}'|sed 's/"//g')
41
- return hostname
42
- end
38
+ #get hostname
39
+ def vbox.get_hostname(server_id)
40
+ hostname = %x(vboxmanage list vms |grep "#{server_id}|awk '{print $1}'|sed 's/"//g')
41
+ return hostname
42
+ end
43
43
 
44
- def vbox.power_off(server_id)
45
- %x(vboxmanage controlvm #{server_id} poweroff)
46
- end
44
+ def vbox.power_off(server_id)
45
+ %x(vboxmanage controlvm #{server_id} poweroff)
46
+ end
47
47
 
48
- #destroy host
49
- def vbox.destroy_machine(server_id)
50
- %x(vboxmanage unregistervm #{server_id} --delete)
51
- end
48
+ #destroy host
49
+ def vbox.destroy_machine(server_id)
50
+ %x(vboxmanage unregistervm #{server_id} --delete)
51
+ end
52
52
 
53
- def allocate_machine(action_handler, machine_spec, machine_options)
54
- if machine_spec.reference
55
- if !vbox.server_exists?(machine_spec.reference['server_id'])
56
- action_handler.perform_action "Machine #{machine_spec.reference['server_id']} does not exist. Recreating ..." do
57
- machine_spec.reference = nil
58
- end
53
+ def allocate_machine(action_handler, machine_spec, machine_options)
54
+ if machine_spec.reference
55
+ if !vbox.server_exists?(machine_spec.reference['server_id'])
56
+ action_handler.perform_action "Machine #{machine_spec.reference['server_id']} does not exist. Recreating ..." do
57
+ machine_spec.reference = nil
59
58
  end
60
59
  end
61
- if !machine_spec.reference
62
- action_handler.perform_action "Creating server #{machine_spec.name} with options #{machine_options}" do
63
- private_key = get_private_key('bootstrapkey')
64
- server_id = vbox.create_server(machine_spec.name, machine_options)
65
- machine_spec.reference = {
66
- 'driver_version' => Vbox::VERSION,
67
- 'server_id' => server_id
68
- }
69
- end
60
+ end
61
+ if !machine_spec.reference
62
+ action_handler.perform_action "Creating server #{machine_spec.name} with options #{machine_options}" do
63
+ private_key = get_private_key('bootstrapkey')
64
+ server_id = vbox.create_server(machine_spec.name, machine_options)
65
+ machine_spec.reference = {
66
+ 'driver_version' => Vbox::VERSION,
67
+ 'server_id' => server_id
68
+ }
70
69
  end
71
70
  end
71
+ end
72
72
 
73
- def ready_machine(action_handler, machine_spec, machine_options)
74
- server_id = machine_spec.reference['server_id']
75
- if vbox.machine_status(server_id) == 'stopped'
76
- action_handler.perform_action "Powering up machine #{server_id}" do
77
- vbox.power_on(server_id)
78
- end
73
+ def ready_machine(action_handler, machine_spec, machine_options)
74
+ server_id = machine_spec.reference['server_id']
75
+ if vbox.machine_status(server_id) == 'stopped'
76
+ action_handler.perform_action "Powering up machine #{server_id}" do
77
+ vbox.power_on(server_id)
79
78
  end
79
+ end
80
80
 
81
- if vbox.machine_status(server_id) != 'ready'
82
- action_handler.perform_action "wait for machine #{server_id}" do
83
- vbox.wait_for_machine_to_have_status(server_id, 'ready')
84
- end
85
- end
86
- # Return the Machine object
87
- machine_for(machine_spec, machine_options)
88
- end
89
-
90
- def machine_for(machine_spec, machine_options)
91
- server_id = machine_spec.reference['server_id']
92
- hostname = vbox.get_hostname()
93
- username = 'root'
94
- ssh_options = {
95
- :auth_methods => ['publickey'],
96
- :keys => [ get_key('bootstrapkey') ],
97
- }
98
- transport = Chef::Provisioning::Transport::SSH.new(vbox.get_hostname(server_id), username, ssh_options, {}, config)
99
- convergence_strategy = Chef::Provisioning::ConvergenceStrategy::InstallCached.new(machine_options[:convergence_options], {})
100
- Chef::Provisioning::Machine::UnixMachine.new(machine_spec, transport, convergence_strategy)
81
+ if vbox.machine_status(server_id) != 'ready'
82
+ action_handler.perform_action "wait for machine #{server_id}" do
83
+ vbox.wait_for_machine_to_have_status(server_id, 'ready')
101
84
  end
85
+ end
86
+ # Return the Machine object
87
+ machine_for(machine_spec, machine_options)
88
+ end
102
89
 
103
- def destroy_machine(action_handler, machine_spec, machine_options)
104
- if machine_spec.reference
105
- server_id = machine_spec.reference['server_id']
106
- action_handler.perform_action "Destroy machine #{server_id}" do
107
- vbox.power_off(server_id)
108
- vbox.destroy_machine(server_id)
109
- machine_spec.reference = nil
110
- end
111
- end
90
+ def machine_for(machine_spec, machine_options)
91
+ server_id = machine_spec.reference['server_id']
92
+ hostname = vbox.get_hostname()
93
+ username = 'root'
94
+ ssh_options = {
95
+ :auth_methods => ['publickey'],
96
+ :keys => [ get_key('bootstrapkey') ],
97
+ }
98
+ transport = Chef::Provisioning::Transport::SSH.new(vbox.get_hostname(server_id), username, ssh_options, {}, config)
99
+ convergence_strategy = Chef::Provisioning::ConvergenceStrategy::InstallCached.new(machine_options[:convergence_options], {})
100
+ Chef::Provisioning::Machine::UnixMachine.new(machine_spec, transport, convergence_strategy)
112
101
  end
113
102
 
114
- def stop_machine(action_handler, machine_spec, machine_options)
115
- if machine_spec.reference
116
- server_id = machine_spec.reference['server_id']
117
- action_handler.perform_action "Power off machine #{server_id}" do
118
- vbox.power_off(server_id)
119
- end
103
+ def destroy_machine(action_handler, machine_spec, machine_options)
104
+ if machine_spec.reference
105
+ server_id = machine_spec.reference['server_id']
106
+ action_handler.perform_action "Destroy machine #{server_id}" do
107
+ vbox.power_off(server_id)
108
+ vbox.destroy_machine(server_id)
109
+ machine_spec.reference = nil
120
110
  end
121
111
  end
112
+ end
122
113
 
123
- def connect_to_machine(machine_spec, machine_options)
124
- machine_for(machine_spec, machine_options)
114
+ def stop_machine(action_handler, machine_spec, machine_options)
115
+ if machine_spec.reference
116
+ server_id = machine_spec.reference['server_id']
117
+ action_handler.perform_action "Power off machine #{server_id}" do
118
+ vbox.power_off(server_id)
119
+ end
125
120
  end
126
121
  end
122
+
123
+ def connect_to_machine(machine_spec, machine_options)
124
+ machine_for(machine_spec, machine_options)
125
+ end
127
126
  end
128
127
  end
129
128
  end
@@ -1,7 +1,7 @@
1
1
  class Chef
2
2
  module Provisioning
3
3
  module VboxDriver
4
- VERSION = '0.1.7'
4
+ VERSION = '0.1.9'
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef-provisioning-vbox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Reilly