Merge "Cinder attachment-* does not support names"

This commit is contained in:
Jenkins 2017-07-18 07:54:50 +00:00 committed by Gerrit Code Review
commit 3de1410308
2 changed files with 25 additions and 2 deletions

View File

@ -23,6 +23,7 @@ import six
from cinderclient import client
from cinderclient import exceptions
from cinderclient import shell
from cinderclient import utils as cinderclient_utils
from cinderclient.v3 import volumes
from cinderclient.v3 import volume_snapshots
from cinderclient.tests.unit import utils
@ -248,15 +249,36 @@ class ShellTest(utils.TestCase):
'mountpoint': '/123',
'initiator': 'aabbccdd',
'platform': 'x86_xx'},
'volume_uuid': '1234'}},
{'cmd': 'abc 1233',
'body': {'instance_uuid': '1233',
'connector': {},
'volume_uuid': '1234'}})
@mock.patch.object(cinderclient_utils, 'find_volume')
@ddt.unpack
def test_attachment_create(self, cmd, body):
def test_attachment_create(self, mock_find_volume, cmd, body):
mock_find_volume.return_value = volumes.Volume(self,
{'id': '1234'},
loaded=True)
command = '--os-volume-api-version 3.27 attachment-create '
command += cmd
self.run_command(command)
expected = {'attachment': body}
self.assertTrue(mock_find_volume.called)
self.assert_called('POST', '/attachments', body=expected)
@mock.patch.object(volumes.VolumeManager, 'findall')
def test_attachment_create_duplicate_name_vol(self, mock_findall):
found = [volumes.Volume(self, {'id': '7654', 'name': 'abc'},
loaded=True),
volumes.Volume(self, {'id': '9876', 'name': 'abc'},
loaded=True)]
mock_findall.return_value = found
self.assertRaises(exceptions.CommandError,
self.run_command,
'--os-volume-api-version 3.27 '
'attachment-create abc 789')
@ddt.data({'cmd': '',
'expected': ''},
{'cmd': '--volume-id 1234',

View File

@ -1828,7 +1828,8 @@ def do_attachment_create(cs, args):
'os_type': args.ostype,
'multipath': args.multipath,
'mountpoint': args.mountpoint}
attachment = cs.attachments.create(args.volume,
volume = utils.find_volume(cs, args.volume)
attachment = cs.attachments.create(volume.id,
connector,
args.server_id)
connector_dict = attachment.pop('connection_info', None)