Using wrong connector parameter in V3 attach

The V3 attach implementation is pulling a `hostname` parameter from
the connector.  The problem is that the connector doesn't have a
`hostname` member, it does however have a `host` member which is what
we should be using here.

Co-Authored-By: j-griffith <john.griffith8@gmail.com>
Change-Id: I1c74b5df9478c0dbd26d7fbd7c0ecc3f2aa0a6ef
Closes-Bug: #1693333
This commit is contained in:
j-griffith 2017-05-24 15:26:07 -06:00 committed by TommyLike
parent cec1d5c249
commit dfaf151ab7
2 changed files with 25 additions and 6 deletions

View File

@ -81,13 +81,14 @@ class AttachmentManagerTestCase(test.TestCase):
vref = tests_utils.create_volume(self.context, **volume_params)
self.manager.create_volume(self.context, vref)
values = {'volume_id': vref.id,
'volume_host': vref.host,
'attached_host': vref.host,
'attach_status': 'reserved',
'instance_uuid': fake.UUID1}
attachment_ref = db.volume_attach(self.context, values)
with mock.patch.object(self.manager,
'_notify_about_volume_usage',
return_value=None):
with mock.patch.object(
self.manager, '_notify_about_volume_usage',
return_value=None), mock.patch.object(
self.manager.driver, 'attach_volume') as mock_driver:
expected = {
'encrypted': False,
'qos_specs': None,
@ -101,6 +102,24 @@ class AttachmentManagerTestCase(test.TestCase):
vref,
connector,
attachment_ref.id))
mock_driver.assert_called_once_with(self.context,
vref,
attachment_ref.instance_uuid,
"tempest-1",
"na")
new_attachment_ref = db.volume_attachment_get(self.context,
attachment_ref.id)
for attr, expected in (('instance_uuid',
attachment_ref.instance_uuid),
('attached_host', connector['host']),
('mountpoint', 'na'),
('attach_mode', 'rw')):
self.assertEqual(expected, new_attachment_ref[attr])
new_volume_ref = db.volume_get(self.context,
vref.id)
self.assertEqual('in-use', new_volume_ref['status'])
self.assertEqual(fields.VolumeAttachStatus.ATTACHED,
new_volume_ref['attach_status'])
def test_attachment_delete(self):
"""Test attachment_delete."""

View File

@ -3945,7 +3945,7 @@ class VolumeManager(manager.CleanableManager,
self.driver.attach_volume(context,
vref,
attachment_ref.instance_uuid,
connector.get('hostname', ''),
connector.get('host', ''),
connector.get('mountpoint', 'na'))
except Exception:
with excutils.save_and_reraise_exception():
@ -3957,7 +3957,7 @@ class VolumeManager(manager.CleanableManager,
self.db.volume_attached(context.elevated(),
attachment_ref.id,
attachment_ref.instance_uuid,
connector.get('hostname', ''),
connector.get('host', ''),
connector.get('mountpoint', 'na'),
mode)
vref.refresh()