foreman_xen 0.2.4 → 0.3.0

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: 82588f8bd4f2f6f33d10b123dfcecfdd449d2fe8
4
- data.tar.gz: 5cdf29eb501090f3c2397bf7a977e4f104d50551
3
+ metadata.gz: 2f1adce9377bfddcc90e390be4aa635db21f6c60
4
+ data.tar.gz: 7c2030f9848d832fc4cdffa24b498f4f10ecc748
5
5
  SHA512:
6
- metadata.gz: 64537d69aedd74fe08e745c251480d85572060b74cacce53bd97448b96174197caf46ebf28c2ef480835673427fdde39e45ef2ee31b07aa623e0458ddd8736c1
7
- data.tar.gz: 1f7f9efa28c5f05995f835464f86d2d5ea9d1605a44665f477defafa109220758005f27a1bb773ad5a645e5057f099606681af9873a9a6d0c77c1c06b89cb178
6
+ metadata.gz: 524c2b085d36a462d32c8c7d6ec3105739da12881a17a6ec8fe8ff9e6a1d906e9fbe7630211b5d5912380bbdf26aa205ec4d4153d7b3abf680bf10681639ba44
7
+ data.tar.gz: 8618ce64c4381cb460af72b5443efb079b88014a37547f4c53b211705106015291c014bf7682417f01dcdb03a664ec3cc18586999c1bbe56a8c56cb97d7e51a5
data/README.md CHANGED
@@ -12,11 +12,12 @@ Please see the Foreman manual for further instructions:
12
12
 
13
13
  ## Compatibility
14
14
 
15
- | Foreman Version | Plugin Version |
16
- |:--------------- |:-------------- |
17
- | >=1.5, <1.8 | 0.0.x |
18
- | >=1.8.1, <1.10 | 0.1.x |
19
- | >=1.10 | 0.2.x |
15
+ | Foreman Version | Plugin Version |
16
+ |:--------------- |:--------------------- |
17
+ | >=1.5, <1.8 | 0.0.x (unmaintained) |
18
+ | >=1.8.1, <1.10 | 0.1.x (unmaintained) |
19
+ | >=1.10, <1.11 | 0.2.x |
20
+ | >=1.11 | 0.3.x |
20
21
 
21
22
  ## Support
22
23
 
@@ -1,7 +1,7 @@
1
1
  module ForemanXen
2
2
  class SnapshotsController < ::ApplicationController
3
3
  helper :all
4
- skip_before_filter :verify_authenticity_token
4
+ skip_before_action :verify_authenticity_token
5
5
 
6
6
  # GET - foreman_xen/snapshots/:host_id
7
7
  def show
@@ -15,15 +15,12 @@ module ForemanXen
15
15
  @snapshots = @compute_resource.find_snapshots_for_vm(vm)
16
16
  else
17
17
  process_error(:error_msg => "Error retrieving compute resource #{@host.compute_resource_id} from provider.")
18
- return
19
18
  end
20
19
  end
21
20
  elsif @host.nil?
22
21
  process_error(:error_msg => "No host found with ID: #{id}.")
23
- return
24
22
  else
25
23
  process_error(:error_msg => "No compute resource found for host with ID: #{id}.")
26
- return
27
24
  end
28
25
  end
29
26
 
@@ -39,23 +36,15 @@ module ForemanXen
39
36
  vm.revert(ref)
40
37
  vm.start
41
38
  process_success(
42
- :success_msg => "Succesfully reverted and powered on #{@host.name}",
39
+ :success_msg => "Successfully reverted and powered on #{@host.name}",
43
40
  :success_redirect => "/foreman_xen/snapshots/#{id}"
44
41
  )
45
- return
46
42
  else
47
43
  process_error(:error_msg => "Error retrieving host information for #{@host.name}")
48
- return
49
44
  end
50
45
  else
51
46
  process_error(:error_msg => "Error retrieving compute resource information for #{@host.name}")
52
- return
53
47
  end
54
- process_success(
55
- :success_msg => ("Succesfully reverted #{@host.name}"),
56
- :success_redirect => "/foreman_xen/snapshots/#{id}"
57
- )
58
- nil
59
48
  end
60
49
 
61
50
  # GET = foreman_xen/snapshots/delete
@@ -72,22 +61,19 @@ module ForemanXen
72
61
  next unless snapshot.reference == ref
73
62
  name = snapshot.name
74
63
  snapshot.destroy
75
- notice "Succesfully deleted snapshot #{snapshot.name}"
64
+ notice "Successfully deleted snapshot #{snapshot.name}"
76
65
  break
77
66
  end
78
67
  else
79
- process_error(:error_msg => ("Error retrieving host information for host id: #{id}"))
80
- return
68
+ process_error(:error_msg => "Error retrieving host information for host id: #{id}")
81
69
  end
82
70
  else
83
- process_error(:error_msg => ("Error retrieving compute resource information for host id: #{id}"))
84
- return
71
+ process_error(:error_msg => "Error retrieving compute resource information for host id: #{id}")
85
72
  end
86
73
  process_success(
87
- :success_msg => ("Succesfully deleted snapshot: #{name}"),
74
+ :success_msg => "Successfully deleted snapshot: #{name}",
88
75
  :success_redirect => "/foreman_xen/snapshots/#{id}"
89
76
  )
90
- nil
91
77
  end
92
78
 
93
79
  # GET = foreman_xen/snapshots/:id/new
@@ -100,7 +86,6 @@ module ForemanXen
100
86
  process_error(
101
87
  :error_msg => "Error retrieving compute information for compute resource id: #{@host.compute_resource_id}"
102
88
  )
103
- return
104
89
  end
105
90
  else
106
91
  process_error(:error_msg => "Error retrieving host information for host id: #{id}")
@@ -113,52 +98,39 @@ module ForemanXen
113
98
  name = params[:name]
114
99
  if name.nil? || name == ''
115
100
  process_error(:error_msg => 'You must supply a name.')
116
- return
117
101
  end
118
102
  @host = get_host_by_id(id)
119
103
  if !@host.nil?
120
104
  @compute_resource = get_compute_resource_by_host_id(id)
121
105
  else
122
106
  process_error(:error_msg => "Error retrieving host information for host id #{id}")
123
- return
124
107
  end
125
108
  if !@compute_resource.nil?
126
109
  vm = @compute_resource.find_vm_by_uuid(@host.uuid)
127
110
  if !vm.nil?
128
111
  vm.snapshot(name)
129
112
  process_success(
130
- :success_msg => "Succesfully created snapshot #{name} for #{@host.name}",
113
+ :success_msg => "Successfully created snapshot #{name} for #{@host.name}",
131
114
  :success_redirect => "/foreman_xen/snapshots/#{id}"
132
115
  )
133
- return
134
116
  else
135
117
  process_error(:error_msg => "Error retrieving compute resource information for #{@host.name}")
136
- return
137
118
  end
138
119
  else
139
120
  process_error(:error_msg => "Error retrieving compute provider information for #{@host.name}")
140
- return
141
121
  end
142
122
  end
143
123
 
144
124
  def snapshots_url
145
125
  case params[:action]
146
126
  when 'show'
147
- return '/'
127
+ '/'
148
128
  when 'new'
149
129
  id = params[:id]
150
- if id.nil?
151
- return '/'
152
- else
153
- return "/foreman_xen/snapshots/#{id}"
154
- end
130
+ id.nil? ? '/' : "/foreman_xen/snapshots/#{id}"
155
131
  when 'create'
156
132
  id = params[:id]
157
- if id.nil?
158
- return '/'
159
- else
160
- return "/foreman_xen/snapshots/#{id}/new"
161
- end
133
+ id.nil? ? '/' : "/foreman_xen/snapshots/#{id}/new"
162
134
  end
163
135
  end
164
136
 
@@ -155,7 +155,7 @@ module ForemanXen
155
155
 
156
156
  def find_snapshots_for_vm(vm)
157
157
  return [] if vm.snapshots.empty?
158
- tmps = begin
158
+ tmps = begin
159
159
  client.servers.templates.select(&:is_a_snapshot)
160
160
  rescue
161
161
  []
@@ -198,17 +198,13 @@ module ForemanXen
198
198
  if builtin_template_name != '' && custom_template_name != ''
199
199
  logger.info "custom_template_name: #{custom_template_name}"
200
200
  logger.info "builtin_template_name: #{builtin_template_name}"
201
- fail 'you can select at most one template type'
201
+ raise 'you can select at most one template type'
202
202
  end
203
203
  begin
204
204
  vm = nil
205
205
  logger.info "create_vm(): custom_template_name: #{custom_template_name}"
206
206
  logger.info "create_vm(): builtin_template_name: #{builtin_template_name}"
207
- if custom_template_name != ''
208
- vm = create_vm_from_custom args
209
- else
210
- vm = create_vm_from_builtin args
211
- end
207
+ vm = (custom_template_name != '') ? create_vm_from_custom(args) : create_vm_from_builtin(args)
212
208
  vm.set_attribute('name_description', 'Provisioned by Foreman')
213
209
  cpus = args[:vcpus_max]
214
210
  if vm.vcpus_max.to_i < cpus.to_i
@@ -231,15 +227,15 @@ module ForemanXen
231
227
  mem_max = args[:memory_max]
232
228
  mem_min = args[:memory_min]
233
229
 
234
- if args[:hypervisor_host] != ''
235
- host = client.hosts.find { |host| host.name == args[:hypervisor_host] }
236
- logger.info "create_vm_from_builtin: host : #{host.name}"
237
- else
238
- host = client.hosts.first
239
- logger.info "create_vm_from_builtin: host : #{host.name}"
240
- end
230
+ host = if args[:hypervisor_host] != ''
231
+ client.hosts.find { |host| host.name == args[:hypervisor_host] }
232
+ else
233
+ client.hosts.first
234
+ end
235
+
236
+ logger.info "create_vm_from_builtin: host : #{host.name}"
241
237
 
242
- fail 'Memory max cannot be lower than Memory min' if mem_min.to_i > mem_max.to_i
238
+ raise 'Memory max cannot be lower than Memory min' if mem_min.to_i > mem_max.to_i
243
239
  vm = client.servers.new :name => args[:name],
244
240
  :affinity => host,
245
241
  :template_name => args[:custom_template_name]
@@ -283,18 +279,21 @@ module ForemanXen
283
279
  end
284
280
 
285
281
  def create_vm_from_builtin(args)
282
+ mem_max = args[:memory_max]
283
+ mem_min = args[:memory_min]
284
+
285
+ host = if args[:hypervisor_host] != ''
286
+ client.hosts.find { |host| host.name == args[:hypervisor_host] }
287
+ else
288
+ client.hosts.first
289
+ end
290
+
291
+ logger.info "create_vm_from_builtin: host : #{host.name}"
292
+
286
293
  builtin_template_name = args[:builtin_template_name]
287
294
  builtin_template_name = builtin_template_name.to_s
288
295
 
289
- if args[:hypervisor_host] != ''
290
- host = client.hosts.find { |host| host.name == args[:hypervisor_host] }
291
- logger.info "create_vm_from_builtin: host : #{host.name}"
292
- else
293
- host = client.hosts.first
294
- logger.info "create_vm_from_builtin: host : #{host.name}"
295
- end
296
-
297
- storage_repository = client.storage_repositories.find { |sr| sr.uuid == "#{args[:VBDs][:sr_uuid]}" }
296
+ storage_repository = client.storage_repositories.find { |sr| sr.uuid == (args[:VBDs][:sr_uuid]).to_s }
298
297
 
299
298
  gb = 1_073_741_824 # 1gb in bytes
300
299
  size = args[:VBDs][:physical_size].to_i * gb
@@ -303,8 +302,6 @@ module ForemanXen
303
302
  :description => "#{args[:name]}-disk_1",
304
303
  :virtual_size => size.to_s
305
304
 
306
- mem_max = args[:memory_max]
307
- mem_min = args[:memory_min]
308
305
  other_config = {}
309
306
  if builtin_template_name != ''
310
307
  template = client.servers.builtin_templates.find { |tmp| tmp.name == args[:builtin_template_name] }
@@ -336,10 +333,10 @@ module ForemanXen
336
333
 
337
334
  def console(uuid)
338
335
  vm = find_vm_by_uuid(uuid)
339
- fail 'VM is not running!' unless vm.ready?
336
+ raise 'VM is not running!' unless vm.ready?
340
337
 
341
338
  console = vm.service.consoles.find { |c| c.__vm == vm.reference && c.protocol == 'rfb' }
342
- fail "No console for vm #{vm.name}" if console.nil?
339
+ raise "No console for vm #{vm.name}" if console.nil?
343
340
 
344
341
  session_ref = (vm.service.instance_variable_get :@connection).instance_variable_get :@credentials
345
342
  full_url = "#{console.location}&session_id=#{session_ref}"
@@ -8,6 +8,4 @@
8
8
  <% end -%>
9
9
  <%= link_to_function _("Test Connection"), "testConnection(this)", :class => "btn + #{hypervisor.nil? ? "btn-default" : "btn-success"}", :'data-url' => test_connection_compute_resources_path %>
10
10
 
11
- <%= image_tag('/assets/spinner.gif', :id => 'test_connection_indicator', :class => 'hide') %>
12
-
13
-
11
+ <%= hidden_spinner('', :id => 'test_connection_indicator') %>
@@ -15,7 +15,7 @@ module ForemanXen
15
15
 
16
16
  initializer 'foreman_xen.register_plugin', :after => :finisher_hook do |app|
17
17
  Foreman::Plugin.register :foreman_xen do
18
- requires_foreman '>= 1.8'
18
+ requires_foreman '>= 1.11'
19
19
  # Register xen compute resource in foreman
20
20
  compute_resource ForemanXen::Xenserver
21
21
  end
@@ -24,7 +24,7 @@ module ForemanXen
24
24
  config.to_prepare do
25
25
  begin
26
26
  # extend fog xen server and image models.
27
- require 'fog/xenserver/models/compute/server'
27
+ require 'fog/compute/xen_server/models/server'
28
28
  require File.expand_path('../../../app/models/concerns/fog_extensions/xenserver/server', __FILE__)
29
29
  require File.expand_path('../../../app/models/concerns/foreman_xen/host_helper_extensions', __FILE__)
30
30
 
@@ -1,3 +1,3 @@
1
1
  module ForemanXen
2
- VERSION = '0.2.4'
2
+ VERSION = '0.3.0'.freeze
3
3
  end
@@ -29,7 +29,7 @@ class VNCTunnel
29
29
  listen client_srv
30
30
  else
31
31
  logger.error "Cannot connect to the conosle located at #{uri} reason: #{header}"
32
- fail "Cannot connect to the console located at #{uri} reason: #{header}"
32
+ raise "Cannot connect to the console located at #{uri} reason: #{header}"
33
33
  end
34
34
  end
35
35
  end
@@ -76,7 +76,7 @@ class VNCTunnel
76
76
  data = @srv_socket.read_nonblock(1024)
77
77
  @client_socket.write(data)
78
78
  rescue IO::WaitReadable => e
79
- retry unless (IO.select([@srv_socket], nil, nil, 60)).nil?
79
+ retry unless IO.select([@srv_socket], nil, nil, 60).nil?
80
80
  end
81
81
  end
82
82
  rescue EOFError
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_xen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Nemirovsky
@@ -10,8 +10,22 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-01-16 00:00:00.000000000 Z
13
+ date: 2016-02-25 00:00:00.000000000 Z
14
14
  dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: fog-xenserver
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - "~>"
20
+ - !ruby/object:Gem::Version
21
+ version: '0.2'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - "~>"
27
+ - !ruby/object:Gem::Version
28
+ version: '0.2'
15
29
  - !ruby/object:Gem::Dependency
16
30
  name: rake
17
31
  requirement: !ruby/object:Gem::Requirement