foreman_xen 0.1.0 → 0.1.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/app/models/foreman_xen/xenserver.rb +32 -3
- data/app/views/compute_resources_vms/form/_volume.html.erb +2 -1
- data/app/views/compute_resources_vms/form/_xenstore.html.erb +5 -5
- data/app/views/compute_resources_vms/form/xenserver/_base.html.erb +50 -17
- data/lib/foreman_xen/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bbea3b3d6ef90c6eff8545033d2df9ec9a12f881
|
4
|
+
data.tar.gz: e0b81c233dc652ebdaef50a7b18cd8276ef7dbf9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 00fedb50740623e4c74ca6d0d84698f2bc38cc8284687da0e5b16f762fa65994e420ddc79b4a247c6c3709b0cd6b04c83db4a01944cded3237c1b1493dc384c6
|
7
|
+
data.tar.gz: d8e15229b3cd13b20d8c8292fe676f0f9c1edcfcf5f2731d8c847b57d9188878e611f599d648b41ed20dc9b562158d6fb02b1f873418fb30ebd88e11bff7bcc0
|
@@ -62,8 +62,37 @@ module ForemanXen
|
|
62
62
|
end
|
63
63
|
|
64
64
|
def storage_pools
|
65
|
-
|
66
|
-
|
65
|
+
results = Array.new
|
66
|
+
|
67
|
+
storages = client.storage_repositories.select { |sr| sr.type!= 'udev' && sr.type!= 'iso'} rescue []
|
68
|
+
hosts = client.hosts
|
69
|
+
|
70
|
+
storages.each do |sr|
|
71
|
+
subresults = Hash.new()
|
72
|
+
found = 0
|
73
|
+
hosts.each do |host|
|
74
|
+
|
75
|
+
if (sr.reference == host.suspend_image_sr)
|
76
|
+
found = 1
|
77
|
+
subresults[:name] = sr.name
|
78
|
+
subresults[:display_name] = sr.name + '(' + host.hostname + ')'
|
79
|
+
subresults[:uuid] = sr.uuid
|
80
|
+
break
|
81
|
+
end
|
82
|
+
|
83
|
+
end
|
84
|
+
|
85
|
+
if (found==0)
|
86
|
+
subresults[:name] = sr.name
|
87
|
+
subresults[:display_name] = sr.name
|
88
|
+
subresults[:uuid] = sr.uuid
|
89
|
+
end
|
90
|
+
results.push(subresults)
|
91
|
+
end
|
92
|
+
|
93
|
+
results.sort_by!{|item| item[:display_name] }
|
94
|
+
return results
|
95
|
+
|
67
96
|
end
|
68
97
|
|
69
98
|
def interfaces
|
@@ -198,7 +227,7 @@ module ForemanXen
|
|
198
227
|
def create_vm_from_builtin(args)
|
199
228
|
|
200
229
|
host = client.hosts.first
|
201
|
-
storage_repository = client.storage_repositories.find { |sr| sr.
|
230
|
+
storage_repository = client.storage_repositories.find { |sr| sr.uuid == "#{args[:VBDs][:sr_uuid]}" }
|
202
231
|
|
203
232
|
gb = 1073741824 #1gb in bytes
|
204
233
|
size = args[:VBDs][:physical_size].to_i * gb
|
@@ -13,6 +13,7 @@
|
|
13
13
|
end
|
14
14
|
end
|
15
15
|
-%>
|
16
|
-
<%= selectable_f f, :
|
16
|
+
<%= selectable_f f, :sr_uuid, compute_resource.storage_pools.map{ |item| [item[:display_name], item[:uuid]]}, { :selected => selected }, :class => "span2", :label => _("Storage Repository") %>
|
17
|
+
|
17
18
|
<%= text_f f, :physical_size, :class => "input-mini", :label => _("Size (GB)"), :value => size %>
|
18
19
|
</div>
|
@@ -91,19 +91,19 @@
|
|
91
91
|
$('#xenstore-vm-data-ifs-0-netmask').val($('#subnet_mask', fields).val());
|
92
92
|
$('#xenstore-vm-data-nameserver1').val($('#subnet_dns_primary', fields).val());
|
93
93
|
$('#xenstore-vm-data-nameserver2').val($('#subnet_dns_secondary', fields).val());
|
94
|
-
$('#xenstore-vm-data-ifs-0-ip').val($('#
|
94
|
+
$('#xenstore-vm-data-ifs-0-ip').val($('#host_interfaces_attributes_0_ip').val());
|
95
95
|
$('#xenstore-vm-data-environment').val($('#host_environment_id option:selected').text())
|
96
96
|
})
|
97
97
|
}
|
98
98
|
|
99
|
-
subnet_id = $('#
|
99
|
+
subnet_id = $('#host_interfaces_attributes_0_subnet_id option:selected').val();
|
100
100
|
|
101
101
|
if (subnet_id) {
|
102
102
|
autocomplete_xenstore(subnet_id)
|
103
103
|
}
|
104
104
|
|
105
|
-
$(document).off('change.xenstore', '#
|
106
|
-
$(document).on('change.xenstore', '#
|
105
|
+
$(document).off('change.xenstore', '#host_interfaces_attributes_0_subnet_id');
|
106
|
+
$(document).on('change.xenstore', '#host_interfaces_attributes_0_subnet_id', function (data) {
|
107
107
|
subnet_id = $('option:selected', data.target).val();
|
108
108
|
if (subnet_id) {
|
109
109
|
autocomplete_xenstore(subnet_id)
|
@@ -120,7 +120,7 @@
|
|
120
120
|
|
121
121
|
$(document).off('click.xenstore', '#compute_resource_tab a');
|
122
122
|
$(document).on('click.xenstore', '#compute_resource_tab a', function (data) {
|
123
|
-
subnet_id = $('#
|
123
|
+
subnet_id = $('#host_interfaces_attributes_0_subnet_id option:selected').val();
|
124
124
|
|
125
125
|
if (subnet_id) {
|
126
126
|
autocomplete_xenstore(subnet_id)
|
@@ -40,9 +40,6 @@
|
|
40
40
|
|
41
41
|
<!--Storage-->
|
42
42
|
<div class="children_fields xenserver-raw" id="xenserver-storage" style="<%= hide_raw %>">
|
43
|
-
<%= new_child_fields_template(f, :VBDs, {
|
44
|
-
:object => compute_resource.new_volume,
|
45
|
-
:partial => 'compute_resources_vms/form/volume', :form_builder_attrs => { :compute_resource => compute_resource, :new => new } }) %>
|
46
43
|
<%= field_set_tag 'Storage', :id => 'storage_volumes', :title => _('Storage') do -%>
|
47
44
|
<%= f.fields_for :VBDs do |i| %>
|
48
45
|
<%= render 'compute_resources_vms/form/volume', :f => i, :compute_resource => compute_resource, :new => new %>
|
@@ -59,35 +56,71 @@
|
|
59
56
|
</div>
|
60
57
|
|
61
58
|
<div class="children_fields" id="xenserver-vm-start" style="<%= hide_raw %>">
|
62
|
-
<%= field_set_tag 'VM Startup Options', :id => 'vm_starup_options', :title => _('Power ON this
|
63
|
-
|
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>
|
59
|
+
<%= field_set_tag 'VM Startup Options', :id => 'vm_starup_options', :title => _('Power ON this VM') do -%>
|
60
|
+
<%= checkbox_f f, :start, :checked => true, :label => _("Power ON this VM") %>
|
72
61
|
<% end -%>
|
73
62
|
</div>
|
74
63
|
|
75
64
|
|
76
65
|
|
77
66
|
<script type="text/javascript">
|
67
|
+
|
68
|
+
// Check if its a computer resource template then just do not show the form of XenStore
|
69
|
+
|
70
|
+
if ($("#compute_attribute_compute_profile_id").length > 0){
|
71
|
+
$('#xenserver-xenstore-data').hide(1)
|
72
|
+
}
|
78
73
|
|
74
|
+
$(document).off('change.xenserver', '#compute_attribute_vm_attrs_custom_template_name');
|
75
|
+
$(document).on('change.xenserver', '#compute_attribute_vm_attrs_custom_template_name', function (data) {
|
76
|
+
if ($('option:selected', data.target).val() == "") {
|
77
|
+
$('.xenserver-raw').show(1000)
|
78
|
+
// IE and Chrome
|
79
|
+
$('.buildin_templates').prop("disabled", false);
|
80
|
+
$('#compute_attribute_vm_attrs_builtin_template_name').removeAttr('disabled');
|
81
|
+
} else {
|
82
|
+
$('.xenserver-raw').hide(1000)
|
83
|
+
$('#compute_attribute_vm_attrs_builtin_template_name').val($("#compute_attribute_vm_attrs_builtin_template_name option:contains('No template')").val());
|
84
|
+
// IE and Chrome
|
85
|
+
$('#compute_attribute_vm_attrs_builtin_template_name').attr("disabled", 'disabled');
|
86
|
+
$('.buildin_templates').prop("disabled", true);
|
87
|
+
|
88
|
+
}
|
89
|
+
|
90
|
+
});
|
91
|
+
|
92
|
+
$(document).off('change.xenserver', '#compute_attribute_vm_attrs_builtin_template_name');
|
93
|
+
$(document).on('change.xenserver', '#compute_attribute_vm_attrs_builtin_template_name', function (data) {
|
94
|
+
$('.xenserver-raw').show(1000);
|
95
|
+
$('.buildin_templates').prop("disabled", false);
|
96
|
+
$('#compute_attribute_vm_attrs_builtin_template_name').removeAttr('disabled');
|
97
|
+
})
|
98
|
+
|
99
|
+
|
100
|
+
// Create a new host windows
|
101
|
+
|
79
102
|
$(document).off('change.xenserver', '#host_compute_attributes_custom_template_name');
|
80
103
|
$(document).on('change.xenserver', '#host_compute_attributes_custom_template_name', function (data) {
|
81
104
|
if ($('option:selected', data.target).val() == "") {
|
82
|
-
|
105
|
+
$('.xenserver-raw').show(1000)
|
106
|
+
// IE and Chrome
|
107
|
+
$('.buildin_templates').prop("disabled", false);
|
108
|
+
$('#host_compute_attributes_builtin_template_name').removeAttr('disabled');
|
83
109
|
} else {
|
84
|
-
|
110
|
+
$('.xenserver-raw').hide(1000)
|
111
|
+
$('#host_compute_attributes_builtin_template_name').val($("#host_compute_attributes_builtin_template_name option:contains('No template')").val());
|
112
|
+
// IE and Chrome
|
113
|
+
$('#host_compute_attributes_builtin_template_name').attr("disabled", 'disabled');
|
114
|
+
$('.buildin_templates').prop("disabled", true);
|
115
|
+
|
85
116
|
}
|
86
117
|
|
87
118
|
});
|
88
119
|
|
89
120
|
$(document).off('change.xenserver', '#host_compute_attributes_builtin_template_name');
|
90
121
|
$(document).on('change.xenserver', '#host_compute_attributes_builtin_template_name', function (data) {
|
91
|
-
|
122
|
+
$('.xenserver-raw').show(1000);
|
123
|
+
$('.buildin_templates').prop("disabled", false);
|
124
|
+
$('#host_compute_attributes_builtin_template_name').removeAttr('disabled');
|
92
125
|
})
|
93
|
-
</script>
|
126
|
+
</script>
|
data/lib/foreman_xen/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman_xen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pavel Nemirovsky, Michal Piotrowski, Avi Israeli
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-05-
|
11
|
+
date: 2015-05-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|