def get_nova_config_files():
    global __NOVA_CONFIG_FILES
    if __NOVA_CONFIG_FILES is not None:
        return __NOVA_CONFIG_FILES

    NOVA_CONFIG_FILES = {
        NOVA_CONF: {
            'hook_contexts': [
                NetworkServiceContext(),
                NeutronGatewayContext(),
                SyslogContext(),
                context.WorkerConfigContext(),
                context.ZeroMQContext(),
                context.NotificationDriverContext(),
                NovaMetadataContext()
            ],
            'services': ['nova-api-metadata']
        },
        NOVA_API_METADATA_AA_PROFILE_PATH: {
            'services': ['nova-api-metadata'],
            'hook_contexts':
            [context.AppArmorContext(NOVA_API_METADATA_AA_PROFILE)],
        },
        VENDORDATA_FILE: {
            'services': [],
            'hook_contexts': [NovaMetadataJSONContext('neutron-common')],
        },
    }

    return NOVA_CONFIG_FILES
Example #2
0
    :returns: True or False
    :rtype: bool
    """
    db = kv()
    return db.get(USE_FQDN_KEY, False)


BASE_RESOURCE_MAP = OrderedDict([
    (NEUTRON_CONF, {
        'services': ['neutron-plugin-openvswitch-agent'],
        'contexts': [
            neutron_ovs_context.OVSPluginContext(),
            neutron_ovs_context.RemoteRestartContext(
                ['neutron-plugin', 'neutron-control']),
            context.AMQPContext(ssl_dir=NEUTRON_CONF_DIR),
            context.ZeroMQContext(),
            context.NotificationDriverContext(),
            context.HostInfoContext(use_fqdn_hint_cb=use_fqdn_hint),
            neutron_ovs_context.ZoneContext(),
        ],
    }),
    (ML2_CONF, {
        'services': ['neutron-plugin-openvswitch-agent'],
        'contexts': [neutron_ovs_context.OVSPluginContext()],
    }),
    (OVS_CONF, {
        'services': ['neutron-openvswitch-agent'],
        'contexts': [neutron_ovs_context.OVSPluginContext()],
    }),
    (OVS_DEFAULT, {
        'services': ['openvswitch-switch'],
def get_config_files():
    global __CONFIG_FILES
    if __CONFIG_FILES is not None:
        return __CONFIG_FILES

    NOVA_CONFIG_FILES = get_nova_config_files()

    NEUTRON_SHARED_CONFIG_FILES = {
        NEUTRON_DHCP_AGENT_CONF: {
            'hook_contexts': [DHCPAgentContext()],
            'services': ['neutron-dhcp-agent']
        },
        NEUTRON_DNSMASQ_CONF: {
            'hook_contexts': [DHCPAgentContext()],
            'services': ['neutron-dhcp-agent']
        },
        NEUTRON_METADATA_AGENT_CONF: {
            'hook_contexts': [
                NetworkServiceContext(),
                DHCPAgentContext(),
                context.WorkerConfigContext(),
                NeutronGatewayContext(),
                NovaMetadataContext()
            ],
            'services': ['neutron-metadata-agent']
        },
        NEUTRON_DHCP_AA_PROFILE_PATH: {
            'services': ['neutron-dhcp-agent'],
            'hook_contexts':
            [context.AppArmorContext(NEUTRON_DHCP_AA_PROFILE)],
        },
        NEUTRON_LBAAS_AA_PROFILE_PATH: {
            'services': ['neutron-lbaas-agent'],
            'hook_contexts':
            [context.AppArmorContext(NEUTRON_LBAAS_AA_PROFILE)],
        },
        NEUTRON_LBAASV2_AA_PROFILE_PATH: {
            'services': ['neutron-lbaasv2-agent'],
            'hook_contexts':
            [context.AppArmorContext(NEUTRON_LBAASV2_AA_PROFILE)],
        },
        NEUTRON_METADATA_AA_PROFILE_PATH: {
            'services': ['neutron-metadata-agent'],
            'hook_contexts':
            [context.AppArmorContext(NEUTRON_METADATA_AA_PROFILE)],
        },
        NEUTRON_METERING_AA_PROFILE_PATH: {
            'services': ['neutron-metering-agent'],
            'hook_contexts':
            [context.AppArmorContext(NEUTRON_METERING_AA_PROFILE)],
        },
    }
    NEUTRON_SHARED_CONFIG_FILES.update(NOVA_CONFIG_FILES)

    NEUTRON_OVS_CONFIG_FILES = {
        NEUTRON_CONF: {
            'hook_contexts': [
                context.AMQPContext(ssl_dir=NEUTRON_CONF_DIR),
                NeutronGatewayContext(),
                SyslogContext(),
                context.ZeroMQContext(),
                context.WorkerConfigContext(),
                context.NotificationDriverContext()
            ],
            'services': [
                'neutron-l3-agent', 'neutron-dhcp-agent',
                'neutron-metadata-agent', 'neutron-plugin-openvswitch-agent',
                'neutron-plugin-metering-agent', 'neutron-metering-agent',
                'neutron-lbaas-agent', 'neutron-vpn-agent'
            ]
        },
        NEUTRON_L3_AGENT_CONF: {
            'hook_contexts': [
                NetworkServiceContext(),
                L3AgentContext(),
                NeutronGatewayContext()
            ],
            'services': ['neutron-l3-agent', 'neutron-vpn-agent']
        },
        NEUTRON_METERING_AGENT_CONF: {
            'hook_contexts': [NeutronGatewayContext()],
            'services':
            ['neutron-plugin-metering-agent', 'neutron-metering-agent']
        },
        NEUTRON_LBAAS_AGENT_CONF: {
            'hook_contexts': [NeutronGatewayContext()],
            'services': ['neutron-lbaas-agent']
        },
        NEUTRON_VPNAAS_AGENT_CONF: {
            'hook_contexts': [NeutronGatewayContext()],
            'services': ['neutron-vpn-agent']
        },
        NEUTRON_FWAAS_CONF: {
            'hook_contexts': [NeutronGatewayContext()],
            'services': ['neutron-l3-agent', 'neutron-vpn-agent']
        },
        NEUTRON_ML2_PLUGIN_CONF: {
            'hook_contexts': [NeutronGatewayContext()],
            'services': ['neutron-plugin-openvswitch-agent']
        },
        NEUTRON_OVS_AGENT_CONF: {
            'hook_contexts': [NeutronGatewayContext()],
            'services': ['neutron-plugin-openvswitch-agent']
        },
        NEUTRON_OVS_AA_PROFILE_PATH: {
            'services': ['neutron-plugin-openvswitch-agent'],
            'hook_contexts': [context.AppArmorContext(NEUTRON_OVS_AA_PROFILE)],
        },
        NEUTRON_L3_AA_PROFILE_PATH: {
            'services': ['neutron-l3-agent', 'neutron-vpn-agent'],
            'hook_contexts': [context.AppArmorContext(NEUTRON_L3_AA_PROFILE)],
        },
        EXT_PORT_CONF: {
            'hook_contexts': [ExternalPortContext()],
            'services': ['ext-port']
        },
        PHY_NIC_MTU_CONF: {
            'hook_contexts': [PhyNICMTUContext()],
            'services': ['os-charm-phy-nic-mtu']
        }
    }
    NEUTRON_OVS_CONFIG_FILES.update(NEUTRON_SHARED_CONFIG_FILES)

    NEUTRON_OVS_ODL_CONFIG_FILES = {
        NEUTRON_CONF: {
            'hook_contexts': [
                context.AMQPContext(ssl_dir=NEUTRON_CONF_DIR),
                NeutronGatewayContext(),
                SyslogContext(),
                context.ZeroMQContext(),
                context.WorkerConfigContext(),
                context.NotificationDriverContext()
            ],
            'services': [
                'neutron-l3-agent', 'neutron-dhcp-agent',
                'neutron-metadata-agent', 'neutron-plugin-metering-agent',
                'neutron-metering-agent', 'neutron-lbaas-agent',
                'neutron-vpn-agent'
            ]
        },
        NEUTRON_L3_AGENT_CONF: {
            'hook_contexts': [
                NetworkServiceContext(),
                L3AgentContext(),
                NeutronGatewayContext()
            ],
            'services': ['neutron-l3-agent', 'neutron-vpn-agent']
        },
        NEUTRON_METERING_AGENT_CONF: {
            'hook_contexts': [NeutronGatewayContext()],
            'services':
            ['neutron-plugin-metering-agent', 'neutron-metering-agent']
        },
        NEUTRON_LBAAS_AGENT_CONF: {
            'hook_contexts': [NeutronGatewayContext()],
            'services': ['neutron-lbaas-agent']
        },
        NEUTRON_VPNAAS_AGENT_CONF: {
            'hook_contexts': [NeutronGatewayContext()],
            'services': ['neutron-vpn-agent']
        },
        NEUTRON_FWAAS_CONF: {
            'hook_contexts': [NeutronGatewayContext()],
            'services': ['neutron-l3-agent', 'neutron-vpn-agent']
        },
        EXT_PORT_CONF: {
            'hook_contexts': [ExternalPortContext()],
            'services': ['ext-port']
        },
        PHY_NIC_MTU_CONF: {
            'hook_contexts': [PhyNICMTUContext()],
            'services': ['os-charm-phy-nic-mtu']
        }
    }
    NEUTRON_OVS_ODL_CONFIG_FILES.update(NEUTRON_SHARED_CONFIG_FILES)

    NEUTRON_NSX_CONFIG_FILES = {
        NEUTRON_CONF: {
            'hook_contexts': [
                context.AMQPContext(ssl_dir=NEUTRON_CONF_DIR),
                NeutronGatewayContext(),
                context.WorkerConfigContext(),
                SyslogContext()
            ],
            'services': ['neutron-dhcp-agent', 'neutron-metadata-agent']
        },
    }
    NEUTRON_NSX_CONFIG_FILES.update(NEUTRON_SHARED_CONFIG_FILES)

    NEUTRON_N1KV_CONFIG_FILES = {
        NEUTRON_CONF: {
            'hook_contexts': [
                context.AMQPContext(ssl_dir=NEUTRON_CONF_DIR),
                NeutronGatewayContext(),
                context.WorkerConfigContext(),
                SyslogContext()
            ],
            'services': [
                'neutron-l3-agent', 'neutron-dhcp-agent',
                'neutron-metadata-agent'
            ]
        },
        NEUTRON_L3_AGENT_CONF: {
            'hook_contexts': [
                NetworkServiceContext(),
                L3AgentContext(),
                NeutronGatewayContext()
            ],
            'services': ['neutron-l3-agent']
        },
    }
    NEUTRON_N1KV_CONFIG_FILES.update(NEUTRON_SHARED_CONFIG_FILES)

    __CONFIG_FILES = {
        NSX: NEUTRON_NSX_CONFIG_FILES,
        OVS: NEUTRON_OVS_CONFIG_FILES,
        N1KV: NEUTRON_N1KV_CONFIG_FILES,
        OVS_ODL: NEUTRON_OVS_ODL_CONFIG_FILES
    }

    return __CONFIG_FILES