foreman_xen 0.0.3 → 0.0.4.1

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: 25b0e526633d3dd22bc525a72bc5a5dc8f07e44d
4
- data.tar.gz: 71dd93045915fc1def2b5d32a9b0507a6d44515f
3
+ metadata.gz: f37dcf6c9110e2acf87ef685d655b24890cbc920
4
+ data.tar.gz: 1be46948238513d6e9c1f11ef016e156a2c8ec07
5
5
  SHA512:
6
- metadata.gz: 99f352b74c6bd40a8b61825175b40bded58cfb7541aa5252c1b8c2b2b836073234ca0baa2c72ce422180a9bd0c948860029287d7abafb59f8e08ee23eecf5e43
7
- data.tar.gz: 0f7d00cbb23064adbad33b3642fde78251fe50305bb2dd96f31e01445856fd3a6cb645c39f92dfe199c16cd2aa67ddccab244105e64e76f70cc83d4690ba36c6
6
+ metadata.gz: 4e08405948fc85e6251932fd9a20e6d0e903fa3abe06af8ed7d3402dfa887cdaac0ac9d6c35996115492a194fe719a750927b6676e283925523d92f7f6a6aa0b
7
+ data.tar.gz: d958ac6baba71844c0f219d571851206527640e20b92a4cc6475becb89865c5440f80470daf7f9b448b039909911b911be250c0a5f36903f475b9bfd402f68ec
data/README.md CHANGED
@@ -10,11 +10,18 @@ Please see the Foreman manual for appropriate instructions:
10
10
 
11
11
  The gem name is "foreman_xen".
12
12
 
13
+ ## Special note
14
+
15
+ To make VNC client work properly, Foreman frontend should be configured without forcing SSL:
16
+
17
+ /usr/share/foreman/config/settings.yaml
18
+ :require_ssl: false
19
+
13
20
  ## Compatibility
14
21
 
15
- | Foreman Version | Plugin Version |
16
- | ---------------:| --------------:|
17
- | >= 1.5 | 0.0.3 |
22
+ | Foreman Version |
23
+ | ---------------:|
24
+ | >= 1.5 |
18
25
 
19
26
  ## Latest code
20
27
 
@@ -22,6 +29,10 @@ You can get the develop branch of the plugin by specifying your Gemfile in this
22
29
 
23
30
  gem 'foreman_xen', :git => "https://github.com/theforeman/foreman-xen.git"
24
31
 
32
+ ## Support
33
+
34
+ http://projects.theforeman.org/projects/xen/issues
35
+
25
36
  # Copyright
26
37
 
27
38
  Copyright (c) 2014 ooVoo LLC
@@ -2,6 +2,8 @@ module FogExtensions
2
2
  module Xenserver
3
3
  module Server
4
4
 
5
+ attr_accessor :memory_min, :memory_max, :custom_template_name, :builtin_template_name
6
+
5
7
  def to_s
6
8
  name
7
9
  end
@@ -10,14 +12,6 @@ module FogExtensions
10
12
 
11
13
  def volumes_attributes=(attrs); end
12
14
 
13
- def memory_min
14
- memory_static_min.to_i
15
- end
16
-
17
- def memory_max
18
- memory_static_max.to_i
19
- end
20
-
21
15
  def memory
22
16
  memory_static_max.to_i
23
17
  end
@@ -38,14 +32,6 @@ module FogExtensions
38
32
  power_state
39
33
  end
40
34
 
41
- def custom_template_name
42
- template_name
43
- end
44
-
45
- def builtin_template_name
46
- template_name
47
- end
48
-
49
35
  end
50
36
  end
51
37
  end
@@ -89,6 +89,21 @@ module ForemanXen
89
89
  tmps.sort { |a, b| a.name <=> b.name }
90
90
  end
91
91
 
92
+ def associated_host(vm)
93
+ ips = []
94
+ begin
95
+ if vm.tools_installed?
96
+ vm.guest_metrics.networks.each do |k,v|
97
+ ips << v
98
+ end
99
+ end
100
+ rescue => e
101
+ logger.error("Error retrieving Network via Guest Metrics: #{e.message}")
102
+ end
103
+
104
+ Host.authorized(:view_hosts, Host).where(:ip => ips).first
105
+ end
106
+
92
107
  def new_vm(attr={})
93
108
 
94
109
  test_connection
@@ -198,7 +213,7 @@ module ForemanXen
198
213
  vm = client.servers.new :name => args[:name],
199
214
  :affinity => host,
200
215
  :pv_bootloader => '',
201
- :hvm_boot_params => { :order => 'dn' },
216
+ :hvm_boot_params => { :order => 'dnc' },
202
217
  :other_config => other_config,
203
218
  :memory_static_max => mem_max,
204
219
  :memory_static_min => mem_min,
@@ -0,0 +1 @@
1
+ attributes :user
@@ -0,0 +1 @@
1
+ attributes :user
@@ -4,6 +4,8 @@
4
4
  selected = ""
5
5
  if params && params['host'] && params['host']['compute_attributes']
6
6
  selected = params['host']['compute_attributes']['VIFs']['print']
7
+ elsif new.__vifs
8
+ selected = new.__vifs['print']
7
9
  end
8
10
  -%>
9
11
 
@@ -9,29 +9,12 @@
9
9
  %>
10
10
 
11
11
  <div id='templates' class=''>
12
-
13
- <div class="form-group">
14
- <label class="col-md-2 control-label" for="host_compute_attributes_custom_template_name">Custom template</label>
15
- <div class="col-md-4">
16
- <div class="controls">
17
- <select class="form-control span2" id="host_compute_attributes_custom_template_name" name="host[compute_attributes][custom_template_name]">
18
- <%= options_for_select([[_("No template"), ""]] + compute_resource.custom_templates.map { |t| [t.name, t.name] }, selected_item_c) %>
19
- </select>
12
+ <div class="form-group">
13
+ <%= selectable_f f, :custom_template_name,[[_("No template"), ""]] + compute_resource.custom_templates.map { |t| [t.name, t.name] }, {}, :class => 'form-control span2', :label => 'Custom Template' %>
20
14
  </div>
21
- </div>
22
- </div>
23
15
 
24
16
  <div class="form-group ">
25
- <label class="col-md-2 control-label" for="host_compute_attributes_builtin_template_name">Built-in template</label>
26
- <div class="col-md-4">
27
- <div class="controls">
28
- <select class="form-control span2" id="host_compute_attributes_builtin_template_name" name="host[compute_attributes][builtin_template_name]">
29
- <%= options_for_select([[_("No template"), ""]] + compute_resource.builtin_templates.map { |t| [t.name, t.name] }, selected_item_b) %>
30
- </select>
31
- </div>
17
+ <%= selectable_f f, :builtin_template_name,[[_("No template"), ""]] + compute_resource.builtin_templates.map { |t| [t.name, t.name] }, {}, :class => 'form-control span2', :label => 'Builtin Template' %>
32
18
  </div>
33
- </div>
34
-
35
19
  </div>
36
-
37
20
  </div>
@@ -2,9 +2,12 @@
2
2
  <%
3
3
  selected = ""
4
4
  size = ""
5
- if params && params['host'] && params['host']['compute_attributes']
5
+ if params && params['host'] && params['host']['compute_attributes'] && params['host']['compute_attributes']['VBDs']['physical_size'] != ""
6
6
  selected = params['host']['compute_attributes']['VBDs']['print']
7
7
  size = params['host']['compute_attributes']['VBDs']['physical_size']
8
+ elsif new.__vbds
9
+ selected = new.__vbds['print']
10
+ size = new.__vbds['physical_size']
8
11
  end
9
12
  -%>
10
13
  <%= selectable_f f, :print, compute_resource.storage_pools.map(&:name), { :selected => selected }, :class => "span2", :label => _("Storage Repository") %>
@@ -3,65 +3,72 @@
3
3
  if params && params['host'] && params['host']['compute_attributes'] && params['host']['compute_attributes']['custom_template_name'] != ''
4
4
  hide_raw = 'display:none;'
5
5
  end
6
+
7
+ if controller_name == 'hosts'
8
+ fields_enabled = true
9
+ elsif controller_name == 'compute_attributes'
10
+ fields_enabled = true
11
+ else
12
+ fields_enabled = false
13
+ end
6
14
  -%>
7
15
 
8
16
  <div class="children_fields">
9
17
  <fieldset id="vm_profile">
10
18
  <legend>VM Profile</legend>
11
19
  <div class="fields">
12
- <%= text_f f, :name, :disabled => !new if controller_name != 'hosts' %>
13
- <%= selectable_f f, :vcpus_max, 1..compute_resource.max_cpu_count, {}, :class => 'input-mini', :disabled => !new, :label => 'vCPUs' %>
14
- <%= selectable_f f, :memory_min, memory_options(compute_resource.max_memory), {}, :class => 'form-control span2', :disabled => !new, :label => 'Memory Min' %>
15
- <%= selectable_f f, :memory_max, memory_options(compute_resource.max_memory), {}, :class => 'form-control span2', :disabled => !new, :label => 'Memory Max' %>
20
+ <%= text_f f, :name, :disabled => !fields_enabled, :label => 'Name' if controller_name != 'hosts' %>
21
+ <%= selectable_f f, :vcpus_max, 1..compute_resource.max_cpu_count, {}, :class => 'input-mini', :disabled => !fields_enabled, :label => 'vCPUs' %>
22
+ <%= selectable_f f, :memory_min, memory_options(compute_resource.max_memory), {}, :class => 'form-control span2', :disabled => !fields_enabled, :label => 'Memory Min' %>
23
+ <%= selectable_f f, :memory_max, memory_options(compute_resource.max_memory), {}, :class => 'form-control span2', :disabled => !fields_enabled, :label => 'Memory Max' %>
16
24
  </div>
17
25
  </fieldset>
18
26
  </div>
19
27
  <!--Templates -->
20
28
  <div class="children_fields">
21
29
  <%= field_set_tag 'VM Template', :id => 'xen_templates', :title => _('Template') do -%>
22
- <%= render 'compute_resources_vms/form/templates', :f => f, :compute_resource => compute_resource %>
30
+ <%= render 'compute_resources_vms/form/templates', :f => f, :compute_resource => compute_resource, :new => new %>
23
31
  <% end -%>
24
32
  </div>
25
33
 
26
34
  <!-- XenStore Data -->
27
35
  <div class="children_fields" id="xenserver-xenstore-data">
28
36
  <%= field_set_tag 'Xen Store Data', :id => 'xen_store_data', :title => _('Xen Store Data') do -%>
29
- <%= render 'compute_resources_vms/form/xenstore', :f => f, :compute_resource => compute_resource, :new => new %>
37
+ <%= render 'compute_resources_vms/form/xenstore', :f => f, :compute_resource => compute_resource, :new => new %>
30
38
  <% end %>
31
39
  </div>
32
40
 
33
-
34
41
  <!--Storage-->
35
42
  <div class="children_fields xenserver-raw" id="xenserver-storage" style="<%= hide_raw %>">
36
43
  <%= new_child_fields_template(f, :VBDs, {
37
- :object => compute_resource.new_volume,
38
- :partial => 'compute_resources_vms/form/volume', :form_builder_attrs => { :compute_resource => compute_resource } }) %>
44
+ :object => compute_resource.new_volume,
45
+ :partial => 'compute_resources_vms/form/volume', :form_builder_attrs => { :compute_resource => compute_resource, :new => new } }) %>
39
46
  <%= field_set_tag 'Storage', :id => 'storage_volumes', :title => _('Storage') do -%>
40
- <%= f.fields_for :VBDs do |i| %>
41
- <%= render 'compute_resources_vms/form/volume', :f => i, :compute_resource => compute_resource %>
42
- <% end -%>
47
+ <%= f.fields_for :VBDs do |i| %>
48
+ <%= render 'compute_resources_vms/form/volume', :f => i, :compute_resource => compute_resource, :new => new %>
49
+ <% end -%>
43
50
  <% end -%>
44
51
  </div>
45
52
 
46
53
  <div class="children_fields" id="xenserver-network" style="<%= hide_raw %>">
47
54
  <%= field_set_tag 'Network interfaces', :id => 'network_interfaces', :title => _('Networks') do -%>
48
- <%= f.fields_for :VIFs do |i| %>
49
- <%= render 'compute_resources_vms/form/network', :f => i, :compute_resource => compute_resource %>
50
- <% end -%>
55
+ <%= f.fields_for :VIFs do |i| %>
56
+ <%= render 'compute_resources_vms/form/network', :f => i, :compute_resource => compute_resource, :new => new %>
57
+ <% end -%>
51
58
  <% end -%>
52
59
  </div>
53
60
 
54
61
  <div class="children_fields" id="xenserver-vm-start" style="<%= hide_raw %>">
55
62
  <%= field_set_tag 'VM Startup Options', :id => 'vm_starup_options', :title => _('Power ON this machine') do -%>
56
- <div class="form-group">
57
- <label class="col-md-2 control-label" for="xenserver-vm-start-params">Power ON this VM</label>
58
- <div class="col-md-4">
59
- <div class="controls">
60
- <% checked = params[:host] && params[:host][:compute_attributes] && params[:host][:compute_attributes][:start] || '1' %>
61
- <%= checkbox_f f, :start, { :checked => (checked == '1')} if new %>
62
- </div>
63
- </div>
64
- </div>
63
+ <div class="form-group">
64
+ <label class="col-md-2 control-label" for="xenserver-vm-start-params">Power ON this VM</label>
65
+ <div class="col-md-4">
66
+ <div class="controls">
67
+ <% checked = params[:host] && params[:host][:compute_attributes] && params[:host][:compute_attributes][:start] || '1' %>
68
+ <%= checkbox_f f, :start, { :checked => (checked == '1')} if fields_enabled %>
69
+ </div>
70
+ </div>
71
+ </div>
65
72
  <% end -%>
66
73
  </div>
67
74
 
@@ -69,18 +76,18 @@
69
76
 
70
77
  <script type="text/javascript">
71
78
 
72
- $(document).off('change.xenserver', '#host_compute_attributes_custom_template_name');
73
- $(document).on('change.xenserver', '#host_compute_attributes_custom_template_name', function (data) {
74
- if ($('option:selected', data.target).val() == "") {
75
- $('.xenserver-raw').show(1000)
76
- } else {
77
- $('.xenserver-raw').hide(1000)
78
- }
79
+ $(document).off('change.xenserver', '#host_compute_attributes_custom_template_name');
80
+ $(document).on('change.xenserver', '#host_compute_attributes_custom_template_name', function (data) {
81
+ if ($('option:selected', data.target).val() == "") {
82
+ $('.xenserver-raw').show(1000)
83
+ } else {
84
+ $('.xenserver-raw').hide(1000)
85
+ }
79
86
 
80
- });
87
+ });
81
88
 
82
- $(document).off('change.xenserver', '#host_compute_attributes_builtin_template_name');
83
- $(document).on('change.xenserver', '#host_compute_attributes_builtin_template_name', function (data) {
84
- $('.xenserver-raw').show(1000)
85
- })
89
+ $(document).off('change.xenserver', '#host_compute_attributes_builtin_template_name');
90
+ $(document).on('change.xenserver', '#host_compute_attributes_builtin_template_name', function (data) {
91
+ $('.xenserver-raw').show(1000)
92
+ })
86
93
  </script>
@@ -1,11 +1,11 @@
1
1
  <%
2
2
  vmdata = { :ifs =>
3
- { '0' => {
4
- :ip => '',
5
- :gateway => '',
6
- :netmask => ''
7
- }
8
- },
3
+ { '0' => {
4
+ :ip => '',
5
+ :gateway => '',
6
+ :netmask => ''
7
+ }
8
+ },
9
9
  :nameserver1 => '',
10
10
  :nameserver2 => '',
11
11
  :environment => ''
@@ -31,100 +31,100 @@
31
31
 
32
32
  <div class="fields">
33
33
 
34
- <div class="form-group">
34
+ <div class="form-group">
35
35
  <label class="col-md-2 control-label" for="xenstore-vm-data-ifs-0-ip">vm-data/ifs/0/ip</label>
36
- <div class="col-md-4">
37
- <div class="controls">
38
- <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="<%= ip %>">
39
- </div>
40
- </div>
36
+ <div class="col-md-4">
37
+ <div class="controls">
38
+ <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="<%= ip %>">
39
+ </div>
41
40
  </div>
41
+ </div>
42
42
 
43
- <div class="form-group">
43
+ <div class="form-group">
44
44
  <label class="col-md-2 control-label" for="xenstore-vm-data-ifs-0-gateway">vm-data/ifs/0/gateway</label>
45
- <div class="col-md-4">
46
- <div class="controls">
47
- <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="<%= gateway %>">
48
- </div>
49
- </div>
45
+ <div class="col-md-4">
46
+ <div class="controls">
47
+ <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="<%= gateway %>">
48
+ </div>
50
49
  </div>
50
+ </div>
51
51
 
52
- <div class="form-group">
52
+ <div class="form-group">
53
53
  <label class="col-md-2 control-label" for="xenstore-vm-data-ifs-0-netmask">vm-data/ifs/0/netmask</label>
54
- <div class="col-md-4">
55
- <div class="controls">
56
- <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="<%= netmask %>">
57
- </div>
58
- </div>
54
+ <div class="col-md-4">
55
+ <div class="controls">
56
+ <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="<%= netmask %>">
57
+ </div>
59
58
  </div>
59
+ </div>
60
60
 
61
- <div class="form-group">
62
- <label class="col-md-2 control-label" for="xenstore-vm-data-nameserver1">vm-data/nameserver1</label>
63
- <div class="col-md-4">
64
- <input <%= disabled %> id="xenstore-vm-data-nameserver1" type="text" name="host[compute_attributes][xenstore][vm-data][nameserver1]" class="form-control input-mini" value="<%= nameserver1 %>">
65
- </div>
61
+ <div class="form-group">
62
+ <label class="col-md-2 control-label" for="xenstore-vm-data-nameserver1">vm-data/nameserver1</label>
63
+ <div class="col-md-4">
64
+ <input <%= disabled %> id="xenstore-vm-data-nameserver1" type="text" name="host[compute_attributes][xenstore][vm-data][nameserver1]" class="form-control input-mini" value="<%= nameserver1 %>">
66
65
  </div>
66
+ </div>
67
67
 
68
- <div class="form-group">
69
- <label class="col-md-2 control-label" for="xenstore-vm-data-nameserver2">vm-data/nameserver2</label>
70
- <div class="col-md-4">
71
- <input <%= disabled %> id="xenstore-vm-data-nameserver2" type="text" name="host[compute_attributes][xenstore][vm-data][nameserver2]" class="form-control input-mini" value="<%= nameserver2 %>">
72
- </div>
68
+ <div class="form-group">
69
+ <label class="col-md-2 control-label" for="xenstore-vm-data-nameserver2">vm-data/nameserver2</label>
70
+ <div class="col-md-4">
71
+ <input <%= disabled %> id="xenstore-vm-data-nameserver2" type="text" name="host[compute_attributes][xenstore][vm-data][nameserver2]" class="form-control input-mini" value="<%= nameserver2 %>">
73
72
  </div>
73
+ </div>
74
74
 
75
- <div class="form-group">
76
- <label class="col-md-2 control-label" for="xenstore-vm-data-environment">vm-data/environment</label>
77
- <div class="col-md-4">
78
- <input <%= disabled %> id="xenstore-vm-data-environment" type="text" name="host[compute_attributes][xenstore][vm-data][environment]" class="form-control input-mini" value="<%= environment %>">
79
- </div>
75
+ <div class="form-group">
76
+ <label class="col-md-2 control-label" for="xenstore-vm-data-environment">vm-data/environment</label>
77
+ <div class="col-md-4">
78
+ <input <%= disabled %> id="xenstore-vm-data-environment" type="text" name="host[compute_attributes][xenstore][vm-data][environment]" class="form-control input-mini" value="<%= environment %>">
80
79
  </div>
80
+ </div>
81
81
  </div>
82
82
  </div>
83
83
 
84
84
 
85
85
  <script type="text/javascript">
86
- function autocomplete_xenstore(subnet_id) {
87
- url = "/subnets/" + subnet_id + "/edit";
88
- $.get(url, function (data) {
89
- fields = $('#primary', data);
90
- $('#xenstore-vm-data-ifs-0-gateway').val($('#subnet_gateway', fields).val());
91
- $('#xenstore-vm-data-ifs-0-netmask').val($('#subnet_mask', fields).val());
92
- $('#xenstore-vm-data-nameserver1').val($('#subnet_dns_primary', fields).val());
93
- $('#xenstore-vm-data-nameserver2').val($('#subnet_dns_secondary', fields).val());
94
- $('#xenstore-vm-data-ifs-0-ip').val($('#host_ip').val());
95
- $('#xenstore-vm-data-environment').val($('#host_environment_id option:selected').text())
96
- })
97
- }
98
-
99
- subnet_id = $('#host_subnet_id option:selected').val();
100
-
101
- if (subnet_id) {
102
- autocomplete_xenstore(subnet_id)
103
- }
104
-
105
- $(document).off('change.xenstore', '#host_subnet_id');
106
- $(document).on('change.xenstore', '#host_subnet_id', function (data) {
107
- subnet_id = $('option:selected', data.target).val();
108
- if (subnet_id) {
109
- autocomplete_xenstore(subnet_id)
86
+ function autocomplete_xenstore(subnet_id) {
87
+ url = "/subnets/" + subnet_id + "/edit";
88
+ $.get(url, function (data) {
89
+ fields = $('#primary', data);
90
+ $('#xenstore-vm-data-ifs-0-gateway').val($('#subnet_gateway', fields).val());
91
+ $('#xenstore-vm-data-ifs-0-netmask').val($('#subnet_mask', fields).val());
92
+ $('#xenstore-vm-data-nameserver1').val($('#subnet_dns_primary', fields).val());
93
+ $('#xenstore-vm-data-nameserver2').val($('#subnet_dns_secondary', fields).val());
94
+ $('#xenstore-vm-data-ifs-0-ip').val($('#host_ip').val());
95
+ $('#xenstore-vm-data-environment').val($('#host_environment_id option:selected').text())
96
+ })
110
97
  }
111
- });
112
-
113
- $('#xenstore-vm-data-environment').val($('#host_environment_id option:selected').text());
114
98
 
115
- $(document).off('change.xenstore', '#host_environment_id');
116
- $(document).on('change.xenstore', '#host_environment_id', function (data) {
117
- env = $('option:selected', data.target).text();
118
- $('#xenstore-vm-data-environment').val(env)
119
- });
120
-
121
- $(document).off('click.xenstore', '#compute_resource_tab a');
122
- $(document).on('click.xenstore', '#compute_resource_tab a', function (data) {
123
99
  subnet_id = $('#host_subnet_id option:selected').val();
124
100
 
125
101
  if (subnet_id) {
126
- autocomplete_xenstore(subnet_id)
102
+ autocomplete_xenstore(subnet_id)
127
103
  }
128
- })
104
+
105
+ $(document).off('change.xenstore', '#host_subnet_id');
106
+ $(document).on('change.xenstore', '#host_subnet_id', function (data) {
107
+ subnet_id = $('option:selected', data.target).val();
108
+ if (subnet_id) {
109
+ autocomplete_xenstore(subnet_id)
110
+ }
111
+ });
112
+
113
+ $('#xenstore-vm-data-environment').val($('#host_environment_id option:selected').text());
114
+
115
+ $(document).off('change.xenstore', '#host_environment_id');
116
+ $(document).on('change.xenstore', '#host_environment_id', function (data) {
117
+ env = $('option:selected', data.target).text();
118
+ $('#xenstore-vm-data-environment').val(env)
119
+ });
120
+
121
+ $(document).off('click.xenstore', '#compute_resource_tab a');
122
+ $(document).on('click.xenstore', '#compute_resource_tab a', function (data) {
123
+ subnet_id = $('#host_subnet_id option:selected').val();
124
+
125
+ if (subnet_id) {
126
+ autocomplete_xenstore(subnet_id)
127
+ }
128
+ })
129
129
 
130
130
  </script>
@@ -1,3 +1,3 @@
1
1
  module ForemanXen
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4.1"
3
3
  end
metadata CHANGED
@@ -1,41 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_xen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Nemirovsky, Michał Piotrowski, Avi Israeli
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-02 00:00:00.000000000 Z
11
+ date: 2014-11-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
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: fog
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  description: Provision and manage XEN Server from Foreman.
@@ -45,26 +45,28 @@ executables: []
45
45
  extensions: []
46
46
  extra_rdoc_files: []
47
47
  files:
48
- - LICENSE
49
- - README.md
50
- - Rakefile
51
- - app/models/concerns/fog_extensions/xenserver/server.rb
52
- - app/models/foreman_xen/xenserver.rb
53
- - app/views/compute_resources/form/_xenserver.html.erb
54
48
  - app/views/compute_resources/show/_xenserver.html.erb
55
- - app/views/compute_resources_vms/form/_network.html.erb
56
- - app/views/compute_resources_vms/form/_templates.html.erb
49
+ - app/views/compute_resources/form/_xenserver.html.erb
50
+ - app/views/api/v2/compute_resources/xenserver.json.rabl
51
+ - app/views/api/v1/compute_resources/xenserver.json.rabl
52
+ - app/views/compute_resources_vms/show/_xenserver.html.erb
53
+ - app/views/compute_resources_vms/form/_xenstore.html.erb
57
54
  - app/views/compute_resources_vms/form/_volume.html.erb
55
+ - app/views/compute_resources_vms/form/_templates.html.erb
56
+ - app/views/compute_resources_vms/form/_network.html.erb
58
57
  - app/views/compute_resources_vms/form/_xenserver.html.erb
59
- - app/views/compute_resources_vms/form/_xenstore.html.erb
60
58
  - app/views/compute_resources_vms/index/_xenserver.html.erb
61
- - app/views/compute_resources_vms/show/_xenserver.html.erb
59
+ - app/models/concerns/fog_extensions/xenserver/server.rb
60
+ - app/models/foreman_xen/xenserver.rb
62
61
  - lib/foreman_xen.rb
63
62
  - lib/foreman_xen/engine.rb
64
63
  - lib/foreman_xen/version.rb
65
64
  - lib/foreman_xen/vnc_tunnel.rb
66
65
  - lib/tasks/foreman_xen_tasks.rake
67
66
  - locale/Makefile
67
+ - LICENSE
68
+ - Rakefile
69
+ - README.md
68
70
  - test/foreman_xen_test.rb
69
71
  - test/test_helper.rb
70
72
  homepage: http://github.com/theforeman/foreman-xen
@@ -77,17 +79,17 @@ require_paths:
77
79
  - lib
78
80
  required_ruby_version: !ruby/object:Gem::Requirement
79
81
  requirements:
80
- - - ">="
82
+ - - '>='
81
83
  - !ruby/object:Gem::Version
82
84
  version: '0'
83
85
  required_rubygems_version: !ruby/object:Gem::Requirement
84
86
  requirements:
85
- - - ">="
87
+ - - '>='
86
88
  - !ruby/object:Gem::Version
87
89
  version: '0'
88
90
  requirements: []
89
91
  rubyforge_project:
90
- rubygems_version: 2.2.1
92
+ rubygems_version: 2.0.6
91
93
  signing_key:
92
94
  specification_version: 4
93
95
  summary: Provision and manage XEN Server from Foreman