Tests not directly related to interacting with the file system are often
reading the file during setup. This can lead to longer runtimes in the
case of the duplicate IP loop, and possible test collisions such as in
the configuration check tests. Also, the
tests/inventory/openstack_user_config.yml file is no longer tracked in
repo, and thus it's unnecessary to create a temp file.
This doesn't completely remove file IO integration testing - there is
still a test for the load_user_configuration function. It does, however,
remove file system access for configuration in places where such access
isn't part of the test.
The global _BASE_CONFIG dictionary is populated once, then later
accessed via copies so that 1) the original values are always maintained
2) tests have more assurance they're not getting a mutated dictionary,
either by file or memory access.
Change-Id: Icddb90dedeca347567828f06ea443f4aa7ad69b0