vagrant-linode 0.2.7 → 0.2.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rspec +5 -2
- data/CHANGELOG.md +3 -0
- data/Gemfile +5 -3
- data/README.md +1 -2
- data/lib/vagrant-linode/actions/create.rb +33 -25
- data/lib/vagrant-linode/actions/rebuild.rb +242 -17
- data/lib/vagrant-linode/config.rb +6 -0
- data/lib/vagrant-linode/version.rb +1 -1
- data/vagrant-linode.gemspec +5 -6
- metadata +12 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1de708c156168a1a26ee28dc0cecb4ddefa48b60
|
4
|
+
data.tar.gz: f8ca694da438328963e17d14c1364b10a9f6af82
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3920d13fbb57a4b1440c1f4dc3d1d82890c273f185a0a3ea81a90b4fd799fd5904bb72b977b3480f3b2d5d01f05d73dce85f3744f2a992c481486b611734a515
|
7
|
+
data.tar.gz: 21149e2f5dffd5cc7e3c1439a074b937e50d961197eb3877163572839cc2a7ff9ae965fb298f121ee5e40399e86b154b06493b502a9829a741b93ed20f1d1416
|
data/.rspec
CHANGED
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
|
4
|
-
gemspec
|
5
|
-
end
|
3
|
+
gemspec
|
6
4
|
|
7
5
|
group :development do
|
8
6
|
# We depend on Vagrant for development, but we don't add it as a
|
@@ -12,3 +10,7 @@ group :development do
|
|
12
10
|
gem 'coveralls', require: false
|
13
11
|
gem 'pry'
|
14
12
|
end
|
13
|
+
|
14
|
+
group :plugins do
|
15
|
+
gem 'vagrant-linode', path: '.'
|
16
|
+
end
|
data/README.md
CHANGED
@@ -36,8 +36,7 @@ Vagrant.configure('2') do |config|
|
|
36
36
|
|
37
37
|
config.vm.provider :linode do |provider, override|
|
38
38
|
override.ssh.private_key_path = '~/.ssh/id_rsa'
|
39
|
-
override.vm.box = 'linode'
|
40
|
-
override.vm.box_url = "https://github.com/displague/vagrant-linode/raw/master/box/linode.box"
|
39
|
+
override.vm.box = 'linode/ubuntu1404'
|
41
40
|
|
42
41
|
provider.api_key = 'API_KEY'
|
43
42
|
provider.distribution = 'Ubuntu 16.04 LTS'
|
@@ -103,18 +103,15 @@ module VagrantPlugins
|
|
103
103
|
end
|
104
104
|
|
105
105
|
### Disk Images
|
106
|
-
|
106
|
+
disk_size = plan['disk'].to_i * 1024
|
107
|
+
xvda_size, swap_size, xvdc_size = @machine.provider_config.xvda_size, @machine.provider_config.swap_size, @machine.provider_config.xvdc_size
|
107
108
|
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
end
|
109
|
+
swap_size = swap_size.to_i
|
110
|
+
xvda_size = xvda_size == true ? disk_size - swap_size : xvda_size.to_i
|
111
|
+
xvdc_size = (xvdc_size.is_a?(Vagrant::Config::V2::DummyConfig) or xvdc_size == true) ? (disk_size - swap_size - xvda_size).abs : xvdc_size.to_i
|
112
112
|
|
113
|
-
|
114
|
-
|
115
|
-
xvda_size = ( ( plan['disk'].to_i * 1024) - swap_size.to_i)
|
116
|
-
elsif disk_sanity == false
|
117
|
-
fail Errors::DiskSize, current: (xvda_size.to_i + swap_size.to_i), max: ( plan['disk'].to_i * 1024)
|
113
|
+
if ( xvda_size + swap_size + xvdc_size) > disk_size
|
114
|
+
fail Errors::DiskSize, current: (xvda_size + swap_size + xvdc_size), max: disk_size
|
118
115
|
end
|
119
116
|
|
120
117
|
env[:ui].info I18n.t('vagrant_linode.info.creating')
|
@@ -131,14 +128,9 @@ module VagrantPlugins
|
|
131
128
|
# assign the machine id for reference in other commands
|
132
129
|
@machine.id = result['linodeid'].to_s
|
133
130
|
|
134
|
-
|
135
|
-
swap = @client.linode.disk.create(
|
136
|
-
linodeid: result['linodeid'],
|
137
|
-
label: 'Vagrant swap',
|
138
|
-
type: 'swap',
|
139
|
-
size: swap_size
|
140
|
-
)
|
131
|
+
disklist = []
|
141
132
|
|
133
|
+
if stackscript_id
|
142
134
|
disk = @client.linode.disk.createfromstackscript(
|
143
135
|
linodeid: result['linodeid'],
|
144
136
|
stackscriptid: stackscript_id,
|
@@ -150,14 +142,8 @@ module VagrantPlugins
|
|
150
142
|
rootsshkey: pubkey,
|
151
143
|
rootpass: root_pass
|
152
144
|
)
|
145
|
+
disklist.push(disk['diskid'])
|
153
146
|
elsif distribution_id
|
154
|
-
swap = @client.linode.disk.create(
|
155
|
-
linodeid: result['linodeid'],
|
156
|
-
label: 'Vagrant swap',
|
157
|
-
type: 'swap',
|
158
|
-
size: swap_size
|
159
|
-
)
|
160
|
-
|
161
147
|
disk = @client.linode.disk.createfromdistribution(
|
162
148
|
linodeid: result['linodeid'],
|
163
149
|
distributionid: distribution_id,
|
@@ -167,6 +153,7 @@ module VagrantPlugins
|
|
167
153
|
rootsshkey: pubkey,
|
168
154
|
rootpass: root_pass
|
169
155
|
)
|
156
|
+
disklist.push(disk['diskid'])
|
170
157
|
elsif image_id
|
171
158
|
disk = @client.linode.disk.createfromimage(
|
172
159
|
linodeid: result['linodeid'],
|
@@ -176,19 +163,40 @@ module VagrantPlugins
|
|
176
163
|
rootsshkey: pubkey,
|
177
164
|
rootpass: root_pass
|
178
165
|
)
|
166
|
+
disklist.push(disk['diskid'])
|
167
|
+
else
|
168
|
+
disklist.push('')
|
169
|
+
end
|
179
170
|
|
171
|
+
if swap_size > 0
|
180
172
|
swap = @client.linode.disk.create(
|
181
173
|
linodeid: result['linodeid'],
|
182
174
|
label: 'Vagrant swap',
|
183
175
|
type: 'swap',
|
184
176
|
size: swap_size
|
185
177
|
)
|
178
|
+
disklist.push(swap['diskid'])
|
179
|
+
else
|
180
|
+
disklist.push('')
|
181
|
+
end
|
182
|
+
|
183
|
+
if xvdc_size > 0
|
184
|
+
xvdc_type = @machine.provider_config.xvdc_type.is_a?(Vagrant::Config::V2::DummyConfig) ? "raw" : @machine.provider_config.xvdc_type
|
185
|
+
xvdc = @client.linode.disk.create(
|
186
|
+
linodeid: result['linodeid'],
|
187
|
+
label: 'Vagrant Leftover Disk Linode ' + result['linodeid'].to_s,
|
188
|
+
type: xvdc_type,
|
189
|
+
size: xvdc_size,
|
190
|
+
)
|
191
|
+
disklist.push(xvdc['diskid'])
|
192
|
+
else
|
193
|
+
disklist.push('')
|
186
194
|
end
|
187
195
|
|
188
196
|
config = @client.linode.config.create(
|
189
197
|
linodeid: result['linodeid'],
|
190
198
|
label: 'Vagrant Config',
|
191
|
-
disklist:
|
199
|
+
disklist: disklist.join(','),
|
192
200
|
kernelid: kernel_id
|
193
201
|
)
|
194
202
|
|
@@ -1,12 +1,13 @@
|
|
1
1
|
require 'vagrant-linode/helpers/client'
|
2
2
|
require 'vagrant-linode/helpers/waiter'
|
3
|
+
require 'vagrant-linode/errors'
|
3
4
|
|
4
5
|
module VagrantPlugins
|
5
6
|
module Linode
|
6
7
|
module Actions
|
7
8
|
class Rebuild
|
8
9
|
include Vagrant::Util::Retryable
|
9
|
-
include Helpers::Waiter
|
10
|
+
include VagrantPlugins::Linode::Helpers::Waiter
|
10
11
|
|
11
12
|
def initialize(app, env)
|
12
13
|
@app = app
|
@@ -16,30 +17,250 @@ module VagrantPlugins
|
|
16
17
|
|
17
18
|
def call(env)
|
18
19
|
@client = env[:linode_api]
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
20
|
+
ssh_key_id = env[:machine].config.ssh.private_key_path
|
21
|
+
ssh_key_id = ssh_key_id[0] if ssh_key_id.is_a?(Array)
|
22
|
+
if ssh_key_id
|
23
|
+
pubkey = File.read(File.expand_path("#{ssh_key_id}.pub"))
|
24
|
+
end
|
25
|
+
|
26
|
+
if @machine.provider_config.root_pass
|
27
|
+
root_pass = @machine.provider_config.root_pass
|
28
|
+
else
|
29
|
+
root_pass = Digest::SHA2.new.update(@machine.provider_config.api_key).to_s
|
30
|
+
end
|
31
|
+
|
32
|
+
if @machine.provider_config.stackscript
|
33
|
+
stackscripts = @client.stackscript.list + @client.avail.stackscripts
|
34
|
+
stackscript = stackscripts.find { |s| s.label.downcase == @machine.provider_config.stackscript.to_s.downcase }
|
35
|
+
fail(Errors::StackscriptMatch, stackscript: @machine.provider_config.stackscript.to_s) if stackscript.nil?
|
36
|
+
stackscript_id = stackscript.stackscriptid || nil
|
37
|
+
else
|
38
|
+
stackscript_id = @machine.provider_config.stackscriptid
|
39
|
+
end
|
40
|
+
|
41
|
+
stackscript_udf_responses = @machine.provider_config.stackscript_udf_responses
|
42
|
+
|
43
|
+
if stackscript_udf_responses and !stackscript_udf_responses.is_a?(Hash)
|
44
|
+
fail(Errors::StackscriptUDFFormat, format: stackscript_udf_responses.class.to_s)
|
45
|
+
else
|
46
|
+
stackscript_udf_responses = @machine.provider_config.stackscript_udf_responses or {}
|
47
|
+
end
|
48
|
+
|
49
|
+
if @machine.provider_config.distribution
|
50
|
+
distributions = @client.avail.distributions
|
51
|
+
distribution = distributions.find { |d| d.label.downcase.include? @machine.provider_config.distribution.downcase }
|
52
|
+
fail(Errors::DistroMatch, distro: @machine.provider_config.distribution.to_s) if distribution.nil?
|
53
|
+
distribution_id = distribution.distributionid || nil
|
54
|
+
else
|
55
|
+
distribution_id = @machine.provider_config.distributionid
|
56
|
+
end
|
25
57
|
|
26
|
-
|
27
|
-
|
28
|
-
|
58
|
+
if @machine.provider_config.imageid
|
59
|
+
distribution_id = nil
|
60
|
+
images = @client.image.list
|
61
|
+
image = images.find { |i| i.imageid == @machine.provider_config.imageid }
|
62
|
+
fail Errors::ImageMatch, image: @machine.provider_config.imageid.to_s if image.nil?
|
63
|
+
image_id = image.imageid || nil
|
64
|
+
elsif @machine.provider_config.image
|
65
|
+
distribution_id = nil
|
66
|
+
images = @client.image.list
|
67
|
+
image = images.find { |i| i.label.downcase.include? @machine.provider_config.image.downcase }
|
68
|
+
fail Errors::ImageMatch, image: @machine.provider_config.image.to_s if image.nil?
|
69
|
+
image_id = image.imageid || nil
|
70
|
+
end
|
71
|
+
|
72
|
+
if @machine.provider_config.kernel
|
73
|
+
kernels = @client.avail.kernels
|
74
|
+
kernel = kernels.find { |k| k.label.downcase.include? @machine.provider_config.kernel.downcase }
|
75
|
+
raise( Errors::KernelMatch, kernel: @machine.provider_config.kernel.to_s ) if kernel == nil
|
76
|
+
kernel_id = kernel.kernelid || nil
|
77
|
+
else
|
78
|
+
kernel_id = @machine.provider_config.kernelid
|
79
|
+
end
|
80
|
+
|
81
|
+
if @machine.provider_config.datacenter
|
82
|
+
datacenters = @client.avail.datacenters
|
83
|
+
datacenter = datacenters.find { |d| d.abbr == @machine.provider_config.datacenter }
|
84
|
+
fail Errors::DatacenterMatch, datacenter: @machine.provider_config.datacenter if datacenter.nil?
|
85
|
+
datacenter_id = datacenter.datacenterid
|
86
|
+
else
|
87
|
+
datacenters = @client.avail.datacenters
|
88
|
+
datacenter = datacenters.find { |d| d.datacenterid == @machine.provider_config.datacenterid }
|
89
|
+
fail Errors::DatacenterMatch, datacenter: @machine.provider_config.datacenter if datacenter.nil?
|
90
|
+
datacenter_id = datacenter.datacenterid
|
91
|
+
end
|
29
92
|
|
30
|
-
|
31
|
-
|
32
|
-
|
93
|
+
if @machine.provider_config.plan
|
94
|
+
plans = @client.avail.linodeplans
|
95
|
+
plan = plans.find { |p| p.label.include? @machine.provider_config.plan }
|
96
|
+
fail Errors::PlanID, plan: @machine.provider_config.plan if plan.nil?
|
97
|
+
plan_id = plan.planid
|
98
|
+
else
|
99
|
+
plans = @client.avail.linodeplans
|
100
|
+
plan = plans.find { |p| p.planid.to_i == @machine.provider_config.planid.to_i }
|
101
|
+
fail Errors::PlanID, plan: @machine.provider_config.planid if plan.nil?
|
102
|
+
plan_id = @machine.provider_config.planid
|
103
|
+
end
|
104
|
+
|
105
|
+
### Disk Images
|
106
|
+
xvda_size, swap_size, disk_sanity = @machine.provider_config.xvda_size, @machine.provider_config.swap_size, true
|
33
107
|
|
34
|
-
#
|
35
|
-
|
108
|
+
# Sanity checks for disk size
|
109
|
+
if xvda_size != true
|
110
|
+
disk_sanity = false if ( xvda_size.to_i + swap_size.to_i) > ( plan['disk'].to_i * 1024)
|
111
|
+
end
|
112
|
+
|
113
|
+
# throw if disk sizes are too large
|
114
|
+
if xvda_size == true
|
115
|
+
xvda_size = ( ( plan['disk'].to_i * 1024) - swap_size.to_i)
|
116
|
+
elsif disk_sanity == false
|
117
|
+
fail Errors::DiskSize, current: (xvda_size.to_i + swap_size.to_i), max: ( plan['disk'].to_i * 1024)
|
118
|
+
end
|
119
|
+
|
120
|
+
env[:ui].info I18n.t('vagrant_linode.info.destroying')
|
121
|
+
|
122
|
+
diskList = @client.linode.disk.list(
|
123
|
+
linodeid: @machine.id
|
124
|
+
)
|
125
|
+
|
126
|
+
diskList.each do |diskEntry|
|
127
|
+
diskDeleteResult = @client.linode.disk.delete(
|
128
|
+
linodeid: @machine.id,
|
129
|
+
diskid: diskEntry['diskid']
|
130
|
+
)
|
131
|
+
|
132
|
+
job = diskDeleteResult['jobid']
|
133
|
+
|
134
|
+
jobStatus = @client.linode.job.list(
|
135
|
+
linodeid: @machine.id,
|
136
|
+
jobid: job
|
137
|
+
)
|
138
|
+
|
139
|
+
while jobStatus[0]['host_finish_dt'].nil? || jobStatus[0]['host_finish_dt'].empty? do
|
140
|
+
sleep(5)
|
141
|
+
jobStatus = @client.linode.job.list(
|
142
|
+
linodeid: @machine.id,
|
143
|
+
jobid: job
|
144
|
+
)
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
148
|
+
configList = @client.linode.config.list(
|
149
|
+
linodeid: @machine.id
|
150
|
+
)
|
151
|
+
|
152
|
+
configList.each do |configEntry|
|
153
|
+
configDeleteResult = @client.linode.config.delete(
|
154
|
+
linodeid: @machine.id,
|
155
|
+
configid: configEntry['configid']
|
156
|
+
)
|
157
|
+
end
|
158
|
+
|
159
|
+
env[:ui].info I18n.t('vagrant_linode.info.creating')
|
160
|
+
|
161
|
+
if stackscript_id
|
162
|
+
swap = @client.linode.disk.create(
|
163
|
+
linodeid: @machine.id,
|
164
|
+
label: 'Vagrant swap',
|
165
|
+
type: 'swap',
|
166
|
+
size: swap_size
|
167
|
+
)
|
168
|
+
|
169
|
+
disk = @client.linode.disk.createfromstackscript(
|
170
|
+
linodeid: @machine.id,
|
171
|
+
stackscriptid: stackscript_id,
|
172
|
+
stackscriptudfresponses: JSON.dump(stackscript_udf_responses),
|
173
|
+
distributionid: distribution_id,
|
174
|
+
label: 'Vagrant Disk Distribution ' + distribution_id.to_s + ' Linode ' + @machine.id.to_s,
|
175
|
+
type: 'ext4',
|
176
|
+
size: xvda_size,
|
177
|
+
rootsshkey: pubkey,
|
178
|
+
rootpass: root_pass
|
179
|
+
)
|
180
|
+
elsif distribution_id
|
181
|
+
swap = @client.linode.disk.create(
|
182
|
+
linodeid: @machine.id,
|
183
|
+
label: 'Vagrant swap',
|
184
|
+
type: 'swap',
|
185
|
+
size: swap_size
|
186
|
+
)
|
187
|
+
|
188
|
+
disk = @client.linode.disk.createfromdistribution(
|
189
|
+
linodeid: @machine.id,
|
190
|
+
distributionid: distribution_id,
|
191
|
+
label: 'Vagrant Disk Distribution ' + distribution_id.to_s + ' Linode ' + @machine.id.to_s,
|
192
|
+
type: 'ext4',
|
193
|
+
size: xvda_size,
|
194
|
+
rootsshkey: pubkey,
|
195
|
+
rootpass: root_pass
|
196
|
+
)
|
197
|
+
elsif image_id
|
198
|
+
disk = @client.linode.disk.createfromimage(
|
199
|
+
linodeid: @machine.id,
|
200
|
+
imageid: image_id,
|
201
|
+
label: 'Vagrant Disk Image (' + image_id.to_s + ') for ' + @machine.id.to_s,
|
202
|
+
size: xvda_size,
|
203
|
+
rootsshkey: pubkey,
|
204
|
+
rootpass: root_pass
|
205
|
+
)
|
206
|
+
|
207
|
+
swap = @client.linode.disk.create(
|
208
|
+
linodeid: @machine.id,
|
209
|
+
label: 'Vagrant swap',
|
210
|
+
type: 'swap',
|
211
|
+
size: swap_size
|
212
|
+
)
|
213
|
+
end
|
214
|
+
|
215
|
+
config = @client.linode.config.create(
|
216
|
+
linodeid: @machine.id,
|
217
|
+
label: 'Vagrant Config',
|
218
|
+
disklist: "#{disk['diskid']},#{swap['diskid']}",
|
219
|
+
kernelid: kernel_id
|
220
|
+
)
|
221
|
+
|
222
|
+
# @todo: allow provisioning to set static configuration for networking
|
223
|
+
if @machine.provider_config.private_networking
|
224
|
+
private_network = @client.linode.ip.addprivate linodeid: @machine.id
|
225
|
+
end
|
226
|
+
|
227
|
+
label = @machine.provider_config.label
|
228
|
+
label = label || @machine.name if @machine.name != 'default'
|
229
|
+
label = label || get_server_name
|
230
|
+
|
231
|
+
group = @machine.provider_config.group
|
232
|
+
group = "" if @machine.provider_config.group == false
|
233
|
+
|
234
|
+
result = @client.linode.update(
|
235
|
+
linodeid: @machine.id,
|
236
|
+
label: label,
|
237
|
+
lpm_displaygroup: group
|
238
|
+
)
|
239
|
+
|
240
|
+
env[:ui].info I18n.t('vagrant_linode.info.booting', linodeid: @machine.id)
|
241
|
+
|
242
|
+
bootjob = @client.linode.boot linodeid: @machine.id
|
243
|
+
# sleep 1 until ! @client.linode.job.list(:linodeid => @machine.id, :jobid => bootjob['jobid'], :pendingonly => 1).length
|
244
|
+
wait_for_event(env, bootjob['jobid'])
|
245
|
+
|
246
|
+
# refresh linode state with provider and output ip address
|
247
|
+
linode = Provider.linode(@machine, refresh: true)
|
248
|
+
public_network = linode.network.find { |network| network['ispublic'] == 1 }
|
249
|
+
env[:ui].info I18n.t('vagrant_linode.info.linode_ip', ip: public_network['ipaddress'])
|
250
|
+
|
251
|
+
if private_network
|
252
|
+
env[:ui].info I18n.t('vagrant_linode.info.linode_private_ip', ip: private_network['ipaddress'])
|
253
|
+
end
|
36
254
|
|
37
255
|
# wait for ssh to be ready
|
38
256
|
switch_user = @machine.provider_config.setup?
|
39
257
|
user = @machine.config.ssh.username
|
40
|
-
|
258
|
+
if switch_user
|
259
|
+
@machine.config.ssh.username = 'root'
|
260
|
+
@machine.config.ssh.password = root_pass
|
261
|
+
end
|
41
262
|
|
42
|
-
retryable(tries:
|
263
|
+
retryable(tries: 25, sleep: 10) do # @todo bump tries when this is solid
|
43
264
|
next if env[:interrupted]
|
44
265
|
fail 'not ready' unless @machine.communicate.ready?
|
45
266
|
end
|
@@ -48,6 +269,10 @@ module VagrantPlugins
|
|
48
269
|
|
49
270
|
@app.call(env)
|
50
271
|
end
|
272
|
+
|
273
|
+
def get_server_name
|
274
|
+
"vagrant_linode-#{rand.to_s.split('.')[1]}"
|
275
|
+
end
|
51
276
|
end
|
52
277
|
end
|
53
278
|
end
|
@@ -21,6 +21,8 @@ module VagrantPlugins
|
|
21
21
|
attr_accessor :stackscript
|
22
22
|
attr_accessor :stackscript_udf_responses
|
23
23
|
attr_accessor :xvda_size
|
24
|
+
attr_accessor :xvdc_size
|
25
|
+
attr_accessor :xvdc_type
|
24
26
|
attr_accessor :swap_size
|
25
27
|
attr_accessor :kernelid
|
26
28
|
attr_accessor :kernel
|
@@ -52,6 +54,8 @@ module VagrantPlugins
|
|
52
54
|
@ssh_key_name = UNSET_VALUE
|
53
55
|
@setup = UNSET_VALUE
|
54
56
|
@xvda_size = UNSET_VALUE
|
57
|
+
@xvdc_size = UNSET_VALUE
|
58
|
+
@xvdc_type = UNSET_VALUE
|
55
59
|
@swap_size = UNSET_VALUE
|
56
60
|
@kernelid = UNSET_VALUE
|
57
61
|
@kernel = UNSET_VALUE
|
@@ -84,6 +88,8 @@ module VagrantPlugins
|
|
84
88
|
@ssh_key_name = 'Vagrant' if @ssh_key_name == UNSET_VALUE
|
85
89
|
@setup = true if @setup == UNSET_VALUE
|
86
90
|
@xvda_size = true if @xvda_size == UNSET_VALUE
|
91
|
+
@xvdc_size = nil if @xvdc_size == UNSET_VALUE
|
92
|
+
@xvdc_type = 'raw' if @xvdc_type == UNSET_VALUE
|
87
93
|
@swap_size = '256' if @swap_size == UNSET_VALUE
|
88
94
|
@kernelid = nil if @kernelid == UNSET_VALUE
|
89
95
|
@kernel = nil if @kernel == UNSET_VALUE
|
data/vagrant-linode.gemspec
CHANGED
@@ -13,13 +13,12 @@ Gem::Specification.new do |gem|
|
|
13
13
|
gem.homepage = 'https://www.github.com/displague/vagrant-linode'
|
14
14
|
gem.summary = gem.description
|
15
15
|
|
16
|
-
gem.add_runtime_dependency 'linodeapi', '~> 1.0
|
17
|
-
gem.add_runtime_dependency '
|
18
|
-
gem.add_runtime_dependency 'log4r', '~> 1.1.10'
|
16
|
+
gem.add_runtime_dependency 'linodeapi', '~> 1.0'
|
17
|
+
gem.add_runtime_dependency 'log4r', '~> 1.1'
|
19
18
|
|
20
|
-
gem.add_development_dependency 'rake', '~>
|
21
|
-
gem.add_development_dependency 'rspec', '~> 3.
|
22
|
-
gem.add_development_dependency 'aruba', '~> 0.
|
19
|
+
gem.add_development_dependency 'rake', '~> 12.0'
|
20
|
+
gem.add_development_dependency 'rspec', '~> 3.5'
|
21
|
+
gem.add_development_dependency 'aruba', '~> 0.14'
|
23
22
|
|
24
23
|
gem.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
|
25
24
|
gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-linode
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marques Johansson
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-
|
12
|
+
date: 2016-12-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: linodeapi
|
@@ -17,84 +17,70 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 1.0
|
20
|
+
version: '1.0'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: 1.0
|
28
|
-
- !ruby/object:Gem::Dependency
|
29
|
-
name: json
|
30
|
-
requirement: !ruby/object:Gem::Requirement
|
31
|
-
requirements:
|
32
|
-
- - "~>"
|
33
|
-
- !ruby/object:Gem::Version
|
34
|
-
version: 1.8.3
|
35
|
-
type: :runtime
|
36
|
-
prerelease: false
|
37
|
-
version_requirements: !ruby/object:Gem::Requirement
|
38
|
-
requirements:
|
39
|
-
- - "~>"
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
version: 1.8.3
|
27
|
+
version: '1.0'
|
42
28
|
- !ruby/object:Gem::Dependency
|
43
29
|
name: log4r
|
44
30
|
requirement: !ruby/object:Gem::Requirement
|
45
31
|
requirements:
|
46
32
|
- - "~>"
|
47
33
|
- !ruby/object:Gem::Version
|
48
|
-
version: 1.1
|
34
|
+
version: '1.1'
|
49
35
|
type: :runtime
|
50
36
|
prerelease: false
|
51
37
|
version_requirements: !ruby/object:Gem::Requirement
|
52
38
|
requirements:
|
53
39
|
- - "~>"
|
54
40
|
- !ruby/object:Gem::Version
|
55
|
-
version: 1.1
|
41
|
+
version: '1.1'
|
56
42
|
- !ruby/object:Gem::Dependency
|
57
43
|
name: rake
|
58
44
|
requirement: !ruby/object:Gem::Requirement
|
59
45
|
requirements:
|
60
46
|
- - "~>"
|
61
47
|
- !ruby/object:Gem::Version
|
62
|
-
version:
|
48
|
+
version: '12.0'
|
63
49
|
type: :development
|
64
50
|
prerelease: false
|
65
51
|
version_requirements: !ruby/object:Gem::Requirement
|
66
52
|
requirements:
|
67
53
|
- - "~>"
|
68
54
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
55
|
+
version: '12.0'
|
70
56
|
- !ruby/object:Gem::Dependency
|
71
57
|
name: rspec
|
72
58
|
requirement: !ruby/object:Gem::Requirement
|
73
59
|
requirements:
|
74
60
|
- - "~>"
|
75
61
|
- !ruby/object:Gem::Version
|
76
|
-
version: 3.
|
62
|
+
version: '3.5'
|
77
63
|
type: :development
|
78
64
|
prerelease: false
|
79
65
|
version_requirements: !ruby/object:Gem::Requirement
|
80
66
|
requirements:
|
81
67
|
- - "~>"
|
82
68
|
- !ruby/object:Gem::Version
|
83
|
-
version: 3.
|
69
|
+
version: '3.5'
|
84
70
|
- !ruby/object:Gem::Dependency
|
85
71
|
name: aruba
|
86
72
|
requirement: !ruby/object:Gem::Requirement
|
87
73
|
requirements:
|
88
74
|
- - "~>"
|
89
75
|
- !ruby/object:Gem::Version
|
90
|
-
version: 0.
|
76
|
+
version: '0.14'
|
91
77
|
type: :development
|
92
78
|
prerelease: false
|
93
79
|
version_requirements: !ruby/object:Gem::Requirement
|
94
80
|
requirements:
|
95
81
|
- - "~>"
|
96
82
|
- !ruby/object:Gem::Version
|
97
|
-
version: 0.
|
83
|
+
version: '0.14'
|
98
84
|
description: Enables Vagrant to manage Linode linodes
|
99
85
|
email:
|
100
86
|
- marques@linode.com
|