foreman_xen 0.0.3 → 0.0.4.1

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: 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