Previously we didn't consider kernels higher than 4. This patch returns
True right away if the verions is lesser than 4. If it is 4, then it must
be lesser or equal to 3 to return True. All other versions are not
supported.
Change-Id: I3e9fa088d7cb9cfecbe7670c84a051e15be2a3a9
The previous condition was mistakenly using -le (less or equal) where
strict -lt (less than) condition is needed, making all 4.x matching.
Note: it's the third version of the condition. Reviewers, please
actually review. :)
Change-Id: I34d832ec762f30de16e148ba5bea4888a0606c92
The previous check was mistakenly not matching for 3.4+ kernels that
support compilation.
The ovs 2.5 version delivers stability fixes, apart from features.
That's why the fix is expected to fix recent gate failures we started to
see.
Change-Id: I21749a59a040abc8b9f6a6a6c69f3fa96515962f
Closes-Bug: #1621789
The intention of this patch is not to break current compilations on
Xenial boxes that run with 4.4 kernel which is not supported by OVS
openvswitch kernel module. After we are confident to switch master
branch to be running on Xenial only, we will get rid of the compilation
itself until it's needed by other features.
Change-Id: I1c890bf5a6564a69e36b8289a5d8dc0deee2a429
This patch enables basic CRUD operations on trunk ports and defines
related API extensions. Trunk ports and sub-ports can be persisted
in the Neutron model and are made visible through the API, but the
L2 agent is not notified and no trunk ports or subports are actually
instantiated on compute hosts.
This one of the main patches in the series that implement the end
to end functionality.
Partially-implements: blueprint vlan-aware-vms
Co-Authored-By: Armando Migliaccio <armamig@gmail.com>
Change-Id: I26453eb9a1b25e116193417271400994ac57e4c1
When use origin/master, if we re-installed the devstack with a
RECLONE=True, an error will happen with the error message:
[ERROR] /opt/stack/devstack/functions-common:560 origin/master is neither branch nor tag
Use the branch name without 'origin/' works the same.
Similar change: https://review.openstack.org/#/c/333826
Change-Id: I16f6bd28ad27d4e957c226ed3fceb8881af6e84f
Macvtap agent can now be configured via this devstack.
Note that it is only supported in multinode environments
as compute node. The controller node still needs to run
linuxbridge or ovs.
Documentation will be added in devstack via [1]
[1] https://review.openstack.org/292778
Example:
OVS Controller
--------------
Make sure that the controller
- loads the macvtap ml2 driver
- uses vlan or flat networking
Macvtap Compute Node local.conf
-------------------------------
[[local|localrc]]
SERVICE_HOST=1.2.3.4
MYSQL_HOST=$SERVICE_HOST
RABBIT_HOST=$SERVICE_HOST
disable_all_services
enable_plugin neutron git://git.openstack.org/openstack/neutron
enable_service n-cpu
enable_service q-agt
Q_AGENT=macvtap
PHYSICAL_NETWORK=default
[[post-config|/$Q_PLUGIN_CONF_FILE]]
[macvtap]
physical_interface_mappings = $PHYSICAL_NETWORK:eth1
Closes-Bug: #1557407
Change-Id: I0dd4c0d34d5f1c35b397e5e392ce107fb984b0ba
Once the spinout is undergoing we should perform the eviction.
Partially-implements: blueprint bgp-spinout
Depends-on: I8be510153edbc496575cde34943ca4c56645e0fb
Change-Id: I20b6ddd37d10eae70e8294d578e53137c0f866fe
This eases the deployment of a devstack machine with the latest
Open vSwitch bits, adding this to local.conf provides a fully
featured ovs-ct firewall setup:
enable_plugin neutron git://git.openstack.org/openstack/neutron
Q_BUILD_OVS_FROM_GIT=True
[[post-config|/$Q_PLUGIN_CONF_FILE]]
[securitygroup]
firewall_driver = openvswitch
Change-Id: Ia7ad1658b95d7404384c7cae833008a57e3e5af1
When user sets "RECLONE=True" in local.conf, all components need
to be cloned. This flag is not handled in the ovs script, and when
the repo exists - it won't be refreshed.
Change-Id: I2831f77271880c5964627673cbc0a62c211a045a
By default localstatedir is PREFIX/var, which means logs are placed to
/usr/var/log/openvswitch directory. This patch redefines explicitly to
put the log files into /var/log/openvswitch, also /var/run/openvswitch
will be correctly used for pid file.
Change-Id: I1a02e8f33e745da82addfbf34efd487adf726e71
Closes-Bug: 1566569
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
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
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
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
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>
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
Require explicit enablement for the service. Enable the service in API
gate job because we have API tests for the service.
Change-Id: Ibdd41eb761b64499a992f49ac0159167c7fb7d79
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
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
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