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

Bug #2857: Fix boolean column for sqlite, do not report false errors in slave DB

(cherry picked from commit b3483aac7f29dd749ce732245a5fd952127d7ec1)
This commit is contained in:
Carlos Martín 2014-05-12 13:12:59 +02:00
parent 3cafbe6080
commit 7c644289bd
2 changed files with 11 additions and 6 deletions

View File

@ -268,9 +268,7 @@ EOT
end
end
if db_version[:is_slave]
log_error("^ User errors need to be fixed in the master OpenNebula")
else
if !db_version[:is_slave]
@db.transaction do
users_fix.each do |id, user|
@db[:user_pool].where(:oid => id).update(
@ -278,6 +276,8 @@ EOT
:gid => user[:gid])
end
end
elsif !users_fix.empty?
log_error("^ User errors need to be fixed in the master OpenNebula")
end
log_time()
@ -297,11 +297,14 @@ EOT
users_new_elem = doc.create_element("USERS")
doc.root.add_child(users_new_elem)
error_found = false
group[gid].each do |id|
id_elem = users_elem.at_xpath("ID[.=#{id}]")
if id_elem.nil?
log_error("User #{id} is missing from Group #{gid} users id list")
error_found = true
else
id_elem.remove
end
@ -311,15 +314,16 @@ EOT
users_elem.xpath("ID").each do |id_elem|
log_error("User #{id_elem.text} is in Group #{gid} users id list, but it should not")
error_found = true
end
row[:body] = doc.to_s
if db_version[:is_slave]
log_error("^ Group errors need to be fixed in the master OpenNebula")
else
if !db_version[:is_slave]
# commit
@db[:group_pool_new].insert(row)
elsif error_found
log_error("^ Group errors need to be fixed in the master OpenNebula")
end
end
end

View File

@ -327,6 +327,7 @@ class BackEndSQLite < OneDBBacKEnd
begin
@db = Sequel.sqlite(@sqlite_file)
@db.integer_booleans = true
rescue Exception => e
raise "Error connecting to DB: " + e.message
end