Move oslo config generator config inside package
This commit moves the oslo config generator config file from living as
a data file, which makes it very difficult to rely on, to just living
in the package. By including it in the package we have a guaranteed
relative path we can rely on for building utilities on it, like the
tempest init command.
Change-Id: I5b9deae733f42fe3ed39418103304f71b43dccb3
Partially-implements: bp tempest-run-cmd
diff --git a/tempest/cmd/init.py b/tempest/cmd/init.py
index 77d62d3..ddd5542 100644
--- a/tempest/cmd/init.py
+++ b/tempest/cmd/init.py
@@ -18,6 +18,7 @@
import sys
from cliff import command
+from oslo_config import generator
from oslo_log import log as logging
from six import moves
@@ -125,17 +126,16 @@
else:
LOG.warning("Global config dir %s can't be found" % config_dir)
- def generate_sample_config(self, local_dir, config_dir):
- if os.path.isdir(config_dir):
- conf_generator = os.path.join(config_dir,
- 'config-generator.tempest.conf')
-
- subprocess.call(['oslo-config-generator', '--config-file',
- conf_generator],
- cwd=local_dir)
+ def generate_sample_config(self, local_dir):
+ conf_generator = os.path.join(os.path.dirname(__file__),
+ 'config-generator.tempest.conf')
+ output_file = os.path.join(local_dir, 'etc/tempest.conf.sample')
+ if os.path.isfile(conf_generator):
+ generator.main(['--config-file', conf_generator, '--output-file',
+ output_file])
else:
LOG.warning("Skipping sample config generation because global "
- "config dir %s can't be found" % config_dir)
+ "config file %s can't be found" % conf_generator)
def create_working_dir(self, local_dir, config_dir):
# Create local dir if missing
@@ -162,7 +162,7 @@
# Create and copy local etc dir
self.copy_config(etc_dir, config_dir)
# Generate the sample config file
- self.generate_sample_config(local_dir, config_dir)
+ self.generate_sample_config(local_dir)
# Update local confs to reflect local paths
self.update_local_conf(config_path, lock_dir, log_dir)
# Generate a testr conf file