openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #17401
Re: some question with nova schedule
read on:
we will send the host to compute manager:
def _provision_resource(self, context, weighted_host, request_spec,
filter_properties, requested_networks, injected_files,
admin_password, is_first_time, instance_uuid=None):
"""Create the requested resource in this Zone."""
# Add a retry entry for the selected compute host:
self._add_retry_host(filter_properties,
weighted_host.host_state.host)
self._add_oversubscription_policy(filter_properties,
weighted_host.host_state)
payload = dict(request_spec=request_spec,
weighted_host=weighted_host.to_dict(),
instance_id=instance_uuid)
notifier.notify(context, notifier.publisher_id("scheduler"),
'scheduler.run_instance.scheduled', notifier.INFO,
payload)
updated_instance = driver.instance_update_db(context,
instance_uuid)
self.compute_rpcapi.run_instance(context,
instance=updated_instance,
host=weighted_host.host_state.host,
request_spec=request_spec,
filter_properties=filter_properties,
requested_networks=requested_networks,
injected_files=injected_files,
admin_password=admin_password, is_first_time=is_first_time)
On 10/12/2012 09:54 AM, 韦远科 wrote:
hi,
I read the following code in nova scheduler and have some questions
with the code marked in yellow.
the following code can be found at
"https://github.com/openstack/nova/blob/master/nova/scheduler/filter_scheduler.py"
def _provision_resource(self, context, weighted_host, request_spec,
filter_properties, requested_networks, injected_files,
admin_password, is_first_time, instance_uuid=None):
"""Create the requested resource in this Zone."""
# Add a retry entry for the selected compute host:
self._add_retry_host(filter_properties, weighted_host.host_state.host)
self._add_oversubscription_policy(filter_properties,
weighted_host.host_state)
payload = dict(request_spec=request_spec,
weighted_host=weighted_host.to_dict(),
instance_id=instance_uuid)
notifier.notify(context, notifier.publisher_id("scheduler"),
'scheduler.run_instance.scheduled', notifier.INFO,
payload)
updated_instance = driver.instance_update_db(context, instance_uuid)
#at this point, we already know the host which will provision the
instance, that is recorded in variable /weighted_host./
//But actually, the /instance_update_db/ function only update "values
= {'host': None, 'scheduled_at': now}" in database,
So why????
can someone give me some help? thanks very much!
-----------------------------------------------------------------
韦远科
中国科学院 计算机网络信息中心
北京市海淀区中关村南四街四号 349信箱(100190)
Yuanke Wei (Wei)
Computer Network Information Center,Chinese Academy of Sciences
4 Zhongguancun Nansijie, Haidian District, Beijing 100190, China
P.O. Box 349
gtalk: weiyuanke123@xxxxxxxxx <mailto:weiyuanke123@xxxxxxxxx>
msn: weiyuanke123@xxxxxxxxxxx <mailto:weiyuanke123@xxxxxxxxxxx>
_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to : openstack@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~openstack
More help : https://help.launchpad.net/ListHelp
Follow ups
References