Add unit tests covering single operations to ODL

This commit adds the remaining test cases (create and update
operations) to fully cover sync_single_resource. It also defines the
filter_* methods as static or class methods and removes their duplicate
arguments.

Change-Id: I6b6153ea577bd685576690559b1c389490ee525d
Closes-Bug: #1325184
Rename workers to api_workers and simplify code

Refactor a few ugly aspects of the multiple API worker patch to make
way for multiple rpc workers.  This came up as I was trying to add
multiple RPC workers using similar patterns and remembering that some
things were left in a rather awkward state.

Change-Id: I549db67af4af6a2df80e12cf233109dda5213c47
Fix to delete user and group association in Nuage Plugin

After a router delete operation, the attached zone to that
router is also deleted. Got rid of code that tried to do
a get operation on the nuage_zone after router delete
operation.
Closes-Bug: #1367864

Change-Id: I01753a472200a961cdcecee703616fd3239abd3c
Eliminate OrderedDict from test_api_v2.py

Neutron cannot possibly be passing tests under Python 2.6, as
neutron/tests/unit/test_api_v2.py is referencing
collections.OrderedDict, which does not exist in Python 2.6.
Since there is no reason to use an OrderedDict in this case,
this replaces it with a simple dict.

Change-Id: I1b9886f508c4c8b96cf50c50f157c1960da433fc
Closes-Bug: #1372571
Stop admin using other tenants unshared rules

If the firewall rules are not shared and if they belong to different
tenants, then admin should not be able to create a policy using
these rules and he should not be able to insert such rules into
policies. An exception should be raised in such case. Added new
exception “FirewallRuleConflict” to handle such conditions.

Co-Authored-By: Koteswara Rao Kelam<koteswara.kelam@hp.com>
Change-Id: I984eb76069bd1493a77bf523bec2bd81abb14abb
Closes-bug: 1327057
Do not assume order of body and tags elements

This fixes the l2gateway unit test that breaks with a randomized PYTHONHASHSEED
(see the bug report).

The test assumed that the body dict from self._create_expected_req_body
had elements (including contents of tags list) in a particular order.
Found with PYTHONHASHSEED=2455351445.
The fix ensures that body is in predictable order.

Partial-bug: #1348818
Note: There are several other unrelated unit tests that also break with a
randomized PYTHONHASHSEED, but they are not addressed here. They will be
addressed in separate patches.

Change-Id: I423b68aff58486c113d0e5c5f4726f9eabf6920e
Revert "Cleanup floatingips also on router delete"

This reverts commit c3326996e38cb67f8d4ba3dabd829dc6f327b666.

The patch being reverted here addresses an issue that can no longer be
reproduced, in that under no circumstances, I can make the FIP lie around
before deleting a router (which can only be done after all FIP have been
disassociated or released).

Unless we have more clarity as to what the initial commit was really meant
to fix, there is a strong case for reverting this patch at this point.

Closes-bug: #1373100

Change-Id: I7e0f80e456ff4d9eb57a1d31c6ffc7cdfca5a163
Merge "Fix to delete user and group association in Nuage Plugin"
Merge "Stop admin using other tenants unshared rules"
Fix broken port query in Extraroute test case

One of the queries in an extra route test case tries
to filter based on the port owner, but the _list_ports
method it calls doesn't take a device_owner parameter.
This can cause failures if a DHCP port is created on
the same subnet.

Change-Id: I0e62027ae4d98944ef91a5d457d43d4224441b2f
Merge "Eliminate OrderedDict from test_api_v2.py"
Merge "Add unit tests covering single operations to ODL"
Merge "Revert "Cleanup floatingips also on router delete""
Merge "Do not assume order of body and tags elements"
Merge "Fix broken port query in Extraroute test case"
Imported Translations from Transifex

Change-Id: I585e3df5504fcc071811e0ec9f925bc493584b2f
Do not assume order of report list elements

This fixes the test_report_multiple_services unit test that breaks with a
randomized PYTHONHASHSEED (see the bug report).

The test assumed that the report list from self.driver.report_status() had
elements in a particular order. Found with PYTHONHASHSEED=2455351445.

The fix refactors the test case to handle an unsorted report list by
sorting it before checking equality.

Partial-bug: #1348818

Note: There are several other unrelated unit tests that also break with a
randomized PYTHONHASHSEED, but they are not addressed here. They will be
addressed in separate patches.

Change-Id: I542c3818821fa2f6e460fd254a3842530ecea8d9
Merge "Do not assume order of report list elements"
Merge "Rename workers to api_workers and simplify code"