From c8d88f4f95364fabfb658419d71ad883660bd118 Mon Sep 17 00:00:00 2001 From: Kaiyan Sheng Date: Tue, 1 Mar 2016 10:05:27 -0700 Subject: [PATCH] Add service dimension Service dimension is missing in Directory and FileSize Plugins Default service name for directory and filesize plugin should be uncategorized Change-Id: Id80b3f87c5d08d7055017b2595c35552cfad67b4 --- monasca_setup/detection/plugins/directory.py | 4 +++- monasca_setup/detection/plugins/file_size.py | 4 +++- monasca_setup/detection/service_plugin.py | 4 ++-- monasca_setup/detection/utils.py | 13 +++++++++++-- 4 files changed, 19 insertions(+), 6 deletions(-) diff --git a/monasca_setup/detection/plugins/directory.py b/monasca_setup/detection/plugins/directory.py index 6b517648..107073d5 100644 --- a/monasca_setup/detection/plugins/directory.py +++ b/monasca_setup/detection/plugins/directory.py @@ -10,6 +10,8 @@ class Directory(monasca_setup.detection.ServicePlugin): 'directory_names': ['/path/to/directory_1', '/path/to/directory_2', ...] + service_name example: + 'service_name': 'directory-service' """ def __init__(self, template_dir, overwrite=True, args=None): @@ -17,6 +19,6 @@ class Directory(monasca_setup.detection.ServicePlugin): 'args': args, 'template_dir': template_dir, 'overwrite': overwrite, - 'service_name': 'directory-service', + 'service_name': '', 'directory_names': []} super(Directory, self).__init__(service_params) diff --git a/monasca_setup/detection/plugins/file_size.py b/monasca_setup/detection/plugins/file_size.py index dc8ea8d3..f30ad59a 100644 --- a/monasca_setup/detection/plugins/file_size.py +++ b/monasca_setup/detection/plugins/file_size.py @@ -10,6 +10,8 @@ class FileSize(monasca_setup.detection.ServicePlugin): 'file_dirs_names': [('/path/to/directory_1', ['*'], True), ('/path/to/directory_2', ['file_name2'], False), ('/path/to/directory_3', ['file_name31', 'file_name32'])] + service_name example: + 'service_name': 'file-size-service' """ def __init__(self, template_dir, overwrite=True, args=None): @@ -17,7 +19,7 @@ class FileSize(monasca_setup.detection.ServicePlugin): 'args': args, 'template_dir': template_dir, 'overwrite': overwrite, - 'service_name': 'file-size-service', + 'service_name': '', 'file_dirs_names': [], 'search_pattern': ''} super(FileSize, self).__init__(service_params) diff --git a/monasca_setup/detection/service_plugin.py b/monasca_setup/detection/service_plugin.py index 00165ed7..8d9f52cf 100644 --- a/monasca_setup/detection/service_plugin.py +++ b/monasca_setup/detection/service_plugin.py @@ -104,13 +104,13 @@ class ServicePlugin(Plugin): log.info("\tMonitoring the size of files {0} in the " "directory {1}.".format(", ".join(str(name) for name in file_names), file_dir)) config.merge(watch_file_size(file_dir, file_names, - file_recursive)) + file_recursive, self.service_name)) if self.directory_names: for dir_name in self.directory_names: log.info("\tMonitoring the size of directory {0}.".format( dir_name)) - config.merge(watch_directory(dir_name)) + config.merge(watch_directory(dir_name, self.service_name)) # Skip the http_check if disable_http_check is set if self.args is not None and self.args.get('disable_http_check', False): diff --git a/monasca_setup/detection/utils.py b/monasca_setup/detection/utils.py index 050c51f0..a62cee89 100644 --- a/monasca_setup/detection/utils.py +++ b/monasca_setup/detection/utils.py @@ -109,7 +109,8 @@ def watch_process_by_username(username, process_name, service=None, component=No return config -def watch_file_size(directory_name, file_names, file_recursive): +def watch_file_size(directory_name, file_names, file_recursive, + service=None, component=None): """Takes a directory, a list of files, recursive flag and returns a Plugins object with the config set. """ @@ -118,17 +119,25 @@ def watch_file_size(directory_name, file_names, file_recursive): 'file_names': file_names, 'recursive': file_recursive} + dimensions = _get_dimensions(service, component) + if len(dimensions) > 0: + parameters['dimensions'] = dimensions + config['file_size'] = {'init_config': None, 'instances': [parameters]} return config -def watch_directory(directory_name): +def watch_directory(directory_name, service=None, component=None): """Takes a directory name and returns a Plugins object with the config set. """ config = agent_config.Plugins() parameters = {'directory': directory_name} + dimensions = _get_dimensions(service, component) + if len(dimensions) > 0: + parameters['dimensions'] = dimensions + config['directory'] = {'init_config': None, 'instances': [parameters]} return config