From 9c362e4e9a0d920cf4fb49bb2d1c14c9bc06c4dc Mon Sep 17 00:00:00 2001 From: Jaime Melis Date: Tue, 19 Apr 2016 17:48:15 +0200 Subject: [PATCH] Bug #4376: migrator of the vlan_bitmap table --- src/onedb/local/4.13.85_to_4.90.0.rb | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/onedb/local/4.13.85_to_4.90.0.rb b/src/onedb/local/4.13.85_to_4.90.0.rb index 4e7ce53324..92594ad05e 100644 --- a/src/onedb/local/4.13.85_to_4.90.0.rb +++ b/src/onedb/local/4.13.85_to_4.90.0.rb @@ -15,6 +15,8 @@ #--------------------------------------------------------------------------- # require 'set' +require 'base64' +require 'zlib' require 'opennebula' @@ -752,6 +754,31 @@ module Migrator end @db.run "DROP TABLE old_vm_pool;" + log_time() + + ############################################################################ + # Bug #4376 - VLAN IDs Bitmap + ############################################################################ + + ## Create and bootstrap 'vlan_bitmap' table + + # Create Table + @db.run "CREATE TABLE network_vlan_bitmap (id INTEGER, map LONGTEXT, PRIMARY KEY(id));" + + map = "" + 4096.times.each do |i| + map << (reserved_vlan_ids.include?(4095 - i) ? "1" : "0") + end + + map_encoded = Base64::strict_encode64(Zlib::Deflate.deflate(map)) + + @db[:network_vlan_bitmap].insert( + :id => 0, + :map => map_encoded + ) + + log_time() + return true end