vagrant-xenserver 0.0.9 → 0.0.10

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: c36e407b54f5793660b1d301dca4043ab1027588
4
- data.tar.gz: a36f6232bc1afee81fbeb034a38a1b9954fde56b
3
+ metadata.gz: 60d23b13ffeb8978a9263bd5becf5f4c5c03dfc0
4
+ data.tar.gz: 25765e00e6391ff129ac939262b7efc75211dfd9
5
5
  SHA512:
6
- metadata.gz: 0d0d585621e5cf7e9f0b9d9b6a73b1c264c4fa656788dd95fe8a1cc9240a162c65bc8c31b0c66f627b17b4dfcb236181c92fc44e5a4c71a3982ff2727845aac8
7
- data.tar.gz: beaf065687e10e559d7eb529e4ea727f454655b0fa7340baac3fe3304f7d8bfd365415ca3078cd6f50fcb4262e0726b40f1902be5f09925d6ef5f9b793868296
6
+ metadata.gz: 64d00ae9d0fff98f588bd479b8c66b3af551bc274cbf37a398ad192c0c3c751d08c4d9e23dd2fdeb6a487328b7763bd4103c16ad8d950d883abba68909baeef4
7
+ data.tar.gz: 5dd5ac801e0b97d7adc62da6123488215723d913d72b3bc3ab8c62aabf957e6d9fcca2fb443eb2850eaa36c2baca0de1506b0eb0ed7be22d68185a223468ed48
data/README.md CHANGED
@@ -9,8 +9,6 @@ control and provision machines on a XenServer host.
9
9
  ## Installation
10
10
  ```shell
11
11
  vagrant plugin install vagrant-xenserver
12
- # Make your linux box look like a Mac :) (maybe)
13
- sudo ln -s /bin/tar /bin/bsdtar
14
12
  ```
15
13
 
16
14
  ## XenServer host setup
@@ -20,7 +18,7 @@ N.B. Currently this will only work on a trunk build of XenServer:
20
18
  yum install --enablerepo=base,extras --disablerepo=citrix -y nc
21
19
  # Setup NAT - NB, this _disable the firewall_ - be careful!
22
20
  echo 1 > /proc/sys/net/ipv4/ip_forward
23
- /sbin/iptables -F INPUT
21
+ /sbin/iptables -F
24
22
 
25
23
  /sbin/iptables -t nat -A POSTROUTING -o xenbr0 -j MASQUERADE
26
24
  /sbin/iptables -A INPUT -i xenbr0 -p tcp -m tcp --dport 53 -j ACCEPT
@@ -0,0 +1,55 @@
1
+ require "log4r"
2
+ require "xmlrpc/client"
3
+
4
+ module VagrantPlugins
5
+ module XenServer
6
+ module Action
7
+ class CreateVIFs
8
+ def initialize(app, env)
9
+ @app = app
10
+ @logger = Log4r::Logger.new("vagrant::xenserver::actions::create_vifs")
11
+ end
12
+
13
+ def call(env)
14
+ myvm = env[:machine].id
15
+
16
+ env[:machine].config.vm.networks.each do |type, options|
17
+ next if type == :forwarded_port
18
+ @logger.info "got an interface: #{type} #{options}"
19
+
20
+ if type == :public_network then
21
+ bridge = options[:bridge]
22
+
23
+ networks = env[:xc].call("network.get_all_records",env[:session])['Value']
24
+
25
+ netrefrec = networks.find { |ref,net| net['bridge']==bridge }
26
+ (net_ref,net_rec) = netrefrec
27
+
28
+ vif_devices = env[:xc].call("VM.get_allowed_VIF_devices",env[:session],myvm)['Value']
29
+
30
+ vif_record = {
31
+ 'VM' => myvm,
32
+ 'network' => net_ref,
33
+ 'device' => vif_devices[0],
34
+ 'MAC' => '',
35
+ 'MTU' => '1500',
36
+ 'other_config' => {},
37
+ 'qos_algorithm_type' => '',
38
+ 'qos_algorithm_params' => {},
39
+ 'locking_mode' => 'network_default',
40
+ 'ipv4_allowed' => [],
41
+ 'ipv6_allowed' => []
42
+ }
43
+
44
+ vif_res = env[:xc].call("VIF.create",env[:session],vif_record)
45
+
46
+ @logger.info("vif_res=" + vif_res.to_s)
47
+ end
48
+ end
49
+
50
+ @app.call env
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -30,6 +30,7 @@ module VagrantPlugins
30
30
  b2.use UploadVHD
31
31
  b2.use CloneDisk
32
32
  b2.use CreateVM
33
+ b2.use CreateVIFs
33
34
  end
34
35
  b2.use action_boot
35
36
  end
@@ -106,6 +107,9 @@ module VagrantPlugins
106
107
  end
107
108
  b2.use ConnectXS
108
109
  b2.use DestroyVM
110
+ b2.use ProvisionerCleanup
111
+ b2.use PrepareNFSValidIds
112
+ b2.use SyncedFolderCleanup
109
113
  end
110
114
  end
111
115
  end
@@ -202,6 +206,7 @@ module VagrantPlugins
202
206
  end
203
207
 
204
208
  action_root = Pathname.new(File.expand_path('../action', __FILE__))
209
+ autoload :CreateVIFs, action_root.join("create_vifs")
205
210
  autoload :ConnectXS, action_root.join("connect_xs")
206
211
  autoload :DummyMessage, action_root.join('dummy')
207
212
  autoload :ReadState, action_root.join('read_state')
@@ -1,6 +1,6 @@
1
1
  module VagrantPlugins
2
2
  module XenServer
3
- VERSION = "0.0.9"
3
+ VERSION = "0.0.10"
4
4
  end
5
5
  end
6
6
 
@@ -13,6 +13,8 @@ Gem::Specification.new do |s|
13
13
  s.description = "Enables Vagrant to manage XenServers."
14
14
 
15
15
  s.add_development_dependency "rake"
16
+ s.add_runtime_dependency "nokogiri", "~> 1.6.3"
17
+ s.add_runtime_dependency "json"
16
18
 
17
19
  s.files = `git ls-files`.split($\)
18
20
  s.executables = [] # gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
metadata CHANGED
@@ -1,27 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-xenserver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
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-12-18 00:00:00.000000000 Z
11
+ date: 2015-07-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: nokogiri
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 1.6.3
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 1.6.3
41
+ - !ruby/object:Gem::Dependency
42
+ name: json
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
25
53
  - !ruby/object:Gem::Version
26
54
  version: '0'
27
55
  description: Enables Vagrant to manage XenServers.
@@ -40,6 +68,7 @@ files:
40
68
  - lib/vagrant-xenserver/action.rb
41
69
  - lib/vagrant-xenserver/action/clone_disk.rb
42
70
  - lib/vagrant-xenserver/action/connect_xs.rb
71
+ - lib/vagrant-xenserver/action/create_vifs.rb
43
72
  - lib/vagrant-xenserver/action/create_vm.rb
44
73
  - lib/vagrant-xenserver/action/destroy_vm.rb
45
74
  - lib/vagrant-xenserver/action/dummy.rb
@@ -76,17 +105,17 @@ require_paths:
76
105
  - lib
77
106
  required_ruby_version: !ruby/object:Gem::Requirement
78
107
  requirements:
79
- - - '>='
108
+ - - ">="
80
109
  - !ruby/object:Gem::Version
81
110
  version: '0'
82
111
  required_rubygems_version: !ruby/object:Gem::Requirement
83
112
  requirements:
84
- - - '>='
113
+ - - ">="
85
114
  - !ruby/object:Gem::Version
86
115
  version: '0'
87
116
  requirements: []
88
117
  rubyforge_project:
89
- rubygems_version: 2.4.1
118
+ rubygems_version: 2.2.3
90
119
  signing_key:
91
120
  specification_version: 4
92
121
  summary: Enables Vagrant to manage XenServers.