vagrant-zone 0.0.1 → 0.0.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/Vagrantfile +22 -8
- data/lib/vagrant-zone/action.rb +2 -3
- data/lib/vagrant-zone/action/create.rb +1 -0
- data/lib/vagrant-zone/action/destroy.rb +1 -0
- data/lib/vagrant-zone/action/setup.rb +1 -1
- data/lib/vagrant-zone/driver.rb +62 -6
- data/lib/vagrant-zone/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bdac02c4e9c3104f07c823aa4171bf31098eeba3f88180d5902ae7a384c7d166
|
4
|
+
data.tar.gz: 864c444150175f3f0cf18230dd3bce3b5f3ef2c6ba5ea0ba2fe80870c444006b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e74f6ab86b9cced168d8c057b1779f29c33e7e7927fc4755072d3b83f61bfcbccb067ca1dc12b67d23e9e759c0eedeaf7b9200a5896a4de2046bff9857f39cf3
|
7
|
+
data.tar.gz: 7badb35c222ff214926e76e0ad120b0859a8295cca95aad09b98de8214e8c3797abc50a13941a90d8149a4a1f258b4f543cd6fb32c260878a65645b0b87ad829
|
data/Vagrantfile
CHANGED
@@ -1,4 +1,17 @@
|
|
1
1
|
Vagrant.configure("2") do |config|
|
2
|
+
config.vm.define :freebsd do |freebsd|
|
3
|
+
freebsd.vm.box = 'freebsd'
|
4
|
+
|
5
|
+
freebsd.vm.network "public_network",
|
6
|
+
ip: "192.168.122.30", bridge: "e1000g0", auto_config: false, :netmask => "255.255.255.0", gateway: "192.168.122.1"
|
7
|
+
|
8
|
+
freebsd.vm.provider :zone do |vm|
|
9
|
+
vm.brand = 'bhyve'
|
10
|
+
vm.zonepath = '/rpool/freebsd'
|
11
|
+
vm.memory = '512M'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
2
15
|
config.vm.define :debian do |debian|
|
3
16
|
debian.vm.box = 'debian.zss'
|
4
17
|
debian.vm.network "public_network",
|
@@ -21,17 +34,18 @@ Vagrant.configure("2") do |config|
|
|
21
34
|
end
|
22
35
|
|
23
36
|
config.vm.define :centos do |centos|
|
24
|
-
centos.vm.box = '
|
37
|
+
centos.vm.box = 'centos.zss'
|
25
38
|
centos.vm.network "public_network",
|
26
39
|
ip: "192.168.122.29", bridge: "e1000g0", auto_config: false, :netmask => "255.255.255.0", gateway: "192.168.122.1"
|
40
|
+
|
41
|
+
centos.vm.provision "shell", privileged: "true", inline: <<-SHELL
|
42
|
+
/native/sbin/zfs create -o mountpoint=/opt/db rpool/centos/data/db
|
43
|
+
SHELL
|
27
44
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
ansible.playbook = "playbook.yml"
|
33
|
-
ansible.install = true
|
34
|
-
end
|
45
|
+
# centos.vm.provision "ansible_local" do |ansible|
|
46
|
+
# ansible.playbook = "playbook.yml"
|
47
|
+
# ansible.install = true
|
48
|
+
# end
|
35
49
|
|
36
50
|
centos.vm.provider :zone do |vm|
|
37
51
|
vm.brand = 'lx'
|
data/lib/vagrant-zone/action.rb
CHANGED
@@ -21,10 +21,9 @@ module VagrantPlugins
|
|
21
21
|
b2.use Network
|
22
22
|
b2.use Start
|
23
23
|
b2.use Setup
|
24
|
-
#b2.use PrepareNFSValidIds
|
25
|
-
#b2.use SyncedFolderCleanup
|
26
|
-
#b2.use SyncedFolders
|
27
24
|
b2.use WaitTillUp
|
25
|
+
b2.use SyncedFolderCleanup
|
26
|
+
b2.use SyncedFolders
|
28
27
|
b2.use Provision
|
29
28
|
else
|
30
29
|
env[:halt_on_error] = true
|
data/lib/vagrant-zone/driver.rb
CHANGED
@@ -4,6 +4,7 @@ require "digest/md5"
|
|
4
4
|
require "io/console"
|
5
5
|
require "ruby_expect"
|
6
6
|
require 'netaddr'
|
7
|
+
require "vagrant/util/numeric"
|
7
8
|
|
8
9
|
module VagrantPlugins
|
9
10
|
module ProviderZone
|
@@ -54,9 +55,16 @@ module VagrantPlugins
|
|
54
55
|
end
|
55
56
|
|
56
57
|
def install(machine, ui)
|
58
|
+
config = machine.provider_config
|
57
59
|
box = @machine.data_dir.to_s + '/' + @machine.config.vm.box
|
58
60
|
name = @machine.name
|
59
|
-
|
61
|
+
|
62
|
+
if config.brand == 'lx'
|
63
|
+
execute(false, "#{@pfexec} zoneadm -z #{name} install -s #{box}")
|
64
|
+
end
|
65
|
+
if config.brand == 'bhyve'
|
66
|
+
execute(false, "#{@pfexec} zoneadm -z #{name} install")
|
67
|
+
end
|
60
68
|
end
|
61
69
|
|
62
70
|
def boot(machine, ui)
|
@@ -77,6 +85,27 @@ module VagrantPlugins
|
|
77
85
|
end
|
78
86
|
end
|
79
87
|
|
88
|
+
def create_dataset(machine, ui)
|
89
|
+
config = machine.provider_config
|
90
|
+
dataset = config.zonepath.delete_prefix("/").to_s + "/data"
|
91
|
+
execute(false, "#{@pfexec} zfs create -o zoned=on -p #{dataset}")
|
92
|
+
|
93
|
+
# machine.config.vm.disks.each do |_type, opts|
|
94
|
+
# if _type.to_s = "disk"
|
95
|
+
# name = opts[:name] if !opts[:name].nil?
|
96
|
+
# size = Vagrant::Util::Numeric.string_to_bytes(opts[:size].to_s) if !opts[:size].nil?
|
97
|
+
# quota = "-o quota=" + size.to_s if size
|
98
|
+
#
|
99
|
+
# execute(false, "#{@pfexec} zfs create #{quota} #{dataset}/#{name}")
|
100
|
+
# end
|
101
|
+
# end
|
102
|
+
end
|
103
|
+
|
104
|
+
def delete_dataset(machine, ui)
|
105
|
+
config = machine.provider_config
|
106
|
+
execute(false, "#{@pfexec} zfs destroy -r #{config.zonepath.delete_prefix("/")}/data")
|
107
|
+
end
|
108
|
+
|
80
109
|
def zonecfg(machine, ui)
|
81
110
|
config = machine.provider_config
|
82
111
|
machine.config.vm.networks.each do |_type, opts|
|
@@ -90,6 +119,34 @@ module VagrantPlugins
|
|
90
119
|
allowed_address = @ip + @network.netmask.to_s
|
91
120
|
lofs_current_dir = Dir.pwd
|
92
121
|
|
122
|
+
attr = ''
|
123
|
+
if config.brand == 'lx'
|
124
|
+
attr = %{
|
125
|
+
add attr
|
126
|
+
set name=kernel-version
|
127
|
+
set type=string
|
128
|
+
set value=#{config.kernel}
|
129
|
+
end
|
130
|
+
}
|
131
|
+
end
|
132
|
+
if config.brand == 'bhyve'
|
133
|
+
attr = %{
|
134
|
+
add device
|
135
|
+
set match=/dev/zvol/rdsk#{config.zonepath}
|
136
|
+
end
|
137
|
+
add attr
|
138
|
+
set name=bootrom
|
139
|
+
set type=string
|
140
|
+
set value=BHYVE_RELEASE
|
141
|
+
end
|
142
|
+
add attr
|
143
|
+
set name=bootdisk
|
144
|
+
set type=string
|
145
|
+
set value=#{config.zonepath}
|
146
|
+
end
|
147
|
+
}
|
148
|
+
end
|
149
|
+
|
93
150
|
data = %{
|
94
151
|
create
|
95
152
|
set zonepath=#{config.zonepath}
|
@@ -102,21 +159,20 @@ module VagrantPlugins
|
|
102
159
|
add property (name=ips,value="#{allowed_address}")
|
103
160
|
add property (name=primary,value="true")
|
104
161
|
end
|
105
|
-
add attr
|
106
|
-
set name=kernel-version
|
107
|
-
set type=string
|
108
|
-
set value=#{config.kernel}
|
109
|
-
end
|
110
162
|
add capped-memory
|
111
163
|
set physical=#{config.memory}
|
112
164
|
set swap=#{config.memory}
|
113
165
|
set locked=#{config.memory}
|
114
166
|
end
|
167
|
+
#{attr}
|
115
168
|
add fs
|
116
169
|
set dir=/vagrant
|
117
170
|
set special=#{lofs_current_dir}
|
118
171
|
set type=lofs
|
119
172
|
end
|
173
|
+
add dataset
|
174
|
+
set name=#{config.zonepath.delete_prefix("/")}/data
|
175
|
+
end
|
120
176
|
set max-lwps=2000
|
121
177
|
exit
|
122
178
|
}
|
data/lib/vagrant-zone/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-zone
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas Merkel
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-05-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|