def _get_db_conductors(): conductors = [] for i in range(5): c = models.Conductor() c.update(self.fake_conductor) conductors.append(c) return conductors
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'])
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
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
def _get_db_conductor(): c = models.Conductor() c.update(self.fake_conductor) return c