Nolan Brubaker 91378741dc Allow empty container dicts in env overrides
When specifying an empty dictionary for a container, the component
should be skipped rather than being deployed. This change ensures that
the relevant keys are present in a container's dictionary before trying
to add it to the hierarchy.

As an example:

container_skel:
  nova_api_metadata_container: {}

Previously, if 'contains' or 'belongs_to' were missing keys, the script
would raise a KeyError.

Both 'contains' and 'belongs_to' keys can comprise of empty lists rather
than having them completely missing as another option for overrides.

The test classes for the overrides were split into base, unit, and
integration classes. Simply subclassing the integration tests from the
existing unit test class caused the test_* methods to be duplicated.
Thus, the supporting code for both was moved into a base class to reduce
code and execution duplication.

Change-Id: Iebecaaa0e1c0296d5289c050c6f7fc7ca6e71bef
Closes-Bug: #1600628
2016-07-27 11:04:42 +00:00
..
2016-06-02 08:54:41 -05:00