13 Commits

Author SHA1 Message Date
Gary Kotton
dc3fb1ce46 BGP: remove unnecessary configuration setting
By default oslo CFG sets the default value as None. There is no
need to specifically do this.

The patch also moves the RYU_BGP_SPEAKER_DRIVER to the devstack
settings file.

TrivialFix

Change-Id: Ic33871a0a42fa9a5e5af3158532ecdad9817e5ab
2016-03-01 03:15:15 -08:00
vikram.choudhary
b33c4dd2ce BGP Dynamic Routing: introduce BgpDriver
This patch introduces BgpDriver interface which will be used by
the BgpDrAgent for passing BGP speaker, peer and route information
to the registered BGP driver.

In addition, this patch also implements Ryu as a reference
BGP driver for the proof of concept.

Partially-Implements: blueprint bgp-dynamic-routing
Co-Authored-By: Ryan Tidwell <ryan.tidwell@hp.com>
Co-Authored-By: Jaume Devesa <devvesa@gmail.com>
Co-Authored-By: vikram.choudhary <vikram.choudhary@huawei.com>
Co-Authored-By: Numan Siddique <nusiddiq@redhat.com>
Change-Id: If9a7e2c4c45c395b8e93bd1293667bf67f53dcfa
2016-02-24 12:02:39 -08:00
vikram.choudhary
fbe754b04b BGP Dynamic Routing: introduce BgpDrAgent
This patch implements a new agent named "BgpDrAgent". The new agent
will host different BGP speaking drivers and makes the required BGP
peering session/s for neutron. The agent takes the needed "peer/s and
route/s" information from the BGP speaker entity and synchronize the
same to the registerd driver.

For realizing HA, two BgpDrAgents should host the same BGP speaker.

Partially-Implements: blueprint bgp-dynamic-routing
Co-Authored-By: Ryan Tidwell <ryan.tidwell@hpe.com>
Co-Authored-By: Jaume Devesa <devvesa@gmail.com>
Co-Authored-By: Numan Siddique <nusiddiq@redhat.com>
Change-Id: I3217795bdd0fa2d9d4b39274f4f95fc013c8d29d
2016-02-18 10:46:55 -08:00
Ryan Tidwell
773a3916ea Add BGP Dynamic Routing DB Model and Basic CRUD
This patch enables basic CRUD on BGP dynamic routing
entities bgp_speaker and bgp_peer, as well as
bgp_speaker-bgp_peer and bgp_speaker-network
bindings.

An admin user can create BgpSpeakers and configure
peering entities (BgpPeers) for BgpSpeakers. BgpSpeaker
to BgpPeer association is n-to-n. An admin user can
also associate networks with BgpSpeakers. Relationship
between BgpSpeaker and Network is 1-to-n.

This patch provides BGP-related functionality only to
the admin users.

Partially-Implements: blueprint bgp-dynamic-routing
Co-Authored-By: Ryan Tidwell <ryan.tidwell@hpe.com>
Co-Authored-By: Jaume Devesa <devvesa@gmail.com>
Co-Authored-By: vikram.choudhary <vikram.choudhary@huawei.com>
Change-Id: I2412c1689683da9d7ec884a4cea506d4eed99453
2016-02-11 14:43:35 -07:00
Russell Bryant
5b029a8965 devstack: Fix check for blank prefix arg.
The check to see if the prefix arg was specified would always be true, even if
the argument was not specified.  This fixes it.

Change-Id: I60825c884e4d64aab2abc11d8da9bc1979baf0de
Signed-off-by: Russell Bryant <rbryant@redhat.com>
2016-02-06 13:24:00 -05:00
Jakub Libosvar
00f7313162 Compile OVS for functional tests
The patch takes OVS with conntrack support, compiles it and loads its
kernel modules. The patch steals parts from networking-ovn
project [1]. To run compilation of OVS, an environment variable
COMPILE_OVS must be set to True. Optional environment variables
OVS_REPO and OVS_BRANCH can be defined as a source of bits.

Once Neutron starts using neutron-lib, next steps will be taking
content of devstack/lib/ovs and putting it into neutron-lib project
in order to let other projects like networking-ovn to re-use the
code.

[1] https://github.com/openstack/networking-ovn/blob/master/devstack/plugin.sh#L175

Change-Id: Id2f51853a6339da72dbde7a82f94f99a4c306565
2016-02-04 11:06:22 +00:00
Ihar Hrachyshka
a859f1ced2 devstack: use stevedore entry point for flavor service plugin
It's discouraged to use python import paths. Instead, we should use
stevedore entry points.

Change-Id: I7e3fce5e63ad309d761d9fec713a31fa33966eef
2016-01-14 17:02:22 +01:00
Ihar Hrachyshka
e58a0e5062 devstack: don't enable qos service with the plugin
Require explicit enablement for the service. Enable the service in API
gate job because we have API tests for the service.

Change-Id: Ibdd41eb761b64499a992f49ac0159167c7fb7d79
2016-01-06 12:34:35 +01:00
James Arendt
6bc53cc7f8 Fix Neutron flavor framework
Make flavor service profile store actual driver instead of
hardcoded dummy driver.  Ensure service type on flavor persisted.

Raise ServiceProfileDriverNotFound if non-empty driver is not part
of ServiceTypeManager providers.

Raise ServiceProfileEmpty if profile has neither a driver nor
any metainfo.

Raise InvalidFlavorServiceType if invalid service type passed.

Show flavors associated with a profile, not just profiles associated
with a flavor, to ease diagnosis when ServiceProfileInUse raised.

Create method to extract provider given a flavor for use with
neutron-lbaas plus tests.

Ensure various boolean forms accepted for enabled flag.

To enable in DevStack, add to local.conf:
enable_plugin neutron https://git.openstack.org/openstack/neutron
enable_service q-flavors

Add associated unit tests. Fix tempest api test that used invalid
LOADBALANCERS service type.

Change-Id: I5c22ab655a8e2a2e586c10eae9de9b72db49755f
Implements: blueprint neutron-flavor-framework
2015-11-19 11:27:05 -08:00
Cedric Brandily
83c9578fcc Remove deprecated sriov agent_required option
The SR-IOV option agent_required has been deprecated in Liberty.

This change removes it and from now agents are mandatory for SR-IOV
mechanism in order to support extended features: QoS, port security.

DocImpact
Closes-Bug: #1508182
Related-Bug: #1488807
Change-Id: I4e6497da6b287531a211084a5208028c84112a83
2015-10-21 13:41:19 +02:00
Hirofumi Ichihara
d04284b0a1 Refactoring devstack script
Change-Id: Iabb7313b667ef6921acbb65b1eb583603b4d0b11
2015-09-21 00:02:00 +09:00
Moshe Levi
bd07b74045 SR-IOV: devstack support for SR-IOV agent
Change-Id: Ia0649962bd0c68d9c99fd54cc84ce8dd67d792e8
2015-09-09 15:06:37 +03:00
Ihar Hrachyshka
01c0466d74 Added initial devstack plugin
For now it only supports q-qos service that is used to configure QoS service
plugin. It also adds ability to enable l2 agent extensions.

To check that it works, I am enabling QoS tests back for API job.

Partially-Implements: blueprint quantum-qos-api
Change-Id: I19e4fe0cf5ecc55397628017631c3ff6718ce36f
2015-08-20 18:27:56 +02:00