Add missing VolumeAttachStatus enum field

VolumeAttachStatus has been defined already, This change
just replace the missing string volume attach status with
volume attach enum field.

Change-Id: I1e873d66138b88745bdb325f124b6bd781c7d621
Partial-Implements: bp cinder-object-fields
This commit is contained in:
junboli 2018-04-21 20:10:06 +08:00 committed by junbo.li
parent 8efee51cae
commit f01ae575da
4 changed files with 6 additions and 4 deletions

View File

@ -24,6 +24,7 @@ from cinder.api import validation
from cinder import exception
from cinder.i18n import _
from cinder import objects
from cinder.objects import fields
from cinder.policies import attachments as attachment_policy
from cinder import utils
from cinder.volume import api as volume_api
@ -271,7 +272,8 @@ class AttachmentsController(wsgi.Controller):
attachment_ref.volume_id)
context.authorize(attachment_policy.COMPLETE_POLICY,
target_obj=attachment_ref)
attachment_ref.update({'attach_status': 'attached'})
attachment_ref.update(
{'attach_status': fields.VolumeAttachStatus.ATTACHED})
attachment_ref.save()
volume_ref.update({'status': 'in-use', 'attach_status': 'attached'})
volume_ref.save()

View File

@ -2091,7 +2091,7 @@ def attachment_destroy(context, attachment_id):
utcnow = timeutils.utcnow()
session = get_session()
with session.begin():
updated_values = {'attach_status': 'deleted',
updated_values = {'attach_status': fields.VolumeAttachStatus.DELETED,
'deleted': True,
'deleted_at': utcnow,
'updated_at': literal_column('updated_at')}

View File

@ -2163,7 +2163,7 @@ class API(base.Base):
ctxt.authorize(attachment_policy.DELETE_POLICY,
target_obj=attachment)
volume = objects.Volume.get_by_id(ctxt, attachment.volume_id)
if attachment.attach_status == 'reserved':
if attachment.attach_status == fields.VolumeAttachStatus.RESERVED:
self.db.volume_detached(ctxt.elevated(), attachment.volume_id,
attachment.get('id'))
self.db.volume_admin_metadata_delete(ctxt.elevated(),

View File

@ -4508,7 +4508,7 @@ class VolumeManager(manager.CleanableManager,
# TODO(jdg): object method here
self.db.volume_attachment_update(
context, attachment.get('id'),
{'attach_status': 'error_detaching'})
{'attach_status': fields.VolumeAttachStatus.ERROR_DETACHING})
else:
self.db.volume_detached(context.elevated(), vref.id,
attachment.get('id'))