> From: Somanchi Trinath-B39208 [mailto:[email protected]] > Sent: Monday, August 05, 2013 1:59 PM > To: OpenStack Development Mailing List > Cc: Lu, Lianhao > Subject: RE: question about rpc call dispatch in nova > > Hi- > > Please find the Replies inline. > > -- > Trinath Somanchi - B39208 > [email protected] | extn: 4048 > > -----Original Message----- > From: Lu, Lianhao [mailto:[email protected]] > Sent: Monday, August 05, 2013 11:15 AM > To: [email protected] > Subject: [openstack-dev] question about rpc call dispatch in nova > > Hi guys, > > When I'm doing some debugging work in nova, I've got some problems which I > can't explain and needs some advices/comment from the > guru in the community. > > With the rabbitmq as my rpc backend, I've started 2 conductor service, > nova-condutor and my-condutor(which are very similar, except > some different rpc and DB name configuration), and a python script 'my-test' > using the nova.conductor.api to do the rpc call to conductor, > using the following configurations: > > Nova-conductor: rabbit_host=localhost, control_exchange=nova, topic=conductor > My-conductor: rabbit_host=localhost, control_exchange=myex, topic=conductor > My-test: rabbit_host=localhost, control_exchange=myex, topic=conductor > > 1. If I started nova-conductor first, then started my-conductor after it, I > found that the rpc calls issued by my-test were always serviced by > nova-conductor. I don't know why this would happened. Because according to my > understanding, only my-conductor can serve the rpc calls > issued by my-test, because both of them used the same exchange. Any > explanation for this? > > [Trinath Somanchi - B39208] Can you check what are the messages on the Queue. > And, check to which exchange you are binding to. In you > code base changes, re-check the communication between the my-conductor and my > test... Give try by changing the topic to > my-test-conductor for your own code base rather than conductor topic.
After change the topic of both my-conductor and my-test to my-test-conductor, the rpc call messages are dispatched to the correct service, i.e. my-conductor. But then I met the same problem as in the following item 2. The greenthread to serve the rpc call never got a chance to run until I 'Ctrl-C' my-conductor. > 2. If I started my-conductor first, then started nova-conductor after it, the > AMQP messages for the rpc calls issued by my-test were > received by my-conductor which is expected. But the rpc call was never > returned. I did some debug and found that the greenthread to > execute the method of nova.amqp.ProxyCallback._process_data() to serve the > rpc call was successfully created, but never had a chance to > run, until I 'Ctrl-C' the my-condcutor. Any clue for this? > [Trinath Somanchi - B39208] Are you consuming from the queue for the same.. ? > > Thanks > -Lianhao > _______________________________________________ OpenStack-dev mailing list [email protected] http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
