示例#1
0
 def _validate_port_pair_groups(self, context, pg_ids):
     with context.session.begin(subtransactions=True):
         query = self._model_query(context, PortChain)
         for port_chain_db in query.all():
             pc_pg_ids = [
                 assoc['portpairgroup_id']
                 for assoc in port_chain_db.chain_group_associations
             ]
             if pc_pg_ids == pg_ids:
                 raise ext_sfc.InvalidPortPairGroups(
                     port_pair_groups=pg_ids, port_chain=port_chain_db.id)
 def _validate_port_pair_groups(self, context, pg_ids, pc_id=None):
     with db_api.context_manager.reader.using(context):
         for pg_id in pg_ids:
             self._get_port_pair_group(context, pg_id)
         query = self._model_query(context, PortChain)
         for port_chain_db in query.all():
             if port_chain_db['id'] == pc_id:
                 continue
             pc_pg_ids = [
                 assoc['portpairgroup_id']
                 for assoc in port_chain_db.chain_group_associations
             ]
             if pc_pg_ids and pg_ids and pc_pg_ids == pg_ids:
                 raise ext_sfc.InvalidPortPairGroups(
                     port_pair_groups=pg_ids, port_chain=port_chain_db.id)
示例#3
0
 def _validate_port_pair_groups(self, context, pg_ids, pc_id=None):
     with db_api.CONTEXT_READER.using(context):
         prev_pg_tap_enabled = False
         for pg_id in pg_ids:
             pg = self._get_port_pair_group(context, pg_id)
             curr_pg_tap_enabled = pg['tap_enabled']
             if prev_pg_tap_enabled and curr_pg_tap_enabled:
                 raise ext_tap.ConsecutiveTapPPGNotSupported()
             prev_pg_tap_enabled = curr_pg_tap_enabled
         query = model_query.query_with_hooks(context, PortChain)
         for port_chain_db in query.all():
             if port_chain_db['id'] == pc_id:
                 continue
             pc_pg_ids = [
                 assoc['portpairgroup_id']
                 for assoc in port_chain_db.chain_group_associations
             ]
             if pc_pg_ids and pg_ids and pc_pg_ids == pg_ids:
                 raise ext_sfc.InvalidPortPairGroups(
                     port_pair_groups=pg_ids, port_chain=port_chain_db.id)