diff --git a/wa/commands/run.py b/wa/commands/run.py index 6459ac91..ac45469c 100644 --- a/wa/commands/run.py +++ b/wa/commands/run.py @@ -97,8 +97,10 @@ class RunCommand(Command): parser = AgendaParser() if os.path.isfile(args.agenda): - parser.load_from_path(config, args.agenda) + includes = parser.load_from_path(config, args.agenda) shutil.copy(args.agenda, output.raw_config_dir) + for inc in includes: + shutil.copy(inc, output.raw_config_dir) else: try: pluginloader.get_plugin_class(args.agenda, kind='workload') diff --git a/wa/framework/configuration/execution.py b/wa/framework/configuration/execution.py index 44ae5a17..aa8a7b50 100644 --- a/wa/framework/configuration/execution.py +++ b/wa/framework/configuration/execution.py @@ -90,8 +90,9 @@ class ConfigManager(object): self.agenda = None def load_config_file(self, filepath): - self._config_parser.load_from_path(self, filepath) + includes = self._config_parser.load_from_path(self, filepath) self.loaded_config_sources.append(filepath) + self.loaded_config_sources.extend(includes) def load_config(self, values, source): self._config_parser.load(self, values, source)