Esempio n. 1
0
 def get_wampagent(self, hostname):
     try:
         return (model_query(models.WampAgent)
                 .filter_by(hostname=hostname, online=True)
                 .one())
     except NoResultFound:
         raise exception.WampAgentNotFound(wampagent=hostname)
Esempio n. 2
0
 def unregister_wampagent(self, hostname):
     session = get_session()
     with session.begin():
         query = (model_query(models.WampAgent, session=session)
                  .filter_by(hostname=hostname, online=True))
         count = query.update({'online': False})
         if count == 0:
             raise exception.WampAgentNotFound(wampagent=hostname)
Esempio n. 3
0
 def touch_wampagent(self, hostname):
     session = get_session()
     with session.begin():
         query = (model_query(models.WampAgent, session=session)
                  .filter_by(hostname=hostname))
         # since we're not changing any other field, manually set updated_at
         # and since we're heartbeating, make sure that online=True
         count = query.update({'updated_at': timeutils.utcnow(),
                               'online': True})
         if count == 0:
             raise exception.WampAgentNotFound(wampagent=hostname)