[Openstack] Question regarding Nova in Havana

Prashant Upadhyaya prashant.upadhyaya at aricent.com
Wed Apr 16 06:32:44 UTC 2014


Hi Yaguang,

[also posted this on dev]

Thanks, now one more question –

When I send the request out, I send it to the exchange ‘nova’ and routing key ‘conductor’ (using RabbitMQ), this will take the message to the Nova Conductor on the controller, I have been able to do that much.
I do see that there is a ‘reply queue’ embedded in the above message so presumably the Nova Conductor will use that queue to send back the response, is that correct ?
If the above is correct, what is the ‘exchange’ used Nova Conductor to send back this response.

Regards
-Prashant

From: Yaguang Tang [mailto:heut2008 at gmail.com]
Sent: Wednesday, April 16, 2014 11:25 AM
To: Prashant Upadhyaya
Cc: openstack at lists.openstack.org
Subject: Re: [Openstack] Question regarding Nova in Havana

Hi Prashant,
when the service starts, it checks if it has already registered in the database, if not, it will update the db to create an item for itself. you can see from the nova/service.py

149     def start(self):
150         verstr = version.version_string_with_package()
151         LOG.audit(_('Starting %(topic)s node (version %(version)s)'),
152                   {'topic': self.topic, 'version': verstr})
153         self.basic_config_check()
154         self.manager.init_host()
155         self.model_disconnected = False
156         ctxt = context.get_admin_context()
157         try:
158             self.service_ref = self.conductor_api.service_get_by_args(ctxt,
159                     self.host, self.binary)
160             self.service_id = self.service_ref['id']
161         except exception.NotFound:
162             self.service_ref = self._create_service_ref(ctxt)
I think you need to add this logic to your fake nova-compute service.


2014-04-16 12:04 GMT+08:00 Prashant Upadhyaya <prashant.upadhyaya at aricent.com<mailto:prashant.upadhyaya at aricent.com>>:
Hi,

I am writing a Compute Node Simulator.
The idea is that I would write a piece of software using C which honors the RabbitMQ interface towards the Controller, but will not actually do the real thing – everything on the Compute Node will be simulated by my simulator software.

The  problem I am facing, that I have not been able to get my simulated CN listed in the output of
nova-manage service list

I am on Havana, and my simulator is sending a periodic  ‘service_update’ and ‘compute_node_update’ RPC messages to the ‘nova’ exchange and the ‘conductor’ routing key.
I can manipulate the above messages at will to fool the controller.
(I observe the messages from a real CN and take cues from there to construct a fake one from my simulator)

Question is – what causes the controller to add a new Nova Compute in its database, is it the ‘service_update’ RPC or something else.

Hopefully you can help me reverse engineer the interface.

Regards
-Prashant




"DISCLAIMER: This message is proprietary to Aricent and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. If you have received this message in error, please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. Aricent accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus."

_______________________________________________
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to     : openstack at lists.openstack.org<mailto:openstack at lists.openstack.org>
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack



--
Tang Yaguang

Canonical Ltd. | www.ubuntu.com<http://www.ubuntu.com> | www.canonical.com<http://www.canonical.com>
Mobile:  +86 152 1094 6968
gpg key: 0x187F664F



"DISCLAIMER: This message is proprietary to Aricent and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. If you have received this message in error, please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. Aricent accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus."
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20140416/62552ea0/attachment.html>


More information about the Openstack mailing list