コード例 #1
0
ファイル: instances_resize.py プロジェクト: riddhi89/reddwarf
 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
ファイル: instances_resize.py プロジェクト: juicegit/reddwarf
 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
コード例 #3
0
    def prepare(self,
                memory_mb,
                databases,
                users,
                device_path=None,
                mount_point=None):
        from reddwarf.instance.models import DBInstance
        from reddwarf.instance.models import InstanceServiceStatus
        from reddwarf.instance.models import ServiceStatuses
        from reddwarf.guestagent.models import AgentHeartBeat
        LOG.debug("users... %s" % users)
        LOG.debug("databases... %s" % databases)
        instance_name = DBInstance.find_by(id=self.id).name
        self.create_user(users)
        self.create_database(databases)

        def update_db():
            status = InstanceServiceStatus.find_by(instance_id=self.id)
            if instance_name.endswith('GUEST_ERROR'):
                status.status = ServiceStatuses.FAILED
            else:
                status.status = ServiceStatuses.RUNNING
            status.save()
            AgentHeartBeat.create(instance_id=self.id)

        self.event_spawn(1.0, update_db)
コード例 #4
0
ファイル: models.py プロジェクト: riddhi89/reddwarf
 def load(context, id):
     client = create_nova_client(context)
     account = client.accounts.get_instances(id)
     db_infos = DBInstance.find_all(tenant_id=id, deleted=False)
     servers = [Server(server) for server in account.servers]
     instances = MgmtInstances.load_status_from_existing(
         context, db_infos, servers)
     return Account(id, instances)
コード例 #5
0
ファイル: instances_actions.py プロジェクト: rmyers/reddwarf
 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
ファイル: models.py プロジェクト: cp16net/reddwarf-1
 def load(context, id):
     client = create_nova_client(context)
     account = client.accounts.get_instances(id)
     db_infos = DBInstance.find_all(tenant_id=id, deleted=False)
     servers = [Server(server) for server in account.servers]
     instances = MgmtInstances.load_status_from_existing(context, db_infos,
                                                         servers)
     return Account(id, instances)
コード例 #7
0
ファイル: nova.py プロジェクト: jcru/reddwarf_lite
 def set_server_running():
     from reddwarf.instance.models import DBInstance
     from reddwarf.instance.models import InstanceServiceStatus
     from reddwarf.instance.models import ServiceStatuses
     instance = DBInstance.find_by(compute_instance_id=id)
     LOG.debug("Setting server %s to running" % instance.id)
     status = InstanceServiceStatus.find_by(instance_id=instance.id)
     status.status = ServiceStatuses.RUNNING
     status.save()
コード例 #8
0
ファイル: nova.py プロジェクト: jcru/reddwarf_lite
 def set_server_running():
     from reddwarf.instance.models import DBInstance
     from reddwarf.instance.models import InstanceServiceStatus
     from reddwarf.instance.models import ServiceStatuses
     instance = DBInstance.find_by(compute_instance_id=id)
     LOG.debug("Setting server %s to running" % instance.id)
     status = InstanceServiceStatus.find_by(instance_id=instance.id)
     status.status = ServiceStatuses.RUNNING
     status.save()
コード例 #9
0
ファイル: models.py プロジェクト: cp16net/reddwarf-1
 def load(cls):
     # TODO(pdmars): This should probably be changed to a more generic
     # database filter query if one is added, however, this should suffice
     # for now.
     db_infos = DBInstance.find_all(deleted=False)
     tenant_ids_for_instances = [db_info.tenant_id for db_info in db_infos]
     tenant_ids = set(tenant_ids_for_instances)
     LOG.debug("All tenants with instances: %s" % tenant_ids)
     accounts = []
     for tenant_id in tenant_ids:
         num_instances = tenant_ids_for_instances.count(tenant_id)
         accounts.append({'id': tenant_id, 'num_instances': num_instances})
     return cls(accounts)
コード例 #10
0
ファイル: models.py プロジェクト: riddhi89/reddwarf
 def load(cls):
     # TODO(pdmars): This should probably be changed to a more generic
     # database filter query if one is added, however, this should suffice
     # for now.
     db_infos = DBInstance.find_all(deleted=False)
     tenant_ids_for_instances = [db_info.tenant_id for db_info in db_infos]
     tenant_ids = set(tenant_ids_for_instances)
     LOG.debug("All tenants with instances: %s" % tenant_ids)
     accounts = []
     for tenant_id in tenant_ids:
         num_instances = tenant_ids_for_instances.count(tenant_id)
         accounts.append({'id': tenant_id, 'num_instances': num_instances})
     return cls(accounts)
コード例 #11
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")
コード例 #12
0
ファイル: models.py プロジェクト: vipulsabhaya/reddwarf_lite
 def __init__(self, host_info):
     self.name = host_info.name
     self.percent_used = host_info.percentUsed
     self.total_ram = host_info.totalRAM
     self.used_ram = host_info.usedRAM
     self.instances = host_info.instances
     for instance in self.instances:
         instance['server_id'] = instance['uuid']
         del instance['uuid']
         try:
             db_info = DBInstance.find_by(
                 compute_instance_id=instance['server_id'])
             instance['id'] = db_info.id
             instance['tenant_id'] = db_info.tenant_id
         except exception.ReddwarfError as re:
             LOG.error(re)
             LOG.error("Compute Instance ID found with no associated RD "
                 "instance: %s" % instance['server_id'])
             instance['id'] = None
コード例 #13
0
ファイル: models.py プロジェクト: jcru/reddwarf_lite
 def __init__(self, host_info):
     self.name = host_info.name
     self.percent_used = host_info.percentUsed
     self.total_ram = host_info.totalRAM
     self.used_ram = host_info.usedRAM
     self.instances = host_info.instances
     for instance in self.instances:
         instance['server_id'] = instance['uuid']
         del instance['uuid']
         try:
             db_info = DBInstance.find_by(
                 compute_instance_id=instance['server_id'])
             instance['id'] = db_info.id
             instance['tenant_id'] = db_info.tenant_id
         except exception.ReddwarfError as re:
             LOG.error(re)
             LOG.error("Compute Instance ID found with no associated RD "
                       "instance: %s" % instance['server_id'])
             instance['id'] = None
コード例 #14
0
ファイル: guestagent.py プロジェクト: juicegit/reddwarf
    def prepare(self, memory_mb, databases, users, device_path=None,
                mount_point=None):
        from reddwarf.instance.models import DBInstance
        from reddwarf.instance.models import InstanceServiceStatus
        from reddwarf.instance.models import ServiceStatuses
        from reddwarf.guestagent.models import AgentHeartBeat
        LOG.debug("users... %s" % users)
        LOG.debug("databases... %s" % databases)
        instance_name = DBInstance.find_by(id=self.id).name
        self.create_user(users)
        self.create_database(databases)

        def update_db():
            status = InstanceServiceStatus.find_by(instance_id=self.id)
            if instance_name.endswith('GUEST_ERROR'):
                status.status = ServiceStatuses.FAILED
            else:
                status.status = ServiceStatuses.RUNNING
            status.save()
            AgentHeartBeat.create(instance_id=self.id)
        self.event_spawn(1.0, update_db)
コード例 #15
0
 def set_server_running():
     instance = DBInstance.find_by(compute_instance_id=id)
     LOG.debug("Setting server %s to running" % instance.id)
     status = InstanceServiceStatus.find_by(instance_id=instance.id)
     status.status = ServiceStatuses.RUNNING
     status.save()
コード例 #16
0
ファイル: instances_actions.py プロジェクト: rmyers/reddwarf
 def _reload_db_info(self):
     self.db_info = DBInstance.find_by(id=self.db_info.id, deleted=False)
コード例 #17
0
ファイル: nova.py プロジェクト: cp16net/reddwarf-1
 def set_server_running():
     instance = DBInstance.find_by(compute_instance_id=id)
     LOG.debug("Setting server %s to running" % instance.id)
     status = InstanceServiceStatus.find_by(instance_id=instance.id)
     status.status = ServiceStatuses.RUNNING
     status.save()
コード例 #18
0
 def _reload_db_info(self):
     self.db_info = DBInstance.find_by(id=self.db_info.id, deleted=False)