Agent queues don't always get re-created

Bug #1645419 reported by Stan Lagun
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Murano
Fix Released
Undecided
Stan Lagun

Bug Description

Murano uses 1 RMQ queue per agent + 1 queue for agent
lister. Listener queue is declared upon listener startup
which happens when the first agent command sent.
However, the agent queues are created by explicit call to Agent.prepare()
which is done from Instance.deploy() method.
This creates a problem if RabbitMQ server is restarted after deployment,
all non-persistent queues disappear and then an action get called. If
that action is not calling Instance.deploy() (because it assumes instance to be
deployed by that time) and sends a command to an agent it will never be
received.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to murano (master)

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

Changed in murano:
assignee: nobody → Stan Lagun (slagun)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to murano (master)

Reviewed: https://review.openstack.org/403837
Committed: https://git.openstack.org/cgit/openstack/murano/commit/?id=53abad42abf12a349e501fcea978dfb8f4e92f28
Submitter: Jenkins
Branch: master

commit 53abad42abf12a349e501fcea978dfb8f4e92f28
Author: Stan Lagun <email address hidden>
Date: Mon Nov 28 10:10:44 2016 -0800

    Always declare agent RabbitMQ queues

    Murano uses 1 RMQ queue per agent + 1 queue for agent
    listener. Listener queue is declared upon listener startup
    which happens when the first agent command sent.
    The agent queues were created by explicit call to Agent.prepare()
    which was done from Instance.deploy() method.
    This creates a problem if RabbitMQ server is restarted after deployment,
    all non-persistent queues disappear and then an action get called. If
    that action is not calling Instance.deploy() (because it assumes instance to be
    deployed by that time) and sends a command to an agent it will never be
    received.

    This commit removes explicit prepare() method. Now the queues are going
    to be created on demand, similar to listener queues do.

    Change-Id: I21ae1efd483f32bb7c8e3dc1849af656b3bed56f
    Closes-Bug: #1645419

Changed in murano:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/murano 3.1.0

This issue was fixed in the openstack/murano 3.1.0 release.

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.