9b7b759221
Adds validation and repair framework that calls into mechanism, policy and SFC drivers to validate mappings to Neutron resources and to AIM resources. The mappings from all standard Neutron resources to AIM are currently handled. New unit tests are provided for validation of each resource, and validation calls are added to several existing unit tests. A simple command line interface is used to perform validation, optionally repairing invalid state. This is run using 'gbp-validate <neutron-server args> [--repair]'. The same arguments that are passed to specify the configuration of neutron-server must be passed to gbp-validate. Validation of GBP and SFC resources and of SVI networks is not yet implemented. Attempting to validate deployments where these resources exist intentionally fails, even when repair is enabled, so that valid deployments are not corrupted. Proper validation of these resources will be addressed in followup patches. For isomorphic address scopes with a non-pre-existing VRF, the VRF's display name currently depends on the order in which the address scopes were created. This will be addressed in a followup patch. EPG domain association, static paths, and other aspects of port binding are not yet validated. This will be addressed in a followup patch. Migration from the old APIC plugin to the unified plugin will require associating existing subnets with subnetpools and rebinding all port, which will also be addressed in a followup patch. A simply neutron_aim exercise script is added to the AIM gate job that runs gbp-validate with Neutron resources. Once validation of GBP resources is implemented, similar gbp-validate calls will be added to the gbp_aim exercise script. Change-Id: I0c3fe9e2629f76ecca8b3c8a93f9534b2d946e14
115 lines
6.0 KiB
INI
115 lines
6.0 KiB
INI
[metadata]
|
|
name = group-based-policy
|
|
summary = Openstack Group Based Policy
|
|
description-file =
|
|
README.rst
|
|
author = OpenStack
|
|
author-email = openstack-dev@lists.openstack.org
|
|
home-page = http://www.openstack.org/
|
|
classifier =
|
|
Environment :: OpenStack
|
|
Intended Audience :: Information Technology
|
|
Intended Audience :: System Administrators
|
|
License :: OSI Approved :: Apache Software License
|
|
Operating System :: POSIX :: Linux
|
|
Programming Language :: Python
|
|
Programming Language :: Python :: 2
|
|
Programming Language :: Python :: 2.7
|
|
Programming Language :: Python :: 3
|
|
Programming Language :: Python :: 3.3
|
|
Programming Language :: Python :: 3.4
|
|
|
|
[files]
|
|
packages =
|
|
gbpservice
|
|
data_files =
|
|
etc/group-based-policy/policy.d =
|
|
etc/policy.json
|
|
etc/group-based-policy/drivers =
|
|
etc/drivers/implicit_policy.ini
|
|
etc/drivers/resource_mapping.ini
|
|
etc/group-based-policy =
|
|
etc/grouppolicy.ini
|
|
etc/ =
|
|
gbpservice/nfp/bin/nfp.ini
|
|
gbpservice/contrib/nfp/bin/nfp.ini
|
|
scripts =
|
|
gbpservice/nfp/bin/nfp
|
|
gbpservice/nfp/bin/nfp_proxy
|
|
|
|
[entry_points]
|
|
console_scripts=
|
|
gbp-db-manage = gbpservice.neutron.db.migration.cli:main
|
|
gbp-validate = gbpservice.tools.validate.cli:main
|
|
neutron.core_plugins =
|
|
ml2plus = gbpservice.neutron.plugins.ml2plus.plugin:Ml2PlusPlugin
|
|
neutron.service_plugins =
|
|
group_policy = gbpservice.neutron.services.grouppolicy.plugin:GroupPolicyPlugin
|
|
ncp = gbpservice.neutron.services.servicechain.plugins.ncp.plugin:NodeCompositionPlugin
|
|
apic_gbp_l3 = gbpservice.neutron.services.l3_router.l3_apic:ApicGBPL3ServicePlugin
|
|
nfp_fwaas = gbpservice.contrib.nfp.service_plugins.firewall.nfp_fwaas_plugin:NFPFirewallPlugin
|
|
apic_aim_l3 = gbpservice.neutron.services.apic_aim.l3_plugin:ApicL3Plugin
|
|
gbpservice.neutron.group_policy.extension_drivers =
|
|
test = gbpservice.neutron.tests.unit.services.grouppolicy.drivers.extension_test:TestExtensionDriver
|
|
proxy_group = gbpservice.neutron.services.grouppolicy.drivers.extensions.proxy_group_driver:ProxyGroupDriver
|
|
aim_extension = gbpservice.neutron.services.grouppolicy.drivers.extensions.aim_mapping_extension_driver:AIMExtensionDriver
|
|
apic_segmentation_label = gbpservice.neutron.services.grouppolicy.drivers.extensions.apic_segmentation_label_driver:ApicSegmentationLabelExtensionDriver
|
|
apic_allowed_vm_name = gbpservice.neutron.services.grouppolicy.drivers.extensions.apic_allowed_vm_name_driver:ApicAllowedVMNameExtensionDriver
|
|
apic_reuse_bd = gbpservice.neutron.services.grouppolicy.drivers.extensions.apic_reuse_bd_driver:ApicReuseBdExtensionDriver
|
|
gbpservice.neutron.group_policy.policy_drivers =
|
|
dummy = gbpservice.neutron.services.grouppolicy.drivers.dummy_driver:NoopDriver
|
|
implicit_policy = gbpservice.neutron.services.grouppolicy.drivers.implicit_policy:ImplicitPolicyDriver
|
|
resource_mapping = gbpservice.neutron.services.grouppolicy.drivers.resource_mapping:ResourceMappingDriver
|
|
neutron_resources = gbpservice.neutron.services.grouppolicy.drivers.neutron_resources:CommonNeutronBase
|
|
chain_mapping = gbpservice.neutron.services.grouppolicy.drivers.chain_mapping:ChainMappingDriver
|
|
aim_mapping = gbpservice.neutron.services.grouppolicy.drivers.cisco.apic.aim_mapping:AIMMappingDriver
|
|
apic = gbpservice.neutron.services.grouppolicy.drivers.cisco.apic.apic_mapping:ApicMappingDriver
|
|
nsx_policy = gbpservice.neutron.services.grouppolicy.drivers.vmware.nsx_policy.nsx_policy_mapping:NsxPolicyMappingDriver
|
|
neutron.ml2.mechanism_drivers =
|
|
logger_plus = gbpservice.neutron.tests.unit.plugins.ml2plus.drivers.mechanism_logger:LoggerPlusMechanismDriver
|
|
apic_aim = gbpservice.neutron.plugins.ml2plus.drivers.apic_aim.mechanism_driver:ApicMechanismDriver
|
|
apic_gbp = gbpservice.neutron.plugins.ml2.drivers.grouppolicy.apic.driver:APICMechanismGBPDriver
|
|
stitching_gbp = gbpservice.neutron.plugins.ml2.drivers.grouppolicy.stitching.driver:TrafficStitchingMechanismGBPDriver
|
|
neutron.ml2.extension_drivers =
|
|
apic_aim = gbpservice.neutron.plugins.ml2plus.drivers.apic_aim.extension_driver:ApicExtensionDriver
|
|
test_ml2plus = gbpservice.neutron.tests.unit.plugins.ml2plus.drivers.extension_test:TestExtensionDriver
|
|
testdb_ml2plus = gbpservice.neutron.tests.unit.plugins.ml2plus.drivers.extension_test:TestDBExtensionDriver
|
|
gbpservice.neutron.servicechain.ncp_drivers =
|
|
node_dummy = gbpservice.neutron.services.servicechain.plugins.ncp.node_drivers.dummy_driver:NoopNodeDriver
|
|
heat_node_driver = gbpservice.neutron.services.servicechain.plugins.ncp.node_drivers.heat_node_driver:HeatNodeDriver
|
|
nfp_node_driver = gbpservice.neutron.services.servicechain.plugins.ncp.node_drivers.nfp_node_driver:NFPNodeDriver
|
|
gbpservice.neutron.servicechain.ncp_plumbers =
|
|
dummy_plumber = gbpservice.neutron.services.servicechain.plugins.ncp.node_plumbers.dummy_plumber:NoopPlumber
|
|
stitching_plumber = gbpservice.neutron.services.servicechain.plugins.ncp.node_plumbers.traffic_stitching_plumber:TrafficStitchingPlumber
|
|
admin_owned_resources_apic_plumber = gbpservice.neutron.services.servicechain.plugins.ncp.node_plumbers.admin_owned_resources_apic_tscp:AdminOwnedResourcesApicTSCP
|
|
networking_sfc.sfc.drivers =
|
|
aim = gbpservice.neutron.services.sfc.aim.sfc_driver:SfcAIMDriver
|
|
networking_sfc.flowclassifier.drivers =
|
|
aim = gbpservice.neutron.services.sfc.aim.flowc_driver:FlowclassifierAIMDriver
|
|
neutronclient.extension=
|
|
port_pair_group_patch = gbpservice.neutron.services.sfc.aim.cli_patch
|
|
openstack.cli.extension =
|
|
port_pair_group_patch = gbpservice.neutron.services.sfc.aim.cli_patch
|
|
|
|
[build_sphinx]
|
|
source-dir = doc/source
|
|
build-dir = doc/build
|
|
all_files = 1
|
|
|
|
[upload_sphinx]
|
|
upload-dir = doc/build/html
|
|
|
|
[compile_catalog]
|
|
directory = group-based-policy/locale
|
|
domain = group-based-policy
|
|
|
|
[update_catalog]
|
|
domain = group-based-policy
|
|
output_dir = group-based-policy/locale
|
|
input_file = group-based-policy/locale/group-based-policy.pot
|
|
|
|
[extract_messages]
|
|
keywords = _ gettext ngettext l_ lazy_gettext
|
|
mapping_file = babel.cfg
|
|
output_file = group-based-policy/locale/group-based-policy.pot
|