summaryrefslogtreecommitdiff
path: root/ironic
diff options
context:
space:
mode:
authorRuby Loo <ruby.loo@intel.com>2016-05-31 14:26:22 -0400
committerRuby Loo <ruby.loo@intel.com>2016-06-01 10:25:05 -0400
commit4405e6d412a089732c53b42dbd475824d8b8befc (patch)
tree80817fe864e77f3d67fe7bf4f0c897db3f1966b4 /ironic
parentfb4e545e21df8816bec10b604c4c920260e96e79 (diff)
downloadironic-4405e6d412a089732c53b42dbd475824d8b8befc.tar.gz
NOTIFICATION_TRANSPORT should be global
This is a followup to "Use messaging notifications transport instead of default" (Ic72fd658fe9b35d39cc3d7da2e4b9fe3454edfba). The use of NOTIFICATION_TRANSPORT should be global. A unit test is added; it fails if the variable isn't global. A typo was addressed in the release notes. Change-Id: Ie303d79aba893b36a7aecb29c0ff2703f742146e
Diffstat (limited to 'ironic')
-rw-r--r--ironic/common/rpc.py2
-rw-r--r--ironic/tests/unit/common/test_rpc.py23
2 files changed, 24 insertions, 1 deletions
diff --git a/ironic/common/rpc.py b/ironic/common/rpc.py
index 7c02be69b..dbf702bb9 100644
--- a/ironic/common/rpc.py
+++ b/ironic/common/rpc.py
@@ -43,7 +43,7 @@ TRANSPORT_ALIASES = {
def init(conf):
- global TRANSPORT, NOTIFIER
+ global TRANSPORT, NOTIFICATION_TRANSPORT, NOTIFIER
exmods = get_allowed_exmods()
TRANSPORT = messaging.get_transport(conf,
allowed_remote_exmods=exmods,
diff --git a/ironic/tests/unit/common/test_rpc.py b/ironic/tests/unit/common/test_rpc.py
index 6e10aac07..a4a3e17c1 100644
--- a/ironic/tests/unit/common/test_rpc.py
+++ b/ironic/tests/unit/common/test_rpc.py
@@ -11,11 +11,34 @@
# under the License.
import mock
+from oslo_config import cfg
+import oslo_messaging as messaging
from ironic.common import context as ironic_context
from ironic.common import rpc
from ironic.tests import base
+CONF = cfg.CONF
+
+
+class TestUtils(base.TestCase):
+
+ @mock.patch.object(messaging, 'Notifier', autospec=True)
+ @mock.patch.object(messaging, 'JsonPayloadSerializer', autospec=True)
+ @mock.patch.object(messaging, 'get_notification_transport', autospec=True)
+ @mock.patch.object(messaging, 'get_transport', autospec=True)
+ def test_init_globals(self, mock_get_transport, mock_get_notification,
+ mock_serializer, mock_notifier):
+ rpc.TRANSPORT = None
+ rpc.NOTIFICATION_TRANSPORT = None
+ rpc.NOTIFIER = None
+ rpc.init(CONF)
+ self.assertEqual(mock_get_transport.return_value, rpc.TRANSPORT)
+ self.assertEqual(mock_get_notification.return_value,
+ rpc.NOTIFICATION_TRANSPORT)
+ self.assertTrue(mock_serializer.called)
+ self.assertEqual(mock_notifier.return_value, rpc.NOTIFIER)
+
class TestRequestContextSerializer(base.TestCase):