diff options
-rw-r--r-- | ceilometer/publisher/__init__.py | 10 | ||||
-rw-r--r-- | requirements.txt | 1 |
2 files changed, 10 insertions, 1 deletions
diff --git a/ceilometer/publisher/__init__.py b/ceilometer/publisher/__init__.py index d9af055a..dc50be2b 100644 --- a/ceilometer/publisher/__init__.py +++ b/ceilometer/publisher/__init__.py @@ -16,11 +16,16 @@ import abc +import funcsigs +from oslo_log import log from oslo_utils import netutils import six from stevedore import driver +LOG = log.getLogger(__name__) + + def get_publisher(conf, url, namespace): """Get publisher driver and load it. @@ -29,9 +34,12 @@ def get_publisher(conf, url, namespace): """ parse_result = netutils.urlsplit(url) loaded_driver = driver.DriverManager(namespace, parse_result.scheme) - if issubclass(loaded_driver.driver, ConfigPublisherBase): + if len(funcsigs.signature(loaded_driver.driver).parameters) == 2: return loaded_driver.driver(conf, parse_result) else: + # We keep it just the time to cleanup panko + LOG.warning("%s publisher use the deprecated class signature", + parse_result.scheme) return loaded_driver.driver(parse_result) diff --git a/requirements.txt b/requirements.txt index d730da3f..7422c097 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,6 +6,7 @@ cachetools>=1.1.0 # MIT License cotyledon>=1.3.0 #Apache-2.0 futures>=3.0;python_version=='2.7' or python_version=='2.6' # BSD futurist>=0.11.0 # Apache-2.0 +funcsigs debtcollector>=1.2.0 # Apache-2.0 jsonpath-rw-ext>=0.1.9 # Apache-2.0 lxml>=2.3 # BSD |