def test_add_extra_properties_for_volume(self, mock_client): template = fake_constants.FAKE_INSTANCE_TEMPLATE['template'] res_map = dict() res_map['volume_1'] = \ resource.Resource.from_dict(template['resources']['volume_1']) undo_mgr = utils.UndoManager() self.manager.volume_api.get = mock.MagicMock() self.manager.volume_api.get.return_value = \ {'status': 'available', 'shareable': True, 'attachments': [{'server_id': '123'}]} res_map['volume_1'].extra_properties.pop('gw_url') utils.get_next_vgw = mock.MagicMock() utils.get_next_vgw.return_value = ('123', '10.0.0.1') mock_client.return_value = birdiegatewayclient.Client() mock_client.return_value.vservices.get_disk_name = mock.MagicMock() mock_client.return_value.vservices.get_disk_name.return_value = \ {'dev_name': 's'} self.manager.compute_api.attach_volume = mock.MagicMock() self.manager.compute_api.attach_volume.return_value = None mock_client.return_value.vservices.get_disk_format = mock.MagicMock() mock_client.return_value.vservices.get_disk_format.return_value = \ {'disk_format': 'ext3'} mock_client.return_value.vservices.force_mount_disk = mock.MagicMock() mock_client.return_value.vservices.force_mount_disk.return_value = \ {'mount_disk': '/opt'} self.assertEqual( None, self.manager.add_extra_properties_for_volume( self.context, 'volume_1', res_map['volume_1'], res_map, False, True, undo_mgr))
def test_add_extra_properties_for_volume_with_vm(self): template = fake_constants.FAKE_INSTANCE_TEMPLATE['template'] res_map = {} for key, value in template['resources'].items(): res_map[key] = resource.Resource.from_dict(value) undo_mgr = utils.UndoManager() self.assertEqual( None, self.manager.add_extra_properties_for_volume( self.context, 'volume_1', res_map['volume_1'], res_map, False, True, undo_mgr))
def handle_resources(self, context, plan_id, resource_map, sys_clone, copy_data): LOG.debug('Begin handle resources') undo_mgr = utils.UndoManager() try: self._add_extra_properties(context, resource_map, sys_clone, undo_mgr) return undo_mgr except Exception as e: LOG.error(_LE('Generate template failed, err:%s'), str(e)) undo_mgr._rollback() raise exception.ExportTemplateFailed(id=plan_id, msg=str(e))
def test_add_extra_properties_for_stack(self): undo_mgr = utils.UndoManager() template = fake_constants.FAKE_PLAN['updated_resources'] stack = resource.Resource.from_dict(template['stack_0']) self.manager.heat_api.get_resource = mock.MagicMock() self.manager.heat_api.get_resource.return_value = \ api.Resource(api.format_resource(fake_constants.FAKE_RESOURCE)) self.manager.compute_api.get_server = mock.MagicMock() self.manager.compute_api.get_server.return_value = \ {'OS-EXT-STS:vm_state': 'active'} self.assertEqual( None, self.manager.add_extra_properties_for_stack( self.context, stack, False, True, undo_mgr))
def test_add_extra_properties_for_server(self, mock_svm): template = fake_constants.FAKE_INSTANCE_TEMPLATE['template'] template['resources']['server_0']['extra_properties'].pop('gw_url') res_map = {} for key, value in template['resources'].items(): res_map[key] = resource.Resource.from_dict(value) undo_mgr = utils.UndoManager() utils.get_next_vgw = mock.MagicMock() utils.get_next_vgw.return_value = ('123', '10.0.0.1') self.assertEqual( None, self.manager.add_extra_properties_for_server( self.context, res_map['server_0'], res_map, False, True, undo_mgr))