Cedric Brandily [Thu, 26 Feb 2015 10:33:19 +0000 (10:33 +0000)]
Correct db functional tests to support oslo.db 1.50
Currently test_migrations[1] uses _cleanup private method defined in
oslo_db.sqlalchemy.test_migrations which has been removed in oslo.db
1.5.0. This change corrects test_migrations[1] based on oslo.db
change I16bfa3af0e1ad6a9231ea38dea7cd76092347f55.
This change proposes to move pylint violation checks to the pep8
testenv. This changes make pylint gating within Neutron as it would
participate in the vote. Having pylint executed on a separate job makes
it difficult to handle potential unexpected breakages, because we need
to get infra involved. When we need to renable the job, it is equally
painful.
Furthermore, it also causes us to spin an extra node, when the checks
can easily be handled by the node for the pep8 job.
Finally, having pylint running with tox -epep8 "helps" developers
become aware of pylint violations sooner rather than later, if they
"forget" to run the pylint testenv too before submitting the change.
In order to make this patch succeed, a couple of pylint violation
checks were skipped, as they slipped in, whilst the job was non-voting.
Roey Chen [Wed, 25 Feb 2015 16:00:31 +0000 (08:00 -0800)]
VMware NSXv: Added router-type to database model
NSXv supports 'exclusive' and 'shared' router types, this patch adds
support for different router types to the plugin database model.
This doesn't add an additional migration script,
but overrides the existing one, adding a migration script isn't needed
since the plugin is still under development.
Ihar Hrachyshka [Wed, 25 Feb 2015 14:20:31 +0000 (15:20 +0100)]
Remove discover from test requirements
The package is used to provide new unittest module features for python
installations older than 2.7. Since we don't support py26 target
anymore, the dependency is safe to kill.
This system helps Neutron entities to cooperate in a loose manner.
This is especially important in face of the advanced service split, where each
service gets to live independently from the core. This is also useful to clean
up some of the tight coupling between ML2 and L3, or L3 and VPN/FW.
This work was touted to be part of the effort on the v3 plugin API design.
(aka perestroika), however that is not going to bear the expected fruits
in time for the Kilo release. This framework is instead pretty crucial to
cleaning up the split between the various Neutron components and some of
the coupling between ML2 and DVR.
Subsequent patches will show how this framework is put into practice in relation
to cleaning up/decoupling the various Neutron components, however, a devref
how-to is added in the context of this patch to further clarify how the proposed
mechanism works and can be used.
Cedric Brandily [Sat, 20 Dec 2014 22:27:30 +0000 (23:27 +0100)]
Refactor Pinger class
This change refactors Pinger class by:
* removing testcase attribute in order to reduce coupling between
testcases and Pinger instances,
* defining client namespace in Pinger.__init__ instead of assert_*
methods because it's required by daughter change.
Terry Wilson [Tue, 24 Feb 2015 01:31:02 +0000 (19:31 -0600)]
Ensure arping always exits
It is possible for the arping process to hang if the interface is
removed while it is running. This patch adds a timeout to ensure
that the process eventually exits no matter what.
Gary Kotton [Thu, 19 Feb 2015 13:55:14 +0000 (05:55 -0800)]
VMware: Router Type Extension Support
Provide a router type extension. This will enable defining the
type of edge appliance. That is, an exclusive edge or a shared
edge for routing services.
Oleg Bondarev [Fri, 20 Feb 2015 14:11:44 +0000 (17:11 +0300)]
Improve exception handling in _process_router_update()
in _process_router_update() where _process_router_if_compatible()
method is called only RouterNotCompatibleWithAgent exception is handled.
In case any other (intermittent) exception happens inside
_process_router_if_compatible() (e.g. MessagingTimeout on fetching
external net from server) it results in a situation where agent completely
forgets about the router and continues working as usual while server
shows router hosted by agent.
This patch adds handler for broader exception there and set
fullsync = True like it's done earlier in _process_router_update()
when getting routers from server.
Sam Betts [Wed, 4 Feb 2015 15:58:42 +0000 (15:58 +0000)]
Cisco Nexus ML2 Vendor decomposition
This adds a thin shim replacing the Cisco Nexus mech driver so that it
may use the code now stored in the networking-cisco stackforge. The code
for this driver that has been moved into the stackforge is also removed by
this patch.
Andrey Kurilin [Wed, 4 Feb 2015 13:10:57 +0000 (15:10 +0200)]
Remove versioning import of novaclient
novaclient has specific function novaclient.client.Client for obtaining
client object. This fuction should be used instead of direct import.
Also, contrib path dependends on version, so we should get it based on
versioned client.
Terry Wilson [Wed, 11 Feb 2015 06:53:57 +0000 (00:53 -0600)]
Remove remaining uses of passing root_helper
This should remove the last bits of passing root_helper around
for execute(). Some tests store and pass the root_helper argument
outside of this, and have been left alone.
Carl Baldwin [Thu, 19 Feb 2015 16:35:01 +0000 (16:35 +0000)]
Mock link local allocator write so UT doesn't write a file
The UTs recently started writing a fip-linklocal-networks file in
test_l3_agent. This is due to a recently added test. This patch adds
a mock to it so that the file is not written.
Miguel Angel Ajo [Tue, 17 Feb 2015 12:28:46 +0000 (12:28 +0000)]
Remove error logs for a common situation (non created ipsets)
The log message was initially added by me as part of a
iptables_firewall refactor.
Ipsets for empty IP address lists aren't currently created,
that means that we can't reference empty security groups
(as ipsets) via iptable rules, and that's a normal condition,
not an error.
sridhargaddam [Wed, 28 Jan 2015 14:18:00 +0000 (14:18 +0000)]
Default route missing for IPv6 subnets in HA Router
In an HA setup, keepalived would configure the default gateway (in the master
HA router) by parsing the "virtual_routes" section of keepalived.conf file.
The "virtual_routes" section is properly constructed for an IPv4 subnet, but
requires a minor change for IPv6 subnets.
Unify logic that determines liveliness of DHCP agent
For DHCP agents sometimes it's not enough to check agent's last heartbeat
time because in its starting period the agent may fail to send state reports
because it's busy processing networks.
In rescheduling logic such DHCP agent is given additional time after start.
Additional time is proportional to amount of networks the agent is hosting.
Need to apply the same logic to DHCP agent scheduler to avoid a case
when starting agent is considered dead and a network gets more hosting
agents than configured.
rajeev [Fri, 13 Feb 2015 21:58:53 +0000 (16:58 -0500)]
fix for _get_external_device_interface_name trace
On removal of external gateway from DVR the code path
external_gateway_removed(...) was trying to access the
agent gateway port interface even when no fip namespace exists.
This change checks for existence of namespace before
accessing the agent gateway port interface through
_get_external_device_interface_name(...) or looking for
floating ips that may have been configured on the
port.