Metaplugin is removed in Liberty.
Remove all metaplugin related codes.
DocImpact
APIImpact
Co-Authored-By: Itsuro Oda <oda@valinux.co.jp>
Change-Id: I9cf36e1fd3a009c175e0d475af407a30f4e5c408
Closes-Bug: #1465126
This patch add mising __init to mech_sriov/mech_driver/
and update the setup.cfg to the new agent entrypoint
Trivial Fix
Change-Id: I53a527081feb78472f496675bbb3c5121d38a14a
In preparation for decomposing the built-in reference implementation,
this commits consolidates the sriov agent and driver code into a
coherent place for it's life in the new repository. I've also given
the unit tests a new home.
DocImpact
UpgradeImpact
Partially-Implements: blueprint reference-implementation-split
Partial-Bug: #1468433
Closes-Bug: #1427317
Change-Id: Ic8b5215de76e191030228bc28773cd6535e889d8
Signed-off-by: Kyle Mestery <mestery@mestery.com>
This commit moves the L2 agents (Linuxbridge and OVS) into the
ML2 directory, while at the same time also moving the ML2 server
bits into toplevel directories. It also moves the configuration
files and unit tests. We also move the l2pop RPC mixin while
here as well.
DocImpact
UpgradeImpact
Partially-Implements: blueprint reference-implementation-split
Partial-Bug: #1468433
Closes-Bug: #1427317
Change-Id: If6feca7b7a6bdd6c3c6feb929fa26fb4b1f72770
Signed-off-by: Kyle Mestery <mestery@mestery.com>
This patch takes the latest global requirements update from change
Ibcb49412a012f79be2f7fd697349ddbf43bd7b9b except takes out the update
to setup.py which reverts the windows specific requirements. We are
still working on getting the custom changes out of setup.py in change
I3c07c279d33f6aed46c3a97dd9ba81251e51429a.
Change-Id: Iee7612d39b520cf04e3b2ec503ec79d23f15f949
This will aid in removing stale IPsets when we change the prefix
used in creating IPset names.
Change-Id: Ia9ff79c34bd4c9124ec8663a8f616ded4f389f62
Partial-Bug: #1444201
The last of the Cisco drivers to decompose.
Closes-bug: #1416713
Co-Authored-By: Nikolay Fedotov <nfedotov@cisco.com>
Change-Id: Icd2b358fb0db3d859ee287225ab8eeb10d7da871
IPAM Driver is loaded based on value of 'ipam_driver'.
Added new variable 'ipam_driver' in config.
DocImpact
Partially-Implements: blueprint neutron-ipam
Change-Id: Ia52ad70ef4f0b02cf82cfefcf50b9f1e30b05b79
update management_network to management_network_id in vrouter.ini
Fix copyright header to refer to Brocade in vrouter_neutron_plugin.py
Fix neutron.service_plugins brocade_vyatta_l3 entry in setup.cfg
Change-Id: Ib9eb4a825454d99607deca61ceeb7acb43a9b248
Closes-Bug: #1457235
The pbr setup_hook has not been needed for a while, so remove it. The
neutron hook has been broken for a while: it places a setup_requires
build dependency on everything in neutron/__init__.py, which is
non-empty, but setup_requires is handled by easy install so we try
very hard to avoid it. Instead, we can use environment markers to
selectively include the win32 dependencies without requiring that
neutron be importable during setup.py execution. This is unusual
in OpenStack and will eventually be moved to a regular
requirements.txt dependency with the same marker - once we've finished
the integration work to make markers work properly in
requirements.txt.
Change-Id: Icdc403a3ccf06daeccf2a907a7bfeafd8dbbb5dd
mlnx_direct is deprecated from Juno release. sriov-nic-switch
with macvtap port is the replacement for it.
This patch removes the mlnx_direct from mlnx MD and
from the supported vif_types.
Closes-Bug: #1453410
Change-Id: I7ee528dc04cdafa27455d5f8fd18c04c858466d8
ARP cache poisoning is not actually prevented by the firewall
driver 'iptables_firewall'. We are adding the use of the ebtables
command - with a corresponding ebtables-driver - in order to create
Ethernet frame filtering rules, which prevent the sending of ARP
cache poisoning frames.
The complete patch is broken into a set of smaller patches for easier review.
This patch here is th first of the series and includes the low-level ebtables
integration, unit and functional tests.
Note:
This commit is based greatly on an original, now abandoned patch,
presented for review here:
https://review.openstack.org/#/c/70067/
Full spec can be found here:
https://review.openstack.org/#/c/129090/
SecurityImpact
Change-Id: I9ef57a86b1a1c1fa4ba1a034c920f23cb40072c0
Implements: blueprint arp-spoof-patch-ebtables
Related-Bug: 1274034
Co-Authored-By: jbrendel <jbrendel@cisco.com>
Bump pre-version in setup.cfg to formally open Liberty development.
Kilo release branch will be cut from the previous commit.
Change-Id: I9ca77808093741f6c52e49f3041e90c3cc7a74b6
This change ensures that the structure of the unit test tree matches
that of the code tree to make it obvious where to find tests for a
given module. A check is added to the pep8 job to protect against
regressions.
The plugin test paths are relocated to neutron/tests/unit/plugins
but are otherwise ignored for now.
Change-Id: If307593259139171be21a71c58e3a34bf148cc7f
Partial-Bug: #1440834
Introduces a ML2 based Mechanism Driver for Cisco UCS Manager. The vendor
specific driver code referenced by this MD resides in stackforge repo
networking-cisco. This MD did not exist in the Neutron tree before so no files
have to be removed as part of this change.
DocImpact
Partially-implements: blueprint core-vendor-decomposition
Implements: blueprint ml2-ucs-manager-mechanism-driver
Closes-Bug: #1434401
Conflicts:
etc/neutron/plugins/ml2/ml2_conf_cisco.ini
neutron/db/migration/alembic_migrations/versions/HEAD
setup.cfg
Change-Id: I5a32b18f0d4e3ef55738c51e65e3e81d8f415da4
Introduces the Cisco Nexus1000V Mechanism driver for ML2 plugin.
All the vendor specific code resides in stackforge repo networking-cisco.
Closes-Bug: #1425632
Partial-Implements: blueprint core-vendor-decomposition
Change-Id: I66bf83f45bf1e0269d0876196f6aa032b0fa859f
Co-Authored-By: Steven Hillman <sthillma@cisco.com>
With the introduction of stackforge/networking-vsphere project
which includes the OVSvApp L2 agent for doing vsphere networking
using neutron.
We need to have thin mechanism driver in neutron which integrates
the ml2 plugin with the OVSvApp L2 Agent.
The mechanism driver implements the abstract method given in
mech_agent.SimpleAgentMechanismDriverBase.
Closes-Bug: 1426365
Partially-implements: blueprint core-vendor-decomposition
Change-Id: I57b2abb58671b8a1c6a2734959346ddeb8fda988
Eventlet monkey patching the os and thread modules causes subprocess.Popen
to fail on Windows when using pipes due to missing non-blocking IO support.
There is an reported bug on eventlet [1] with this issue. The solution
for this issue is to not monkey_patch os and thread.
This change is needed in order to run ovs_neutron_agent on Windows platforms.
[1] https://bitbucket.org/eventlet/eventlet/issue/132/eventletmonkey_patch-breaks
Partially implements blueprint: hyper-v-ovs-agent
Change-Id: I73f5dfc16563da2c09b5440a687484ba5a1fc2de
Decomposes Hyper-V Neutron Agent and adds the requirements.txt
file to set the dependency to the vendor agent.
Adds README containing information on how to properly use the
Hyper-V Neutron Agent and the ML2 Mechanism Driver.
Vendor plugin code is available on stackforge:
https://github.com/stackforge/networking-hyperv
Plugin already available in pypi:
https://pypi.python.org/pypi/networking-hyperv
DocImpact
Partially-implements: blueprint core-vendor-decomposition
Change-Id: Iedff2718732c884c297cb0be855593057bd64c38
Previously L3 HA generated a bash script and copied it to a per-router
configuration directory that was visible to that router's keepalived
instance. This patch changes the in-line generated Bash script to a
Python script that can be maintained in the repository.
The bash script was used as a keepalived notifier script, that was invoked
by keepalived whenever a state transition occured. These notifier scripts
may be invoked by keepalived out of order in case it transitions quickly
twice. For example, if the master failed and two slaves fight for the new
master role. One will transition to master, and the other will often
transition to master and then immidiately back to standby. In this case,
the transition scripts were often fired out of order, resulting in the
wrong state being reported.
The proposed approach is to get rid of the keepalived notifier scripts
entirely. Instead, monitor IP changes on the HA device. If the omnipresent
IP address was configured on the HA device, it means that we're looking
at a master instance. If it was deleted, the router transition to standby
or fault.
In order to keep the L3 agent CPU usage down, it will spawn a process
per HA router. That process will start the ip address monitor.
Whenever it gets an IP address change event, it will notify the L3 agent
via a unix domain socket.
Partially-Implements: blueprint report-ha-router-master
Change-Id: I2022bced330d5f108fbedd40548a901225d7ea1c
Closes-Bug: #1402010
Closes-Bug: #1367705
This thin driver will introduce VLAN support on Brocade MLX and ICX
switches. Vendor specific driver implementation will reside in a
separate repository.
Partial-Bug: 1420045
Change-Id: Ia5af6c2e9b52129749c17db53d1d3891d42ec7f1
This addresses the changes in ml2 mech-driver
and l3 service plugin to comply with the
core-vendor-decomposition spec
The monolithic sdnve plugin will not be removed with this change
as it is still being used. Once the ml2 plugin is merged and the
older plugin becomes obsolete, it will be removed from the
neutron tree.
Partially-implements: blueprint core-vendor-decomposition
Closes-bug: #1430216
Change-Id: I5bc85a5f0a62b690004d8352b3bc43b9612c213d
Add portsecurity extension driver into ML2 plugin and implement it in
iptables_firewall.
The scope of this change is:
- Abstract a common class PortSecurityDbCommon from the old
PortSecurityDbMixin
- Add a new extension driver port-security, implement process_xxx and
extend_xxx_dict method and provide a db migration from the existing
networks and ports
- Update the new added 'unfiltered_ports' in iptables firewall of l2 agent
to reflect the update of port-security
Co-Authored-By: Shweta P <shpadubi@cisco.com>
Change-Id: I2da53168e2529db7a8094ce90ef3a8a93fe55727
Partially Implements: blueprint ml2-ovs-portsecurity
* move the mlnx agent to be under ml2/drivers/mlnx
* update the main entry point to be under cmd
* remove unused vnic_type parameter in agent config
Partially-implements: blueprint core-vendor-decomposition
Change-Id: Ibbb99de3124d5d81bbccbc06b33ce32b19c1daef
Remove entry point pointing to external vendor package.
This console script entry point already exists in the vendor repo.
Change-Id: Ib85acffc155ae6b49477f90d06346269330220b5
Closes-bug: #1431627
Brocade code decomposition of VDX mechanism driver,
includes moving out the driver and unit tests. Left
behind are the DB model for migration and config
Closes bug: #1427793
Change-Id: I3b06a1800cce1ddbb87c6ebd7981e3f249df5060
Updates required to the upstream neutron ML2 cisco nexus MD code to
support stackforge repo changes.
Original development done under cisco-openstack repo. File history for
these changes can be found under the staging/junoplus branch.
Change-Id: Idc9da84cefa4131a84b911f77d99a3b1647103a8
Closes-Bug: 1429879
This patch introduces support for rootwrap daemon mode. It adds
a new config option, AGENT.root_helper_daemon with no default. To
enable, set to something like:
root_helper_daemon = sudo neutron-rootwrap-daemon /etc/neutron/rootwrap.conf
The patch currently assumes that the root_helper_daemon value, and specifically
the rootwrap config, will not change once calls to execute() happen. While it
would not be hard to generate a rootwrap daemon client for each new config, I
couldn't think of a legitimate reason to support it and left it out as YAGNI.
This patch does change the behavior of the addl_env argument to create_process
and execute. Previously, an environment dict would be passed to Popen. If
a root helper was used, this environemnt would actually be passed to 'sudo'
which would filter it before passing it to the underlying command. In the case
of daemon mode, this would cause a problem as the enviornment is filtered by
sudo only once, at daemon startup. Any environment variables added at execute
time would then just be passed directly to the underyling command unfiltered.
oslo.rootwrap 1.6.0 fixes this issue by denying the passing of environment
variables to the daemon altogether. Instead, anything using rootwrap and needing
to pass additional environment variables should define an EnvFilter and run the
command with env var=val cmd. utils.execute/create_process have been modified to
run code in this way (which netns.execute already did).
No code in neutron currently uses both run_as_root=True and addl_env, so this
change does not require any change in code or filters.
DocImpact
Implements: blueprint rootwrap-daemon-mode
Change-Id: I567334bb611253c7b9d830d50c5be308a5153baf
- Removes main codes and unit tests of NEC plugin
- Add plugin-specific requirements.txt to the plugin dir.
- Move config to the plugin top dir
- Remove references of networking_nec from config module
because it may prevent config guide generator.
- agent command can be moved to neutron/cmd/eventlet
if some consensus has been made.
Closes-Bug: #1419396
Related to blueprint core-vendor-decomposition
Change-Id: I946e0f829e8f6251a63572331c783d7a7b5f6c01
It seems preferable to have a thin driver module
rather than directly referencing an external module in setup.cfg.
This also introduces "ofagent" directory which can be used to
put requirements.txt later.
Closes-Bug: #1412653
Related: blueprint core-vendor-decomposition
Change-Id: Id86ade4ae75dceb5ce4283869f42f4c0d1af7c4d
This patch remove all the business logic pertaining to the VMware
plugin. The following modules are left in openstack/neutron:
- plugin-specific API extension declarations
- database models (and a module with constants they use)
- integration module pointing to the external repository
Change-Id: I8a01a977889b36015a9cfa900173c05bfd516457
Partially-Implements: blueprint core-vendor-decomposition