Group Based Policy
Go to file
Robert Kukura 9b7b759221 [AIM] Validation/Repair/Migration Tool
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
2018-05-21 15:30:01 -04:00
devstack Remove SCREEN_LOGDIR from devstack 2018-01-24 12:55:45 +07:00
doc/source Replace Chinese quotes to English quotes 2018-02-12 10:41:23 +08:00
etc Remove monolithic service chain plugin and drivers 2017-06-13 13:35:03 -07:00
gbpservice [AIM] Validation/Repair/Migration Tool 2018-05-21 15:30:01 -04:00
tools Fix tox_install script 2018-04-06 22:13:57 +00:00
.coveragerc Change ignore-errors to ignore_errors 2015-09-21 14:59:28 +00:00
.gitignore Status attributes for GBP resources 2016-06-22 01:29:46 -07:00
.gitreview Changing stackforge references 2015-10-17 13:43:25 -07:00
.testr.conf Raise OS_TEST_TIMEOUT 2017-09-13 20:58:48 +00:00
CONTRIBUTING.rst Update the outdated links 2018-03-20 06:09:16 +00:00
HACKING.rst Update links to the latest addresses 2017-08-18 21:38:05 +08:00
LICENSE Project boilerplate and base modules 2014-09-26 15:16:17 -07:00
MANIFEST.in Project boilerplate and base modules 2014-09-26 15:16:17 -07:00
README.rst Add some acronyms for brevity in README 2017-10-13 17:24:42 +08:00
TESTING.rst Adding dir structure for developer reference docs 2016-02-19 14:46:27 -08:00
babel.cfg Project boilerplate and base modules 2014-09-26 15:16:17 -07:00
openstack-common.conf Renaming gbp package to gbpservice 2014-12-31 19:13:19 -08:00
requirements.txt Pin keystoneclient to liberty branch 2016-01-14 10:08:36 -08:00
run_tests.sh fix test coverage report 2015-06-10 21:28:04 -07:00
setup.cfg [AIM] Validation/Repair/Migration Tool 2018-05-21 15:30:01 -04:00
setup.py Syncing with mitaka dependencies 2016-02-25 18:35:47 -08:00
test-requirements.txt SFC integration for AIM driver 2018-02-26 21:48:09 +00:00
tox.ini Use non-master branch of OpenStack requirements 2018-03-16 02:03:45 -07:00

README.rst

Group Based Policy (GBP) provides declarative abstractions for achieving scalable intent-based infrastructure automation.

GBP complements the OpenStack networking model with the notion of policies that can be applied between groups of network endpoints. As users look beyond basic connectivity, richer network services with diverse implementations and network properties are naturally expressed as policies. Examples include service chaining, QoS, path properties, access control, etc.

GBP allows application administrators to express their networking requirements using a Group and a Policy Rules-Set abstraction. The specifics of policy rendering are left to the underlying pluggable policy driver.

GBP model also supports a redirect operation that makes it easy to abstract and consume complex network service chains and graphs.

Checkout the GBP wiki page for more detailed information: <https://wiki.openstack.org/wiki/GroupBasedPolicy>

The latest code is available at: <http://git.openstack.org/cgit/openstack/group-based-policy>.

GBP project management (blueprints, bugs) is done via Launchpad: <https://launchpad.net/group-based-policy>

For help using or hacking on GBP, you can send mail to <mailto:openstack-dev@lists.openstack.org>.

Acronyms used in code for brevity:

  • PT: Policy Target
  • PTG: Policy Target Group
  • PR: Policy Rule
  • PRS: Policy Rule Set
  • L2P: L2 Policy
  • L3P: L3 Policy
  • NSP: Network Service Policy
  • EP: External Policy
  • ES: External Segment
  • SC: Service Chain
  • SP: Service Profile