vagrant-xenserver 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
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.