]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commit
Verify volume is replication capable
authorJohn Griffith <john.griffith8@gmail.com>
Tue, 6 Oct 2015 23:15:58 +0000 (17:15 -0600)
committerJohn Griffith <john.griffith8@gmail.com>
Wed, 7 Oct 2015 23:28:12 +0000 (17:28 -0600)
commit1ca450fe232eef79fa0040f467fd79e8b2504ca5
treeba5aa1af988fae1557796fade1eead61565aac03
parentb85cbda2c4d5136d0df54e30d6ed967b6c7af72b
Verify volume is replication capable

The V1 implementation of replication added a replication_status
field to the Volume object and set it to disabled by default on
volume creation.

This is problematic, because there's no way for the API or any
caller to know if the status is disabled because it was
explicitly set that way, or if it is because the back end or
volume-type do not support replication.

This results in cases like enable replication (which does a status
check on disabled) to be called inappropriately on devices that
don't support replication.

This patch adds a decorator to the new replication methods which will
check that the volume is of type with replication_enabled=True before
attempting any replication related operations.

Change-Id: I943be2aef3b7c32026278f311dae9f82194372fe
Closes-Bug: #1503439
cinder/tests/unit/test_volume.py
cinder/volume/api.py