The Drivers team realized that with the current model, RFE
bugs were never off their radar even though RFE proposals were
approved and ready to be worked on. As a result it was becoming
tricky to handle the RFE backlog during the drivers meeting.
These changes are aimed at keeping the list of RFE bugs to a
manageable size, irrespective of how fast code gets submitted
and merged: the responsibilities of vetting feature proposals
and reviewing code are very much different, and this policy
changes try to reflect that.
Michael Smith [Fri, 5 Dec 2014 00:15:43 +0000 (16:15 -0800)]
L3 Agent support for routers with HA and DVR
The main difference for DVR HA routers is where
the VRRP/keepalived logic is run and which ports
fall in the HA domain for DVR. Instead of running
in the qrouter namespace, keepalived will run inside
the snat-namespace. Therefore only snat ports will
fall under the control of the HA domain.
Change-Id: If2962580397d39f72fd1fbbc1188a6958f00ff0c Co-Authored-By: Michael Smith <michael.smith6@hp.com> Co-Authored-By: Hardik Italia <hardik.italia@hp.com> Co-Authored-By: Adolfo Duarte <adolfo.duarte@hp.com> Co-Authored-By: John Schwarz <jschwarz@redhat.com>
This plugin didn't decompose in the last two cycles, I failed
to spot a functional CI, and there hasn't been any meaningful
activity done in the subtree for the past couple of cycles
Assaf Muller [Mon, 5 Oct 2015 14:46:11 +0000 (10:46 -0400)]
Don't register agents for QoS l2pop fullstack test
Not registering agents (And waiting for them) shaves a couple
of seconds off the test run. More importantly it sets the correct
precedent / usage pattern for future copy/pastes.
The option force_metadata=True breaks the dhcp agent
Patch I5f6ee9788717c3d4f1f2e2a4b9734fdd8dd92b40 has an issue with
force_metadata = True.
Using the option force_metadata=True while
enable_isolated_metadata=False (which is the default), will break the
dhcp agent because the variable subnet_to_interface_ip is being
referenced before assignment.
Co-Authored-By: Jakub Libosvar <jlibosva@redhat.com>
Change-Id: I4e1d918e3a24dd483ee134021f587ae4520bf431
Closes-Bug: #1499406
Matt Riedemann [Thu, 1 Oct 2015 13:55:14 +0000 (06:55 -0700)]
Do not log an error when deleting a linuxbridge does not exist
When you're racing to teardown and relying on RPC, it should not be
considered an error that a bridge does not exist when you're trying to
delete it anyway. This is better served as debug level information.
For context, this shows up over 1000 times in successful
gate-tempest-dsvm-neutron-linuxbridge job runs in a week so it's
probably safe to say it's not contributing to test failures.
This patch adds all RPC workers to consumers of service
plugins queues such as metering and l3-plugin.
This is important for DVR-enabled deployments with hundreds
of agents.
This patch adds the availability_zone attribute to agents and
supports availability_zone API.
Availability_zone support for resources (network/router) and
the schedulers are included in subsequent patches.
Ihar Hrachyshka [Thu, 1 Oct 2015 15:13:25 +0000 (17:13 +0200)]
metadata: don't crash proxy on non-unicode user data
We attempt to log every successful metadata response with LOG.debug. But
as per oslo.log docs [1], we should make sure that what we pass into the
library is unicode.
Http.request returns a tuple of Response object and a string, which is
bytes in Python 2.x [2].
That's why we need to convert the response content to unicode before
passing it into oslo.log.
To achieve it, we utilize encodeutils.safe_decode with 'replace' errors
handling strategy, so that we don't get exceptions on input that does
not conform unicode.
For the unit test case, we pass a string that is not expected to convert
to unicode with errors='strict' strategy or similar, and check that we
still don't crash.
While at it, we remove a check for the number of log calls being
triggered, because it's something that we should avoid validating in
test cases, and it cannot trigger a real bug. The mock that was used to
count the number would also hide the bug that we try to reproduce.
Note that the bug does not require debug to be set because the crash
occurs before oslo.log machinery decides it should not log the message.
Removal of empty bridges have been disabled [1] to fix a race condition
between Nova and Neutron where a bridge would be removed if
the only instance using it is rebooted. This means empty bridges
will pile up over time.
This script can be used to periodically remove empty bridges by running it
on compute nodes.
Note: Usage of this script can still trigger the original race condition.
It should be used when you don't expect anyone do be doing operations
on their instances.
Brian Haley [Tue, 29 Sep 2015 15:31:34 +0000 (11:31 -0400)]
Add IPDevice.exists() method
Some callers of ip_lib.device_exists() have already instantiated
an IPDevice object, let's move the device existence check into
the IPDevice class so they can call it directly.
Assaf Muller [Thu, 1 Oct 2015 15:59:57 +0000 (11:59 -0400)]
Simplify L3 HA scheduler tests
Stop mocking scheduling in the L3 HA scheduler base class,
and mock it explicitly in a couple of tests that need to control
scheduling manually. This allows us to remove a tiny bit of code,
but more importantly make the test and production code a little bit
more similar, and allow the base class to be reused in a more
generic manner.
James Page [Thu, 1 Oct 2015 10:54:28 +0000 (11:54 +0100)]
Use format to convert ints to strings
This ensures that on 32bit architectures, where
sometimes an implicit long is created, the resulting
string does not contain a 'L' suffix as generated
by the hex function.
In addition to periodic checks of L3 and DHCP agents
add periodic checks of overall health of registered agents.
Log total count of agents at debug level so it can be
seen in logs of neutron-server.
In case some agents found dead - log detailed info about them:
Type of agent, last heartbeat, host.