Remove docstrings in tests

Remove docstrings introduced in Change
Ie0406c1d4b47a51473979910c0908b153497d503

Change-Id: I60677fb585b7ef436ac655ba1bc8f04cd1f99833
Fix v3 swap volume with wrong signature

Fix bug 1219672

Fix the signature and add related integrated test.
And fix test_servers missing subs 'glance_host'.

Change-Id: I040dafe2c1bcfc014fdeba3f735b322908af96c0
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
Add expected_errors for extension aggregates v3

And remove some extra invalid params checking that
we didn't check in most of extensions. We can do
more strict checking when we have API input validation.

Fix bug 1214315
Partially implements bp v3-api-extension-versioning

Change-Id: I9c1f8265ea6e19e48cc2f8e747d04d3c3b66e55d
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
Fixes misuse of assertTrue in compute test scripts

Misuse of assertTrue in places where assertEqual should be used.

If assertTrue is used instead of assertEquals, the test will always pass
if the first argument's boolean cast is True. The second argument
passed to assertTrue() will be regarded as the error message
when the assertion fails. Using assertEqual will actually check
if two arguments are same value.

Fixes bug #1220538

Change-Id: Ia3f033cd8c63e59bfe2387a477ef79dce7c0f102
Fix live-migrate when source image deleted

We now cache the most import image details in system_metadata
so if we unable to access the image, fallback to the cached image data.

Fixes bug 1221200
Change-Id: I58244a01c72c1ab764710dbccff3a1b1bacea1fe
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
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"