def create_attachment(self, t, stack, resource_name): resource = vol.VolumeAttachment(resource_name, t['Resources'][resource_name], stack) self.assertEqual(None, resource.validate()) self.assertEqual(None, resource.create()) self.assertEqual(vol.VolumeAttachment.CREATE_COMPLETE, resource.state) return resource
def test_volume_attachment_error(self): fv = FakeVolume('attaching', 'error') # create script vol.VolumeAttachment.nova().AndReturn(self.fc) self.fc.volumes.create_server_volume( device=u'/dev/vdc', server_id=u'WikiDatabase', volume_id=u'vol-123').AndReturn(fv) vol.VolumeAttachment.nova('volume').AndReturn(self.fc) self.fc.volumes.get('vol-123').AndReturn(fv) eventlet.sleep(1).AndReturn(None) self.m.ReplayAll() t = self.load_template() stack = self.parse_stack(t) resource = vol.VolumeAttachment('MountPoint', t['Resources']['MountPoint'], stack) self.assertEqual('error', resource.create()) self.m.VerifyAll()
def create_attachment(self, t, stack, resource_name): rsrc = vol.VolumeAttachment(resource_name, t['Resources'][resource_name], stack) self.assertEqual(rsrc.validate(), None) scheduler.TaskRunner(rsrc.create)() self.assertEqual(rsrc.state, (rsrc.CREATE, rsrc.COMPLETE)) return rsrc
def test_volume_attachment_error(self): fv = FakeVolume('creating', 'available') fva = FakeVolume('attaching', 'error') stack_name = 'test_volume_attach_error_stack' # volume create clients.OpenStackClients.cinder().MultipleTimes().AndReturn( self.cinder_fc) vol_name = utils.PhysName(stack_name, 'DataVolume') self.cinder_fc.volumes.create(size=u'1', availability_zone='nova', display_description=vol_name, display_name=vol_name).AndReturn(fv) # create script clients.OpenStackClients.nova().MultipleTimes().AndReturn(self.fc) scheduler.TaskRunner._sleep(mox.IsA(int)).AndReturn(None) self.fc.volumes.create_server_volume( device=u'/dev/vdc', server_id=u'WikiDatabase', volume_id=u'vol-123').AndReturn(fva) self.cinder_fc.volumes.get('vol-123').AndReturn(fva) self.m.ReplayAll() t = template_format.parse(volume_template) t['Resources']['DataVolume']['Properties']['AvailabilityZone'] = 'nova' stack = parse_stack(t, stack_name=stack_name) scheduler.TaskRunner(stack['DataVolume'].create)() self.assertEqual(fv.status, 'available') rsrc = vol.VolumeAttachment('MountPoint', t['Resources']['MountPoint'], stack) create = scheduler.TaskRunner(rsrc.create) self.assertRaises(exception.ResourceFailure, create) self.m.VerifyAll()
def test_volume_attachment_error(self): fv = FakeVolume('creating', 'available') fva = FakeVolume('attaching', 'error') stack_name = 'test_volume_attach_error_stack' self._mock_create_volume(fv, stack_name) self._mock_create_server_volume_script(fva) self.m.ReplayAll() t = template_format.parse(volume_template) t['Resources']['DataVolume']['Properties']['AvailabilityZone'] = 'nova' stack = utils.parse_stack(t, stack_name=stack_name) scheduler.TaskRunner(stack['DataVolume'].create)() self.assertEqual(fv.status, 'available') rsrc = vol.VolumeAttachment('MountPoint', t['Resources']['MountPoint'], stack) create = scheduler.TaskRunner(rsrc.create) self.assertRaises(exception.ResourceFailure, create) self.m.VerifyAll()
def test_volume_attachment_error(self): fv = FakeVolume('creating', 'available') fva = FakeVolume('attaching', 'error') stack_name = 'test_volume_attach_error_stack' # volume create clients.OpenStackClients.cinder().MultipleTimes().AndReturn(self.fc) self.fc.volumes.create( u'1', display_description='%s.DataVolume' % stack_name, display_name='%s.DataVolume' % stack_name).AndReturn(fv) # create script clients.OpenStackClients.nova().MultipleTimes().AndReturn(self.fc) # clients.OpenStackClients.cinder().MultipleTimes().AndReturn(self.fc) eventlet.sleep(1).MultipleTimes().AndReturn(None) self.fc.volumes.create_server_volume( device=u'/dev/vdc', server_id=u'WikiDatabase', volume_id=u'vol-123').AndReturn(fva) self.fc.volumes.get('vol-123').AndReturn(fva) self.m.ReplayAll() t = self.load_template() stack = self.parse_stack(t, stack_name) self.assertEqual(stack['DataVolume'].create(), None) self.assertEqual(fv.status, 'available') resource = vol.VolumeAttachment('MountPoint', t['Resources']['MountPoint'], stack) self.assertEqual(resource.create(), 'error') self.m.VerifyAll()