Test for the update extra route

Add tests for neutron API '/routers/router_id'.

Change-Id: I989267a71cf00e6a7982ab99bce42d0aba74e3d2
Add the external gateway interface to vpn router

Change-Id: Ib24080f0895a322576c837566976ade9fc4d8069
Closes-Bug: #1258379
Tighten ERROR regexp in log checker

Because each project uses a slightly different format for logging, and
sometimes different formats within a project, it is hard to match ERROR as
the log level across all log files. There was a failure caused by "ERROR"
actually showing up inside a keystone token. This change will prevent that
though it is still possible something else could slip through.

Change-Id: Ic8b036b4ed7481856231b2d073d273b1df783415
Make the wait_for_server_status timeout message a bit more clear

The current error message when wait_for_server_status times out only
includes the vm_state but the method, by default, is really waiting for
a state combination of vm_state/task_state.

Sometimes the vm_state is the desired status but the task_state is not,
for example:

"Server 613b9fd8-9f3f-41a6-86cc-a36301aa7fc8 failed to reach ACTIVE
status within the required time (196 s). Current status: ACTIVE."

This patch adds the current task_state to the error message for clarity
when the timeout occurs.

Related-Bug: #1257561

Change-Id: Icfce12035bf4938eac3a13a7b640db4398ef832f
Wait for backup images to be ACTIVE in test_create_backup

The test_create_backup test creates two backup snapshot images of the
instance right away and waits for the instance to be ACTIVE before
continuing each time, and before creating the third and final backup
image.

The problem is the instance is always ACTIVE, it's the task state that
is transitioning on the instance while it's creating backup snapshot
instances and checking for old rotations to delete.

The test needs to not only check that the instance is ACTIVE before
creating each new backup but also that the snapshot image backups
themselves are ACTIVE which is a better indication that the instance's
state transition is complete.

Closes-Bug: #1257561

Change-Id: I5b423b3424e1dfe6cf5f8fef0dc9538961c1f28d
remove a spurious wait that could get us into trouble

it's not really clear that this wait is useful for anything
except generating bugs when we've done terible things to the
image during this test. Removing it as unneeded.

Change-Id: I88546bf3845d8e62d4baf5572f0403c0eaa983ba
Closes-Bug: #1229890
Add a control point for floating IP assignment

In the basic network scenario test, the test for accessiblity via the
floating IP stands a very good chance of failing because the attempt to
connect begins before the system has had a chance to associate the
floating IP address.  While an extended delay does signify a performance
issue for those types of operations, the timing of the test can be
adversly affected by other factors (e.g. parallel tests, loaded test
  system). If it is extreme the check for the IP address will fail the
test as well. This addition also covers a loophole in the test where
the connectivity would work but the metadata that is provided through
the client call is not updated properly.

An additional small fix in manager.py resolves an issue when a client
API uses mixed or lower case for status strings (e.g. cinder).

There isn't a specific bug that this modification addresses.

Change-Id: Ifb1889f67588e6ee4d19f592da61ab574d456be2
don't fail on dirty logs with grenade

because grenade is upgrading from old to new we might actually
expect the logs to be dirtier than in upstream tempest. The grenade
logs weren't scrubbed in the same ways during the development here
as the tempest regular runs.

Change-Id: Id1bcc2cc85e73a414d382756a65ea1d80dc10b00
Closes-Bug: #1259907
Add whitelist entry for s-proxy 'Timeout talking to memcached'

According to John Dickinson:

"This isn't an error. It's logged at an error level because it may hint
at other problems, and it's something an operator needs to know about,
but it is not an unhandled failure condition. (Think of it similarly how
in swift a server being down is an "error", but it's something that
swift seamlessly works around.)"

Closes-Bug: #1260894

Change-Id: I41e55c5e34ee214727fbbd7b9daa1f6ea9bf8050
Merge "Make the wait_for_server_status timeout message a bit more clear"
Merge "Wait for backup images to be ACTIVE in test_create_backup"
Merge "Add the external gateway interface to vpn router"
Merge "remove a spurious wait that could get us into trouble"
Set pipefail for wrapper scripts

Previously if the testr list command was failing subunit2py would
return a 0 making the test runs that use the pretty_tox scripts also
return 0 despite testr actually failing. This commit gets around this
condition by setting pipefail in the pretty_tox scripts to ensure that
we actually fail.

Change-Id: I9cbaf83cfea7c02133b27fe639e7ea12edb48f7e
Merge "Set pipefail for wrapper scripts"
Merge "Add whitelist entry for s-proxy 'Timeout talking to memcached'"
Merge "Add a control point for floating IP assignment"
Make negative snapshot tests faster

test_delete_image_that_is_not_yet_active is the slowest test because we
wait for the instance to be ready, which times out due to a previous
snapshot action. When trying to snapshot an instance, cancel the
operation at the end of the test as part of cleanup.

Change-Id: Ib3821fd288d21e912a8320392425f063b718abbd
scenario/network_basic_ops: detach floating-ip

test that a floating ip is successfuly disassociated from VM's port and
VM becomes unreachable

helper:
api/network/common.py
    override update() method for DeletableFloatingIp - handels
    neutron-update and updates self with result

manager:
    _disassociate_floating_ip(self, floating_ip) - use
    DeletableFloatingIp.update()
    _check_vm_connectivity(should_connect=True)
        add negative connectivity test option - will check ping
        only

Change-Id: Iab5f89d92bc2c4ebb9baff2dee4cade0a4cb07d6
Merge "Test for the update extra route"