14873: Fixes unit tests.
[arvados.git] / services / api / app / models / node.rb
index 3d8b91b4b62df590edd2c1049a5ea69e17224bef..ecafcdd218db171d1209bc4ebdebb549ce17329d 100644 (file)
@@ -8,8 +8,11 @@ class Node < ArvadosModel
   include HasUuid
   include KindAndEtag
   include CommonApiTemplate
-  serialize :info, Hash
-  serialize :properties, Hash
+
+  # Posgresql JSONB columns should NOT be declared as serialized, Rails 5
+  # already know how to properly treat them.
+
+  before_validation :fill_field_defaults
   before_validation :ensure_ping_secret
   after_update :dns_server_update
 
@@ -138,6 +141,11 @@ class Node < ArvadosModel
 
   protected
 
+  def fill_field_defaults
+    self.info ||= {}
+    self.properties ||= {}
+  end
+
   def assign_hostname
     if self.hostname.nil? and Rails.configuration.assign_node_hostname
       self.hostname = self.class.hostname_for_slot(self.slot_number)