mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-21 14:50:08 +03:00
B #5555: Fix conflict INHERIT vs RESTRICTED
* bug-inherit-attr: Fixed bug with \n * bug-inherit-attr: Saved template_json_base within data attribute (cherry picked from commit 607cde3dafe89f77480aed4e0442a965d91eaa71)
This commit is contained in:
parent
dda3ceaad4
commit
aa79958aec
@ -255,10 +255,7 @@ Request::ErrorCode VMTemplateInstantiate::merge(
|
||||
const string &str_uattrs,
|
||||
RequestAttributes& att)
|
||||
{
|
||||
if (str_uattrs.empty())
|
||||
{
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
int rc;
|
||||
|
||||
@ -270,11 +267,15 @@ Request::ErrorCode VMTemplateInstantiate::merge(
|
||||
if ( rc != 0 )
|
||||
{
|
||||
return INTERNAL;
|
||||
}
|
||||
else if (uattrs.empty())
|
||||
{
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
if (att.uid!=UserPool::ONEADMIN_ID && att.gid!=GroupPool::ONEADMIN_ID)
|
||||
{
|
||||
if (uattrs.check_restricted(aname, tmpl))
|
||||
if (uattrs.check_restricted(aname, tmpl))
|
||||
{
|
||||
att.resp_msg ="User Template includes a restricted attribute " + aname;
|
||||
|
||||
|
@ -926,6 +926,9 @@ define(function(require) {
|
||||
|
||||
tab.on("click", "#provision_create_vm .provision_select_template .provision-pricing-table.only-one" , function(){
|
||||
var create_vm_context = $("#provision_create_vm");
|
||||
var that = this;
|
||||
|
||||
that.template_base_json = {};
|
||||
|
||||
if ($(this).hasClass("selected")){
|
||||
//$(".provision_disk_selector", create_vm_context).html("");
|
||||
@ -954,6 +957,17 @@ define(function(require) {
|
||||
$("#provision_create_vm .provision_vmgroup").show();
|
||||
$("#provision_create_vm .provision_ds").show();
|
||||
|
||||
OpenNebulaTemplate.show({
|
||||
data : {
|
||||
id: template_id,
|
||||
extended: false
|
||||
},
|
||||
timeout: true,
|
||||
success: function (request, template_json) {
|
||||
that.template_base_json= template_json;
|
||||
}
|
||||
});
|
||||
|
||||
OpenNebula.Template.show({
|
||||
data : {
|
||||
id: template_id,
|
||||
@ -975,6 +989,7 @@ define(function(require) {
|
||||
pers = false;
|
||||
}
|
||||
DisksResize.insert({
|
||||
template_base_json: that.template_base_json,
|
||||
template_json: template_json,
|
||||
disksContext: disksContext,
|
||||
force_persistent: pers,
|
||||
|
@ -371,14 +371,29 @@ define(function(require) {
|
||||
|
||||
this.selected_nodes = selected_nodes;
|
||||
this.template_objects = [];
|
||||
this.template_base_objects = {};
|
||||
|
||||
var templatesContext = $(".list_of_templates", context);
|
||||
|
||||
var idsLength = this.selected_nodes.length;
|
||||
var idsDone = 0;
|
||||
|
||||
$.each(this.selected_nodes, function(index, template_id) {
|
||||
OpenNebulaTemplate.show({
|
||||
data : {
|
||||
id: template_id,
|
||||
extended: false
|
||||
},
|
||||
timeout: true,
|
||||
success: function (request, template_json) {
|
||||
that.template_base_objects[template_json.VMTEMPLATE.ID] = template_json;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
templatesContext.html("");
|
||||
$.each(this.selected_nodes, function(index, template_id) {
|
||||
|
||||
OpenNebulaTemplate.show({
|
||||
data : {
|
||||
id: template_id,
|
||||
@ -463,6 +478,7 @@ define(function(require) {
|
||||
}
|
||||
|
||||
DisksResize.insert({
|
||||
template_base_json: that.template_base_objects[template_json.VMTEMPLATE.ID],
|
||||
template_json: template_json,
|
||||
disksContext: $(".disksContext" + template_json.VMTEMPLATE.ID, context),
|
||||
force_persistent: $("input.instantiate_pers", context).prop("checked"),
|
||||
|
@ -76,6 +76,16 @@ define(function(require){
|
||||
disks = [template_disk]
|
||||
}
|
||||
|
||||
if (opts.template_base_json) {
|
||||
var template_base_disk = opts.template_base_json.VMTEMPLATE.TEMPLATE.DISK
|
||||
var disks_base = []
|
||||
if ($.isArray(template_base_disk)) {
|
||||
disks_base = template_base_disk
|
||||
} else if (!$.isEmptyObject(template_base_disk)) {
|
||||
disks_base = [template_base_disk]
|
||||
}
|
||||
}
|
||||
|
||||
if (disks.length > 0) {
|
||||
disksContext.html(DisksResizeTemplate());
|
||||
|
||||
@ -101,17 +111,23 @@ define(function(require){
|
||||
|
||||
var diskContext;
|
||||
$(".disksContainer", disksContext).html("");
|
||||
$.each(disks, function(disk_id, disk) {
|
||||
diskContext = $(
|
||||
'<div class="row diskContainer">'+
|
||||
'<div class="small-12 columns">'+
|
||||
'<label></label>'+
|
||||
'</div>'+
|
||||
'<div class="large-12 columns diskSlider">' +
|
||||
'</div>' +
|
||||
'</div>').appendTo($(".disksContainer", disksContext));
|
||||
|
||||
diskContext.data('template_disk', disk);
|
||||
if (disks_base) {
|
||||
$.each(disks_base, function(disk_id, disk) {
|
||||
diskContext = $(
|
||||
'<div class="row diskContainer">'+
|
||||
'<div class="small-12 columns">'+
|
||||
'<label></label>'+
|
||||
'</div>'+
|
||||
'<div class="large-12 columns diskSlider">' +
|
||||
'</div>' +
|
||||
'</div>').appendTo($(".disksContainer", disksContext));
|
||||
|
||||
diskContext.data('template_disk', disk);
|
||||
});
|
||||
}
|
||||
|
||||
$.each(disks, function(disk_id, disk) {
|
||||
|
||||
var disk_snapshot_total_size = 0;
|
||||
if (disk.DISK_SNAPSHOT_TOTAL_SIZE != undefined) {
|
||||
|
@ -715,13 +715,12 @@ end
|
||||
##############################################################################
|
||||
# GET Resource information
|
||||
##############################################################################
|
||||
|
||||
get '/:resource/:id/template' do
|
||||
@SunstoneServer.get_template(params[:resource], params[:id])
|
||||
end
|
||||
|
||||
get '/:resource/:id' do
|
||||
if params[:extended]
|
||||
if params[:extended] && params[:extended] != "false"
|
||||
@SunstoneServer.get_resource(params[:resource], params[:id], true)
|
||||
else
|
||||
@SunstoneServer.get_resource(params[:resource], params[:id])
|
||||
|
Loading…
x
Reference in New Issue
Block a user