Still not feasible [root@host224 home(keystone_admin)]# vi /etc/nova/nova.conf ..... [oslo_messaging_zmq] rpc_zmq_matchmaker=redis use_pub_sub=false use_router_proxy=false use_dynamic_connections=true zmq_linger=60 ....... When restart nova-conductor, nova-compute send CALL message to conductor, socket.send() function has still been blocked: 2017-02-09 09:14:32.954 8054 DEBUG oslo_messaging._drivers.zmq_driver.client.zmq_routing_table [-] Processing target ROUTER/conductor for round-robin. _fetch_round_robin_hosts_from_matchmaker /usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/client/zmq_routing_table.py:59 2017-02-09 09:14:32.955 8054 DEBUG oslo_messaging._drivers.zmq_driver.client.zmq_routing_table [-] Host resolved for the current connection is host224:52880 get_round_robin_host /usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/client/zmq_routing_table.py:48 2017-02-09 09:14:32.955 8054 DEBUG oslo_messaging._drivers.zmq_driver.zmq_socket [-] Connecting DEALER socket f33e3904-739c-4a7b-90a0-71637a669e1e to tcp://host224:52880 connect_to_address /usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/zmq_socket.py:188 2017-02-09 09:14:32.955 8054 DEBUG oslo_messaging._drivers.zmq_driver.client.zmq_routing_table [-] Processing target ROUTER/conductor for round-robin. _fetch_round_robin_hosts_from_matchmaker /usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/client/zmq_routing_table.py:59 2017-02-09 09:14:32.955 8054 DEBUG oslo_messaging._drivers.zmq_driver.zmq_socket [-] Connecting DEALER socket f33e3904-739c-4a7b-90a0-71637a669e1e to tcp://host224:55407 connect_to_address /usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/zmq_socket.py:188 2017-02-09 09:14:32.956 8054 DEBUG oslo_messaging._drivers.zmq_driver.zmq_socket [-] Connecting DEALER socket f33e3904-739c-4a7b-90a0-71637a669e1e to tcp://host224:57659 connect_to_address /usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/zmq_socket.py:188 2017-02-09 09:16:47.391 8054 DEBUG oslo_messaging._drivers.zmq_driver.client.zmq_routing_table [-] Updating routing table from the matchmaker. 2 target(s) updated ['ROUTER/scheduler', 'ROUTER/conductor']. _update_routing_table /usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/client/zmq_routing_table.py:194 2017-02-09 09:19:47.394 8054 DEBUG oslo_messaging._drivers.zmq_driver.client.zmq_routing_table [-] Updating routing table from the matchmaker. 2 target(s) updated ['ROUTER/scheduler', 'ROUTER/conductor']. _update_routing_table /usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/client/zmq_routing_table.py:194 2017-02-09 09:22:47.397 8054 DEBUG oslo_messaging._drivers.zmq_driver.client.zmq_routing_table [-] Updating routing table from the matchmaker. 2 target(s) updated ['ROUTER/scheduler', 'ROUTER/conductor']. _update_routing_table /usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/client/zmq_routing_table.py:194 2017-02-09 09:25:47.400 8054 DEBUG oslo_messaging._drivers.zmq_driver.client.zmq_routing_table [-] Updating routing table from the matchmaker. 2 target(s) updated ['ROUTER/scheduler', 'ROUTER/conductor']. _update_routing_table /usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/client/zmq_routing_table.py:194 2017-02-09 09:28:47.404 8054 DEBUG oslo_messaging._drivers.zmq_driver.client.zmq_routing_table [-] Updating routing table from the matchmaker. 2 target(s) updated ['ROUTER/scheduler', 'ROUTER/conductor']. _update_routing_table /usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/client/zmq_routing_table.py:194 2017-02-09 09:31:47.406 8054 DEBUG oslo_messaging._drivers.zmq_driver.client.zmq_routing_table [-] Updating routing table from the matchmaker. 2 target(s) updated ['ROUTER/scheduler', 'ROUTER/conductor']. _update_routing_table /usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/client/zmq_routing_table.py:194 2017-02-09 09:34:47.411 8054 DEBUG oslo_messaging._drivers.zmq_driver.client.zmq_routing_table [-] Updating routing table from the matchmaker. 2 target(s) updated ['ROUTER/scheduler', 'ROUTER/conductor']. _update_routing_table /usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/client/zmq_routing_table.py:194 2017-02-09 09:37:47.414 8054 DEBUG oslo_messaging._drivers.zmq_driver.client.zmq_routing_table [-] Updating routing table from the matchmaker. 2 target(s) updated ['ROUTER/scheduler', 'ROUTER/conductor']. _update_routing_table /usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/client/zmq_routing_table.py:194 2017-02-09 09:40:47.417 8054 DEBUG oslo_messaging._drivers.zmq_driver.client.zmq_routing_table [-] Updating routing table from the matchmaker. 2 target(s) updated ['ROUTER/scheduler', 'ROUTER/conductor']. _update_routing_table /usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/client/zmq_routing_table.py:194 2017-02-09 09:43:47.420 8054 DEBUG oslo_messaging._drivers.zmq_driver.client.zmq_routing_table [-] Updating routing table from the matchmaker. 2 target(s) updated ['ROUTER/scheduler', 'ROUTER/conductor']. _update_routing_table /usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/client/zmq_routing_table.py:194 2017-02-09 09:46:47.423 8054 DEBUG oslo_messaging._drivers.zmq_driver.client.zmq_routing_table [-] Updating routing table from the matchmaker. 2 target(s) updated ['ROUTER/scheduler', 'ROUTER/conductor']. _update_routing_table /usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/client/zmq_routing_table.py:194 2017-02-09 09:49:47.493 8054 DEBUG oslo_messaging._drivers.zmq_driver.client.zmq_routing_table [-] Updating routing table from the matchmaker. 2 target(s) updated ['ROUTER/scheduler', 'ROUTER/conductor']. _update_routing_table /usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/client/zmq_routing_table.py:194 2017-02-09 09:52:47.496 8054 DEBUG oslo_messaging._drivers.zmq_driver.client.zmq_routing_table [-] Updating routing table from the matchmaker. 2 target(s) updated ['ROUTER/scheduler', 'ROUTER/conductor']. _update_routing_table /usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/client/zmq_routing_table.py:194 2017-02-09 09:52:52.805 8054 DEBUG oslo_messaging._drivers.zmq_driver.client.zmq_senders [-] Sending CALL message 1d267196-ee65-11e6-ad44-fa163e6b3caa to target (v1.0) send /usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/client/zmq_senders.py:155 2017-02-09 09:52:52.806 8054 DEBUG oslo_messaging._drivers.zmq_driver.poller.green_poller [-] Registering socket f33e3904-739c-4a7b-90a0-71637a669e1e register /usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/poller/green_poller.py:32 2017-02-09 09:52:52.807 8054 ERROR oslo_messaging._drivers.zmq_driver.client.zmq_receivers [-] Receiving message failed: AssertionError('Response expected!',) 2017-02-09 09:53:52.807 8054 DEBUG oslo_messaging._drivers.zmq_driver.poller.green_poller [-] Unregistering socket f33e3904-739c-4a7b-90a0-71637a669e1e unregister /usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/poller/green_poller.py:40 2017-02-09 09:53:52.808 8054 DEBUG oslo_messaging._drivers.zmq_driver.zmq_socket [-] Socket f33e3904-739c-4a7b-90a0-71637a669e1e closed close /usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/zmq_socket.py:179 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task [req-ffd6af46-c1b7-4cdf-8102-6c423a06876b - - - - -] Error during ComputeManager._sync_scheduler_instance_info 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task Traceback (most recent call last): 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task File "/usr/lib/python2.7/site-packages/oslo_service/periodic_task.py", line 220, in run_periodic_tasks 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task task(self, context) 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 1814, in _sync_scheduler_instance_info 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task use_slave=True) 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task File "/usr/lib/python2.7/site-packages/oslo_versionedobjects/base.py", line 174, in wrapper 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task args, kwargs) 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task File "/usr/lib/python2.7/site-packages/nova/conductor/rpcapi.py", line 240, in object_class_action_versions 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task args=args, kwargs=kwargs) 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/client.py", line 169, in call 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task retry=self.retry) 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task File "/usr/lib/python2.7/site-packages/oslo_messaging/transport.py", line 97, in _send 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task timeout=timeout, retry=retry) 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task File "/usr/lib/python2.7/site-packages/oslo_messaging/_drivers/impl_zmq.py", line 161, in send 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task return client.send_call(target, ctxt, message, timeout, retry) 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task File "/usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/client/zmq_client_base.py", line 52, in send_call 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task return self.call_publisher.send_call(request) 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task File "/usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/client/zmq_publisher_manager.py", line 51, in _target_not_found_timeout 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task return func(self, request, *args, **kwargs) 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task File "/usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/client/zmq_publisher_manager.py", line 127, in send_call 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task reply = self.publisher.receive_reply(socket, request) 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task File "/usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/client/publishers/dealer/zmq_dealer_publisher_base.py", line 58, in receive_reply 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task self._raise_timeout(request) 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task File "/usr/lib/python2.7/site-packages/oslo_messaging/_drivers/zmq_driver/client/publishers/zmq_publisher_base.py", line 87, in _raise_timeout 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task {"tout": request.timeout, "msg_id": request.message_id}) 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task MessagingTimeout: Timeout 60 seconds was reached for message 281035d8-ee65-11e6-ad44-fa163e6b3caa 2017-02-09 09:53:52.810 8054 ERROR oslo_service.periodic_task send_request() has been blocked,the following procedure cannot be performed,even more unable to execute socket.close(), zmq_linger option in nova.conf can not play a role. class PublisherManagerDynamic(PublisherManagerBase): @target_not_found_timeout def send_call(self, request): with contextlib.closing(self.publisher.acquire_connection(request)) \ as socket: self.publisher.send_request(socket, request) reply = self.publisher.receive_reply(socket, request) return reply