vagrant-xenserver 0.0.8 → 0.0.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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c36e407b54f5793660b1d301dca4043ab1027588
|
4
|
+
data.tar.gz: a36f6232bc1afee81fbeb034a38a1b9954fde56b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0d0d585621e5cf7e9f0b9d9b6a73b1c264c4fa656788dd95fe8a1cc9240a162c65bc8c31b0c66f627b17b4dfcb236181c92fc44e5a4c71a3982ff2727845aac8
|
7
|
+
data.tar.gz: beaf065687e10e559d7eb529e4ea727f454655b0fa7340baac3fe3304f7d8bfd365415ca3078cd6f50fcb4262e0726b40f1902be5f09925d6ef5f9b793868296
|
@@ -1,5 +1,25 @@
|
|
1
1
|
require 'nokogiri'
|
2
2
|
require 'socket'
|
3
|
+
require 'rbconfig'
|
4
|
+
|
5
|
+
def os
|
6
|
+
@os ||= (
|
7
|
+
host_os = RbConfig::CONFIG['host_os']
|
8
|
+
case host_os
|
9
|
+
when /mswin|msys|mingw|cygwin|bccwin|wince|emc/
|
10
|
+
:windows
|
11
|
+
when /darwin|mac os/
|
12
|
+
:macosx
|
13
|
+
when /linux/
|
14
|
+
:linux
|
15
|
+
when /solaris|bsd/
|
16
|
+
:unix
|
17
|
+
else
|
18
|
+
raise Vagrant::Errors::UnknownOS # "unknown os: #{host_os.inspect}"
|
19
|
+
end
|
20
|
+
)
|
21
|
+
end
|
22
|
+
|
3
23
|
|
4
24
|
module VagrantPlugins
|
5
25
|
module XenServer
|
@@ -41,9 +61,23 @@ module VagrantPlugins
|
|
41
61
|
def read_host_ip(machine,env)
|
42
62
|
ip = Socket.getaddrinfo(env[:machine].provider_config.xs_host,nil)[0][2]
|
43
63
|
env[:xs_host_ip] = ip
|
44
|
-
|
45
|
-
|
46
|
-
|
64
|
+
def get_local_ip_linux(ip)
|
65
|
+
re = /src ([0-9\.]+)/
|
66
|
+
match = `ip route get to #{ip} | head -n 1`.match re
|
67
|
+
match[1]
|
68
|
+
end
|
69
|
+
def get_local_ip_mac(ip)
|
70
|
+
re = /interface: ([a-z0-9]+)/
|
71
|
+
match = `route get #{ip} | grep interface | head -n 1`.match re
|
72
|
+
interface = match[1]
|
73
|
+
re = /inet ([0-9\.]+)/
|
74
|
+
match = `ifconfig #{interface} inet | tail -1`.match re
|
75
|
+
match[1]
|
76
|
+
end
|
77
|
+
if os == :linux then get_local_ip_linux(ip)
|
78
|
+
elsif os == :macosx then get_local_ip_mac(ip)
|
79
|
+
else raise Vagrant::Errors::UnknownOS # "unknown os: #{host_os.inspect}"
|
80
|
+
end
|
47
81
|
end
|
48
82
|
end
|
49
83
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-xenserver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jon Ludlam
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-12-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -86,7 +86,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
86
86
|
version: '0'
|
87
87
|
requirements: []
|
88
88
|
rubyforge_project:
|
89
|
-
rubygems_version: 2.
|
89
|
+
rubygems_version: 2.4.1
|
90
90
|
signing_key:
|
91
91
|
specification_version: 4
|
92
92
|
summary: Enables Vagrant to manage XenServers.
|