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))
Example #3
0
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)
Example #4
0
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
Example #5
0
 def __init__(self, db_session=None, store=None):
     if db_session:
         self.store = aim_store.SqlAlchemyStore(db_session)
     else:
         self.store = store