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

Fix for rollback bug (in oZones DB) in oZones server.

(cherry picked from commit f6bf7fc15189777bea0e34925a8bf2fa460eadd3)
This commit is contained in:
Tino Vazquez 2012-06-29 19:08:02 +02:00
parent a77bafffb6
commit ae88c280c5

View File

@ -170,7 +170,10 @@ module OZones
rc = resources_in_cluster?(rsrc)
return rc if OpenNebula.is_error?(rc)
if OpenNebula.is_error?(rc)
@vdc.delete
return rc
end
#-------------------------------------------------------------------
# Create a group in the zone with the VDC name
@ -178,7 +181,10 @@ module OZones
group = OpenNebula::Group.new(OpenNebula::Group.build_xml, @client)
rc = group.allocate(@vdc.NAME)
return rc if OpenNebula.is_error?(rc)
if OpenNebula.is_error?(rc)
@vdc.delete
return rc
end
@vdc.GROUP_ID = group.id
@ -190,7 +196,11 @@ module OZones
user = OpenNebula::User.new(OpenNebula::User.build_xml, @client)
rc = user.allocate(@vdc.VDCADMINNAME, vdcpass)
return rollback(group, nil, nil, rc) if OpenNebula.is_error?(rc)
if OpenNebula.is_error?(rc)
@vdc.delete
return rollback(group, nil, nil, rc)
end
@vdc.VDCADMIN_ID = user.id
@ -200,7 +210,11 @@ module OZones
# Change primary group of the admin user to the VDC group
#-------------------------------------------------------------------
rc = user.chgrp(group.id)
return rollback(group, user, nil, rc) if OpenNebula.is_error?(rc)
if OpenNebula.is_error?(rc)
@vdc.delete
return rollback(group, user, nil, rc)
end
#-------------------------------------------------------------------
# Add ACLs
@ -210,7 +224,11 @@ module OZones
OzonesServer::logger.debug {"Creating ACLs #{rules}..."}
rc, acl_ids = create_acls(rules)
return rollback(group, user, acl_ids,rc) if OpenNebula.is_error?(rc)
if OpenNebula.is_error?(rc)
@vdc.delete
return rollback(group, user, acl_ids,rc)
end
OzonesServer::logger.debug {"ACLs #{acl_ids} created"}