Ejemplo n.º 1
0
 def test_handle_server_after_clone(self, mock_client, mock_wait):
     template = \
         fake_constants.FAKE_INSTANCE_TEMPLATE['template']['resources']
     template['volume_1']['extra_properties']['sys_clone'] = True
     self.manager.compute_api.migrate_interface_detach = mock.MagicMock()
     self.manager.compute_api.migrate_interface_detach.return_value = None
     mock_client.return_value = birdiegatewayclient.Client()
     mock_client.return_value.vservices._force_umount_disk = \
         mock.MagicMock()
     mock_client.return_value.vservices._force_umount_disk.return_value = \
         None
     self.manager.compute_api.stop_server = mock.MagicMock()
     self.manager.compute_api.stop_server.return_value = None
     self.manager.compute_api.detach_volume = mock.MagicMock()
     self.manager.compute_api.detach_volume.return_value = None
     common.ResourceCommon._await_instance_status = mock.MagicMock()
     common.ResourceCommon._await_instance_status.return_value = None
     self.manager.compute_api.attach_volume = mock.MagicMock()
     self.manager.compute_api.attach_volume.return_value = None
     self.manager.compute_api.start_server = mock.MagicMock()
     self.manager.compute_api.start_server.return_value = None
     self.assertEqual(
         None,
         self.manager.handle_server_after_clone(self.context,
                                                template['server_0'],
                                                template))
Ejemplo n.º 2
0
 def test_start_template_clone(self, mock_client):
     self.manager.nova_api.get_server = mock.MagicMock()
     self.manager.nova_api.get_server.return_value = \
         {'OS-EXT-AZ:availability_zone': 'az01',
          'id': '123'}
     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.neutron_api.port_list = mock.MagicMock()
     self.manager.neutron_api.port_list.return_value = \
         [{'binding:profile': {'host_ip': '10.1.1.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'}
     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.get_disk_mount_point = \
         mock.MagicMock()
     mock_client.return_value.vservices.\
         get_disk_mount_point.return_value = {'mount_point': '/opt'}
     mock_client.return_value.vservices.clone_volume = mock.MagicMock()
     mock_client.return_value.vservices.clone_volume.return_value = \
         {'body': {'task_id': '123'}}
     self.assertEqual(None, self.manager.start_template_clone(
         self.context, 'server_0',
         fake_constants.FAKE_INSTANCE_TEMPLATE['template']))
Ejemplo n.º 3
0
 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))
Ejemplo n.º 4
0
 def test_await_data_trans_status_with_raise(self, mock_con_client):
     mock_con_client.return_value = conveyorclient.Client()
     mock_con_client.return_value.vservices.get_data_trans_status = \
         mock.MagicMock()
     mock_con_client.return_value. \
         vservices.get_data_trans_status.return_value = \
         {'body': {'task_state': 'DATA_TRANSFORMING'}}
     CONF.set_default('data_transformer_state_retries', 1)
     CONF.set_default('data_transformer_state_retries_interval', 0.1)
     self.manager.plan_api.update_plan = mock.MagicMock()
     self.manager.plan_api.update_plan.return_value = None
     self.assertRaises(exception.InstanceNotCreated,
                       self.manager._await_data_trans_status, self.context,
                       123, 80, [123], plan_status.STATE_MAP)
Ejemplo n.º 5
0
 def test_await_data_trans_status_with_host(self, mock_con_client):
     mock_con_client.return_value = conveyorclient.Client()
     mock_con_client.return_value.vservices.get_data_trans_status = \
         mock.MagicMock()
     mock_con_client.return_value. \
         vservices.get_data_trans_status.return_value = \
         {'body': {'task_state': 'DATA_TRANS_FINISHED'}}
     CONF.set_default('data_transformer_state_retries', 1)
     CONF.set_default('data_transformer_state_retries_interval', 0.1)
     self.manager.plan_api.update_plan = mock.MagicMock()
     self.manager.plan_api.update_plan.return_value = None
     self.assertEqual(
         1,
         self.manager._await_data_trans_status(self.context, 123, 80, [123],
                                               plan_status.STATE_MAP))
Ejemplo n.º 6
0
    def test_start_volume_clone(self, mock_client):
        def set_plan_state(arg1, arg2, arg3, arg4):
            pass

        self.manager.cinder_api.get = mock.MagicMock()
        self.manager.cinder_api.get.return_value = \
            {'status': 'available', 'shareable': False,
             'availability_zone': 'az01'}
        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.clone_volume = mock.MagicMock()
        mock_client.return_value.vservices.clone_volume.return_value = \
            {'body': {'task_id': '123'}}
        mock_client.return_value.vservices._force_umount_disk = \
            mock.MagicMock()
        mock_client.return_value.vservices._force_umount_disk.return_value = \
            None
        # common.ResourceCommon = mock.MagicMock()
        # common.ResourceCommon.return_value = common.ResourceCommon()
        self.manager.compute_api.stop_server = mock.MagicMock()
        self.manager.compute_api.stop_server.return_value = None
        common.ResourceCommon._await_instance_status = mock.MagicMock()
        common.ResourceCommon._await_instance_status.return_value = None
        self.manager.compute_api.detach_volume = mock.MagicMock()
        self.manager.compute_api.detach_volume.return_value = None
        self.manager.compute_api.start_server = mock.MagicMock()
        self.manager.compute_api.start_server.return_value = None
        self.assertEqual(
            None,
            self.manager.start_volume_clone(
                self.context,
                'volume_0',
                fake_constants.UPDATED_TEMPLATE['template'],
                set_plan_state=set_plan_state))