]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commitdiff
Remove unused columns from Service ORM model
authorMichał Dulko <michal.dulko@intel.com>
Tue, 16 Feb 2016 14:16:02 +0000 (15:16 +0100)
committerMichał Dulko <michal.dulko@intel.com>
Mon, 29 Feb 2016 11:25:08 +0000 (12:25 +0100)
rpc_available_version and object_available_version columns were part of
previous design of our RPC API compatibility layer. We've decided to go
in a little different direction so these two are currently unused.

With our live-schema-upgrades guidelines (related to rolling upgrades
support) it's a lot easier to readd something to the DB than to drop it.
Let's take the chance to actually drop these unused DB columns in early
Newton. To do that we need to remove them from the SQLAlchemy model in
Mitaka and this commit does so.

Change-Id: I3b7588214863ed008a0783167580953c22f58e99
Related-Blueprint: rpc-object-compatibility

cinder/db/sqlalchemy/models.py

index fa96e6bc87e66eb892ef0a1c0cd303b090939778..cc52ac4f8b8a681af86f43840216b141eb39c594 100644 (file)
@@ -70,13 +70,14 @@ class Service(BASE, CinderBase):
     # periodic updates
     modified_at = Column(DateTime)
 
-    # Version columns to support rolling upgrade.
-    # Current version is what the service is running now (i.e. minimum).
-    # Available version is what the service can support (i.e. max).
+    # Version columns to support rolling upgrade. These report the max RPC API
+    # and objects versions that the manager of the service is able to support.
     rpc_current_version = Column(String(36))
-    rpc_available_version = Column(String(36))
     object_current_version = Column(String(36))
-    object_available_version = Column(String(36))
+
+    # FIXME(dulek): In M we've removed rpc_available_version and
+    # object_available_version from the model. We need to merge a DB migration
+    # that actually drops these columns from the DB in early Newton.
 
     # replication_status can be: enabled, disabled, not-capable, error,
     # failed-over or not-configured