def _catch_up_logs(self, added, updated, removed): # Create new session and populate the hashtrees session = api.get_session(autocommit=True, expire_on_commit=True, use_slave=False) store = aim_store.SqlAlchemyStore(session) ht_db_l.HashTreeDbListener( aim_manager.AimManager()).catch_up_with_action_log(store)
def migrate(session): with session.begin(subtransactions=True): store = aim_store.SqlAlchemyStore(None) for st in session.query(Status).all(): res_table, res_class = get_resource_class(st.resource_type) db_res = session.query(res_table).filter_by( aim_id=st.resource_id).first() res = store.make_resource(res_class, db_res) session.execute( update(Status).where(Status.c.id == st.id).values( resource_dn=res.dn))
def get_store(autocommit=True, expire_on_commit=True, use_slave=False): store = cfg.CONF.aim.aim_store if store == 'sql': db_session = get_session( autocommit=autocommit, expire_on_commit=expire_on_commit, use_slave=use_slave) return aim_store.SqlAlchemyStore(db_session) elif store == 'k8s': return aim_store.K8sStore( namespace=cfg.CONF.aim_k8s.k8s_namespace, config_file=cfg.CONF.aim_k8s.k8s_config_path, vmm_domain=cfg.CONF.aim_k8s.k8s_vmm_domain, vmm_controller=cfg.CONF.aim_k8s.k8s_controller)
def _after_transaction_end_2(self, session, transaction): try: try: if transaction.parent is not None: return except AttributeError: if transaction._parent is not None: return session = api.get_session(autocommit=True, expire_on_commit=True, use_slave=False) store = aim_store.SqlAlchemyStore(session, initialize_hooks=False) self._hashtree_db_listener.catch_up_with_action_log(store) except AttributeError: pass
def __init__(self, db_session=None, store=None): if db_session: self.store = aim_store.SqlAlchemyStore(db_session) else: self.store = store