コード例 #1
0
ファイル: resource.py プロジェクト: rmery/heat
    def _store_or_update(self, action, status, reason):
        self.action = action
        self.status = status
        self.status_reason = reason

        if self.id is not None:
            try:
                rs = db_api.resource_get(self.context, self.id)
                rs.update_and_save(
                    {
                        "action": self.action,
                        "status": self.status,
                        "status_reason": reason,
                        "stack_id": self.stack.id,
                        "updated_at": self.updated_time,
                        "nova_instance": self.resource_id,
                    }
                )
            except Exception as ex:
                LOG.error(_("DB error %s") % ex)

        # store resource in DB on transition to CREATE_IN_PROGRESS
        # all other transitions (other than to DELETE_COMPLETE)
        # should be handled by the update_and_save above..
        elif (action, status) in [(self.CREATE, self.IN_PROGRESS), (self.ADOPT, self.IN_PROGRESS)]:
            self._store()
コード例 #2
0
ファイル: resource.py プロジェクト: vladikr/heat
    def state_set(self, new_state, reason="state changed"):
        self.state, old_state = new_state, self.state
        self.state_description = reason

        if self.id is not None:
            try:
                rs = db_api.resource_get(self.context, self.id)
                rs.update_and_save({
                    'state': self.state,
                    'state_description': reason,
                    'nova_instance': self.instance_id
                })

                self.stack.updated_time = datetime.utcnow()
            except Exception as ex:
                logger.error('DB error %s' % str(ex))

        # store resource in DB on transition to CREATE_IN_PROGRESS
        # all other transistions (other than to DELETE_COMPLETE)
        # should be handled by the update_and_save above..
        elif new_state == self.CREATE_IN_PROGRESS:
            self._store()

        if new_state != old_state:
            self._add_event(new_state, reason)
コード例 #3
0
ファイル: resource.py プロジェクト: dims/heat
 def refresh(self, attrs=None):
     resource_db = db_api.resource_get(self._context, self.id)
     resource_db.refresh(attrs=attrs)
     return self.__class__._from_db_object(
         self,
         self._context,
         resource_db)
コード例 #4
0
ファイル: resource.py プロジェクト: johnsocp/heat
    def _store_or_update(self, action, status, reason):
        self.action = action
        self.status = status
        self.status_reason = reason

        if self.id is not None:
            try:
                rs = db_api.resource_get(self.context, self.id)
                rs.update_and_save(
                    {
                        "action": self.action,
                        "status": self.status,
                        "status_reason": reason,
                        "nova_instance": self.resource_id,
                    }
                )

                self.stack.updated_time = datetime.utcnow()
            except Exception as ex:
                logger.error("DB error %s" % str(ex))

        # store resource in DB on transition to CREATE_IN_PROGRESS
        # all other transistions (other than to DELETE_COMPLETE)
        # should be handled by the update_and_save above..
        elif (action, status) == (self.CREATE, self.IN_PROGRESS):
            self._store()
コード例 #5
0
ファイル: resource.py プロジェクト: sirushtim/heat
    def _store_or_update(self, action, status, reason):
        self.action = action
        self.status = status
        self.status_reason = reason

        if self.id is not None:
            try:
                rs = db_api.resource_get(self.context, self.id)
                rs.update_and_save({
                    'action': self.action,
                    'status': self.status,
                    'status_reason': reason,
                    'stack_id': self.stack.id,
                    'updated_at': self.updated_time,
                    'nova_instance': self.resource_id
                })
            except Exception as ex:
                LOG.error(_('DB error %s') % ex)

        # store resource in DB on transition to CREATE_IN_PROGRESS
        # all other transitions (other than to DELETE_COMPLETE)
        # should be handled by the update_and_save above..
        elif (action, status) in [(self.CREATE, self.IN_PROGRESS),
                                  (self.ADOPT, self.IN_PROGRESS)]:
            self._store()
コード例 #6
0
    def _store_or_update(self, action, status, reason):
        self.action = action
        self.status = status
        self.status_reason = reason

        if self.id is not None:
            try:
                rs = db_api.resource_get(self.context, self.id)
                rs.update_and_save({
                    'action': self.action,
                    'status': self.status,
                    'status_reason': reason,
                    'stack_id': self.stack.id,
                    'nova_instance': self.resource_id
                })

                self.stack.updated_time = datetime.utcnow()
            except Exception as ex:
                logger.error('DB error %s' % str(ex))

        # store resource in DB on transition to CREATE_IN_PROGRESS
        # all other transistions (other than to DELETE_COMPLETE)
        # should be handled by the update_and_save above..
        elif (action, status) == (self.CREATE, self.IN_PROGRESS):
            self._store()
コード例 #7
0
 def refresh(self, attrs=None):
     resource_db = db_api.resource_get(self._context, self.id)
     resource_db.refresh(attrs=attrs)
     return self.__class__._from_db_object(
         self,
         self._context,
         resource_db)
コード例 #8
0
ファイル: resource.py プロジェクト: adrienverge/heat
    def _store_or_update(self, action, status, reason):
        self.action = action
        self.status = status
        self.status_reason = reason

        if self.id is not None:
            try:
                rs = db_api.resource_get(self.context, self.id)
                rs.update_and_save({
                    'action': self.action,
                    'status': self.status,
                    'status_reason': reason,
                    'stack_id': self.stack.id,
                    'updated_at': self.updated_time,
                    'properties_data': self._stored_properties_data,
                    'nova_instance': self.resource_id})
            except Exception as ex:
                LOG.error(_LE('DB error %s'), ex)

        # store resource in DB on transition to CREATE_IN_PROGRESS
        # all other transitions (other than to DELETE_COMPLETE)
        # should be handled by the update_and_save above..
        elif (action, status) in [(self.CREATE, self.IN_PROGRESS),
                                  (self.ADOPT, self.IN_PROGRESS)]:
            self._store()
コード例 #9
0
ファイル: resource.py プロジェクト: zaneb/heat
 def resource_id_set(self, inst):
     self.resource_id = inst
     if self.id is not None:
         try:
             rs = db_api.resource_get(self.context, self.id)
             rs.update_and_save({'nova_instance': self.resource_id})
         except Exception as ex:
             logger.warn('db error %s' % str(ex))
コード例 #10
0
ファイル: resource.py プロジェクト: rmery/heat
 def resource_id_set(self, inst):
     self.resource_id = inst
     if self.id is not None:
         try:
             rs = db_api.resource_get(self.context, self.id)
             rs.update_and_save({"nova_instance": self.resource_id})
         except Exception as ex:
             LOG.warn(_("db error %s") % ex)
コード例 #11
0
ファイル: resource.py プロジェクト: sirushtim/heat
 def resource_id_set(self, inst):
     self.resource_id = inst
     if self.id is not None:
         try:
             rs = db_api.resource_get(self.context, self.id)
             rs.update_and_save({'nova_instance': self.resource_id})
         except Exception as ex:
             LOG.warn(_('db error %s') % ex)
コード例 #12
0
ファイル: resources.py プロジェクト: kiranmurari/heat
 def instance_id_set(self, inst):
     self.instance_id = inst
     if self.id is not None:
         try:
             rs = db_api.resource_get(self.stack.context, self.id)
             rs.update_and_save({'nova_instance': self.instance_id})
         except Exception as ex:
             logger.warn('db error %s' % str(ex))
コード例 #13
0
ファイル: resource.py プロジェクト: HuaiJiang/heat
    def destroy(self):
        '''
        Delete the resource and remove it from the database.
        '''
        yield self.delete()

        if self.id is None:
            return

        try:
            db_api.resource_get(self.context, self.id).delete()
        except exception.NotFound:
            # Don't fail on delete if the db entry has
            # not been created yet.
            pass

        self.id = None
コード例 #14
0
ファイル: resource.py プロジェクト: sirushtim/heat
    def destroy(self):
        '''
        Delete the resource and remove it from the database.
        '''
        yield self.delete()

        if self.id is None:
            return

        try:
            db_api.resource_get(self.context, self.id).delete()
        except exception.NotFound:
            # Don't fail on delete if the db entry has
            # not been created yet.
            pass

        self.id = None
コード例 #15
0
 def __get__(self, resource, resource_class):
     '''Return the metadata for the owning resource.'''
     if resource is None:
         return None
     if resource.id is None:
         return resource.parsed_template('Metadata')
     rs = db_api.resource_get(resource.stack.context, resource.id)
     rs.refresh(attrs=['rsrc_metadata'])
     return rs.rsrc_metadata
コード例 #16
0
ファイル: resource.py プロジェクト: appliedcode/heat
 def __get__(self, resource, resource_class):
     """Return the metadata for the owning resource."""
     if resource is None:
         return None
     if resource.id is None:
         return resource.parsed_template("Metadata")
     rs = db_api.resource_get(resource.stack.context, resource.id)
     rs.refresh(attrs=["rsrc_metadata"])
     return rs.rsrc_metadata
コード例 #17
0
ファイル: resource.py プロジェクト: zaneb/heat
 def __get__(self, resource, resource_class):
     '''Return the metadata for the owning resource.'''
     if resource is None:
         return None
     if resource.id is None:
         return resource.parsed_template('Metadata')
     rs = db_api.resource_get(resource.stack.context, resource.id)
     rs.refresh(attrs=['rsrc_metadata'])
     return rs.rsrc_metadata
コード例 #18
0
ファイル: parser.py プロジェクト: devcamcar/heat
    def delete_blocking(self):
        '''
        delete all the resources in the reverse order specified by
        get_create_order().
        '''
        self.status_set(self.DELETE_IN_PROGRESS)

        order = self.get_create_order()
        order.reverse()
        for r in order:
            try:
                self.resources[r].delete()
                db_api.resource_get(None, self.resources[r].id).delete()
            except Exception as ex:
                logger.error('delete: %s' % str(ex))

        db_api.stack_delete(None, self.name)
        self.status_set(self.DELETE_COMPLETE)
コード例 #19
0
ファイル: resource.py プロジェクト: HuaiJiang/heat
 def metadata_get(self, refresh=False):
     if refresh:
         self._rsrc_metadata = None
     if self.id is None:
         return self.parsed_template('Metadata')
     if self._rsrc_metadata is not None:
         return self._rsrc_metadata
     rs = db_api.resource_get(self.stack.context, self.id)
     rs.refresh(attrs=['rsrc_metadata'])
     self._rsrc_metadata = rs.rsrc_metadata
     return rs.rsrc_metadata
コード例 #20
0
ファイル: resource.py プロジェクト: rmery/heat
 def metadata_get(self, refresh=False):
     if refresh:
         self._rsrc_metadata = None
     if self.id is None:
         return self.t.metadata()
     if self._rsrc_metadata is not None:
         return self._rsrc_metadata
     rs = db_api.resource_get(self.stack.context, self.id)
     rs.refresh(attrs=["rsrc_metadata"])
     self._rsrc_metadata = rs.rsrc_metadata
     return rs.rsrc_metadata
コード例 #21
0
ファイル: resource.py プロジェクト: sirushtim/heat
 def metadata_get(self, refresh=False):
     if refresh:
         self._rsrc_metadata = None
     if self.id is None:
         return self.t.metadata()
     if self._rsrc_metadata is not None:
         return self._rsrc_metadata
     rs = db_api.resource_get(self.stack.context, self.id)
     rs.refresh(attrs=['rsrc_metadata'])
     self._rsrc_metadata = rs.rsrc_metadata
     return rs.rsrc_metadata
コード例 #22
0
ファイル: resources.py プロジェクト: kiranmurari/heat
    def destroy(self):
        '''
        Delete the resource and remove it from the database.
        '''
        result = self.delete()
        if result:
            return result

        if self.id is None:
            return

        try:
            db_api.resource_get(self.context, self.id).delete()
        except exception.NotFound:
            # Don't fail on delete if the db entry has
            # not been created yet.
            pass
        except Exception as ex:
            logger.exception('Delete %s from DB' % str(self))
            return str(ex)

        self.id = None
コード例 #23
0
ファイル: resource.py プロジェクト: zaneb/heat
    def destroy(self):
        '''
        Delete the resource and remove it from the database.
        '''
        result = self.delete()
        if result:
            return result

        if self.id is None:
            return

        try:
            db_api.resource_get(self.context, self.id).delete()
        except exception.NotFound:
            # Don't fail on delete if the db entry has
            # not been created yet.
            pass
        except Exception as ex:
            logger.exception('Delete %s from DB' % str(self))
            return str(ex)

        self.id = None
コード例 #24
0
ファイル: resources.py プロジェクト: patlachance/heat
    def state_set(self, new_state, reason="state changed"):
        self.state, old_state = new_state, self.state
        self.state_description = reason

        if self.id is not None:
            try:
                rs = db_api.resource_get(self.context, self.id)
                rs.update_and_save({'state': self.state,
                                    'state_description': reason,
                                    'nova_instance': self.instance_id})

                self.stack.updated_time = datetime.utcnow()
            except Exception as ex:
                logger.error('DB error %s' % str(ex))

        elif new_state in (self.CREATE_COMPLETE, self.CREATE_FAILED):
            self._store()

        if new_state != old_state:
            self._add_event(new_state, reason)
コード例 #25
0
ファイル: resource.py プロジェクト: zaneb/heat
    def _store_or_update(self, new_state, reason):
        self.state = new_state
        self.state_description = reason

        if self.id is not None:
            try:
                rs = db_api.resource_get(self.context, self.id)
                rs.update_and_save({'state': self.state,
                                    'state_description': reason,
                                    'nova_instance': self.resource_id})

                self.stack.updated_time = datetime.utcnow()
            except Exception as ex:
                logger.error('DB error %s' % str(ex))

        # store resource in DB on transition to CREATE_IN_PROGRESS
        # all other transistions (other than to DELETE_COMPLETE)
        # should be handled by the update_and_save above..
        elif new_state == self.CREATE_IN_PROGRESS:
            self._store()
コード例 #26
0
ファイル: test_resource.py プロジェクト: Samurais/heat
    def test_store_or_update(self):
        tmpl = {'Type': 'Foo'}
        res = generic_rsrc.GenericResource('test_res_upd', tmpl, self.stack)
        res._store_or_update(res.CREATE, res.IN_PROGRESS, 'test_store')
        self.assertNotEqual(None, res.id)
        self.assertEqual(res.action, res.CREATE)
        self.assertEqual(res.status, res.IN_PROGRESS)
        self.assertEqual(res.status_reason, 'test_store')

        db_res = r = db_api.resource_get(None, res.id)
        self.assertEqual(db_res.action, res.CREATE)
        self.assertEqual(db_res.status, res.IN_PROGRESS)
        self.assertEqual(db_res.status_reason, 'test_store')

        res._store_or_update(res.CREATE, res.COMPLETE, 'test_update')
        self.assertEqual(res.action, res.CREATE)
        self.assertEqual(res.status, res.COMPLETE)
        self.assertEqual(res.status_reason, 'test_update')
        self.assertEqual(db_res.action, res.CREATE)
        self.assertEqual(db_res.status, res.COMPLETE)
        self.assertEqual(db_res.status_reason, 'test_update')
コード例 #27
0
ファイル: test_resource.py プロジェクト: rupakg/heat
    def test_store_or_update(self):
        tmpl = {"Type": "Foo"}
        res = generic_rsrc.GenericResource("test_res_upd", tmpl, self.stack)
        res._store_or_update(res.CREATE, res.IN_PROGRESS, "test_store")
        self.assertNotEqual(None, res.id)
        self.assertEqual(res.action, res.CREATE)
        self.assertEqual(res.status, res.IN_PROGRESS)
        self.assertEqual(res.status_reason, "test_store")

        db_res = r = db_api.resource_get(None, res.id)
        self.assertEqual(db_res.action, res.CREATE)
        self.assertEqual(db_res.status, res.IN_PROGRESS)
        self.assertEqual(db_res.status_reason, "test_store")

        res._store_or_update(res.CREATE, res.COMPLETE, "test_update")
        self.assertEqual(res.action, res.CREATE)
        self.assertEqual(res.status, res.COMPLETE)
        self.assertEqual(res.status_reason, "test_update")
        self.assertEqual(db_res.action, res.CREATE)
        self.assertEqual(db_res.status, res.COMPLETE)
        self.assertEqual(db_res.status_reason, "test_update")
コード例 #28
0
ファイル: test_resource.py プロジェクト: joydraft/heat
    def test_store_or_update(self):
        tmpl = {"Type": "Foo"}
        res = generic_rsrc.GenericResource("test_res_upd", tmpl, self.stack)
        res._store_or_update(res.CREATE, res.IN_PROGRESS, "test_store")
        self.assertIsNotNone(res.id)
        self.assertEqual(res.CREATE, res.action)
        self.assertEqual(res.IN_PROGRESS, res.status)
        self.assertEqual("test_store", res.status_reason)

        db_res = db_api.resource_get(res.context, res.id)
        self.assertEqual(res.CREATE, db_res.action)
        self.assertEqual(res.IN_PROGRESS, db_res.status)
        self.assertEqual("test_store", db_res.status_reason)

        res._store_or_update(res.CREATE, res.COMPLETE, "test_update")
        self.assertEqual(res.CREATE, res.action)
        self.assertEqual(res.COMPLETE, res.status)
        self.assertEqual("test_update", res.status_reason)
        self.assertEqual(res.CREATE, db_res.action)
        self.assertEqual(res.COMPLETE, db_res.status)
        self.assertEqual("test_update", db_res.status_reason)
コード例 #29
0
    def test_store_or_update(self):
        tmpl = {'Type': 'Foo'}
        res = generic_rsrc.GenericResource('test_res_upd', tmpl, self.stack)
        res._store_or_update(res.CREATE, res.IN_PROGRESS, 'test_store')
        self.assertNotEqual(None, res.id)
        self.assertEqual(res.action, res.CREATE)
        self.assertEqual(res.status, res.IN_PROGRESS)
        self.assertEqual(res.status_reason, 'test_store')

        db_res = r = db_api.resource_get(None, res.id)
        self.assertEqual(db_res.action, res.CREATE)
        self.assertEqual(db_res.status, res.IN_PROGRESS)
        self.assertEqual(db_res.status_reason, 'test_store')

        res._store_or_update(res.CREATE, res.COMPLETE, 'test_update')
        self.assertEqual(res.action, res.CREATE)
        self.assertEqual(res.status, res.COMPLETE)
        self.assertEqual(res.status_reason, 'test_update')
        self.assertEqual(db_res.action, res.CREATE)
        self.assertEqual(db_res.status, res.COMPLETE)
        self.assertEqual(db_res.status_reason, 'test_update')
コード例 #30
0
ファイル: resources.py プロジェクト: kiranmurari/heat
    def state_set(self, new_state, reason="state changed"):
        self.state, old_state = new_state, self.state
        self.state_description = reason

        if self.id is not None:
            try:
                rs = db_api.resource_get(self.context, self.id)
                rs.update_and_save({
                    'state': self.state,
                    'state_description': reason,
                    'nova_instance': self.instance_id
                })

                self.stack.updated_time = datetime.utcnow()
            except Exception as ex:
                logger.error('DB error %s' % str(ex))

        elif new_state in (self.CREATE_COMPLETE, self.CREATE_FAILED):
            self._store()

        if new_state != old_state:
            self._add_event(new_state, reason)
コード例 #31
0
    def _store_or_update(self, action, status, reason):

        LOG.info("==== inside state_or_update")
        self.action = action
        self.status = status
        self.status_reason = reason

        from hashlib import sha1
        sha = sha1()
        self.frozen_defn = dict(self.frozen_definition())
        sha.update(str(self.frozen_defn))
        self.rsrc_defn_hash = sha.hexdigest()
        rsrc_defn = json.dumps(dict(self.frozen_definition()))
        if self.id is not None:
            LOG.info("==== Update resource with id %s", self.id)
            try:
                rs = db_api.resource_get(self.context, self.id)
                rs.update_and_save({
                    'action': self.action,
                    'status': self.status,
                    'status_reason': reason,
                    'stack_id': self.stack.id,
                    'updated_at': self.updated_time,
                    'properties_data': self._stored_properties_data,
                    'nova_instance': self.resource_id,
                    'rsrc_defn': rsrc_defn,
                    'rsrc_defn_hash': self.rsrc_defn_hash,
                    'version': self.version})
            except Exception as ex:
                LOG.error(_LE('DB error %s'), ex)

        # store resource in DB on transition to CREATE_IN_PROGRESS
        # all other transitions (other than to DELETE_COMPLETE)
        # should be handled by the update_and_save above..
        elif (action, status) in [(self.CREATE, self.IN_PROGRESS),
                                  (self.ADOPT, self.IN_PROGRESS)]:
            self._store()
コード例 #32
0
ファイル: resource.py プロジェクト: sirushtim/heat
 def metadata_set(self, metadata):
     if self.id is None:
         raise exception.ResourceNotAvailable(resource_name=self.name)
     rs = db_api.resource_get(self.stack.context, self.id)
     rs.update_and_save({'rsrc_metadata': metadata})
     self._rsrc_metadata = metadata
コード例 #33
0
 def refresh(self):
     resource_db = db_api.resource_get(self._context, self.id, refresh=True)
     return self.__class__._from_db_object(self, self._context, resource_db)
コード例 #34
0
ファイル: resource.py プロジェクト: dims/heat
 def update_and_save(self, values):
     resource_db = db_api.resource_get(self._context, self.id)
     resource_db.update_and_save(values)
     return self.refresh()
コード例 #35
0
 def get_obj(cls, context, resource_id):
     resource_db = db_api.resource_get(context, resource_id)
     resource = cls._from_db_object(cls(context), context, resource_db)
     return resource
コード例 #36
0
 def get_obj(cls, context, resource_id, refresh=False):
     resource_db = db_api.resource_get(context,
                                       resource_id,
                                       refresh=refresh)
     return cls._from_db_object(cls(context), context, resource_db)
コード例 #37
0
ファイル: resource.py プロジェクト: MatMaul/heat
 def update_by_id(cls, context, resource_id, values):
     resource_db = db_api.resource_get(context, resource_id)
     resource_db.update_and_save(values)
コード例 #38
0
ファイル: resource.py プロジェクト: jirwin/heat
 def __set__(self, resource, metadata):
     '''Update the metadata for the owning resource.'''
     if resource.id is None:
         raise exception.ResourceNotAvailable(resource_name=resource.name)
     rs = db_api.resource_get(resource.stack.context, resource.id)
     rs.update_and_save({'rsrc_metadata': metadata})
コード例 #39
0
 def __set__(self, resource, metadata):
     '''Update the metadata for the owning resource.'''
     if resource.id is None:
         raise exception.ResourceNotAvailable(resource_name=resource.name)
     rs = db_api.resource_get(resource.stack.context, resource.id)
     rs.update_and_save({'rsrc_metadata': metadata})
コード例 #40
0
 def delete(cls, context, resource_id):
     resource_db = db_api.resource_get(context, resource_id)
     resource_db.delete()
コード例 #41
0
ファイル: resources.py プロジェクト: kiranmurari/heat
 def __set__(self, resource, metadata):
     '''Update the metadata for the owning resource.'''
     if resource.id is None:
         raise AttributeError("Resource has not yet been created")
     rs = db_api.resource_get(resource.stack.context, resource.id)
     rs.update_and_save({'rsrc_metadata': metadata})
コード例 #42
0
ファイル: resource.py プロジェクト: dims/heat
 def get_obj(cls, context, resource_id):
     resource_db = db_api.resource_get(context, resource_id)
     return cls._from_db_object(cls(context), context, resource_db)
コード例 #43
0
ファイル: resource.py プロジェクト: zaneb/heat
 def __set__(self, resource, metadata):
     '''Update the metadata for the owning resource.'''
     if resource.id is None:
         raise AttributeError("Resource has not yet been created")
     rs = db_api.resource_get(resource.stack.context, resource.id)
     rs.update_and_save({'rsrc_metadata': metadata})
コード例 #44
0
 def update_by_id(cls, context, resource_id, values):
     resource_db = db_api.resource_get(context, resource_id)
     resource_db.update_and_save(values)
コード例 #45
0
ファイル: resource.py プロジェクト: Hopebaytech/heat
 def get_obj(cls, context, resource_id, refresh=False):
     resource_db = db_api.resource_get(context, resource_id,
                                       refresh=refresh)
     return cls._from_db_object(cls(context), context, resource_db)
コード例 #46
0
ファイル: resource.py プロジェクト: dims/heat
 def delete(cls, context, resource_id):
     resource_db = db_api.resource_get(context, resource_id)
     resource_db.delete()
コード例 #47
0
 def update_and_save(self, values):
     resource_db = db_api.resource_get(self._context, self.id)
     resource_db.update_and_save(values)
     self._refresh()
     return resource_db
コード例 #48
0
ファイル: resource.py プロジェクト: Cindia-blue/heat
 def refresh(self, attrs=None):
     resource_db = db_api.resource_get(self._context, self.id)
     resource_db.refresh(attrs=attrs)
     return self._refresh()
コード例 #49
0
 def refresh(self, attrs=None):
     resource_db = db_api.resource_get(self._context, self.id)
     resource_db.refresh(attrs=attrs)
     return self._refresh()
コード例 #50
0
ファイル: resource.py プロジェクト: Hopebaytech/heat
 def refresh(self):
     resource_db = db_api.resource_get(self._context, self.id, refresh=True)
     return self.__class__._from_db_object(
         self,
         self._context,
         resource_db)
コード例 #51
0
ファイル: resource.py プロジェクト: HuaiJiang/heat
 def metadata_set(self, metadata):
     if self.id is None:
         raise exception.ResourceNotAvailable(resource_name=self.name)
     rs = db_api.resource_get(self.stack.context, self.id)
     rs.update_and_save({'rsrc_metadata': metadata})
     self._rsrc_metadata = metadata