diff --no-dereference -uNr opennebula-5.4.1.orig/src/onedb/onedb_backend.rb opennebula-5.4.1-fixfederationimport/src/onedb/onedb_backend.rb
--- opennebula-5.4.1.orig/src/onedb/onedb_backend.rb	2017-09-19 08:03:16.000000000 -0500
+++ opennebula-5.4.1-fixfederationimport/src/onedb/onedb_backend.rb	2017-10-11 01:06:51.920348848 -0500
@@ -203,6 +203,18 @@
             @block_n += 1
         end
     end
+
+    def write_quotas(file)
+        ["group_quotas", "user_quotas"].each do |table|
+            file.puts "DELETE FROM #{table};"
+        end
+        @db.fetch("SELECT oid FROM user_pool;") { |row|
+            file.puts "INSERT INTO user_quotas (user_oid, body) VALUES (#{row[:oid]}, \"<QUOTAS><ID>#{row[:oid]}</ID><DATASTORE_QUOTA></DATASTORE_QUOTA><NETWORK_QUOTA></NETWORK_QUOTA><VM_QUOTA></VM_QUOTA><IMAGE_QUOTA></IMAGE_QUOTA></QUOTAS>\");"
+        }
+        @db.fetch("SELECT oid FROM group_pool;") { |row|
+            file.puts "INSERT INTO group_quotas (group_oid, body) VALUES (#{row[:oid]}, \"<QUOTAS><ID>#{row[:oid]}</ID><DATASTORE_QUOTA></DATASTORE_QUOTA><NETWORK_QUOTA></NETWORK_QUOTA><VM_QUOTA></VM_QUOTA><IMAGE_QUOTA></IMAGE_QUOTA></QUOTAS>\");"
+        }
+    end
 end
 
 class BackEndMySQL < OneDBBacKEnd
@@ -249,12 +261,20 @@
     end
 
     def backup(bck_file, federated = false)
+        connect_db
+
         cmd = "mysqldump -u #{@user} -p'#{@passwd}' -h #{@server} " <<
               "-P #{@port} --add-drop-table #{@db_name} "
 
         cmd << FEDERATED_TABLES.join(" ") if federated
 
-        cmd << " > #{bck_file}"
+        cmd << " >> #{bck_file}"
+
+        File.open(bck_file, "w") do |f|
+            if federated
+                write_quotas(f)
+            end
+        end
 
         rc = system(cmd)
 
@@ -336,6 +356,8 @@
 
     def backup(bck_file, federated = false)
         if federated
+            connect_db
+
             puts "Sqlite database backup of federated tables stored in #{bck_file}"
 
             File.open(bck_file, "w") do |f|
@@ -343,6 +365,7 @@
                 FEDERATED_TABLES.each do |table|
                     f.puts "DROP TABLE IF EXISTS \"#{table}\";"
                 end
+                write_quotas(f)
             end
 
             FEDERATED_TABLES.each do |table|
