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)
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)