1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-16 22:50:10 +03:00

F 3102: Disable Network "Automatic selection" on VM template instantiation screen (#4723)

Co-authored-by: Tino Vázquez <cvazquez@opennebula.systems>
This commit is contained in:
Jorge Miguel Lobo Escalona 2020-05-14 11:34:32 +02:00 committed by GitHub
parent fb96648fec
commit 140924532b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 91 additions and 59 deletions

View File

@ -16,9 +16,9 @@
{{!-- {{#isFeatureEnabled "automatic_selection_vnet"}} --}}
<div class="only_create">
<div class="row autoContainer">
<div class="large-12 large-centered columns">
<fieldset id="{{nicTabId}}interface_type">
<legend>{{tr "Interface type"}}</legend>
<div class="large-12 large-centered columns" style="display:inline-flex;justify-content:start;">
<fieldset id="{{nicTabId}}interface_type" class="small-12 large-4 columns">
<legend style="margin:0px;">{{tr "Interface type"}}</legend>
<div class="switch left">
<input class="switch-input" id="{{nicTabId}}_interface_type" type="checkbox">
<label class="switch-paddle" for="{{nicTabId}}_interface_type">
@ -35,8 +35,8 @@
</span>
<select id="{{nicTabId}}_alias_parent" style="width: 200px; margin-left: 5px"></select>
</fieldset>
<fieldset>
<legend>{{tr "Network selection"}}</legend>
<fieldset class="small-12 large-4 columns">
<legend style="margin:0px;">{{tr "Network selection"}}</legend>
<div class="switch left network_selection">
<input class="switch-input" id="{{nicTabId}}_network_mode" type="checkbox">
<label class="switch-paddle" for="{{nicTabId}}_network_mode">
@ -47,9 +47,9 @@
{{tr "Automatic selection"}}
{{{tip (tr "The Schedule will decide which is the best virtual network")}}}
</label>
</fieldset>
<fieldset id="rdp_connection">
<legend>{{tr "RDP connection"}}</legend>
</fieldset class="small-12 large-4 columns">
<fieldset id="rdp_connection" class="small-12 large-4 columns">
<legend style="margin:0px;">{{tr "RDP connection"}}</legend>
<div class="switch left">
<input class="switch-input" id="{{nicTabId}}_rdp" type="checkbox">
<label class="switch-paddle" for="{{nicTabId}}_rdp">

View File

@ -104,7 +104,10 @@ define(function(require) {
});
_generate_provision_network_accordion(
$(".provision_network_selector", context), options);
$(".provision_network_selector", context),
options,
template_json
);
$.each(nics, function(index, nic) {
var opt = $.extend({}, options);
@ -118,7 +121,9 @@ define(function(require) {
_generate_provision_network_table(
$(".provision_nic_accordion", context),
opt);
opt,
template_json
);
nicId ++;
});
@ -127,7 +132,10 @@ define(function(require) {
}
} catch(err) {
_generate_provision_network_accordion(
$(".provision_network_selector", context), options);
$(".provision_network_selector", context),
options,
template_json
);
}
}
@ -250,7 +258,7 @@ define(function(require) {
* - securityGroups {bool}: true to select SGs
* - pci {bool}: true if this is a PCI interface
*/
function _generate_provision_network_table(context, options) {
function _generate_provision_network_table(context, options, template_json) {
context.off();
var nic_span;
@ -282,13 +290,31 @@ define(function(require) {
sgHtml = sgTable.dataTableHTML;
}
var displayType = true;
var displaySelection = true;
var displayRDP = true;
if(
template_json &&
template_json.VMTEMPLATE &&
template_json.VMTEMPLATE.TEMPLATE &&
template_json.VMTEMPLATE.TEMPLATE.SUNSTONE
){
var templateType = template_json.VMTEMPLATE.TEMPLATE.SUNSTONE.NETWORK_ALIAS;
var templateSelection = template_json.VMTEMPLATE.TEMPLATE.SUNSTONE.NETWORK_AUTO;
var templateRDP = template_json.VMTEMPLATE.TEMPLATE.SUNSTONE.NETWORK_RDP;
displayType = templateType && templateType.toUpperCase()==='NO'? false : true;
displaySelection = templateSelection && templateSelection.toUpperCase()==='NO'? false : true;
displayRDP = templateRDP && templateRDP.toUpperCase()==='NO'? false : true;
}
var dd_context = $(TemplateDD({
vnetsTableHTML: vnetsTable.dataTableHTML,
vnetsTableAutoHTML: vnetsTableAuto.dataTableHTML,
securityGroupsTableHTML: sgHtml,
provision_nic_accordion_dd_id: provision_nic_accordion_dd_id,
options: options
options: options,
displayType: displayType,
displaySelection: displaySelection,
displayRDP: displayRDP
})).appendTo(context);
dd_context["nic_id"] = nicId;
@ -576,7 +602,7 @@ define(function(require) {
* management checkbox
* - securityGroups {bool}: true to select SGs
*/
function _generate_provision_network_accordion(context, options) {
function _generate_provision_network_accordion(context, options, template_json) {
context.off();
var name = "Network";
if (options.name){
@ -602,7 +628,7 @@ define(function(require) {
_nics.push({"NAME": "NIC" + nicId, "ALIAS": false, "DD_ID": provision_nic_accordion_dd_id});
}
_generate_provision_network_table($(".accordion", context), options);
_generate_provision_network_table($(".accordion", context), options, template_json);
nicId ++;

View File

@ -23,55 +23,61 @@
<div id="provision_accordion_dd_{{provision_nic_accordion_dd_id}}" class="accordion-content nic-section-entry" data-tab-content>
<div class="only_template">
<div class="row autoContainer">
<div class="large-12 large-centered columns">
<fieldset id="provision_accordion_dd_{{provision_nic_accordion_dd_id}}_interface_type_section">
<legend>{{tr "Interface type"}}</legend>
<div class="switch left">
<input class="switch-input" id="provision_accordion_dd_{{provision_nic_accordion_dd_id}}_interface_type" type="checkbox">
<label class="switch-paddle" for="provision_accordion_dd_{{provision_nic_accordion_dd_id}}_interface_type">
</label>
</div>
<label class="left">
&nbsp;&nbsp;
{{tr "Alias"}}
{{{tip (tr "The NIC will be attached as an alias")}}}
</label>
&nbsp;&nbsp;
<span id="provision_accordion_dd_{{provision_nic_accordion_dd_id}}_no_alias" class="radius warning label">
<i class="fas fa-exclamation-triangle"/> {{tr "NIC has alias"}}
</span>
<select id="provision_accordion_dd_{{provision_nic_accordion_dd_id}}_alias_parent" style="width: 200px; margin-left: 5px"></select>
</fieldset>
<fieldset>
<legend>{{tr "Network selection"}}</legend>
<div id="provision_accordion_dd_{{provision_nic_accordion_dd_id}}_network_selection">
<div class="switch left">
<input class="switch-input" id="provision_accordion_dd_{{provision_nic_accordion_dd_id}}_network_mode" type="checkbox">
<label class="switch-paddle" for="provision_accordion_dd_{{provision_nic_accordion_dd_id}}_network_mode">
</label>
</div>
<label class="left">
&nbsp;&nbsp;
{{tr "Automatic selection"}}
{{{tip (tr "The Schedule will decide which is the best virtual network")}}}
</label>
</div>
</fieldset>
<fieldset id="rdp_connection">
<legend>{{tr "RDP connection"}}</legend>
<div id="provision_accordion_dd_{{provision_nic_accordion_dd_id}}_rdp_wrapper">
<div class="large-12 large-centered columns" style="margin:0px;display:inline-flex;justify-content:start;">
{{#if displayType}}
<fieldset class="small-12 large-4 columns" id="provision_accordion_dd_{{provision_nic_accordion_dd_id}}_interface_type_section">
<legend style="margin:0px;">{{tr "Interface type"}}</legend>
<div class="switch left">
<input class="switch-input" id="provision_accordion_dd_{{provision_nic_accordion_dd_id}}_rdp" type="checkbox">
<label class="switch-paddle" for="provision_accordion_dd_{{provision_nic_accordion_dd_id}}_rdp">
<input class="switch-input" id="provision_accordion_dd_{{provision_nic_accordion_dd_id}}_interface_type" type="checkbox">
<label class="switch-paddle" for="provision_accordion_dd_{{provision_nic_accordion_dd_id}}_interface_type">
</label>
</div>
<label class="left">
&nbsp;&nbsp;
{{tr "Activate"}}
{{{tip (tr "RDP will be activate in this network")}}}
{{tr "Alias"}}
{{{tip (tr "The NIC will be attached as an alias")}}}
</label>
</div>
</fieldset>
&nbsp;&nbsp;
<span id="provision_accordion_dd_{{provision_nic_accordion_dd_id}}_no_alias" class="radius warning label">
<i class="fas fa-exclamation-triangle"/> {{tr "NIC has alias"}}
</span>
<select id="provision_accordion_dd_{{provision_nic_accordion_dd_id}}_alias_parent" style="width: 200px; margin-left: 5px"></select>
</fieldset>
{{/if}}
{{#if displaySelection}}
<fieldset class="small-12 large-4 columns" style="margin:0px;">
<legend style="margin:0px;">{{tr "Network selection"}}</legend>
<div id="provision_accordion_dd_{{provision_nic_accordion_dd_id}}_network_selection">
<div class="switch left">
<input class="switch-input" id="provision_accordion_dd_{{provision_nic_accordion_dd_id}}_network_mode" type="checkbox">
<label class="switch-paddle" for="provision_accordion_dd_{{provision_nic_accordion_dd_id}}_network_mode">
</label>
</div>
<label class="left">
&nbsp;&nbsp;
{{tr "Automatic selection"}}
{{{tip (tr "The Schedule will decide which is the best virtual network")}}}
</label>
</div>
</fieldset>
{{/if}}
{{#if displayRDP}}
<fieldset id="rdp_connection" class="small-12 large-4 columns" style="margin:0px;">
<legend style="margin:0px;">{{tr "RDP connection"}}</legend>
<div id="provision_accordion_dd_{{provision_nic_accordion_dd_id}}_rdp_wrapper">
<div class="switch left">
<input class="switch-input" id="provision_accordion_dd_{{provision_nic_accordion_dd_id}}_rdp" type="checkbox">
<label class="switch-paddle" for="provision_accordion_dd_{{provision_nic_accordion_dd_id}}_rdp">
</label>
</div>
<label class="left">
&nbsp;&nbsp;
{{tr "Activate"}}
{{{tip (tr "RDP will be enabled in this network")}}}
</label>
</div>
</fieldset>
{{/if}}
</div>
<div class="auto">
<fieldset>