From 08b6472dbfd69938803b349320e32e871ddddc5f Mon Sep 17 00:00:00 2001
From: ozamiatin <ozamiatin@mirantis.com>
Date: Mon, 23 Jan 2017 09:33:36 +0200
Subject: [PATCH] [zmq] Failure of dynamic connections fanout

Change-Id: I740ac926141ff788e75be788ebaadb71e440c9f4
Closes-Bug: #1658601
---
 .../client/publishers/dealer/zmq_dealer_publisher_proxy.py   | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/oslo_messaging/_drivers/zmq_driver/client/publishers/dealer/zmq_dealer_publisher_proxy.py b/oslo_messaging/_drivers/zmq_driver/client/publishers/dealer/zmq_dealer_publisher_proxy.py
index a0235856f..d9491034b 100644
--- a/oslo_messaging/_drivers/zmq_driver/client/publishers/dealer/zmq_dealer_publisher_proxy.py
+++ b/oslo_messaging/_drivers/zmq_driver/client/publishers/dealer/zmq_dealer_publisher_proxy.py
@@ -105,8 +105,9 @@ class DealerPublisherProxyDynamic(
         if not self.publishers:
             raise zmq_matchmaker_base.MatchmakerUnavailable()
         socket = self.sockets_manager.get_socket()
-        random.shuffle(self.publishers)
-        for publisher in self.publishers:
+        publishers = list(self.publishers)
+        random.shuffle(publishers)
+        for publisher in publishers:
             socket.connect_to_host(publisher)
         return socket