[zmq] Fix NoSuchMethod error

Bug #1501682 reported by Oleksii Zamiatin
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
oslo.messaging
Fix Released
Undecided
Oleksii Zamiatin

Bug Description

Depoly devstack using zmq-plugin: openstack/devstack-plugin-zmq

See following issue (and similar issues report_state, tunnel_sync - NoSuchMethod) in q-meta, q-l3, q-dhcp, q-svc:

2015-10-01 09:47:08.746 ERROR oslo_messaging.rpc.dispatcher [-] Exception during message handling: Endpoint does not support RPC method report_state
2015-10-01 09:47:08.746 TRACE oslo_messaging.rpc.dispatcher Traceback (most recent call last):
2015-10-01 09:47:08.746 TRACE oslo_messaging.rpc.dispatcher File "/opt/stack/oslo.messaging/oslo_messaging/rpc/dispatcher.py", line 142, in _dispatch_and_reply
2015-10-01 09:47:08.746 TRACE oslo_messaging.rpc.dispatcher executor_callback))
2015-10-01 09:47:08.746 TRACE oslo_messaging.rpc.dispatcher File "/opt/stack/oslo.messaging/oslo_messaging/rpc/dispatcher.py", line 193, in _dispatch
2015-10-01 09:47:08.746 TRACE oslo_messaging.rpc.dispatcher raise NoSuchMethod(method)
2015-10-01 09:47:08.746 TRACE oslo_messaging.rpc.dispatcher NoSuchMethod: Endpoint does not support RPC method report_state
2015-10-01 09:47:08.746 TRACE oslo_messaging.rpc.dispatcher
2015-10-01 09:47:08.746 ERROR oslo_messaging._drivers.common [-] Returning exception Endpoint does not support RPC method report_state to caller

Run tox -esmoke in /opt/stack/tempest
Fix following tests (with the similar traces - related to the issue) in tempest smoke devstack deployment:

{2} setUpClass (tempest.api.compute.servers.test_create_server.ServersTestJSON) [0.000000s] ... FAILED
{3} tempest.api.compute.servers.test_attach_interfaces.AttachInterfacesTestJSON.test_add_remove_fixed_ip [3.588131s] ... FAILED
{2} setUpClass (tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON) [0.000000s] ... FAILED
{3} setUpClass (tempest.api.compute.servers.test_create_server.ServersTestManualDisk) [0.000000s] ... FAILED
{0} tempest.api.network.test_extensions.ExtensionsTestJSON.test_list_show_extensions [0.371597s] ... FAILED
{1} tempest.api.orchestration.stacks.test_resource_types.ResourceTypesTest.test_resource_type_list [0.362900s] ... FAILED
{1} tempest.api.orchestration.stacks.test_resource_types.ResourceTypesTest.test_resource_type_show [0.317655s] ... FAILED
{1} tempest.api.orchestration.stacks.test_resource_types.ResourceTypesTest.test_resource_type_template [0.027141s] ... FAILED
{3} setUpClass (tempest.api.compute.servers.test_server_addresses.ServerAddressesTestJSON) [0.000000s] ... FAILED
{1} tempest.api.orchestration.stacks.test_soft_conf.TestSoftwareConfig.test_get_deployment_list [0.333283s] ... FAILED
{1} tempest.api.orchestration.stacks.test_soft_conf.TestSoftwareConfig.test_get_deployment_metadata [0.376078s] ... FAILED
{1} tempest.api.orchestration.stacks.test_soft_conf.TestSoftwareConfig.test_get_software_config [0.024531s] ... FAILED
{1} tempest.api.orchestration.stacks.test_soft_conf.TestSoftwareConfig.test_software_deployment_create_validate [0.081703s] ... FAILED
{1} tempest.api.orchestration.stacks.test_soft_conf.TestSoftwareConfig.test_software_deployment_update_no_metadata_change [0.145060s] ... FAILED
{1} tempest.api.orchestration.stacks.test_soft_conf.TestSoftwareConfig.test_software_deployment_update_with_metadata_change [0.021575s] ... FAILED
{1} tempest.api.orchestration.stacks.test_stacks.StacksTestJSON.test_stack_crud_no_resources [0.941118s] ... FAILED
{1} tempest.api.orchestration.stacks.test_stacks.StacksTestJSON.test_stack_list_responds [0.034473s] ... FAILED
{1} tempest.scenario.test_server_basic_ops.TestServerBasicOps.test_server_basicops [6.499469s] ... FAILED
{0} tempest.scenario.test_volume_boot_pattern.TestVolumeBootPatternV2.test_volume_boot_pattern [17.315136s] ... FAILED
{3} tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops [8.372261s] ... FAILED
{1} tempest.scenario.test_volume_boot_pattern.TestVolumeBootPattern.test_volume_boot_pattern [13.879575s] ... FAILED

Changed in oslo.messaging:
status: New → In Progress
assignee: nobody → Oleksii Zamiatin (ozamiatin)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to oslo.messaging (master)

Fix proposed to branch: master
Review: https://review.openstack.org/232720

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to oslo.messaging (master)

Reviewed: https://review.openstack.org/232720
Committed: https://git.openstack.org/cgit/openstack/oslo.messaging/commit/?id=ea106e9a090aee65879ef6c676c248f54d08a46f
Submitter: Jenkins
Branch: master

commit ea106e9a090aee65879ef6c676c248f54d08a46f
Author: Oleksii Zamiatin <email address hidden>
Date: Thu Oct 8 22:26:01 2015 +0300

    Fix target resolution mismatch in neutron, nova, heat

    Some tempest tests were failing because of NoSuchMethod,
    UnsupportedVersion and other missed endpoint errors.

    This fix provides new listener per each target and
    more straight-forward matchmaker target resolution logic.

    Change-Id: I4bfb42048630a0eab075e462ad1e22ebe9a45820
    Closes-Bug: #1501682

Changed in oslo.messaging:
status: In Progress → Fix Committed
Changed in oslo.messaging:
milestone: none → 2.8.0
status: Fix Committed → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to oslo.messaging (feature/pika)

Fix proposed to branch: feature/pika
Review: https://review.openstack.org/257373

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to oslo.messaging (feature/pika)
Download full text (39.3 KiB)

Reviewed: https://review.openstack.org/257373
Committed: https://git.openstack.org/cgit/openstack/oslo.messaging/commit/?id=cc0f8cc8a9ff25c9fb081cac5366c12a0c06ec53
Submitter: Jenkins
Branch: feature/pika

commit a5d78891745b6b9e5827271dc305f00acae1392f
Author: OpenStack Proposal Bot <email address hidden>
Date: Fri Dec 11 15:24:05 2015 +0000

    Updated from global requirements

    Change-Id: Ifd78016c067740477a82dbe06d74d5944ba91893

commit 17ccb2306d03a74304c57d31716a54ba2b3b4311
Author: Mehdi Abaakouk <email address hidden>
Date: Fri Dec 11 10:59:54 2015 +0100

    Move to debug a too verbose log

    When a client is gone (died/restart) and somes replies cannot be sent because
    the the exchange of this client will never comeback. We log one message per
    reply every 0.25 messages during 60 seconds. When the only useful log
    is the one where we decide to drop this replies.

    This change moves the less important message to debug level.

    Change-Id: I508787c0db4dcec2c0027b89eb4e65c4f98022b9
    Related-bug: #1524418

commit 46daf858144202a072c4bf8580aeafec11d20e13
Author: Davanum Srinivas <email address hidden>
Date: Fri Dec 11 11:04:13 2015 +0300

    Cleanup parameter docstrings

    Change-Id: I301fdd51446bf0c0a6dd0d05b26da0556db8367d

commit 3ee86964fa460882d8fcac8686edd0e6bfb12008
Author: Mehdi Abaakouk <email address hidden>
Date: Wed Dec 9 19:37:40 2015 +0100

    Revert "default of kombu_missing_consumer_retry_timeout"

    This reverts commit 8c03a6db6c0396099e7425834998da5478a1df7c.

    Closes-bug: #1524418
    Change-Id: I35538a6c15d6402272e4513bc1beaa537b0dd7b9

commit e72599435c59c09277a9da7686b32aa4f9df7ba4
Author: Mehdi Abaakouk <email address hidden>
Date: Wed Dec 9 18:49:19 2015 +0100

    Don't trigger error_callback for known exc

    When AMQPDestinationNotFound is raised, we must not
    call the error_callback method. The exception is logged
    only if needed in upper layer (amqpdriver.py).

    Related-bug: #1524418

    Change-Id: Ic1ddec2d13172532dbaa572d04a4c22c97ac4fe7

commit 185693a6ed57e02b2f94b0fb8f14a91471605969
Author: Mehdi Abaakouk <email address hidden>
Date: Wed Dec 9 11:23:52 2015 +0100

    Improves comment

    Change-Id: Idc8002e6d622435aac48304857985c0f82be3e32

commit 148e8380ce1cc4f60716300b95104aaa2cf8c543
Author: Mehdi Abaakouk <email address hidden>
Date: Fri Dec 4 14:57:03 2015 +0100

    Fix reconnection when heartbeat is missed

    When a heartbeat is missing we call ensure_connection()
    that runs a dummy method to trigger the reconnection
    code in kombu. But also the code is triggered only if the
    channel is None.

    In case of the heartbeat threads we didn't reset the channel
    before reconnecting, so the dummy method doesn't do anything.

    This change sets the channel to None to ensure the connection
    is reestablished before the dummy method is run.

    Also it replaces the dummy method by checking the kombu connection
    object. So we are sure the connection is reestablished.

    Change-Id: I39f8cd23c5a5498e6f4c1aa3236ed27f3b5d7c9a
    Closes-bug: #1493890

commit 05002...

tags: added: in-feature-pika
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.