--> api/v2/router.py
1. ext_mgr = extensions.PluginAwareExtensionManager.get_instance()
---> api/extensions.py
get_instance()
get_extensions_path() ===> '/opt/stack/neutron/neutron/extensions'
NeutronManager.get_service_plugins() ===>
{'L3_ROUTER_NAT': <neutron.services.l3_router.l3_router_plugin.L3RouterPlugin object at 0x3322850>,
'CORE': <neutron.plugins.ml2.plugin.Ml2Plugin object at 0x3e5e5d0>,
'VPN': <neutron.services.vpn.plugin.VPNDriverPlugin object at 0x476bc50>,
'LOADBALANCER': <neutron.services.loadbalancer.plugin.LoadBalancerPlugin object at 0x4284410>,
'FIREWALL': <neutron.services.firewall.fwaas_plugin.FirewallPlugin object at 0x487d6d0>
}
2. ext_mgr.extend_resources("2.0", attributes.RESOURCE_ATTRIBUTE_MAP)