Source code for insights.parsers.neutron_plugin

'''
NeutronPlugin - file ``/etc/neutron/plugin.ini``
================================================

The ``NeutronPlugin`` class parses the Neutron plugin configuration file.
See the ``IniConfigFile`` class for more usage information.
'''

from .. import parser, LegacyItemAccess, IniConfigFile
from insights.specs import Specs


[docs]@parser(Specs.neutron_plugin_ini) class NeutronPlugin(LegacyItemAccess, IniConfigFile): """ Parse the ``/etc/neutron/plugin.ini`` configuration file. Sample configuration file:: [ml2] type_drivers = local,flat,vlan,gre,vxlan tenant_network_types = local,flat,vlan,gre,vxlan mechanism_drivers =openvswitch,linuxbridge extension_drivers = [ml2_type_flat] flat_networks =* # Example:flat_networks = physnet1,physnet2 # Example:flat_networks = * [ml2_type_vlan] network_vlan_ranges =physnet1:1000:2999 # Example: network_vlan_ranges = physnet1:1000:2999,physnet2 [ml2_type_gre] tunnel_id_ranges =20:100 [ml2_type_vxlan] vni_ranges =10:100 vxlan_group =224.0.0.1 [ml2_type_geneve] # (ListOpt) Comma-separated list of <vni_min>:<vni_max> tuples enumerating # ranges of Geneve VNI IDs that are available for tenant network allocation. # # vni_ranges = [securitygroup] enable_security_group = True Examples: >>> nconf = shared[NeutronPlugin] >>> 'ml2' in nconf True >>> nconf.has_option('ml2', 'type_drivers') True >>> nconf.get("ml2_type_flat", "flat_networks") "*" >>> nconf.items('ml2_type_vxlan') {'vni_ranges': '10:100', 'vxlan_group': '224.0.0.1'} """ pass