91378741dc
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