Taskmgr & guestagent use inconsistent topics

During a create instance call, the Task Manager needs to pre-create the
guestagent message queue so that it can send a "prepare" RPC before the
guest is running. It creates a topic queue called "guestagent.<UUID>".
When the guest starts up, it will attempt to create a topic queue
called "guestagent".

The overall result is that if the guest creates the queue it has a
different name than the task manager expects. This could happen if the
guestagent restarts after prepare. Both cases result in a queue being
created called "guestagent.<instance uuid>" because oslo.messaging
causes 3 queues per topic to be created (topic, direct and fanout) and
it so happens that the topic queue from task mgr matches the direct
queue from the guestagent, however, this doesn't appear to be
intentional behaviour.

This changes the guestagent topic name to match the taskmgr name.

Change-Id: Ie20dab8e763fe8b5f1897debd5942a64afea15ee
Closes-bug: 1627179
This commit is contained in:
Doug Shelley 2016-09-24 08:47:34 -04:00
parent 7c405f3d39
commit 02ec3c696c
1 changed files with 1 additions and 0 deletions

View File

@ -59,6 +59,7 @@ def main():
from trove.common.rpc import service as rpc_service
from trove.common.rpc import version as rpc_version
server = rpc_service.RpcService(
topic="guestagent.%s" % CONF.guest_id,
manager=manager, host=CONF.guest_id,
rpc_api_version=rpc_version.RPC_API_VERSION)