Skip to content

Commit d07659f

Browse files
committed
feat(cli): Add OpenStack Pre-Processor parameters
1 parent 933b05f commit d07659f

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

src/powerapi/cli/common_cli_parsing_manager.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,11 @@ def __init__(self):
343343
subgroup_parser=subparser_k8s_pre_processor
344344
)
345345

346+
subparser_openstack_pre_processor = SubgroupConfigParsingManager("openstack")
347+
subparser_openstack_pre_processor.add_argument("p", "puller", help_text="Name of the puller to attach the pre-processor to", is_mandatory=True)
348+
subparser_openstack_pre_processor.add_argument("n", "name", help_text="Name of the pre-processor", default_value='preprocessor_openstack')
349+
self.add_subgroup_parser("pre-processor", subparser_openstack_pre_processor)
350+
346351
def parse_argv(self):
347352
"""
348353
Parse command line arguments.

src/powerapi/cli/generator.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
DatabaseNameAlreadyUsed, ProcessorTypeDoesNotExist, ProcessorTypeAlreadyUsed
4242
from powerapi.filter import Filter
4343
from powerapi.processor.pre.k8s import K8sPreProcessorActor
44+
from powerapi.processor.pre.openstack import OpenStackPreProcessorActor
4445
from powerapi.processor.processor_actor import ProcessorActor
4546
from powerapi.puller import PullerActor
4647
from powerapi.pusher import PusherActor
@@ -428,12 +429,25 @@ def _k8s_pre_processor_factory(processor_config: dict) -> K8sPreProcessorActor:
428429
level_logger = logging.DEBUG if processor_config[GENERAL_CONF_VERBOSE_KEY] else logging.INFO
429430
return K8sPreProcessorActor(name, [], target_actors_name, api_mode, api_host, api_key, level_logger)
430431

432+
@staticmethod
433+
def _openstack_pre_processor_factory(processor_config: dict) -> OpenStackPreProcessorActor:
434+
"""
435+
Openstack pre-processor actor factory.
436+
:param processor_config: Pre-Processor configuration
437+
:return: Configured OpenStack pre-processor actor
438+
"""
439+
name = processor_config[ACTOR_NAME_KEY]
440+
target_actors_name = [processor_config[PULLER_NAME_KEY]]
441+
level_logger = logging.DEBUG if processor_config[GENERAL_CONF_VERBOSE_KEY] else logging.INFO
442+
return OpenStackPreProcessorActor(name, [], target_actors_name, level_logger)
443+
431444
def _get_default_processor_factories(self) -> dict[str, Callable[[dict], ProcessorActor]]:
432445
"""
433446
Return the default pre-processors factory.
434447
"""
435448
return {
436449
'k8s': self._k8s_pre_processor_factory,
450+
'openstack': self._openstack_pre_processor_factory
437451
}
438452

439453

0 commit comments

Comments
 (0)