Ejemplo n.º 1
0
 def _get_db_conductors():
     conductors = []
     for i in range(5):
         c = models.Conductor()
         c.update(self.fake_conductor)
         conductors.append(c)
     return conductors
Ejemplo n.º 2
0
 def register_conductor(self, values):
     try:
         conductor = models.Conductor()
         conductor.update(values)
         # NOTE(deva): ensure updated_at field has a non-null initial value
         if not conductor.get('updated_at'):
             conductor.update({'updated_at': timeutils.utcnow()})
         conductor.save()
         return conductor
     except db_exc.DBDuplicateEntry:
         raise exception.ConductorAlreadyRegistered(
             conductor=values['hostname'])
Ejemplo n.º 3
0
 def register_conductor(self, values, update_existing=False):
     with _session_for_write() as session:
         query = (model_query(
             models.Conductor).filter_by(hostname=values['hostname']))
         try:
             ref = query.one()
             if ref.online is True and not update_existing:
                 raise exception.ConductorAlreadyRegistered(
                     conductor=values['hostname'])
         except NoResultFound:
             ref = models.Conductor()
             session.add(ref)
         ref.update(values)
         # always set online and updated_at fields when registering
         # a conductor, especially when updating an existing one
         ref.update({'updated_at': timeutils.utcnow(), 'online': True})
     return ref
Ejemplo n.º 4
0
 def register_conductor(self, values, update_existing=False):
     session = get_session()
     with session.begin():
         query = model_query(models.Conductor, session=session).\
                     filter_by(hostname=values['hostname'])
         try:
             ref = query.one()
             if ref.online is True and not update_existing:
                 raise exception.ConductorAlreadyRegistered(
                         conductor=values['hostname'])
         except NoResultFound:
             ref = models.Conductor()
         ref.update(values)
         # always set online and updated_at fields when registering
         # a conductor, especially when updating an existing one
         ref.update({'updated_at': timeutils.utcnow(),
                     'online': True})
         ref.save(session)
     return ref
Ejemplo n.º 5
0
 def _get_db_conductor():
     c = models.Conductor()
     c.update(self.fake_conductor)
     return c