From 47c7454d1b8926040577f77822729463d42ed635 Mon Sep 17 00:00:00 2001 From: Boris Pavlovic Date: Fri, 8 Mar 2013 02:12:22 +0400 Subject: Make bm model's deleted column match database In Models by default type of deleted column is Integer, but bm tabels use Boolean type for deleted columns.This produce bug in postgresql (type mismatch). At this moment we are not able to do any db migrations, so there is only one way to fix this bug. Change type of deleted columns in Models from Integer to Boolean. In Havana we will be able to change deleted columns types to type of id for bm tables and use soft_delete and UC as in rest of nova. Fixes bug 1140294 Change-Id: Id56c4bbff7048ed5c746dc995380be9ba0a12c39 --- nova/virt/baremetal/db/sqlalchemy/models.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'nova') diff --git a/nova/virt/baremetal/db/sqlalchemy/models.py b/nova/virt/baremetal/db/sqlalchemy/models.py index 756376cb7..35f3b176c 100644 --- a/nova/virt/baremetal/db/sqlalchemy/models.py +++ b/nova/virt/baremetal/db/sqlalchemy/models.py @@ -19,7 +19,7 @@ SQLAlchemy models for baremetal data. """ -from sqlalchemy import Column, Integer, String +from sqlalchemy import Column, Boolean, Integer, String from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import ForeignKey, Text @@ -34,6 +34,7 @@ class BareMetalNode(BASE, models.NovaBase): __tablename__ = 'bm_nodes' id = Column(Integer, primary_key=True) + deleted = Column(Boolean, default=False) uuid = Column(String(36)) service_host = Column(String(255)) instance_uuid = Column(String(36), nullable=True) @@ -59,6 +60,7 @@ class BareMetalNode(BASE, models.NovaBase): class BareMetalPxeIp(BASE, models.NovaBase): __tablename__ = 'bm_pxe_ips' id = Column(Integer, primary_key=True) + deleted = Column(Boolean, default=False) address = Column(String(255), unique=True) server_address = Column(String(255), unique=True) bm_node_id = Column(Integer, ForeignKey('bm_nodes.id'), nullable=True) @@ -67,6 +69,7 @@ class BareMetalPxeIp(BASE, models.NovaBase): class BareMetalInterface(BASE, models.NovaBase): __tablename__ = 'bm_interfaces' id = Column(Integer, primary_key=True) + deleted = Column(Boolean, default=False) bm_node_id = Column(Integer, ForeignKey('bm_nodes.id'), nullable=True) address = Column(String(255), unique=True) datapath_id = Column(String(255)) -- cgit