diff --git a/oslo_messaging/notify/_impl_messaging.py b/oslo_messaging/notify/_impl_messaging.py new file mode 100644 index 000000000..9f7c57113 --- /dev/null +++ b/oslo_messaging/notify/_impl_messaging.py @@ -0,0 +1,24 @@ +# Copyright 2015 IBM Corp. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from debtcollector import removals + +from oslo_messaging.notify.messaging import * # noqa + + +# NOTE(mriedem): removal depends on how we can cap requirements in +# stable/liberty such that neutron does not try to load this +removals.removed_module(__name__, + oslo_messaging.notify.messaging.__name__, + removal_version='?') diff --git a/oslo_messaging/tests/notify/test_impl_messaging.py b/oslo_messaging/tests/notify/test_impl_messaging.py new file mode 100644 index 000000000..d2a9a2ee0 --- /dev/null +++ b/oslo_messaging/tests/notify/test_impl_messaging.py @@ -0,0 +1,30 @@ +# Copyright 2015 IBM Corp. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +import mock + +from oslo_messaging.tests import utils as test_utils + + +class TestDeprecationWarning(test_utils.BaseTestCase): + + @mock.patch('warnings.warn') + def test_impl_messaging_deprecation_warning(self, mock_warn): + # Tests that we get a deprecation warning when loading a messaging + # driver out of oslo_messaging.notify._impl_messaging. + from oslo_messaging.notify import _impl_messaging as messaging + driver = messaging.MessagingV2Driver( + conf={}, topics=['notifications'], transport='rpc') + # Make sure we got a deprecation warning by loading from the alias + self.assertEqual(1, mock_warn.call_count) diff --git a/requirements.txt b/requirements.txt index 6eea9e1d3..98f1daddb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -18,6 +18,8 @@ stevedore>=1.5.0 # Apache-2.0 six>=1.9.0 cachetools>=1.0.0 # MIT License +debtcollector>=0.3.0 # Apache-2.0 + # FIXME(markmc): remove this when the drivers no longer # import eventlet