Fix the init command global conf dir path

This commit fixes how we use the global configuration path as part of
the tempest init command. The concept behind the global config dir is
that is used as an initial preseed of the local etc/ dirs that get
used in each workspace. However, right now the init command relies on
python packaging to try and figure out where this dir lives. This is
because we implicitly are relying on the data_files construct in the
python packaging ecosystem to create this global configuration dir.
This however is a mistake and causes nondeterminism and lots of bugs
because python packaging is never consistent in how it handles these.

Instead of futily attempting to guess where python might put the data
files and hoping that we got it right, this commit switches to an
opinionated stance on where these directories live, it becomes a
documented set of places and the burden is switched to the installer
and or user to make sure these directories are correctly populated.
While this requires an extra step in some installation scenarios it's
a necessary extra step to ensure things actually work. As part of
this change it was also necessary to update certain functions to be
more resilient against the absence of any files in the global config
dir.

Partially-Implements: bp tempest-run-cmd
Change-Id: Ic4e67362db053848e6ad03b0eae9e55faa87766f
2 files changed