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 +4 -4
- data/README.md +14 -3
- data/app/models/concerns/fog_extensions/xenserver/server.rb +2 -16
- data/app/models/foreman_xen/xenserver.rb +16 -1
- data/app/views/api/v1/compute_resources/xenserver.json.rabl +1 -0
- data/app/views/api/v2/compute_resources/xenserver.json.rabl +1 -0
- data/app/views/compute_resources_vms/form/_network.html.erb +2 -0
- data/app/views/compute_resources_vms/form/_templates.html.erb +3 -20
- data/app/views/compute_resources_vms/form/_volume.html.erb +4 -1
- data/app/views/compute_resources_vms/form/_xenserver.html.erb +43 -36
- data/app/views/compute_resources_vms/form/_xenstore.html.erb +76 -76
- data/lib/foreman_xen/version.rb +1 -1
- metadata +21 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f37dcf6c9110e2acf87ef685d655b24890cbc920
|
4
|
+
data.tar.gz: 1be46948238513d6e9c1f11ef016e156a2c8ec07
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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 |
|
16
|
-
| ---------------:|
|
17
|
-
| >= 1.5 |
|
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 => '
|
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
|
@@ -9,29 +9,12 @@
|
|
9
9
|
%>
|
10
10
|
|
11
11
|
<div id='templates' class=''>
|
12
|
-
|
13
|
-
|
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
|
-
|
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 => !
|
13
|
-
<%= selectable_f f, :vcpus_max, 1..compute_resource.max_cpu_count, {}, :class => 'input-mini', :disabled => !
|
14
|
-
<%= selectable_f f, :memory_min, memory_options(compute_resource.max_memory), {}, :class => 'form-control span2', :disabled => !
|
15
|
-
<%= selectable_f f, :memory_max, memory_options(compute_resource.max_memory), {}, :class => 'form-control span2', :disabled => !
|
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
|
-
|
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
|
-
|
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
|
-
|
38
|
-
|
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
|
-
|
41
|
-
|
42
|
-
|
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
|
-
|
49
|
-
|
50
|
-
|
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
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
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
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
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
|
-
|
83
|
-
|
84
|
-
|
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
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
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
|
-
|
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
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
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
|
-
|
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
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
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
|
-
|
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
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
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
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
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
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
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
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
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
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
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
|
-
|
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>
|
data/lib/foreman_xen/version.rb
CHANGED
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.
|
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-
|
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/
|
56
|
-
- app/views/
|
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/
|
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.
|
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
|