示例#1
0
    def test_remove_metering_label(self):
        routers = [{'_metering_labels': [
            {'id': 'c5df2fe5-c600-4a2a-b2f4-c0fb6df73c83',
             'rules': [{
                 'direction': 'ingress',
                 'excluded': False,
                 'id': '7f1a261f-2489-4ed1-870c-a62754501379',
                 'metering_label_id': 'c5df2fe5-c600-4a2a-b2f4-c0fb6df73c83',
                 'remote_ip_prefix': '10.0.0.0/24'}]
             }],
            'admin_state_up': True,
            'gw_port_id': '7d411f48-ecc7-45e0-9ece-3b5bdb54fcee',
            'id': '473ec392-1711-44e3-b008-3251ccfc5099',
            'name': 'router1',
            'status': 'ACTIVE',
            'tenant_id': '6c5f5d2a1fa2441e88e35422926f48e8'}]

        self.metering.add_metering_label(None, routers)
        self.metering.remove_metering_label(None, routers)
        calls = [call.add_chain('neutron-meter-l-c5df2fe5-c60', wrap=False),
                 call.add_chain('neutron-meter-r-c5df2fe5-c60', wrap=False),
                 call.add_rule('neutron-meter-FORWARD', '-j '
                               'neutron-meter-r-c5df2fe5-c60', wrap=False),
                 call.add_rule('neutron-meter-l-c5df2fe5-c60',
                               '',
                               wrap=False),
                 call.add_rule('neutron-meter-r-c5df2fe5-c60',
                               '-i qg-7d411f48-ec -d 10.0.0.0/24'
                               ' -j neutron-meter-l-c5df2fe5-c60',
                               wrap=False, top=False),
                 call.remove_chain('neutron-meter-l-c5df2fe5-c60', wrap=False),
                 call.remove_chain('neutron-meter-r-c5df2fe5-c60', wrap=False)]

        self.v4filter_inst.assert_has_calls(calls)
    def test_remove_metering_label(self):
        routers = [{'_metering_labels': [
            {'id': 'c5df2fe5-c600-4a2a-b2f4-c0fb6df73c83',
             'rules': [{
                 'direction': 'ingress',
                 'excluded': False,
                 'id': '7f1a261f-2489-4ed1-870c-a62754501379',
                 'metering_label_id': 'c5df2fe5-c600-4a2a-b2f4-c0fb6df73c83',
                 'remote_ip_prefix': '10.0.0.0/24'}]
             }],
            'admin_state_up': True,
            'gw_port_id': '7d411f48-ecc7-45e0-9ece-3b5bdb54fcee',
            'id': '473ec392-1711-44e3-b008-3251ccfc5099',
            'name': 'router1',
            'status': 'ACTIVE',
            'tenant_id': '6c5f5d2a1fa2441e88e35422926f48e8'}]

        self.metering.add_metering_label(None, routers)
        self.metering.remove_metering_label(None, routers)
        calls = [call.add_chain('neutron-meter-l-c5df2fe5-c60', wrap=False),
                 call.add_chain('neutron-meter-r-c5df2fe5-c60', wrap=False),
                 call.add_rule('neutron-meter-FORWARD', '-j '
                               'neutron-meter-r-c5df2fe5-c60', wrap=False),
                 call.add_rule('neutron-meter-l-c5df2fe5-c60',
                               '',
                               wrap=False),
                 call.add_rule('neutron-meter-r-c5df2fe5-c60',
                               '-i qg-7d411f48-ec -d 10.0.0.0/24'
                               ' -j neutron-meter-l-c5df2fe5-c60',
                               wrap=False, top=False),
                 call.remove_chain('neutron-meter-l-c5df2fe5-c60', wrap=False),
                 call.remove_chain('neutron-meter-r-c5df2fe5-c60', wrap=False)]

        self.v4filter_inst.assert_has_calls(calls)
    def test_update_routers(self):
        routers = [{'_metering_labels': [
            {'id': 'c5df2fe5-c600-4a2a-b2f4-c0fb6df73c83',
             'rules': [{
                 'direction': 'ingress',
                 'excluded': False,
                 'id': '7f1a261f-2489-4ed1-870c-a62754501379',
                 'metering_label_id': 'c5df2fe5-c600-4a2a-b2f4-c0fb6df73c83',
                 'remote_ip_prefix': '10.0.0.0/24'}]}],
            'admin_state_up': True,
            'gw_port_id': '6d411f48-ecc7-45e0-9ece-3b5bdb54fcee',
            'id': '473ec392-1711-44e3-b008-3251ccfc5099',
            'name': 'router1',
            'status': 'ACTIVE',
            'tenant_id': '6c5f5d2a1fa2441e88e35422926f48e8'},
            {'_metering_labels': [
             {'id': 'eeef45da-c600-4a2a-b2f4-c0fb6df73c83',
              'rules': [{
                  'direction': 'ingress',
                  'excluded': True,
                  'id': 'fa2441e8-2489-4ed1-870c-a62754501379',
                  'metering_label_id': 'eeef45da-c600-4a2a-b2f4-c0fb6df73c83',
                  'remote_ip_prefix': '20.0.0.0/24'}]}],
             'admin_state_up': True,
             'gw_port_id': '7d411f48-ecc7-45e0-9ece-3b5bdb54fcee',
             'id': '373ec392-1711-44e3-b008-3251ccfc5099',
             'name': 'router2',
             'status': 'ACTIVE',
             'tenant_id': '6c5f5d2a1fa2441e88e35422926f48e8'}]

        self.metering.add_metering_label(None, routers)

        updates = copy.deepcopy(routers)
        updates[0]['gw_port_id'] = '587b63c1-22a3-40b3-9834-486d1fb215a5'

        self.metering.update_routers(None, updates)
        calls = [call.add_chain('neutron-meter-l-c5df2fe5-c60', wrap=False),
                 call.add_chain('neutron-meter-r-c5df2fe5-c60', wrap=False),
                 call.add_rule('neutron-meter-FORWARD', '-j '
                               'neutron-meter-r-c5df2fe5-c60', wrap=False),
                 call.add_rule('neutron-meter-l-c5df2fe5-c60',
                               '',
                               wrap=False),
                 call.add_rule('neutron-meter-r-c5df2fe5-c60',
                               '-i qg-6d411f48-ec -d 10.0.0.0/24'
                               ' -j neutron-meter-l-c5df2fe5-c60',
                               wrap=False, top=False),
                 call.add_chain('neutron-meter-l-eeef45da-c60', wrap=False),
                 call.add_chain('neutron-meter-r-eeef45da-c60', wrap=False),
                 call.add_rule('neutron-meter-FORWARD', '-j '
                               'neutron-meter-r-eeef45da-c60', wrap=False),
                 call.add_rule('neutron-meter-l-eeef45da-c60',
                               '',
                               wrap=False),
                 call.add_rule('neutron-meter-r-eeef45da-c60',
                               '-i qg-7d411f48-ec -d 20.0.0.0/24 -j RETURN',
                               wrap=False, top=True),
                 call.remove_chain('neutron-meter-l-c5df2fe5-c60', wrap=False),
                 call.remove_chain('neutron-meter-r-c5df2fe5-c60', wrap=False),
                 call.add_chain('neutron-meter-l-c5df2fe5-c60', wrap=False),
                 call.add_chain('neutron-meter-r-c5df2fe5-c60', wrap=False),
                 call.add_rule('neutron-meter-FORWARD', '-j '
                               'neutron-meter-r-c5df2fe5-c60', wrap=False),
                 call.add_rule('neutron-meter-l-c5df2fe5-c60',
                               '',
                               wrap=False),
                 call.add_rule('neutron-meter-r-c5df2fe5-c60',
                               '-i qg-587b63c1-22 -d 10.0.0.0/24'
                               ' -j neutron-meter-l-c5df2fe5-c60',
                               wrap=False, top=False)]

        self.v4filter_inst.assert_has_calls(calls)
示例#4
0
    def test_update_routers(self):
        routers = [{
            '_metering_labels': [{
                'id':
                'c5df2fe5-c600-4a2a-b2f4-c0fb6df73c83',
                'rules': [{
                    'direction': 'ingress',
                    'excluded': False,
                    'id': '7f1a261f-2489-4ed1-870c-a62754501379',
                    'metering_label_id':
                    'c5df2fe5-c600-4a2a-b2f4-c0fb6df73c83',
                    'remote_ip_prefix': '10.0.0.0/24'
                }]
            }],
            'admin_state_up':
            True,
            'gw_port_id':
            '6d411f48-ecc7-45e0-9ece-3b5bdb54fcee',
            'id':
            '473ec392-1711-44e3-b008-3251ccfc5099',
            'name':
            'router1',
            'status':
            'ACTIVE',
            'tenant_id':
            '6c5f5d2a1fa2441e88e35422926f48e8'
        }, {
            '_metering_labels': [{
                'id':
                'eeef45da-c600-4a2a-b2f4-c0fb6df73c83',
                'rules': [{
                    'direction': 'ingress',
                    'excluded': True,
                    'id': 'fa2441e8-2489-4ed1-870c-a62754501379',
                    'metering_label_id':
                    'eeef45da-c600-4a2a-b2f4-c0fb6df73c83',
                    'remote_ip_prefix': '20.0.0.0/24'
                }]
            }],
            'admin_state_up':
            True,
            'gw_port_id':
            '7d411f48-ecc7-45e0-9ece-3b5bdb54fcee',
            'id':
            '373ec392-1711-44e3-b008-3251ccfc5099',
            'name':
            'router2',
            'status':
            'ACTIVE',
            'tenant_id':
            '6c5f5d2a1fa2441e88e35422926f48e8'
        }]

        self.metering.add_metering_label(None, routers)

        updates = copy.deepcopy(routers)
        updates[0]['gw_port_id'] = '587b63c1-22a3-40b3-9834-486d1fb215a5'

        self.metering.update_routers(None, updates)
        calls = [
            call.add_chain('neutron-meter-l-c5df2fe5-c60', wrap=False),
            call.add_chain('neutron-meter-r-c5df2fe5-c60', wrap=False),
            call.add_rule('neutron-meter-FORWARD', '-j '
                          'neutron-meter-r-c5df2fe5-c60',
                          wrap=False),
            call.add_rule('neutron-meter-l-c5df2fe5-c60', '', wrap=False),
            call.add_rule('neutron-meter-r-c5df2fe5-c60',
                          '-i qg-6d411f48-ec -d 10.0.0.0/24'
                          ' -j neutron-meter-l-c5df2fe5-c60',
                          wrap=False,
                          top=False),
            call.add_chain('neutron-meter-l-eeef45da-c60', wrap=False),
            call.add_chain('neutron-meter-r-eeef45da-c60', wrap=False),
            call.add_rule('neutron-meter-FORWARD', '-j '
                          'neutron-meter-r-eeef45da-c60',
                          wrap=False),
            call.add_rule('neutron-meter-l-eeef45da-c60', '', wrap=False),
            call.add_rule('neutron-meter-r-eeef45da-c60',
                          '-i qg-7d411f48-ec -d 20.0.0.0/24 -j RETURN',
                          wrap=False,
                          top=True),
            call.remove_chain('neutron-meter-l-c5df2fe5-c60', wrap=False),
            call.remove_chain('neutron-meter-r-c5df2fe5-c60', wrap=False),
            call.add_chain('neutron-meter-l-c5df2fe5-c60', wrap=False),
            call.add_chain('neutron-meter-r-c5df2fe5-c60', wrap=False),
            call.add_rule('neutron-meter-FORWARD', '-j '
                          'neutron-meter-r-c5df2fe5-c60',
                          wrap=False),
            call.add_rule('neutron-meter-l-c5df2fe5-c60', '', wrap=False),
            call.add_rule('neutron-meter-r-c5df2fe5-c60',
                          '-i qg-587b63c1-22 -d 10.0.0.0/24'
                          ' -j neutron-meter-l-c5df2fe5-c60',
                          wrap=False,
                          top=False)
        ]

        self.v4filter_inst.assert_has_calls(calls)