Esempio n. 1
0
    def create_pool(self, context, pool):
        with context.session.begin(subtransactions=True):
            self._load_id(context, pool)
            pool['provisioning_status'] = constants.PENDING_CREATE
            pool['operating_status'] = lb_const.OFFLINE

            session_info = pool.pop('session_persistence')
            pool_db = models.PoolV2(**pool)

            if session_info:
                s_p = self._create_session_persistence_db(
                    session_info, pool_db.id)
                pool_db.session_persistence = s_p

            context.session.add(pool_db)
        return data_models.Pool.from_sqlalchemy_model(pool_db)
    def create_pool(self, context, pool):
        with context.session.begin(subtransactions=True):
            self._load_id(context, pool)
            pool['provisioning_status'] = n_const.PENDING_CREATE
            pool['operating_status'] = lb_const.OFFLINE

            session_info = pool.pop('session_persistence', None)
            pool_db = models.PoolV2(**pool)

            if session_info:
                s_p = self._create_session_persistence_db(session_info,
                                                          pool_db.id)
                pool_db.session_persistence = s_p

            context.session.add(pool_db)
        context.session.refresh(pool_db.loadbalancer)
        return self.get_pool(context, pool_db.id)
Esempio n. 3
0
    def create_pool(self, context, pool):
        with context.session.begin(subtransactions=True):
            self._load_id(context, pool)  # 产生一个pool的uuid
            pool['provisioning_status'] = constants.PENDING_CREATE  # 创建状态:等待创建
            pool['operating_status'] = lb_const.OFFLINE  # 操作状态:离线

            session_info = pool.pop('session_persistence',
                                    None)  # 取出session持久化信息
            pool_db = models.PoolV2(**pool)

            if session_info:  # 创建session持久化数据库项
                s_p = self._create_session_persistence_db(
                    session_info, pool_db.id)
                pool_db.session_persistence = s_p

            context.session.add(pool_db)
        context.session.refresh(pool_db.loadbalancer)
        return data_models.Pool.from_sqlalchemy_model(pool_db)