1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-25 02:50:08 +03:00

Fix wrong error codes from group creation

This commit is contained in:
Tino Vazquez 2014-03-18 19:15:17 +01:00
parent 6b24eb51e1
commit 8a8eb5b2f0
3 changed files with 56 additions and 23 deletions

View File

@ -50,17 +50,14 @@ class OneGroupHelper < OpenNebulaHelper::OneHelper
def create_complete_resource(group_hash)
group = factory
exit_code , msg = group.create(group_hash)
rc = group.create(group_hash)
puts msg if msg && !msg.empty?
if (exit_code.class==Fixnum and exit_code < 0) or OpenNebula.is_error?(exit_code)
puts exit_code.message if OpenNebula.is_error?(exit_code) && exit_code.message
return -1
else
puts "ID: #{group.id}"
return 0
if OpenNebula.is_error?(rc)
return -1, rc.message
end
puts "ID: #{group.id}"
return 0
end
def format_pool(options)

View File

@ -89,24 +89,25 @@ module OpenNebula
#
def create(group_hash)
# Check arguments
return -1, "Group name not defined" if !group_hash[:name]
if !group_hash[:name]
return OpenNebula::Error.new("Group name not defined")
end
if group_hash[:user]
if group_hash[:user][:name] and !group_hash[:admin_group]
return -1, "Admin user defined but not admin group"
error_msg = "Admin user defined but not admin group"
return OpenNebula::Error.new(error_msg)
end
if group_hash[:user][:name] and !group_hash[:user][:password]
return -1, "Admin user password not defined"
error_msg = "Admin user password not defined"
return OpenNebula::Error.new(error_msg)
end
end
# Allocate group
rc = self.allocate(group_hash[:name])
if OpenNebula.is_error?(rc)
return -1, "Error allocating group: #{rc.message}"
end
return rc if OpenNebula.is_error?(rc)
# Handle resource providers
group_hash[:resource_providers].each { |rp|
@ -123,8 +124,8 @@ module OpenNebula
rc, msg = create_default_acls(group_hash[:resources])
if OpenNebula.is_error?(rc)
self.delete
return -1, "Error creating group ACL's: #{rc.message}"
error_msg = "Error creating group ACL's: #{rc.message}"
return OpenNebula::Error.new(error_msg)
end
# Create associated admin group if needed
@ -132,15 +133,17 @@ module OpenNebula
if OpenNebula.is_error?(rc)
self.delete
return -1, "Error creating admin group: #{rc.message}"
error_msg = "Error creating admin group: #{rc.message}"
return OpenNebula::Error.new(error_msg)
end
# Add default Sunstone views for the group
if group_hash[:views]
self.update("SUNSTONE_VIEWS=\"#{group_hash[:views].join(",")}\"\n")
str = "SUNSTONE_VIEWS=\"#{group_hash[:views].join(",")}\"\n"
self.update(str)
end
return 0, ""
return 0
end
# Allocates a new Group in OpenNebula

View File

@ -42,6 +42,7 @@ var create_group_tmpl =
'<div class="row">\
<div class="large-12 columns">\
<h3 id="create_group_header">'+tr("Create Group")+'</h3>\
<h3 id="update_group_header">'+tr("Update Group")+'</h3>\
</div>\
</div>\
<div class="reveal-body">\
@ -170,6 +171,7 @@ var create_group_tmpl =
<div class="reveal-footer">\
<div class="form_buttons">\
<button class="button radius right success" id="create_group_submit" value="Group.create">'+tr("Create")+'</button>\
<button class="button right radius" type="submit" id="update_group_submit">' + tr("Update") + '</button>\
<button class="button secondary radius" id="create_group_reset_button" type="reset" value="reset">'+tr("Refresh")+'</button>\
</div>\
</div>\
@ -208,7 +210,7 @@ var group_actions = {
notifyCustom(tr("Group created"), " ID: " + response.GROUP.ID, false);
},
error : onError
},
},
"Group.create_dialog" : {
type: "custom",
@ -264,6 +266,11 @@ var group_actions = {
error: onError
},
"Group.update_dialog" : {
type: "single",
call: popUpUpdateGroupDialog
},
"Group.delete" : {
type: "multiple",
call : OpenNebula.Group.del,
@ -379,6 +386,11 @@ var group_buttons = {
layout: "create",
condition: mustBeAdmin
},
"Group.update_dialog" : {
type : "action",
layout: "main",
text : tr("Update")
},
"Group.quotas_dialog" : {
type : "action",
text : tr("Quotas"),
@ -390,7 +402,7 @@ var group_buttons = {
text: tr("Delete"),
layout: "del",
condition: mustBeAdmin
}
},
};
var group_info_panel = {
@ -1290,6 +1302,27 @@ function setupCreateGroupDialog(){
function popUpCreateGroupDialog(){
$create_group_dialog.foundation().foundation('reveal', 'open');
$("input#name",$create_group_dialog).focus();
// Activate create button
$('#create_group_submit',$create_group_dialog).show();
$('#update_group_submit',$create_group_dialog).hide();
$('#create_group_header',$create_group_dialog).show();
$('#update_group_header',$create_group_dialog).hide();
return false;
}
function popUpUpdateGroupDialog(){
$create_group_dialog.foundation().foundation('reveal', 'open');
// Activate update button
$('#create_group_submit',$create_group_dialog).hide();
$('#update_group_submit',$create_group_dialog).show();
$('#create_group_header',$create_group_dialog).hide();
$('#update_group_header',$create_group_dialog).show();
// Remove unwanted tabs (only leave )
return false;
}