We have made os-xenapi repository to deal with XenServer Dom0
specific functions, this patch is to change neutron to use
os-xenapi when XenServer is hypervisor and move the building
RPM scripts into os-xenapi repo
Depends-On: I8a31c81d9475387fe4ed7030b70b26098e588771
Change-Id: Ia958c366189386b1b5abbadbb4d74950aaa23bb2
With XenServer as hypervisor, the commands neutron-ovs-agent in
compute node run are actually executed in Dom0. But current Dom0
plugin doesn't allow conntrack command, this patch is to add such
support.
Also, the exitcode the commands returned in Dom0 will pass through
Dom0 to neutron to make sure the plugin is only aimed executing
commands, it doesn't deal with business scenario.
Closes-Bug: #1603400
Change-Id: I304788240bcd590ec211bca052fe64594a4e6eca
Neutron with XenServer properly doesn't close XenAPI sessions.
If it creates these sessions so rapidly, the XenServer host eventually
exceeds its maximum allowed number of connections.
This patch adds a close process for session.
Closes-Bug: 1558721
Change-Id: Ida90a970c649745c492c28c41c4a151e4d940aa6
Occurances of Openstack (incorrect capitalization) are replaced with
OpenStack
Change-Id: I7f33060a2dd430cdd49aebf9420e3cd54d21c72c
Closes-Bug: #1535246
Replace remaining occurences of 'import json' with
'from oslo_serialization import jsonutils as json'
so pylint doesn't complain every time someone happens
to make a change to one of the modules that still
uses it.
Change-Id: Ife9f0fc54ad36887bdb939028f8903be16e590d6
With this commit, it is possible to successfully run 'tox -epy34', even though
only a small amount of tests will actually be run. This is a required step in
making Neutron compatible with Python 3, as described in the 'Porting to Python
3' specification.
This commit:
- fixes some broken imports, while making sure they still work with Python 3;
- updates a call to gettext.install;
- adds a py34 target in tox.ini.
Change-Id: I91cc7a992d05ea85f7004d1c5a45a1c02cbf1c85
Blueprint: neutron-python3
Port to oslo.messaging is done, so remove now unused pieces from the
tree.
Also removed obsolete bin/quantum-rpc-zmq-receiver. It comes from old
days of oslo-rpc, it was reimplemented later as
openstack/common/rpc/zmq_receiver.py in oslo-incubator, and we've
removed the whole tree for old RPC layer anyway.
blueprint oslo-messaging
Change-Id: If7155c59c8ef58d06164938998180f3367b9bb16
Remove rootwrap code copied from oslo-incubator, make the
{neutron,quantum}-rootwrap console_script entrypoints point to
oslo.rootwrap code instead.
Adjust bin/{neutron,quantum}-rootwrap[-xen-dom0] so that it calls
into oslo.rootwrap.cmd.
Change-Id: I22df4060d6bca6affd7761fec49d2767ca8f59cf
Implements: blueprint neutron-oslo-rootwrap
The neutron-rootwrap-xen-dom0 script and the netwrap plugin have been
modified to pass stdin from one to the other.
Change-Id: Ie97980873ed95f2c96eb68f8de611de1a733b130
Closes-Bug: #1259748
In python 3 print statement is not supported, so we should use
only print() functions.
This patch also removes print in unit test, left by accident
Fixes bug 1226943
Change-Id: I5ace50cb9e149682344b4c986ef9318f8dc50f72
bp: remove-bin-directory
There are some binaries which are expected to run in branch, so
we have to keep them there now.
Change-Id: I5134d975cbd69f929a325ab80a6d19ce1f122656
In d9832282cf we dropped
the DHCP lease logic from neutron... including
the neutron-dhcp-agent-dnsmasq-lease-update.
Both the neutron and quantum bins were removed from setup.cfg
so we should also drop the quantum-dhcp-agent-dnsmasq-lease-update
as well.
Change-Id: I568845dc28aa4dc9012435de2f0689aafa00a43c
Previously neutron was keeping track of dhcp lease time in order
to ensure it didn't hand out an ip address that was already leased.
This patch removes that logic and instead leverages the dhcp_release
utility. This allows us to reuse ip addresses immediately after a port
is deleted. This patch also bumps the lease time to 24 hours instead
of 2 minutes with reduces the amount of dhcp traffic.
DocImpact
There is a DocImpact for this bug related to the upgrade path. One should
first upgrade their dhcp-agents. Then wait till the dhcp_lease time has
expired. Lastly, update neutron-server in order to avoid the case where
an instance is deleted and the dnsmasq process has not released the lease
and neturon allocates that ip to a new port.
Fixes bug: 1202392
Implements blueprint: remove-dhcp-lease
Change-Id: Ifcb4f093c92904ceb896438987d53e692eb7fb26
Some changes were missing from the previous rename patch, so it broke
XenServer support. This patch contains the missing adjustments.
related to blueprint remove-use-of-quantum
Change-Id: I1ee5cc38d555bd5c26edf00a456ec71919604d79
Use the common oslo-incubator rootwrap rather than maintain a
specific fork within Neutron.
- Migrated DnsmasqFilter use in dhcp.filters to the new EnvFilter
- Changed environment passing in ip_lib's netns.execute so that
it can be properly matched using IpNetNsExecFilter + EnvFilter.
It now calls "ip netns exec ns env A=B C=D command" instead of
"A=B C=D ip netns exec ns command". Adjusted tests accordingly.
All the other changes are coming directly from the Oslo "rootwrap"
module sync.
Notes:
- Neutron locates its rootwrap.conf in etc/ rather than in etc/neutron
- Neutron maintains a specific bin/quantum-rootwrap-xen-dom0 which
requires additional config in rootwrap.conf
Both behaviors were preserved in this commit, but this may need to be
addressed in the future to simplify future oslo-rootwrap updates.
Implements bp: quantum-common-rootwrap
Change-Id: I02879942a9d1169a71aa4d684c1b9ec109a6de32
This change renames everything to Neutron while providing backwards
compatible adjustments for Grizzly configuration files.
implements blueprint: remove-use-of-quantum
Change-Id: Ie7d07ba7c89857e13d4ddc8f0e9b68de020a3d19
As per change https://review.openstack.org/33429 the config sections
became lowercase. This patch makes the quantum-rootwrap-xen-dom0
rootwrap to be case insensitive for the xenapi section.
This patch also changes the default config file to use a lowercase
xenapi section.
Fixes bug 1195781
Change-Id: Ic24feb1a9ad6f8823745b1febd4a0edd54e73498
implements blueprint multi-vendor-support-for-lbaas-step1
This patch implements the following changes:
* merge lbaas_plugin.py and plugin.py into 'plugin.py'
After that the default 'reference' implementation is available again.
* move all code related to reference implementation from plugin.py to
drivers/haproxy/plugin_driver.py
* Inherit HaproxyOnHostPluginDriver from abstract driver and implement
its interface.
* modify tests accordingly
Change-Id: Ib4bfe286826acdedeadbeeff4713448c073378d2
The xenapi root wrapper did not parse the "exec_dirs" parameter, so it
failed to execute the commands. This patch works around this problem by
parsing the "exec_dirs".
Fixes bug 1185872
Change-Id: I10175c7df5d34e47eb6044711ffbe4fe4cee3ce2
Implements Mellanox Quantum plugin.
This plugin implements Quantum v2 APIs with support for Mellanox embedded
switch functionality as part of the VPI (Ethernet/InfiniBand) HCA.
Change-Id: I22907dfec5b6cb8f6ad8c3b6e390abc4f8e0ac10
Import features developed in oslo-rootwrap during the Grizzly cycle (and
recently in havana) into quantum-rootwrap. This is the first step toward
using the common oslo-rootwrap into Quantum: the goal being to make both
implementations converge, we should avoid making local changes (and push
any required change into oslo-rootwrap instead from now on).
New features include:
- Optional logging (use_syslog)
- Searching for executables in a specified binary path (exec_dirs)
- New path-based PathFilter
Those features required a refactoring in the way executables are matched
and in configuration loading.
Implements bp quantum-rootwrap-new-features
Change-Id: Ia6a2e91c297ade471448dae0964adfd001a46086
* Config doc: http://wiki.openstack.org/QuantumDevstackOvsXcp
* The Open vSwitch agent needs to be deployed on domU but
interact with a dom0 bridge.
* Add a root wrapper and associated XenAPI plugin to allow the
agent to execute networking commands against dom0 from domU.
* Update ovs_lib mac address discovery to use ip_lib to
ensure that discovery works even for bridges not local to
the agent (i.e. dom0 bridges). A bridge configured with
a dom0 root wrapper will execute ip link on dom0.
* Update ip_lib to use a root helper by default to ensure that
the 'ip' command will execute on dom0.
* Remove obselete rpm spec and installer for dom0 agent.
* Credit where credit is due - the XenAPI plugin and its
packaging were largely copied from nova.
* Supports blueprint xenapi-ovs
Change-Id: I7795446ee1267712c896f5cb3401f84fb1763ce7
* s+[/.]nicira_nvp_plugin++
* Backwards compatibility is maintained by importing the
nicira package as nicira_nvp_plugin in the plugins package.
* It may be necessary to remove stale .pyc/.pyo files under the
nicira path after applying this patch.
* DocImpact
* Addresses bug 1166307
Change-Id: I241a2a75106398506b01bcb7a6ddbaafa1b7bd30
Update oslo rpc libraries to capture changes, primarly motivated
by secret=True flag on password config options.
Added bin/quantum-rpc-zmq-receiver
Change-Id: I40d3ef1a85901e5b9eab803cc67cdad3cbb0719a
implements blueprint lbaas-namespace-agent
This a reference implemention of the Quantum load balancing service
using HAProxy. The implemention is designed for vendors, developers,
and deployers to become familiar with the API and service workflow.
This change also adds some constraint checks for data integrity.
Change-Id: I10a67da11840477ccf063b98149f4f77248802a1
The cfg API is now available via the oslo-config library, so switch to
it and remove the copied-and-pasted version.
Add the 2013.1b3 tarball to tools/pip-requires - this will be changed
to 'oslo-config>=2013.1' when oslo-config is published to pypi. This
will happen in time for grizzly final.
Remove the 'deps = pep8' from tox.ini as it means all the other deps
get installed with easy_install which can't install oslo-config from
the URL.
Retain dummy cfg.py file until keystoneclient middleware has been
updated (I18c450174277c8e2d15ed93879da6cd92074c27a).
Change-Id: I4815aeb8a9341a31a250e920157f15ee15cfc5bc
Some changes in setup.py are required to properly handle dependencies
and data files on WIndows (including Hyper-V server).
A console script called "quantum-hyperv-agent" has also been added to
start the Hyper-V agent
Change-Id: Ifac2d33afabac242d9dab87b0bc1764421efc16f
Implements blueprint argparse-based-cfg
Sync the following changes from oslo-incubator:
479f19c Add deprecated --logdir common opt
27b2ff4 Add deprecated --logfile common opt.
9b81289 Allow nova and others to override some logging defaults
3557d84 Fix ListOpt to trim whitespace
01ab910 Fix set_default() with boolean CLI options
af18eaa Improve cfg's argparse sub-parsers support
f21e1d9 Fix regression with cfg CLI arguments
ceb4aa7 Fix broken --help with CommonConfigOpts
5e9503b Hide the GroupAttr conf and group attributes
b6d24bb updating sphinx documentation
403509e Don't reference argparse._StoreAction
e17deb8 Fix minor coding style issue
0c29e1d Remove ConfigCliParser class
5b9cb41 Add support for positional arguments
dbc72a6 Use stock argparse behaviour for optional args
768a147 Use stock argparse --usage behaviour
ac180b9 Use stock argparse --version behaviour
0787e38 Remove add_option() method
5afead0 Completely remove cfg's disable_interspersed_args()
5f564b2 argparse support for cfg
d7b6397 Add a missing comma in a docstring.
aca1805 cfg: fix required if option has a dash
Note: various utilities/services with command line parameters needed to be
updated due to the changes mentioned above. The downside is that these are
not backward compatible. Unknown arguments are no ignored. Only bound
arguments will be treated.
Thanks to Mark McLoughlin for migration cli code changes.
Change-Id: Ia776e78cc55f4ed33ace5efa8d726b70e3fa4131
implements blueprint quantum-db-upgrades
This changeset provide database migration capabilities to Quantum by
wrapping the Alembic library.
Change-Id: I8ba3a07f5a65e0fda9c0e85ed9c07c5978c53bc7
Fixes bug 1091605
The utility should be called after rebooting an appliance. This
will purge the openvswicth of configured tap devices.
A configuration variable quantum_ports has been added. This is
by default True which indicates that only Quantum ports will be
deleted from the OVS. If this is set as False then all ports on the
bridge will be deleted.
Change-Id: I442f64cf82f95bfa99d7765eb09db1ce2ecf602e
To avoid installation into .../site-packages/quantum via
packages=setuptools.find_packages('.') in setup.py. Both directories
are not Python modules.
Change-Id: I794ad047a5ed52cb040490eb1be54c513c9d1e7c
blueprint metadata-overlapping-networks
Adds Metadata for guest VMs running on Qunatum networks. This requires
a companion patchset for Nova to test.
Change-Id: I524c6fdcd6a44e46da08395fd84c1288052a69ea
This adds a program aiming to send "$resource.exists" notifications regularly
via a cronjob. We will use this in Ceilometer to meter resources usage.
Change-Id: I718c67bfb54b74afb3af262bb08cbfd71531188a
Signed-off-by: Julien Danjou <julien@danjou.info>