From 6d196569a0858c177a6f6d04169a860617f5e48f Mon Sep 17 00:00:00 2001 From: Jakub Wachowski Date: Thu, 6 Jul 2017 13:28:12 +0200 Subject: [PATCH] Use kafka-python 0.9.5 from monasca-common To avoid version mismatch we stick we the old version of kafka-python which is incubated in monasca-common. (cherry picked from commit 3025485a390cb69b6c9f0a160d5fdf6aa961d271) Change-Id: I30389f27ae25bf83a94ae8eb1f1911a3884fd168 Story: 2001036 Task: 4592 --- .../collector/checks_d/kafka_consumer.py | 10 +++++----- .../detection/plugins/kafka_consumer.py | 20 ++++++++----------- setup.cfg | 5 +++++ 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/monasca_agent/collector/checks_d/kafka_consumer.py b/monasca_agent/collector/checks_d/kafka_consumer.py index c81843d4..c951487a 100644 --- a/monasca_agent/collector/checks_d/kafka_consumer.py +++ b/monasca_agent/collector/checks_d/kafka_consumer.py @@ -5,12 +5,12 @@ import logging import monasca_agent.collector.checks as checks try: - import kafka.client as client - import kafka.common as common - import kafka.consumer as consumer + import monasca_common.kafka_lib.client as client + import monasca_common.kafka_lib.common as common + import monasca_common.kafka_lib.consumer as consumer except ImportError: - raise Exception('Missing python dependency: kafka (https://github.com/mumrah/kafka-python)') - + raise Exception('Missing python dependency: monasca-common.\n Please ' + 'install with: pip install monasca-agent[kafka_plugin]') log = logging.getLogger(__name__) diff --git a/monasca_setup/detection/plugins/kafka_consumer.py b/monasca_setup/detection/plugins/kafka_consumer.py index 52d06021..cddfbccf 100644 --- a/monasca_setup/detection/plugins/kafka_consumer.py +++ b/monasca_setup/detection/plugins/kafka_consumer.py @@ -5,18 +5,17 @@ import logging from os import path import re import subprocess as sp - from subprocess import CalledProcessError from subprocess import STDOUT -from monasca_setup import agent_config +from oslo_utils import importutils +from monasca_setup import agent_config from monasca_setup.detection import find_process_cmdline from monasca_setup.detection import Plugin -from monasca_setup.detection import watch_process - from monasca_setup.detection.utils import check_output from monasca_setup.detection.utils import find_addr_listening_on_port_over_tcp +from monasca_setup.detection import watch_process log = logging.getLogger(__name__) @@ -71,8 +70,10 @@ class Kafka(Plugin): log.error('Kafka process does not exist.') elif not has_dependencies: log.error(('Kafka process exists but required ' - 'dependency kafka-python is ' - 'not installed.')) + 'dependency monasca-common is ' + 'not installed.\n\t' + 'Please install with: ' + 'pip install monasca-agent[kafka_plugin]')) elif not kafka_has_scripts: log.error(('Kafka process exists, dependencies are installed ' 'but neither %s nor %s ' @@ -314,9 +315,4 @@ class Kafka(Plugin): return self.config def dependencies_installed(self): - try: - import kafka - except ImportError: - return False - - return True + return importutils.try_import('monasca_common', False) diff --git a/setup.cfg b/setup.cfg index 36855406..e0b4979a 100644 --- a/setup.cfg +++ b/setup.cfg @@ -40,6 +40,11 @@ monasca_agent.collector.virt = vsphere = monasca_agent.collector.virt.vmware.inspector:VsphereInspector xenapi = monasca_agent.collector.virt.xenapi.inspector:XenapiInspector +# list of extra dependencies that are required by some plugin +# for details see #PEP0426 +[extras] +kafka_plugin = + monasca-common >= 1.4.0 [global] setup-hooks =