foreman_xen 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,6 @@
1
1
  <div class="fields">
2
2
 
3
- <%= selectable_f f, :sr_uuid, compute_resource.storage_pools.map{ |item| [item[:display_name], item[:uuid]]}, { :selected => attribute_map[:volume_selected] }, :class => "span2", :label => _("Storage Repository") %>
3
+ <%= selectable_f f, :sr_uuid, compute_resource.storage_pools.map { |item| [item[:display_name], item[:uuid]] }, { :selected => attribute_map[:volume_selected] }, :class => "span2", :label => _("Storage Repository") %>
4
4
 
5
5
  <%= text_f f, :physical_size, :class => "input-mini", :label => _("Size (GB)"), :value => attribute_map[:volume_size] %>
6
6
  </div>
@@ -16,6 +16,7 @@
16
16
 
17
17
  <div class="form-group">
18
18
  <label class="col-md-2 control-label" for="xenstore-vm-data-ifs-0-ip">vm-data/ifs/0/ip</label>
19
+
19
20
  <div class="col-md-4">
20
21
  <div class="controls">
21
22
  <input <%= disabled %> id="xenstore-vm-data-ifs-0-ip" type="text" name="host[compute_attributes][xenstore][vm-data][ifs][0][ip]" class="form-control input-mini" value="<%= vmdata[:ifs]['0'][:ip] %>">
@@ -25,6 +26,7 @@
25
26
 
26
27
  <div class="form-group">
27
28
  <label class="col-md-2 control-label" for="xenstore-vm-data-ifs-0-gateway">vm-data/ifs/0/gateway</label>
29
+
28
30
  <div class="col-md-4">
29
31
  <div class="controls">
30
32
  <input <%= disabled %> id="xenstore-vm-data-ifs-0-gateway" type="text" name="host[compute_attributes][xenstore][vm-data][ifs][0][gateway]" class="form-control input-mini" value="<%= vmdata[:ifs]['0'][:gateway] %>">
@@ -34,6 +36,7 @@
34
36
 
35
37
  <div class="form-group">
36
38
  <label class="col-md-2 control-label" for="xenstore-vm-data-ifs-0-netmask">vm-data/ifs/0/netmask</label>
39
+
37
40
  <div class="col-md-4">
38
41
  <div class="controls">
39
42
  <input <%= disabled %> id="xenstore-vm-data-ifs-0-netmask" type="text" name="host[compute_attributes][xenstore][vm-data][ifs][0][netmask]" class="form-control input-mini" value="<%= vmdata[:ifs]['0'][:netmask] %>">
@@ -43,6 +46,7 @@
43
46
 
44
47
  <div class="form-group">
45
48
  <label class="col-md-2 control-label" for="xenstore-vm-data-nameserver1">vm-data/nameserver1</label>
49
+
46
50
  <div class="col-md-4">
47
51
  <input <%= disabled %> id="xenstore-vm-data-nameserver1" type="text" name="host[compute_attributes][xenstore][vm-data][nameserver1]" class="form-control input-mini" value="<%= vmdata[:nameserver1] %>">
48
52
  </div>
@@ -50,13 +54,15 @@
50
54
 
51
55
  <div class="form-group">
52
56
  <label class="col-md-2 control-label" for="xenstore-vm-data-nameserver2">vm-data/nameserver2</label>
57
+
53
58
  <div class="col-md-4">
54
- <input <%= disabled %> id="xenstore-vm-data-nameserver2" type="text" name="host[compute_attributes][xenstore][vm-data][nameserver2]" class="form-control input-mini" value="<%= vmdata[:nameserver2] %>">
59
+ <input <%= disabled %> id="xenstore-vm-data-nameserver2" type="text" name="host[compute_attributes][xenstore][vm-data][nameserver2]" class="form-control input-mini" value="<%= vmdata[:nameserver2] %>">
55
60
  </div>
56
61
  </div>
57
62
 
58
63
  <div class="form-group">
59
64
  <label class="col-md-2 control-label" for="xenstore-vm-data-environment">vm-data/environment</label>
65
+
60
66
  <div class="col-md-4">
61
67
  <input <%= disabled %> id="xenstore-vm-data-environment" type="text" name="host[compute_attributes][xenstore][vm-data][environment]" class="form-control input-mini" value="<%= vmdata[:environment] %>">
62
68
  </div>
@@ -5,18 +5,18 @@
5
5
  if params && params['host'] && params['host']['compute_attributes'] && params['host']['compute_attributes']['custom_template_name'] != ''
6
6
  hide_raw = 'display:none;'
7
7
  end
8
-
8
+
9
9
  if controller_name == 'hosts'
10
- fields_enabled = true
11
- start_enable = true
12
- elsif controller_name == 'compute_attributes'
13
- fields_enabled = true
14
- compute_attributes = compute_resource.compute_profile_attributes_for(params['compute_profile_id'])
15
- name = compute_attributes['name']
10
+ fields_enabled = true
11
+ start_enable = true
12
+ elsif controller_name == 'compute_attributes'
13
+ fields_enabled = true
14
+ compute_attributes = compute_resource.compute_profile_attributes_for(params['compute_profile_id'])
15
+ name = compute_attributes['name']
16
16
  else
17
17
  fields_enabled = false
18
18
  end
19
-
19
+
20
20
  -%>
21
21
 
22
22
  <!-- VM Initial Settings -->
@@ -25,9 +25,9 @@
25
25
  <legend>VM Profile</legend>
26
26
  <div class="fields">
27
27
  <!--<%= text_f f, :name, :disabled => !fields_enabled, :value => name, :label => 'Name' if controller_name != 'hosts' %>-->
28
- <%= selectable_f f, :vcpus_max, 1..compute_resource.max_cpu_count, {:selected => attribute_map[:cpu_count]}, :class => 'input-mini', :disabled => !fields_enabled, :label => 'vCPUs' %>
29
- <%= selectable_f f, :memory_min, memory_options(compute_resource.max_memory), {:selected => attribute_map[:memory_min]}, :class => 'form-control span2', :disabled => !fields_enabled, :label => 'Memory Min' %>
30
- <%= selectable_f f, :memory_max, memory_options(compute_resource.max_memory), {:selected => attribute_map[:memory_max]}, :class => 'form-control span2', :disabled => !fields_enabled, :label => 'Memory Max' %>
28
+ <%= selectable_f f, :vcpus_max, 1..compute_resource.max_cpu_count, { :selected => attribute_map[:cpu_count] }, :class => 'input-mini', :disabled => !fields_enabled, :label => 'vCPUs' %>
29
+ <%= selectable_f f, :memory_min, memory_options(compute_resource.max_memory), { :selected => attribute_map[:memory_min] }, :class => 'form-control span2', :disabled => !fields_enabled, :label => 'Memory Min' %>
30
+ <%= selectable_f f, :memory_max, memory_options(compute_resource.max_memory), { :selected => attribute_map[:memory_max] }, :class => 'form-control span2', :disabled => !fields_enabled, :label => 'Memory Max' %>
31
31
  </div>
32
32
  </fieldset>
33
33
  </div>
@@ -72,53 +72,53 @@
72
72
 
73
73
  <!-- Startup -->
74
74
  <div class="children_fields" id="xenserver-vm-start" style="<%= hide_raw %>">
75
- <%= field_set_tag 'VM Startup Options', :id => 'vm_starup_options', :title => _('Power ON VM') do -%>
76
- <%= checkbox_f f, :start, :checked => (attribute_map[:power_on] == '1' || start_enable), :label => _("Power ON VM") %>
75
+ <%= field_set_tag 'VM Startup Options', :id => 'vm_startup_options', :title => _('Power ON VM') do -%>
76
+ <%= checkbox_f f, :start, :checked => (attribute_map[:power_on] == '1' || start_enable), :label => _("Power ON VM") %>
77
77
  <% end -%>
78
78
  </div>
79
79
 
80
80
  <script type="text/javascript">
81
-
82
- // Check if its a computer resource template then just do not show the form of XenStore
83
- if ($("#compute_attribute_compute_profile_id").length > 0){
84
- $('#xenserver-xenstore-data').hide(1)
85
- }
86
-
87
- // Check if custom template in use then do now show SR settings
88
- if ($("#compute_attribute_vm_attrs_builtin_template_name").val() == "" && $("#compute_attribute_vm_attrs_custom_template_name").val() != ""){
89
- $('.xenserver-raw').hide(1);
90
- }
91
-
92
- // Check which template are in use
93
- if ($("#compute_attribute_vm_attrs_builtin_template_name").val() != "" ){
94
- $('#compute_attribute_vm_attrs_custom_template_name').val($("#compute_attribute_vm_attrs_custom_template_name option:contains('No template')").val());
95
- // IE and Chrome
96
- $('#compute_attribute_vm_attrs_custom_template_name').attr("disabled", 'disabled');
97
- $('.custom_template_name').prop("disabled", true);
98
- }
99
-
100
- if ($("#compute_attribute_vm_attrs_custom_template_name").val() != "" ){
101
- $('#compute_attribute_vm_attrs_builtin_template_name').val($("#compute_attribute_vm_attrs_custom_template_name option:contains('No template')").val());
102
- // IE and Chrome
103
- $('#compute_attribute_vm_attrs_builtin_template_name').attr("disabled", 'disabled');
104
- $('.buildin_templates').prop("disabled", true);
105
- }
106
-
107
- // Computer Profile Templates
81
+
82
+ // Check if its a computer resource template then just do not show the form of XenStore
83
+ if ($("#compute_attribute_compute_profile_id").length > 0) {
84
+ $('#xenserver-xenstore-data').hide(1)
85
+ }
86
+
87
+ // Check if custom template in use then do now show SR settings
88
+ if ($("#compute_attribute_vm_attrs_builtin_template_name").val() == "" && $("#compute_attribute_vm_attrs_custom_template_name").val() != "") {
89
+ $('.xenserver-raw').hide(1);
90
+ }
91
+
92
+ // Check which template are in use
93
+ if ($("#compute_attribute_vm_attrs_builtin_template_name").val() != "") {
94
+ $('#compute_attribute_vm_attrs_custom_template_name').val($("#compute_attribute_vm_attrs_custom_template_name option:contains('No template')").val());
95
+ // IE and Chrome
96
+ $('#compute_attribute_vm_attrs_custom_template_name').attr("disabled", 'disabled');
97
+ $('.custom_template_name').prop("disabled", true);
98
+ }
99
+
100
+ if ($("#compute_attribute_vm_attrs_custom_template_name").val() != "") {
101
+ $('#compute_attribute_vm_attrs_builtin_template_name').val($("#compute_attribute_vm_attrs_custom_template_name option:contains('No template')").val());
102
+ // IE and Chrome
103
+ $('#compute_attribute_vm_attrs_builtin_template_name').attr("disabled", 'disabled');
104
+ $('.builtin_templates').prop("disabled", true);
105
+ }
106
+
107
+ // Computer Profile Templates
108
108
  $(document).off('change.xenserver', '#compute_attribute_vm_attrs_custom_template_name');
109
109
  $(document).on('change.xenserver', '#compute_attribute_vm_attrs_custom_template_name', function (data) {
110
110
  if ($('option:selected', data.target).val() == "") {
111
- $('.xenserver-raw').show(1000)
112
- // IE and Chrome
113
- $('.buildin_templates').prop("disabled", false);
114
- $('#compute_attribute_vm_attrs_builtin_template_name').removeAttr('disabled');
111
+ $('.xenserver-raw').show(1000);
112
+ // IE and Chrome
113
+ $('.builtin_templates').prop("disabled", false);
114
+ $('#compute_attribute_vm_attrs_builtin_template_name').removeAttr('disabled');
115
115
  } else {
116
- $('.xenserver-raw').hide(1000)
117
- $('#compute_attribute_vm_attrs_builtin_template_name').val($("#compute_attribute_vm_attrs_builtin_template_name option:contains('No template')").val());
118
- // IE and Chrome
119
- $('#compute_attribute_vm_attrs_builtin_template_name').attr("disabled", 'disabled');
120
- $('.buildin_templates').prop("disabled", true);
121
-
116
+ $('.xenserver-raw').hide(1000);
117
+ $('#compute_attribute_vm_attrs_builtin_template_name').val($("#compute_attribute_vm_attrs_builtin_template_name option:contains('No template')").val());
118
+ // IE and Chrome
119
+ $('#compute_attribute_vm_attrs_builtin_template_name').attr("disabled", 'disabled');
120
+ $('.builtin_templates').prop("disabled", true);
121
+
122
122
  }
123
123
 
124
124
  });
@@ -126,51 +126,51 @@
126
126
  $(document).off('change.xenserver', '#compute_attribute_vm_attrs_builtin_template_name');
127
127
  $(document).on('change.xenserver', '#compute_attribute_vm_attrs_builtin_template_name', function (data) {
128
128
  if ($('option:selected', data.target).val() == "") {
129
- // IE and Chrome
130
- $('.buildin_templates').prop("disabled", false);
131
- $('#compute_attribute_vm_attrs_custom_template_name').removeAttr('disabled');
129
+ // IE and Chrome
130
+ $('.builtin_templates').prop("disabled", false);
131
+ $('#compute_attribute_vm_attrs_custom_template_name').removeAttr('disabled');
132
132
  } else {
133
- $('#compute_attribute_vm_attrs_custom_template_name').val($("#compute_attribute_vm_attrs_custom_template_name option:contains('No template')").val());
134
- // IE and Chrome
135
- $('#compute_attribute_vm_attrs_custom_template_name').attr("disabled", 'disabled');
136
- $('.custom_template_name').prop("disabled", true);
137
-
133
+ $('#compute_attribute_vm_attrs_custom_template_name').val($("#compute_attribute_vm_attrs_custom_template_name option:contains('No template')").val());
134
+ // IE and Chrome
135
+ $('#compute_attribute_vm_attrs_custom_template_name').attr("disabled", 'disabled');
136
+ $('.custom_template_name').prop("disabled", true);
137
+
138
138
  }
139
139
 
140
- })
140
+ });
141
+
142
+
143
+ // Host Profile Forms
144
+
145
+ // Check which template are in use
146
+ if ($("#host_compute_attributes_custom_template_name").val() != "") {
147
+ $('#host_compute_attributes_builtin_template_name').val($("#host_compute_attributes_builtin_template_name option:contains('No template')").val());
148
+ // IE and Chrome
149
+ $('#host_compute_attributes_builtin_template_name').attr("disabled", 'disabled');
150
+ $('.builtin_templates').prop("disabled", true);
151
+ }
152
+
153
+ if ($("#host_compute_attributes_builtin_template_name").val() != "") {
154
+ $('#host_compute_attributes_custom_template_name').val($("#host_compute_attributes_custom_template_name option:contains('No template')").val());
155
+ // IE and Chrome
156
+ $('#host_compute_attributes_custom_template_name').attr("disabled", 'disabled');
157
+ $('.custom_template_name').prop("disabled", true);
158
+ }
141
159
 
142
-
143
- // Host Profile Forms
144
-
145
- // Check which template are in use
146
- if ($("#host_compute_attributes_custom_template_name").val() != "" ){
147
- $('#host_compute_attributes_builtin_template_name').val($("#host_compute_attributes_builtin_template_name option:contains('No template')").val());
148
- // IE and Chrome
149
- $('#host_compute_attributes_builtin_template_name').attr("disabled", 'disabled');
150
- $('.buildin_templates').prop("disabled", true);
151
- }
152
-
153
- if ($("#host_compute_attributes_builtin_template_name").val() != "" ){
154
- $('#host_compute_attributes_custom_template_name').val($("#host_compute_attributes_custom_template_name option:contains('No template')").val());
155
- // IE and Chrome
156
- $('#host_compute_attributes_custom_template_name').attr("disabled", 'disabled');
157
- $('.custom_template_name').prop("disabled", true);
158
- }
159
-
160
160
  $(document).off('change.xenserver', '#host_compute_attributes_custom_template_name');
161
161
  $(document).on('change.xenserver', '#host_compute_attributes_custom_template_name', function (data) {
162
162
  if ($('option:selected', data.target).val() == "") {
163
- $('.xenserver-raw').show(1000)
164
- // IE and Chrome
165
- $('.buildin_templates').prop("disabled", false);
166
- $('#host_compute_attributes_builtin_template_name').removeAttr('disabled');
163
+ $('.xenserver-raw').show(1000);
164
+ // IE and Chrome
165
+ $('.builtin_templates').prop("disabled", false);
166
+ $('#host_compute_attributes_builtin_template_name').removeAttr('disabled');
167
167
  } else {
168
- $('.xenserver-raw').hide(1000)
169
- $('#host_compute_attributes_builtin_template_name').val($("#host_compute_attributes_builtin_template_name option:contains('No template')").val());
170
- // IE and Chrome
171
- $('#host_compute_attributes_builtin_template_name').attr("disabled", 'disabled');
172
- $('.buildin_templates').prop("disabled", true);
173
-
168
+ $('.xenserver-raw').hide(1000);
169
+ $('#host_compute_attributes_builtin_template_name').val($("#host_compute_attributes_builtin_template_name option:contains('No template')").val());
170
+ // IE and Chrome
171
+ $('#host_compute_attributes_builtin_template_name').attr("disabled", 'disabled');
172
+ $('.builtin_templates').prop("disabled", true);
173
+
174
174
  }
175
175
 
176
176
  });
@@ -178,15 +178,15 @@
178
178
  $(document).off('change.xenserver', '#host_compute_attributes_builtin_template_name');
179
179
  $(document).on('change.xenserver', '#host_compute_attributes_builtin_template_name', function (data) {
180
180
  if ($('option:selected', data.target).val() == "") {
181
- // IE and Chrome
182
- $('.buildin_templates').prop("disabled", false);
183
- $('#host_compute_attributes_custom_template_name').removeAttr('disabled');
181
+ // IE and Chrome
182
+ $('.builtin_templates').prop("disabled", false);
183
+ $('#host_compute_attributes_custom_template_name').removeAttr('disabled');
184
184
  } else {
185
- $('#host_compute_attributes_custom_template_name').val($("#host_compute_attributes_builtin_template_name option:contains('No template')").val());
186
- // IE and Chrome
187
- $('#host_compute_attributes_custom_template_name').attr("disabled", 'disabled');
188
- $('.custom_template_name').prop("disabled", true);
189
-
185
+ $('#host_compute_attributes_custom_template_name').val($("#host_compute_attributes_builtin_template_name option:contains('No template')").val());
186
+ // IE and Chrome
187
+ $('#host_compute_attributes_custom_template_name').attr("disabled", 'disabled');
188
+ $('.custom_template_name').prop("disabled", true);
189
+
190
190
  }
191
191
  })
192
192
  </script>
@@ -10,14 +10,14 @@
10
10
  </thead>
11
11
  <tbody>
12
12
  <% @vms.each do |vm| -%>
13
- <tr>
14
- <td><%= link_to_if_authorized vm.name, hash_for_compute_resource_vm_path(:compute_resource_id => @compute_resource, :id => vm.identity) %></td>
15
- <td><%= vm.vcpus_max %></td>
16
- <td><%= (vm.memory_static_max.to_i / 1073741824).to_s %> GB</td>
17
- <td><%= vm.power_state %> </td>
18
- <td><%= vm.domid %></td>
13
+ <tr>
14
+ <td><%= link_to_if_authorized vm.name, hash_for_compute_resource_vm_path(:compute_resource_id => @compute_resource, :id => vm.identity) %></td>
15
+ <td><%= vm.vcpus_max %></td>
16
+ <td><%= (vm.memory_static_max.to_i / 1073741824).to_s %> GB</td>
17
+ <td><%= vm.power_state %> </td>
18
+ <td><%= vm.domid %></td>
19
19
 
20
- </tr>
20
+ </tr>
21
21
  <% end -%>
22
22
  </tbody>
23
23
  </table>
@@ -1,23 +1,23 @@
1
1
  <% title _("Create Snapshot") %>
2
2
 
3
3
  <%= form_tag("create", method: "post") do %>
4
- <div class="clearfix">
5
- <div class="form-group">
6
- <%= label_tag 'name', 'Name:', class: 'col-md-2 control-label' %>
7
- <div class="col-md-8">
8
- <%= text_field_tag(:name, nil, class: "form-control") %>
9
- </div>
4
+ <div class="clearfix">
5
+ <div class="form-group">
6
+ <%= label_tag 'name', 'Name:', class: 'col-md-2 control-label' %>
7
+ <div class="col-md-8">
8
+ <%= text_field_tag(:name, nil, class: "form-control") %>
9
+ </div>
10
10
 
11
- <div class="col-md-8">
11
+ <div class="col-md-8">
12
12
 
13
+ </div>
13
14
  </div>
14
15
  </div>
15
- </div>
16
- <div class = "row form-group"></div>
17
- <div class="clearfix">
18
- <div class="form-actions">
19
- <%= link_to("Cancel", "/foreman_xen/snapshots/#{@host.id}", :id => "cancel_button", :class => "btn btn-danger") %>
20
- <%= submit_tag("Create", class: "btn btn-primary") %>
16
+ <div class="row form-group"></div>
17
+ <div class="clearfix">
18
+ <div class="form-actions">
19
+ <%= link_to("Cancel", "/foreman_xen/snapshots/#{@host.id}", :id => "cancel_button", :class => "btn btn-danger") %>
20
+ <%= submit_tag("Create", class: "btn btn-primary") %>
21
+ </div>
21
22
  </div>
22
- </div>
23
23
  <% end %>
@@ -2,7 +2,7 @@
2
2
  <%= title_actions(
3
3
  button_group(link_to("Take Snapshot", "/foreman_xen/snapshots/#{@host.id}/new", :id => "takeSnapshotButton", :class => "btn btn-success"),
4
4
  link_to_if_authorized(_("Back to host"), hash_for_host_path(:id => @host), :title => _("Back to host"), :class => 'btn btn-default')
5
- ) ) %>
5
+ )) %>
6
6
 
7
7
  <table class="table table-hover">
8
8
  <tbody>
@@ -15,11 +15,11 @@
15
15
  <td><%= h "#{snapshot.snapshot_time.to_date} #{snapshot.snapshot_time.to_time} " %></a></td>
16
16
  <td>
17
17
  <div class="form-group">
18
- <%= link_to("Revert", "/foreman_xen/snapshots/#{@host.id}/revert/#{snapshot.reference}", :id => "revertSnapshotButton", :class => "btn btn-danger", data: { confirm: "Confirm revert to #{snapshot.name}? Please note that all changes since the snapshot time will be lost, and the system will be restarted."})%>
19
- <%= link_to("Delete", "/foreman_xen/snapshots/#{@host.id}/delete/#{snapshot.reference}", :id => "deleteSnapshotButton", :class => "btn btn-danger", data: { confirm: "Delete snapshot #{snapshot.name}?"})%>
18
+ <%= link_to("Revert", "/foreman_xen/snapshots/#{@host.id}/revert/#{snapshot.reference}", :id => "revertSnapshotButton", :class => "btn btn-danger", data: { confirm: "Confirm revert to #{snapshot.name}? Please note that all changes since the snapshot time will be lost, and the system will be restarted." }) %>
19
+ <%= link_to("Delete", "/foreman_xen/snapshots/#{@host.id}/delete/#{snapshot.reference}", :id => "deleteSnapshotButton", :class => "btn btn-danger", data: { confirm: "Delete snapshot #{snapshot.name}?" }) %>
20
20
  </div>
21
21
  </td>
22
- </tr>
22
+ </tr>
23
23
  <% end %>
24
24
  </tbody>
25
25
  </table>
data/config/routes.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  Rails.application.routes.draw do
2
-
3
2
  namespace :foreman_xen do
4
3
  match 'snapshots/:id', :to => 'snapshots#show', :via => 'get'
5
4
  match 'snapshots/:id/revert/:ref', :to => 'snapshots#revert', :via => 'get'
@@ -8,5 +7,4 @@ Rails.application.routes.draw do
8
7
 
9
8
  match 'snapshots/:id/create', :to => 'snapshots#create', :via => 'post'
10
9
  end
11
-
12
10
  end
@@ -1,13 +1,11 @@
1
1
  require 'fast_gettext'
2
2
  require 'gettext_i18n_rails'
3
3
  require 'fog/xenserver'
4
- require 'deface'
5
4
 
6
5
  module ForemanXen
7
- #Inherit from the Rails module of the parent app (Foreman), not the plugin.
8
- #Thus, inherits from ::Rails::Engine and not from Rails::Engine
6
+ # Inherit from the Rails module of the parent app (Foreman), not the plugin.
7
+ # Thus, inherits from ::Rails::Engine and not from Rails::Engine
9
8
  class Engine < ::Rails::Engine
10
-
11
9
  initializer 'foreman_xen.register_gettext', :after => :load_config_initializers do |app|
12
10
  locale_dir = File.join(File.expand_path('../../..', __FILE__), 'locale')
13
11
  locale_domain = 'foreman-xen'
@@ -21,7 +19,6 @@ module ForemanXen
21
19
  # Register xen compute resource in foreman
22
20
  compute_resource ForemanXen::Xenserver
23
21
  end
24
-
25
22
  end
26
23
 
27
24
  config.to_prepare do
@@ -34,13 +31,8 @@ module ForemanXen
34
31
  Fog::Compute::XenServer::Server.send(:include, ::FogExtensions::Xenserver::Server)
35
32
  ::HostsHelper.send(:include, ForemanXen::HostHelperExtensions)
36
33
  rescue => e
37
- puts "Foreman-Xen: skipping engine hook (#{e.to_s})"
34
+ Rails.logger.warn "Foreman-Xen: skipping engine hook (#{e})"
38
35
  end
39
36
  end
40
-
41
37
  end
42
-
43
-
44
-
45
-
46
38
  end
@@ -1,3 +1,3 @@
1
1
  module ForemanXen
2
- VERSION = "0.1.5"
2
+ VERSION = '0.1.6'
3
3
  end
@@ -1,34 +1,35 @@
1
1
  class VNCTunnel
2
2
  attr_accessor :host, :port
3
- @uri = nil
4
- @srv_socket = nil
5
- @client_socket = nil
3
+ @uri = nil
4
+ @srv_socket = nil
5
+ @client_socket = nil
6
6
  @read_from_server = nil
7
- def initialize(fullURL)
8
- @uri = URI(fullURL)
9
- logger.info(fullURL)
7
+
8
+ def initialize(full_url)
9
+ @uri = URI(full_url)
10
+ logger.info(full_url)
10
11
  self.host = 'localhost'
11
- s = TCPServer.new("127.0.0.1", 0)
12
+ s = TCPServer.new('127.0.0.1', 0)
12
13
  self.port = s.addr[1]
13
14
  s.close
14
15
  @read_from_server = true
15
16
  end
16
17
 
17
18
  def start
18
- client_srv = TCPServer.new("127.0.0.1", self.port)
19
- thr = Thread.new do
20
- req = "CONNECT #{@uri.path}?#{@uri.query} HTTP/1.1\r\n\r\n"
19
+ client_srv = TCPServer.new('127.0.0.1', port)
20
+ thr = Thread.new do
21
+ req = "CONNECT #{@uri.path}?#{@uri.query} HTTP/1.1\r\n\r\n"
21
22
  @srv_socket = TCPSocket.open(@uri.host, 80)
22
23
  @srv_socket.print req
23
24
  header = @srv_socket.readline
24
- if header == "HTTP/1.1 200 OK\r\n" then
25
+ if header == "HTTP/1.1 200 OK\r\n"
25
26
  @srv_socket.each_line do |line|
26
27
  break if line == "\r\n"
27
28
  end
28
29
  listen client_srv
29
30
  else
30
- logger.error "Cannot connect to the conosle located at #{uri.to_s} reason: #{header}"
31
- raise "Cannot connect to the console located at #{uri.to_s} reason: #{header}"
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
33
  end
33
34
  end
34
35
  end
@@ -39,17 +40,17 @@ class VNCTunnel
39
40
 
40
41
  private
41
42
 
42
- def listen client_srv
43
+ def listen(client_srv)
43
44
  @client_socket = client_srv.accept
44
- logger.debug "VNCTunnel Client: client accepted"
45
+ logger.debug 'VNCTunnel Client: client accepted'
45
46
  server_listen_thr = Thread.new do
46
47
  listen_from_server
47
48
  end
48
49
  begin
49
- while true
50
+ loop do
50
51
  begin
51
52
  data = @client_socket.read_nonblock(1024)
52
- break if data == nil
53
+ break if data.nil?
53
54
  @srv_socket.write(data)
54
55
  rescue IO::WaitReadable => e
55
56
  IO.select([@client_socket])
@@ -64,27 +65,24 @@ class VNCTunnel
64
65
  @client_socket.close
65
66
  @srv_socket.close
66
67
  end
67
- logger.debug "VNCTunnel Client is stopping"
68
+ logger.debug 'VNCTunnel Client is stopping'
68
69
  end
69
70
 
70
71
  def listen_from_server
71
- logger.debug "VNCTunnel Server is listening"
72
+ logger.debug 'VNCTunnel Server is listening'
72
73
  begin
73
- while @read_from_server do
74
+ while @read_from_server
74
75
  begin
75
76
  data = @srv_socket.read_nonblock(1024)
76
77
  @client_socket.write(data)
77
78
  rescue IO::WaitReadable => e
78
- if IO.select([@srv_socket], nil, nil, 60) != nil then
79
- retry
80
- end
79
+ retry unless (IO.select([@srv_socket], nil, nil, 60)).nil?
81
80
  end
82
81
  end
83
- rescue EOFError
84
- rescue Exception => e
85
- logger.error "VNCTunnel Server: unexpected exception #{e}"
86
- end
87
- logger.debug("VNCTunnel Server is stopping")
82
+ rescue EOFError
83
+ rescue Exception => e
84
+ logger.error "VNCTunnel Server: unexpected exception #{e}"
85
+ end
86
+ logger.debug('VNCTunnel Server is stopping')
88
87
  end
89
-
90
- end
88
+ end