Big Switch: Send notification after port update

The Big Switch plugin was not sending port update
notifications for security group changes after the
port was updated. This patch corrects that behavior
by calling the port_update method on the RPC notifier
when necessary after a port update.

Closes-Bug: #1376527
Change-Id: Ic2fd872725c1da8e2dc394473b7feb407d21268f
Use a string multiplier instead of 59 repetitions

A recently added test case added a long string of repeated 1's
which required a #noqa flag. A string multiplier represents the
same thing in a much shorter fashion.

Change-Id: I2f4d5568b3e132781fc51bd2e9b3efd44c549689
Drop RpcCallback usage from DhcpRpcCallback

Drop the usage of the RpcCallback compatibility class from
DhcpRpcCallback.

Part of blueprint drop-rpc-compat.

Change-Id: I7c4654455c15c4a545c8b19bfcbf617e6d6593d6
Add some basic rpc api docs

The devref docs had a placeholder file for rpc API docs.  Now that
both a client side and server side interface have been converted from
the rpc compat layer to oslo.messaging APIs, add some docs that give
an overview of what the client and server sides look like.

Also include a section that describes the code layout of where you can
find client and server api implementations in the neutron code base.
It starts by discussing the DHCP agent related APIs.

Part of blueprint drop-rpc-compat.

Change-Id: Ib391958252077365a81bcb881ab27a078f71fdec
Drop several uses of RpcCallback

This patch drops several uses of the RpcCallback compatibility class.
All of these were trivial and straight forward conversions so I
batched them up.

There are still several other uses of RpcCallback, but the conversions
are were not necessarily trivial, and may be broken in one way or
another, so I wanted to address them separately.  In particular, the
use of mixin classes means that there could be cases where the version
declaration is being stepped on, so they need to be investigated more
closely.

Part of blueprint drop-rpc-compat.

Change-Id: I0977aee863d4fcc6a14a025215c6e41fe38a87f0
Drop test code copied from nova

Drop a couple of lines of test code that originated in nova and got
copied into Neutron.  These lines are meaningless in Neutron and can
be removed.

Change-Id: Ic7c174ba0671ddd4a9403b74fa42e7944fe74145
Fix a copy/pasted test mistake

Fix a minor test mistake that was copied around a few times.  In mock
setup, the intention was to only return a value of the rpc method used
was a 'call', not 'cast'.  Unfortunately, the variable checked was
method instead of rpc_method, so this expected return was always set
to None.

This also points out that what's being tested here isn't what *really*
was intended.  It ends up testing that the code returns what we mocked
it to return, which isn't all that useful.  However, at least with
this fix it's a bit more clear what it's trying to do.

Change-Id: I18e85aa66f83331318177d70cbae2468ff8bb57d
Update i18n translation for neutron.common/debug log msg's

Validate that hacking rules apply to directories:
    - neutron/common
    - neutron/hacking
    - neutron/debug
    - neutron/locale

Change-Id: I177f5fa5fb7cfdcf332949933aa4bd755a90bb94
Partial-bug: #1320867
Update i18n translation for neutron.notifiers log msg's

Validate that hacking rules apply to directories:
 - neutron/notifiers
 - neutron/openstack (this is already 'clean')

Change-Id: I37b8c45e20d2f59e4e9f5d80d5dc87f19a7a8b3a
Partial-bug: #1320867
Merge "Drop RpcCallback usage from DhcpRpcCallback"
Merge "Add some basic rpc api docs"
Merge "Drop several uses of RpcCallback"
Merge "Drop test code copied from nova"
Merge "Fix a copy/pasted test mistake"
Merge "Use a string multiplier instead of 59 repetitions"
Check for default sec-group made case insensitive

Currently creating another security group with name
"default" is not allowed, however we can create
another security group with name "DEFAULT"
(or any other CASE pattern).

When trying to boot a VM without specifying
a security group it should always pick the
"default" security group. However, if another
security group of the name DEFAULT is present,
the VM gets associated with the wrong
security group (i.e DEFAULT and not default).

So, updated the code so that a security group
with name DEFAULT (or any other case pattern)
is not allowed.
Closes-Bug: #1384505

Change-Id: I3bc4e48cf723bcf74e098d7ef66df0333f6a8686
Merge "Big Switch: Send notification after port update"
Merge "Update i18n translation for neutron.common/debug log msg's"
Merge "Update i18n translation for neutron.notifiers log msg's"
Merge "Check for default sec-group made case insensitive"