Ejemplo n.º 1
0
 def _port_chain_by_port_pair_group(self, port_pair_group):
     return self.db_store.get_one(
         sfc.PortChain(
             port_pair_groups=[port_pair_group],
         ),
         index=sfc.PortChain.get_index('port_pair_groups'),
     )
Ejemplo n.º 2
0
    def delete_port_chain_postcommit(self, context):
        port_chain = context.current

        self.nb_api.delete(
            sfc.PortChain(
                id=port_chain['id'],
                topic=port_chain['project_id'],
            ), )
Ejemplo n.º 3
0
 def test_delete_port_chain_postcommit(self):
     self.driver.delete_port_chain_postcommit(
         self._get_pc_ctx(
             id='id1',
             project_id='id2',
         ), )
     self.driver.nb_api.delete.assert_called_once_with(
         sfc.PortChain(
             id='id1',
             topic='id2',
         ), )
Ejemplo n.º 4
0
    def update_port_chain_postcommit(self, context):
        port_chain = context.current
        extra_args = _get_optional_params(
            port_chain,
            'port_pair_groups',
            'flow_classifiers',
        )

        self.nb_api.update(
            sfc.PortChain(id=port_chain['id'],
                          topic=port_chain['project_id'],
                          name=port_chain.get('name'),
                          **extra_args), )
Ejemplo n.º 5
0
    def create_port_chain_postcommit(self, context):
        port_chain = context.current
        pc_params = port_chain.get('chain_parameters')

        self.nb_api.create(
            sfc.PortChain(
                id=port_chain['id'],
                topic=port_chain['project_id'],
                name=port_chain.get('name'),
                port_pair_groups=port_chain.get('port_pair_groups', []),
                flow_classifiers=port_chain.get('flow_classifiers', []),
                protocol=pc_params.get('correlation'),
                chain_id=port_chain.get('chain_id'),
            ), )
Ejemplo n.º 6
0
 def test_update_port_chain_postcommit(self):
     self.driver.update_port_chain_postcommit(
         self._get_pc_ctx(
             id='id1',
             project_id='id2',
             name='new-name',
             port_pair_groups=['ppg1', 'ppg2'],
             flow_classifiers=['fc1', 'fc2'],
         ), )
     self.driver.nb_api.update.assert_called_once_with(
         sfc.PortChain(
             id='id1',
             topic='id2',
             name='new-name',
             port_pair_groups=['ppg1', 'ppg2'],
             flow_classifiers=['fc1', 'fc2'],
         ), )
Ejemplo n.º 7
0
 def test_create_port_chain_postcommit(self):
     self.driver.create_port_chain_postcommit(
         self._get_pc_ctx(
             id='id1',
             project_id='id2',
             name='name',
             port_pair_groups=['ppg1', 'ppg2'],
             flow_classifiers=['fc1', 'fc2'],
             chain_id=7,
             chain_parameters={
                 'correlation': 'mpls',
             },
         ), )
     self.driver.nb_api.create.assert_called_once_with(
         sfc.PortChain(
             id='id1',
             topic='id2',
             name='name',
             port_pair_groups=['ppg1', 'ppg2'],
             flow_classifiers=['fc1', 'fc2'],
             chain_id=7,
             protocol=sfc.PROTO_MPLS,
         ), )
Ejemplo n.º 8
0
    id='fc2',
    topic='topic1',
    unique_key=12,
    dest_port='lport2',
)

fc3 = sfc.FlowClassifier(
    id='fc3',
    topic='topic1',
    unique_key=13,
    source_port='lport3',
)

pc1 = sfc.PortChain(
    id='pc1',
    topic='topic1',
    flow_classifiers=['fc1', 'fc2'],
)

pc1add = sfc.PortChain(
    id='pc1',
    topic='topic1',
    flow_classifiers=['fc1', 'fc3', 'fc2'],
)

pc1remove = sfc.PortChain(
    id='pc1',
    topic='topic1',
    flow_classifiers=['fc2'],
)
Ejemplo n.º 9
0
ppg1 = sfc.PortPairGroup(
    id='ppg1',
    topic='topic1',
    port_pairs=['pp11', 'pp12'],
)

ppg2 = sfc.PortPairGroup(
    id='ppg2',
    topic='topic1',
    port_pairs=['pp21'],
)

pc1 = sfc.PortChain(
    id='pc1',
    topic='topic1',
    flow_classifiers=['fc1'],
    port_pair_groups=['ppg1'],
)

pc1_fc_add = sfc.PortChain(
    id='pc1',
    topic='topic1',
    flow_classifiers=['fc1', 'fc2'],
    port_pair_groups=['ppg1'],
)

pc1_fc_remove = sfc.PortChain(
    id='pc1',
    topic='topic1',
    flow_classifiers=[],
    port_pair_groups=['ppg1'],
Ejemplo n.º 10
0
 def _port_chain_by_flow_classifier(self, flow_classifier):
     return self.db_store.get_one(
         sfc.PortChain(flow_classifiers=[flow_classifier]),
         index=sfc.PortChain.get_index('flow_classifiers'),
     )