Пример #1
0
 def _init(self):
     self.mock = mox.Mox()
     self.instance_id = 500
     context = ReddwarfContext()
     self.db_info = DBInstance.create(
         name="instance",
         flavor_id=OLD_FLAVOR_ID,
         tenant_id=999,
         volume_size=None,
         task_status=InstanceTasks.RESIZING)
     self.server = self.mock.CreateMock(Server)
     self.instance = models.BuiltInstanceTasks(context,
                                               self.db_info,
                                               self.server,
                                               service_status="ACTIVE")
     self.instance.server.flavor = {'id': OLD_FLAVOR_ID}
     self.guest = self.mock.CreateMock(guest.API)
     self.instance._guest = self.guest
     self.instance._refresh_compute_server_info = lambda: None
     self.instance._refresh_compute_service_status = lambda: None
     self.mock.StubOutWithMock(self.instance, 'update_db')
     self.mock.StubOutWithMock(self.instance,
                               '_set_service_status_to_paused')
     self.poll_until_mocked = False
     self.action = None
Пример #2
0
 def _send_msg_with_timeout(self):
     self.rabbit.declare_queue(topic_name())
     context = ReddwarfContext(is_admin=True, limit=5, marker=None)
     version = rpc.call(context, topic_name(), {
         "method": "version",
         "args": {
             "package_name": "dpkg"
         }
     })
     return {"status": "good", "version": version}
Пример #3
0
 def test_report_root_enabled(self):
     mock_db_api = mock()
     when(reddwarf.extensions.mysql.models).get_db_api().thenReturn(
         mock_db_api)
     when(mock_db_api).find_by(any(), id=None).thenReturn(None)
     root_history = RootHistory('x', 'root')
     when(mock_db_api).save(any(RootHistory)).thenReturn(root_history)
     # invocation
     history = MySqlRootAccess.report_root_enabled(ReddwarfContext())
     # verification
     self.assertThat(history, Is(root_history))
     verify(mock_db_api).save(any(RootHistory))
Пример #4
0
 def setUp(self):
     super(GuestAgentManagerTest, self).setUp()
     self.context = ReddwarfContext()
     self.manager = Manager()
     self.origin_MySqlAppStatus = dbaas.MySqlAppStatus
     self.origin_os_path_exists = os.path.exists
     self.origin_format = volume.VolumeDevice.format
     self.origin_migrate_data = volume.VolumeDevice.migrate_data
     self.origin_mount = volume.VolumeDevice.mount
     self.origin_is_installed = dbaas.MySqlApp.is_installed
     self.origin_stop_mysql = dbaas.MySqlApp.stop_db
     self.origin_start_mysql = dbaas.MySqlApp.start_mysql
     self.origin_install_mysql = dbaas.MySqlApp._install_mysql
Пример #5
0
 def _create_instance(self):
     self.context = ReddwarfContext(is_admin=True)
     self.tenant_id = 999
     self.db_info = DBInstance.create(name="instance",
                                      flavor_id=1,
                                      tenant_id=self.tenant_id,
                                      volume_size=None,
                                      task_status=InstanceTasks.NONE)
     self.server = self.mock.CreateMock(Server)
     self.instance = imodels.Instance(self.context,
                                      self.db_info,
                                      self.server,
                                      service_status="ACTIVE")
Пример #6
0
    def test_execute_restore(self):
        """This test should ensure backup agent
                resolves backup instance
                determines backup/restore type
                transfers/downloads data and invokes the restore module
                reports status
        """
        backup = mock(DBBackup)
        backup.location = "/backup/location/123"
        backup.backup_type = 'InnoBackupEx'

        when(utils).execute(contains('sudo rm -rf')).thenReturn(None)
        when(utils).clean_out(any()).thenReturn(None)
        when(backupagent).get_storage_strategy(any(),
                                               any()).thenReturn(MockStorage)

        when(backupagent).get_restore_strategy(
            'InnoBackupEx', any()).thenReturn(MockRestoreRunner)
        when(DatabaseModelBase).find_by(id='123').thenReturn(backup)
        when(backup).save().thenReturn(backup)

        agent = backupagent.BackupAgent()

        agent.execute_restore(ReddwarfContext(), '123', '/var/lib/mysql')
Пример #7
0
def _prep_conf(current_time):
    current_time = str(current_time)
    context = ReddwarfContext(tenant='TENANT-' + current_time)
    instance_id = 'INSTANCE-' + current_time
    return context, instance_id
Пример #8
0
 def mgmt_restart_task_requires_admin_account(self):
     context = ReddwarfContext(is_admin=False)
     req, body = self._make_request(context=context)
     self.controller = MgmtInstanceController()
     assert_raises(exception.Forbidden, self.controller.action, req, body,
                   self.tenant_id, self.db_info.id)