mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-22 18:50:08 +03:00
feature #1712: Add SCHED_DS_REQUIREMENTS and SCHED_DS_RANK to Sunstone
This commit is contained in:
parent
a1ff8bf9d7
commit
a44190b16e
@ -3397,8 +3397,10 @@ function setupCreateTemplateDialog(){
|
||||
'<dd class="active"><a href="#placement">'+tr("Placement")+'</a></dd>'+
|
||||
'<dd><a href="#policy">'+tr("Policy")+'</a></dd>'+
|
||||
'</dl>'+
|
||||
'<ul class="tabs-content">'+
|
||||
'<ul class="tabs-content row">'+
|
||||
'<li class="requirements wizard_internal_tab active" id="placementTab">'+
|
||||
'<fieldset>'+
|
||||
'<legend>'+tr("Host Requirements")+'</legend>'+
|
||||
'<div class="row">'+
|
||||
'<div class="three columns push-three">'+
|
||||
'<input type="radio" id="hosts_req" name="req_select" value="host_select" checked> '+tr("Select Hosts ")+
|
||||
@ -3408,7 +3410,7 @@ function setupCreateTemplateDialog(){
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<hr>'+
|
||||
'<div id="req_type" class="host_select row">'+
|
||||
'<div id="req_type" class="host_select ">'+
|
||||
'<div class="row collapse ">'+
|
||||
'<div class="seven columns">' +
|
||||
'<button id="refresh_hosts_placement" type="button" class="refresh button small radius secondary"><i class="icon-refresh" /></button>' +
|
||||
@ -3445,7 +3447,7 @@ function setupCreateTemplateDialog(){
|
||||
'</div>'+
|
||||
'<br>'+
|
||||
'</div>'+
|
||||
'<div id="req_type" class="cluster_select hidden row">'+
|
||||
'<div id="req_type" class="cluster_select hidden">'+
|
||||
'<div class="row collapse ">'+
|
||||
'<div class="seven columns">' +
|
||||
'<button id="refresh_clusters_placement" type="button" class="refresh button small radius secondary"><i class="icon-refresh" /></button>' +
|
||||
@ -3475,10 +3477,10 @@ function setupCreateTemplateDialog(){
|
||||
'</div>'+
|
||||
'<br>'+
|
||||
'</div>'+
|
||||
'<hr>'+
|
||||
'<br>'+
|
||||
'<div class="row vm_param">'+
|
||||
'<div class="two columns">'+
|
||||
'<label class="inline right" for="SCHED_REQUIREMENTS">'+tr("Requirements")+':</label>'+
|
||||
'<label class="inline right" for="SCHED_REQUIREMENTS">'+tr("Expression")+':</label>'+
|
||||
'</div>'+
|
||||
'<div class="nine columns">'+
|
||||
'<input type="text" id="SCHED_REQUIREMENTS" name="requirements" />'+
|
||||
@ -3487,8 +3489,26 @@ function setupCreateTemplateDialog(){
|
||||
'<div class="tip">'+tr("Boolean expression that rules out provisioning hosts from list of machines suitable to run this VM")+'.</div>'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'</fieldset>'+
|
||||
'<br>'+
|
||||
'<fieldset>'+
|
||||
'<legend>'+tr("Datastore Requirements")+'</legend>'+
|
||||
'<div class="row vm_param">'+
|
||||
'<div class="two columns">'+
|
||||
'<label class="inline right" for="SCHED_DS_REQUIREMENTS">'+tr("Expression")+':</label>'+
|
||||
'</div>'+
|
||||
'<div class="nine columns">'+
|
||||
'<input type="text" id="SCHED_DS_REQUIREMENTS" name="requirements" />'+
|
||||
'</div>'+
|
||||
'<div class="one columns">'+
|
||||
'<div class="tip">'+tr("")+'.</div>'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'</fieldset>'+
|
||||
'</li>'+
|
||||
'<li id="policyTab" class="wizard_internal_tab">'+
|
||||
'<fieldset class="host_rank">'+
|
||||
'<legend>'+tr("Host Rank")+'</legend>'+
|
||||
'<div class="row">'+
|
||||
'<div class="two columns push-two">'+
|
||||
'<input type="radio" id="packingRadio" name="rank_select" value="RUNNING_VMS"> '+tr("Packing")+
|
||||
@ -3512,7 +3532,7 @@ function setupCreateTemplateDialog(){
|
||||
'<hr>'+
|
||||
'<div class="row vm_param">'+
|
||||
'<div class="two columns">'+
|
||||
'<label class="inline right" for="SCHED_RANK">'+tr("Rank")+':</label>'+
|
||||
'<label class="inline right" for="SCHED_RANK">'+tr("Expression")+':</label>'+
|
||||
'</div>'+
|
||||
'<div class="nine columns">'+
|
||||
'<input type="text" id="SCHED_RANK" name="RANK" />'+
|
||||
@ -3521,6 +3541,37 @@ function setupCreateTemplateDialog(){
|
||||
'<div class="tip">'+tr("This field sets which attribute will be used to sort the suitable hosts for this VM")+'.</div>'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'</fieldset>'+
|
||||
'<br>'+
|
||||
'<fieldset class="ds_rank">'+
|
||||
'<legend>'+tr("Datastore Rank")+'</legend>'+
|
||||
'<div class="row">'+
|
||||
'<div class="four columns push-two">'+
|
||||
'<input type="radio" id="packingRadio" name="ds_rank_select" value="-FREE_MB"> '+tr("Packing")+
|
||||
'</div>'+
|
||||
'<div class="two columns">'+
|
||||
'<div class="tip">'+tr("Tries to optimize storage usage by selecting the DS with less free space")+'</div>'+
|
||||
'</div>'+
|
||||
'<div class="four columns push-two">'+
|
||||
'<input type="radio" id="stripingRadio" name="ds_rank_select" value="FREE_MB"> '+tr("Stripping")+
|
||||
'</div>'+
|
||||
'<div class="two columns">'+
|
||||
'<div class="tip">'+tr("Striping. Tries to optimize I/O by distributing the VMs across datastores.")+'</div>'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<hr>'+
|
||||
'<div class="row vm_param">'+
|
||||
'<div class="two columns">'+
|
||||
'<label class="inline right" for="SCHED_DS_RANK">'+tr("Expression")+':</label>'+
|
||||
'</div>'+
|
||||
'<div class="nine columns">'+
|
||||
'<input type="text" id="SCHED_DS_RANK" name="RANK" />'+
|
||||
'</div>'+
|
||||
'<div class="one columns">'+
|
||||
'<div class="tip">'+tr("This field sets which attribute will be used to sort the suitable datastores for this VM")+'.</div>'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'</fieldset>'+
|
||||
'</li>'+
|
||||
'</ul>'+
|
||||
'</form>'+
|
||||
@ -3705,10 +3756,14 @@ function setupCreateTemplateDialog(){
|
||||
}
|
||||
});
|
||||
|
||||
$("input[name='rank_select']").change(function(){
|
||||
$("input[name='rank_select']", $(".host_rank")).change(function(){
|
||||
$("#SCHED_RANK", dialog).val(this.value);
|
||||
});
|
||||
|
||||
$("input[name='ds_rank_select']", $(".ds_rank")).change(function(){
|
||||
$("#SCHED_DS_RANK", dialog).val(this.value);
|
||||
});
|
||||
|
||||
var generate_requirements = function() {
|
||||
var req_string=[];
|
||||
|
||||
@ -4773,21 +4828,31 @@ function fillTemplatePopUp(request, response){
|
||||
delete template.SCHED_REQUIREMENTS;
|
||||
}
|
||||
|
||||
var ds_req = template.SCHED_DS_REQUIREMENTS;
|
||||
var ds_req_section = $('li#schedulingTab', $create_template_dialog);
|
||||
|
||||
if (ds_req) {
|
||||
ds_req = escapeDoubleQuotes(ds_req);
|
||||
$('input#SCHED_DS_REQUIREMENTS', req_section).val(ds_req);
|
||||
|
||||
delete template.SCHED_DS_REQUIREMENTS;
|
||||
}
|
||||
|
||||
var rank = template.SCHED_RANK;
|
||||
|
||||
if (rank) {
|
||||
var striping_regexp = /-RUNNING_VMS/;
|
||||
var packing_regexp = /RUNNING_VMS/;
|
||||
var loadaware_regexp = /FREECPU/;
|
||||
var striping_regexp = /^-RUNNING_VMS$/;
|
||||
var packing_regexp = /^RUNNING_VMS$/;
|
||||
var loadaware_regexp = /^FREECPU$/;
|
||||
|
||||
if (striping_regexp.test(rank)) {
|
||||
$('input#stripingRadio', req_section).click()
|
||||
$('input[name="rank_select"]#stripingRadio', req_section).click()
|
||||
}
|
||||
else if (packing_regexp.test(rank)) {
|
||||
$('input#packingRadio', req_section).click()
|
||||
$('input[name="rank_select"]#packingRadio', req_section).click()
|
||||
}
|
||||
else if (loadaware_regexp.test(rank)) {
|
||||
$('input#loadawareRadio', req_section).click()
|
||||
$('input[name="rank_select"]#loadawareRadio', req_section).click()
|
||||
}
|
||||
|
||||
$('input#SCHED_RANK', req_section).val(rank);
|
||||
@ -4795,6 +4860,24 @@ function fillTemplatePopUp(request, response){
|
||||
delete template.SCHED_RANK;
|
||||
}
|
||||
|
||||
var ds_rank = template.SCHED_DS_RANK;
|
||||
|
||||
if (ds_rank) {
|
||||
var striping_regexp = /^FREE_MB$/;
|
||||
var packing_regexp = /^-FREE_MB$/;
|
||||
|
||||
if (striping_regexp.test(ds_rank)) {
|
||||
$('input[name="ds_rank_select"]#stripingRadio', req_section).click()
|
||||
}
|
||||
else if (packing_regexp.test(ds_rank)) {
|
||||
$('input[name="ds_rank_select"]#packingRadio', req_section).click()
|
||||
}
|
||||
|
||||
$('input#SCHED_DS_RANK', req_section).val(ds_rank);
|
||||
|
||||
delete template.SCHED_DS_RANK;
|
||||
}
|
||||
|
||||
//
|
||||
// RAW
|
||||
//
|
||||
|
Loading…
x
Reference in New Issue
Block a user