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:
parent
6b24eb51e1
commit
8a8eb5b2f0
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user