vagrant-guests-clearlinux 1.0.11 → 1.0.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/vagrant-guests-clearlinux/cap/configure_networks.rb +20 -25
- data/lib/vagrant-guests-clearlinux/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: 8a5ff37998160645d4d5cfba0a093ac79ea02c9518d07206b49ad3aaef182f82
|
4
|
+
data.tar.gz: 621632483ec800d37df645eab25e3dc0a0da94af923fee7310455aad52e696c3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ce7079408022f2bbc44f9eea3815967ccf4db6705f0e857d4ae06610458f77520a929903d1a307a4cd9bc006ebaa5586ba8e4edcaf21f4770720e5a9dd67339d
|
7
|
+
data.tar.gz: a2888b7170aa36130242da33059585b529f584a7b499ec217dbed4d2f1dbdd0c6a8035e16294c746f716b6c729693e82bc0b1a2465da66d73614ee80a8763131
|
data/README.md
CHANGED
@@ -17,7 +17,7 @@ To build and install the plugin directly from this repo:
|
|
17
17
|
```
|
18
18
|
$ bundle install
|
19
19
|
$ bundle exec rake build
|
20
|
-
$ vagrant plugin install pkg/vagrant-guests-clearlinux-1.0.
|
20
|
+
$ vagrant plugin install pkg/vagrant-guests-clearlinux-1.0.12.gem
|
21
21
|
```
|
22
22
|
|
23
23
|
You can run RSpec with:
|
@@ -20,6 +20,7 @@ Name=%s
|
|
20
20
|
|
21
21
|
[Network]
|
22
22
|
Address=%s
|
23
|
+
%s
|
23
24
|
#VAGRANT-END
|
24
25
|
EOF
|
25
26
|
|
@@ -38,35 +39,31 @@ module VagrantPlugins
|
|
38
39
|
module GuestClearLinux
|
39
40
|
module Cap
|
40
41
|
class ConfigureNetworks
|
42
|
+
include Vagrant::Util
|
43
|
+
extend Vagrant::Util::GuestInspection::Linux
|
44
|
+
NETWORKD_DIRECTORY = "/etc/systemd/network".freeze
|
41
45
|
@@logger = Log4r::Logger.new('vagrant::guest::clearlinux::configure_networks')
|
42
46
|
|
43
47
|
def self.configure_networks(machine, networks)
|
44
48
|
comm = machine.communicate
|
45
|
-
|
46
|
-
interfaces = []
|
47
|
-
comm.sudo("ifconfig -a | grep -E '^en|^eth' | cut -f1 -d' '") do |_, result|
|
48
|
-
interfaces = result.split("\n")
|
49
|
-
end
|
50
|
-
|
51
|
-
# Configure interfaces
|
49
|
+
interfaces = machine.guest.capability(:network_interfaces)
|
52
50
|
networks.each do |network|
|
53
51
|
interface = network[:interface].to_i
|
54
|
-
|
55
|
-
|
56
|
-
if iface.nil?
|
52
|
+
device = interfaces[interface]
|
53
|
+
if device.nil?
|
57
54
|
@@logger.warn("Could not find match rule for network #{network.inspect}")
|
58
55
|
next
|
59
56
|
end
|
60
|
-
|
61
|
-
unit_name = find_network_file comm, iface
|
62
|
-
comm.sudo("rm -f /etc/systemd/network/#{unit_name}")
|
57
|
+
unit_name = format('50-vagrant-%s.network', device)
|
63
58
|
|
64
59
|
if network[:type] == :static
|
65
60
|
cidr = IPAddr.new(network[:netmask]).to_cidr
|
66
|
-
address =
|
67
|
-
|
61
|
+
address = "#{network[:ip]}/#{cidr}"
|
62
|
+
gateway = ""
|
63
|
+
gateway = "Gateway=#{network[:gateway]}" if network[:gateway]
|
64
|
+
unit_file = format(STATIC_NETWORK, device, address, gateway)
|
68
65
|
elsif network[:type] == :dhcp
|
69
|
-
unit_file = format(DHCP_NETWORK,
|
66
|
+
unit_file = format(DHCP_NETWORK, device)
|
70
67
|
end
|
71
68
|
|
72
69
|
temp = Tempfile.new('vagrant')
|
@@ -75,16 +72,14 @@ module VagrantPlugins
|
|
75
72
|
temp.close
|
76
73
|
|
77
74
|
comm.upload(temp.path, "/tmp/#{unit_name}")
|
78
|
-
comm.sudo(["
|
79
|
-
"
|
80
|
-
"
|
75
|
+
comm.sudo([ "mkdir -p #{NETWORKD_DIRECTORY}",
|
76
|
+
"rm -f #{NETWORKD_DIRECTORY}/#{unit_name}",
|
77
|
+
"mv /tmp/#{unit_name} #{NETWORKD_DIRECTORY}",
|
78
|
+
"chown root:root #{NETWORKD_DIRECTORY}/#{unit_name}",
|
79
|
+
"chmod a+r #{NETWORKD_DIRECTORY}/#{unit_name}",
|
80
|
+
"systemctl restart systemd-networkd"].join("\n"))
|
81
|
+
comm.wait_for_ready(30)
|
81
82
|
end
|
82
|
-
comm.sudo("systemctl restart systemd-networkd")
|
83
|
-
comm.wait_for_ready(30)
|
84
|
-
end
|
85
|
-
|
86
|
-
def self.find_network_file(comm, iface)
|
87
|
-
format('50-vagrant-%s.network', iface)
|
88
83
|
end
|
89
84
|
end
|
90
85
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-guests-clearlinux
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- António Meireles
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-07-
|
11
|
+
date: 2018-07-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|