Fix ownership transfer when cloning with SolidFire
When cloning a volume with SolidFire driver, the owner of
the cloned volume is not set correctly in SolidFire when there is
a transfer of ownership.
This results in inconsistent states where the cloned volume
is owned by the new tenant in Cinder but SolidFire thinks it is still
owned by the original volume's tenant.
This patch adds the newAccountID parameter to all CloneVolume calls.
If the cloned volume is owned by the same tenant, newAccountID will
be set to the same value as the original SolidFire volume. There
will be no change of ownership done by the cloning process in SolidFire.
If the cloned volume should be owned by a different tenant, newAccountID
will be set to the appropriate SolidFire account corresponding
to the new tenant. If the SolidFire account does not exist already,
it will be created.
Fixes: bug #1183521
Change-Id: I622ca2962478298e3e0c5a26866e39919805075f
(cherry picked from commit af023fe0cce3b8ef2b90ec37f1bc49feb17eac83)
Reviewed: https:/ /review. openstack. org/30547 github. com/openstack/ cinder/ commit/ c56d031bc800776 58faf481a3e7693 991e83a575
Committed: http://
Submitter: Jenkins
Branch: stable/grizzly
commit c56d031bc800776 58faf481a3e7693 991e83a575
Author: Mathieu Gagné <email address hidden>
Date: Thu May 23 15:26:44 2013 -0400
Fix ownership transfer when cloning with SolidFire
When cloning a volume with SolidFire driver, the owner of
the cloned volume is not set correctly in SolidFire when there is
a transfer of ownership.
This results in inconsistent states where the cloned volume
is owned by the new tenant in Cinder but SolidFire thinks it is still
owned by the original volume's tenant.
This patch adds the newAccountID parameter to all CloneVolume calls.
If the cloned volume is owned by the same tenant, newAccountID will
be set to the same value as the original SolidFire volume. There
will be no change of ownership done by the cloning process in SolidFire.
If the cloned volume should be owned by a different tenant, newAccountID
will be set to the appropriate SolidFire account corresponding
to the new tenant. If the SolidFire account does not exist already,
it will be created.
Fixes: bug #1183521 8e3e0c5a26866e3 9919805075f f2b90ec37f1bc49 feb17eac83)
Change-Id: I622ca296247829
(cherry picked from commit af023fe0cce3b8e