Fix AttributeError during startup of ovs agent in DVR mode

Make sure the agent starts processing incoming requests only after the entire
initialization is complete. This is done by making explicit when the rpc loop
is supposed to start, i.e. right at the end of the init process.

This fix was necessary because the agent starts processing rpc messages even
though it has not completed the entire initialization of bridges and data
structures; this is usually okay, but in case of DVR, this leads to a
situation where during the the first run, the agent asks the server to be
assigned a MAC address; this in turn leads the server to fanout the generated
MAC to the running agents, the requesting one included; because of the
incomplete setup, the above mentioned error occurs. During subsequent
restarts, the problem no longer appears.

Closes-bug: #1395196

Change-Id: I792697b94fef39971693cf8aff715c270601cecb
Avoid unnecessary explicit str() conversion around exceptions

There are number of places like

except Exception as exc:
            LOG.error("Failed to get network: %s", str(exc))

where str() is not needed since %s substitution already does
the same conversion. Also LOG.error could be replaced with
LOG.exception, so argument exc won't be needed at all.

Closes-bug: #1398839

Change-Id: I73cc6e1ce55ade08e7706b99a5ab075f7059a4ef
Move contrib directory to base test directory

This is needed to have post hook apply to both functional and api jobs.

This is aimed at fixing the output for the dsvm-api job in preparation
of the retargatable testing blueprint.

Change-Id: I39e2a7521a7b545a124b1cd42dc79da8986eff93
Update heal_script for alembic 0.7.1

Alembic 0.7.1 contains checks of foreign keys so
method check_foreign_keys is not needed anymore.
Heal script should be updated to make it possible to use alembic
methods.

Closes-bug: #1398417

Change-Id: I7d0ba7f00567ae5a4dd0669ed86d6e8d554ca4ec
tests: drop unit tests that only check default configuration values

Those tests do not add much value and only introduce burden when a
default value should be changed.

Change-Id: I32049399b16338996d6bef342c004d5de2446cf1
Merge "Fix AttributeError during startup of ovs agent in DVR mode"
Merge "Avoid unnecessary explicit str() conversion around exceptions"
Merge "Update heal_script for alembic 0.7.1"
Merge "Move contrib directory to base test directory"
Move DB TestModelsMigrations from unit to functional

The tests to check that DB migrations and models are in sync depends
on the mysql and postgresql backends being available with a specific
DB user and database created. This violates the principles for unit
tests and therefore these tests should be moved to functional tests.

For these tests to work in the functional job in the gate, the
backends must be installed and the DB user and database created.
We do this via the functional gate hook.

Closes-bug: #1372981

Change-Id: I7b89feef3f19ca07dbfb05acfaa30529a5bf683d
Merge "tests: drop unit tests that only check default configuration values"
Merge "Move DB TestModelsMigrations from unit to functional"