This commit adds a user config option "roles" that allows the user
to skip certain tests that do not pertain to the Sunbeam node roles.
For instance, if there is no storage role defined, the cinder tests
will be skipped by Tempest rather than appearing as failed tests.
Summary of changes:
charmcraft.yaml
- add user config option "roles" (default: storage,compute,control)
charm.py
- append user-set config roles to Tempest configuration overrides
- trigger a charm rebuild on config change
- add check that only rebuilds charm if there is a config change,
avoiding a costly rebuild when it is not necessary
tempest-run-wrapper.j2
- set discover-tempest-config to consume TEMPEST_CONFIG_OVERRIDES
tempest-init-j2
- set discover-tempest-config to consume TEMPEST_CONFIG_OVERRIDES
test_tempest_charm.py
- add unit tests for various role configurations
- add unit test for hash comparison
Change-Id: I1f14ae77a3bc043b3a194ca9308a22f1e66c7907