Comment 5 for bug 1506567

Revision history for this message
Shang-Yi Chuang (i-simon-f) wrote :

I have the same issue when i enabled DVR.
I ended up installed neutron-metering-agent on compute nodes and patch neutron/services/metering/drivers/iptables/iptables_driver.py

+++ iptables_driver.py 2015-12-29 08:32:17.788539773 +0000
@@ -35,6 +35,8 @@
 RULE = '-r-'
 LABEL = '-l-'

+ROUTER_2_FIP_DEV_PREFIX = 'rfp-'
+
 config.register_interface_driver_opts_helper(cfg.CONF)
 config.register_use_namespaces_opts_helper(cfg.CONF)
 cfg.CONF.register_opts(interface.OPTS)
@@ -129,12 +131,12 @@
             del self.routers[router_id]

     def get_external_device_name(self, port_id):
- return (EXTERNAL_DEV_PREFIX + port_id)[:self.driver.DEV_NAME_LEN]
+ return (ROUTER_2_FIP_DEV_PREFIX + port_id)[:self.driver.DEV_NAME_LEN]

     def _process_metering_label_rules(self, rm, rules, label_chain,
                                       rules_chain):
         im = rm.iptables_manager
- ext_dev = self.get_external_device_name(rm.router['gw_port_id'])
+ ext_dev = self.get_external_device_name(rm.router['id'])
         if not ext_dev:
             return