vagrant-helpers 1.4.1 → 1.4.2
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 +4 -4
- data/lib/vagrant-helpers.rb +18 -23
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 00ad191c14807e015a590fff4e6e199449aef665
|
4
|
+
data.tar.gz: f490ea5883a17749e96040b6b312d2ff703cb70b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 334e557eef5685ce552fc8921545796e91dbcbc488687fba0915d216c108b26758964d6b2bb02aa637143bd19b1b789d3ee268ec7ded2e64e9863711191f4e0f
|
7
|
+
data.tar.gz: 5558f333ff17d3d203297141f76ca0a9cd62b6502812c55714bdb1656c99d083fa337e103c80831e0ac43b331e7a6b68e500f01fd2f81df1076cbc6aae25d0d6
|
data/lib/vagrant-helpers.rb
CHANGED
@@ -5,7 +5,6 @@ require 'socket'
|
|
5
5
|
require 'ipaddr'
|
6
6
|
require 'ip'
|
7
7
|
|
8
|
-
|
9
8
|
module VagrantPlugins
|
10
9
|
module Helpers
|
11
10
|
class MissingOptsFileError < ::Vagrant::Errors::VagrantError
|
@@ -39,29 +38,29 @@ module VagrantPlugins
|
|
39
38
|
|
40
39
|
def self.get_opts(dir)
|
41
40
|
filename = ::File.expand_path(ENV['VAGRANT_HELPERS_OPTS'] || 'opts.yaml', dir)
|
42
|
-
if ::File.
|
41
|
+
if ::File.exist? filename
|
43
42
|
::YAML.load ::File.open filename
|
44
43
|
else
|
45
|
-
raise MissingOptsFileError.new
|
44
|
+
raise MissingOptsFileError.new(filename)
|
46
45
|
end
|
47
46
|
end
|
48
47
|
|
49
48
|
def self.set_vm_box(config, vm_box)
|
50
|
-
if vm_box.nil?
|
51
|
-
raise MissingVMBoxOptionError.new
|
52
|
-
end
|
53
|
-
|
49
|
+
raise MissingVMBoxOptionError.new if vm_box.nil?
|
54
50
|
config.vm.box = vm_box
|
55
51
|
end
|
56
52
|
|
53
|
+
def self.set_vm_box_version(config, vm_box_version)
|
54
|
+
vm_box_version ||= '>= 0'
|
55
|
+
config.vm.box_version = vm_box_version
|
56
|
+
end
|
57
|
+
|
57
58
|
def self.set_vm_ssh_insert_key(config, vm_ssh_insert_key)
|
58
59
|
config.ssh.insert_key = vm_ssh_insert_key
|
59
60
|
end
|
60
61
|
|
61
62
|
def self.set_vm_name(config, vm_name)
|
62
|
-
if vm_name.nil?
|
63
|
-
raise MissingVMNameOptionError.new
|
64
|
-
end
|
63
|
+
raise MissingVMNameOptionError.new if vm_name.nil?
|
65
64
|
|
66
65
|
config.vm.provider :virtualbox do |v|
|
67
66
|
v.name = vm_name
|
@@ -81,9 +80,7 @@ module VagrantPlugins
|
|
81
80
|
end
|
82
81
|
|
83
82
|
def self.set_vm_hostname(config, vm_hostname)
|
84
|
-
unless vm_hostname.nil?
|
85
|
-
config.vm.hostname = vm_hostname
|
86
|
-
end
|
83
|
+
config.vm.hostname = vm_hostname unless vm_hostname.nil?
|
87
84
|
end
|
88
85
|
|
89
86
|
def self.set_vm_forwarded_ports(config, vm_forwarded_ports)
|
@@ -94,7 +91,7 @@ module VagrantPlugins
|
|
94
91
|
end
|
95
92
|
|
96
93
|
def self.get_cidr_mask(mask)
|
97
|
-
|
94
|
+
Integer(32 - Math.log2((IPAddr.new(mask, Socket::AF_INET).to_i ^ 0xffffffff) + 1))
|
98
95
|
end
|
99
96
|
|
100
97
|
def self.get_host_networks
|
@@ -120,7 +117,7 @@ module VagrantPlugins
|
|
120
117
|
network_list = []
|
121
118
|
|
122
119
|
vm_public_networks.each do |options|
|
123
|
-
if options.
|
120
|
+
if options.key? 'network'
|
124
121
|
network_addr = IP.new options.delete 'network'
|
125
122
|
if host_in_network? network_addr
|
126
123
|
network_list << options
|
@@ -146,7 +143,7 @@ module VagrantPlugins
|
|
146
143
|
|
147
144
|
def self.set_vm_synced_folders(config, vm_synced_folders)
|
148
145
|
vm_synced_folders.each do |entry|
|
149
|
-
prepared_options = ::Hash[entry.fetch('opts', {}).map { |(k,v)| [k.to_sym, v] }]
|
146
|
+
prepared_options = ::Hash[entry.fetch('opts', {}).map { |(k, v)| [k.to_sym, v] }]
|
150
147
|
config.vm.synced_folder entry['host'], entry['guest'], **prepared_options
|
151
148
|
end
|
152
149
|
end
|
@@ -154,7 +151,7 @@ module VagrantPlugins
|
|
154
151
|
def self.set_vm_extra_storage(config, vm_storage_drives)
|
155
152
|
config.vm.provider :virtualbox do |v|
|
156
153
|
vm_storage_drives.each_with_index do |entry, ndx|
|
157
|
-
unless ::File.
|
154
|
+
unless ::File.exist? entry['filename']
|
158
155
|
# create hdd
|
159
156
|
v.customize [
|
160
157
|
'createhd',
|
@@ -185,16 +182,14 @@ module VagrantPlugins
|
|
185
182
|
end
|
186
183
|
|
187
184
|
def self.each_vm(opts)
|
188
|
-
if opts.
|
189
|
-
raise AmbiguousConfigurationError.new
|
190
|
-
end
|
185
|
+
raise AmbiguousConfigurationError.new if opts.key?('vm') && opts.key?('vms')
|
191
186
|
|
192
|
-
if opts.
|
187
|
+
if opts.key? 'vm'
|
193
188
|
vm_opts = opts['vm']
|
194
189
|
yield nil, vm_opts
|
195
190
|
end
|
196
191
|
|
197
|
-
if opts.
|
192
|
+
if opts.key? 'vms'
|
198
193
|
opts['vms'].each do |name, vm_opts|
|
199
194
|
yield name, vm_opts
|
200
195
|
end
|
@@ -203,6 +198,7 @@ module VagrantPlugins
|
|
203
198
|
|
204
199
|
def self.setup_instance(config, vm_opts)
|
205
200
|
set_vm_box config, vm_opts.fetch('box', nil)
|
201
|
+
set_vm_box_version config, vm_opts.fetch('box_version', nil)
|
206
202
|
set_vm_name config, vm_opts.fetch('name', nil)
|
207
203
|
set_vm_memory config, vm_opts.fetch('memory', 512)
|
208
204
|
set_vm_cpus config, vm_opts.fetch('cpus', 1)
|
@@ -216,7 +212,6 @@ module VagrantPlugins
|
|
216
212
|
end
|
217
213
|
|
218
214
|
def self.setup(dir)
|
219
|
-
dotenv_filename = ::File.join dir, '.env'
|
220
215
|
::Dotenv.load
|
221
216
|
|
222
217
|
::Vagrant.configure(2) do |config|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-helpers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander Pyatkin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-05-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dotenv
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.
|
19
|
+
version: 2.1.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.
|
26
|
+
version: 2.1.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: ruby-ip
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|