From 3d38bcc23a74ad7f8168a8074858f5ed39b606b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn?= Date: Wed, 24 Aug 2016 17:58:06 +0200 Subject: [PATCH] Bug #4667: Move fix from the patch to fsck --- src/onedb/fsck.rb | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/onedb/fsck.rb b/src/onedb/fsck.rb index 3d4861c365..c7e2adc6c3 100644 --- a/src/onedb/fsck.rb +++ b/src/onedb/fsck.rb @@ -803,6 +803,7 @@ EOT cluster_vnc = {} # Aggregate information of the RUNNING vms + @db.transaction do @db.fetch("SELECT oid,body FROM vm_pool WHERE state<>6") do |row| vm_doc = Nokogiri::XML(row[:body],nil,NOKOGIRI_ENCODING){|c| c.default_xml.noblanks} @@ -946,6 +947,29 @@ EOT counters_host[:cpu] += cpu counters_host[:rvms].add(row[:oid]) end + + @db.fetch("SELECT * FROM history WHERE vid=#{row[:oid]}") do |hrow| + hdoc = Nokogiri::XML(hrow[:body],nil,NOKOGIRI_ENCODING){|c| c.default_xml.noblanks} + + found = false + + # Rename VMMMAD -> VM_MAD and TMMAD -> TM_MAD + hdoc.root.xpath("VMMMAD").each {|e| + e.name = "VM_MAD" + found = true + } + + hdoc.root.xpath("TMMAD").each {|e| + e.name = "TM_MAD" + found = true + } + + if found + @db[:history].where(:vid => hrow[:vid], :seq => hrow[:seq]).update( + :body => hdoc.root.to_s) + end + end + end end @db.transaction do