Remove docstrings in tests

Remove docstrings introduced in Change
Ie0406c1d4b47a51473979910c0908b153497d503

Change-Id: I60677fb585b7ef436ac655ba1bc8f04cd1f99833
Make v3 API console-output extension core

Adds the console output extension to the core list for the V3 API
Renames os-console-output to console-output as part of this change

+DocImpact

Partially implements blueprint nova-v3-api

Change-Id: I947e4bd70192d6f95b598f591aa0546f86c88653
MultiprocessWSGITest wait for workers to die bug

MultiprocessWSGITest.test_terminate_sigterm
fails because the wait for workers to die is unreliable.

Parent process can now wait on child or grand-child
processes to complete before moving on. This allows
for grand-child (aka worker) processes to take as much
time as they need to shutdown. NOTE: If the processes
still take too long, they will be killed by the test
framework throwing the "TIMEOUT" exception.

Fixed pep8 issue with python3

closes bug #1218133

Change-Id: I0d2e34463860a8fa59d6eef0ffbf63341a002e3d
Clean up duplicated change-building code in objects

Almost every object thus far has done this:

  changes = {}
  for key in self.obj_what_changed():
      changes[key] = self[key]

to get a dict of updates to apply to the database. This patch adds
that as part of the base object and makes every place that does
the above to just use that.

Change-Id: I847f5d35181b0305668b107f86faa164e71c3375
Clean up object comparison routines in tests

Many object tests have the need to gracefully compare a
dict-like DB object with a NovaObject. That entails common
things like ignoring datetime timezones, etc. All of that
was duplicated in each test, but slightly tweaked. This
adds a common routine for that on the base test and makes
the other tests use it instead.

Change-Id: I6d5f0cdb8ee4d86addaec5315c55ab3a24276c9d
Don't return query from db API

The cell_update() method of the sqlalchemy db API returned a Query when
it really intended to return a Cell.  Fix this and tweak the db API test
so that it verifies that the result of this method is a Cell.

Change-Id: I7ab7ea19f00ac2e8c2c73afe8a14f331940b4580
Closes-bug: #1198796
Remove out of date list of jenkins jobs

The list of jobs in this doc file was out of date and most of the links
didn't work anymore.  Instead of trying to list out specifics which will
just get out of date again, include a generic pointer to where you can
find results (on code reviews).

Change-Id: Ief65281abae48bee6a679f76068e315227cf6991
Closes-bug: #1199577
Merge "Remove out of date list of jenkins jobs"
Merge "Don't return query from db API"
Reduce DB load caused by heal instance info cache

Load system metadata with instance fetches in the
_heal_instance_info_cache periodic task.  This will eliminate
DB queries to lazy load the system metadata in _get_instance_nw_info.

(lazy loading happens in the Instance object's obj_load_attr method)

bug 1223969

Change-Id: I835fc73ef3a92885cec174e1533db10e28752fe1
Remove cases of 'except Exception' in tests.image

except Exception can hide unrelated bugs, we shouldn't use it when
possible.

Change-Id: I5a8e3db8788e7a7b17b58a6c2c3999cf9a04e325
Partial-Bug: #1223605
Add key manager implementation with static key

Per feedback received on other patch sets, an example key manager
driver is required to support ephemeral storage encryption and
Cinder volume encryption. The ConfKeyManager class reads its key
from the project's configuration file and provides this key for
*all* requests. As such, this key manager is insecure but allows
the aforementioned encryption features to be used without further
integration effort.

To clarify the above statements, the configuration-based key
manager uses a single, fixed key. When used to encrypt data (e.g.,
by the Cinder volume encryption feature), the encryption provides
limited protection for the confidentiality of data. For example,
data cannot be read from a lost or stolen disk, and a volume's
contents cannot be reconstructed if an attacker intercepts the iSCSI
traffic between the compute and storage host. If the key is ever
compromised, then any data encrypted with the key can be decrypted.

Implements blueprint encrypt-cinder-volumes
SecurityImpact

Change-Id: Ia6f4c69e699e68065c0f767e769cd0a6f5cc623b
Add encryption support for volumes to libvirt

Add support to encrypt Cinder volumes. Hooks within the libvirt
driver encrypt volumes during the attach call. Created a
VolumeEncryptor interface as well as several concrete subclasses
(e.g., CryptsetupEncryptor and LuksEncryptor) to handle encryption.

This feature depends upon related changes that have been accepted
into Cinder (e.g., storing encryption key UUIDs for encrypted
volumes).

Implements: blueprint encrypt-cinder-volumes
Change-Id: I358813b3ecde4f88de7202c1c07d9b1168c2c332
SecurityImpact
Merge "Remove cases of 'except Exception' in tests.image"
Merge "MultiprocessWSGITest wait for workers to die bug"
Merge "Make v3 API console-output extension core"
Merge "Clean up duplicated change-building code in objects"
Merge "Add key manager implementation with static key"
Merge "Add encryption support for volumes to libvirt"
Merge "Clean up object comparison routines in tests"