<div>hi,</div><div><br></div><div>I read the following code in nova scheduler and have some questions with the code marked in yellow.</div><div>the following code can be found at "<a href="https://github.com/openstack/nova/blob/master/nova/scheduler/filter_scheduler.py">https://github.com/openstack/nova/blob/master/nova/scheduler/filter_scheduler.py</a>"</div>

<div><br></div><div><pre style="margin-top:0px;margin-bottom:0px;padding:0px;border:0px"><div class="line" id="LC128" style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;margin:0px;padding:0px 0px 0px 10px;border:0px">

<span class="k" style="margin:0px;padding:0px;border:0px;font-weight:bold">def</span> <span class="nf" style="margin:0px;padding:0px;border:0px;color:rgb(153,0,0);font-weight:bold">_provision_resource</span><span class="p" style="margin:0px;padding:0px;border:0px">(</span><span class="bp" style="margin:0px;padding:0px;border:0px;color:rgb(153,153,153)">self</span><span class="p" style="margin:0px;padding:0px;border:0px">,</span> <span class="n" style="margin:0px;padding:0px;border:0px">context</span><span class="p" style="margin:0px;padding:0px;border:0px">,</span> <span class="n" style="margin:0px;padding:0px;border:0px">weighted_host</span><span class="p" style="margin:0px;padding:0px;border:0px">,</span> <span class="n" style="margin:0px;padding:0px;border:0px">request_spec</span><span class="p" style="margin:0px;padding:0px;border:0px">,</span></div>

<div class="line" id="LC129" style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;margin:0px;padding:0px 0px 0px 10px;border:0px">            <span class="n" style="margin:0px;padding:0px;border:0px">filter_properties</span><span class="p" style="margin:0px;padding:0px;border:0px">,</span> <span class="n" style="margin:0px;padding:0px;border:0px">requested_networks</span><span class="p" style="margin:0px;padding:0px;border:0px">,</span> <span class="n" style="margin:0px;padding:0px;border:0px">injected_files</span><span class="p" style="margin:0px;padding:0px;border:0px">,</span></div>

<div class="line" id="LC130" style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;margin:0px;padding:0px 0px 0px 10px;border:0px">            <span class="n" style="margin:0px;padding:0px;border:0px">admin_password</span><span class="p" style="margin:0px;padding:0px;border:0px">,</span> <span class="n" style="margin:0px;padding:0px;border:0px">is_first_time</span><span class="p" style="margin:0px;padding:0px;border:0px">,</span> <span class="n" style="margin:0px;padding:0px;border:0px">instance_uuid</span><span class="o" style="margin:0px;padding:0px;border:0px;font-weight:bold">=</span><span class="bp" style="margin:0px;padding:0px;border:0px;color:rgb(153,153,153)">None</span><span class="p" style="margin:0px;padding:0px;border:0px">):</span></div>

<div class="line" id="LC131" style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;margin:0px;padding:0px 0px 0px 10px;border:0px">        <span class="sd" style="margin:0px;padding:0px;border:0px;color:rgb(221,17,68)">"""Create the requested resource in this Zone."""</span></div>

<div class="line" id="LC132" style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;margin:0px;padding:0px 0px 0px 10px;border:0px">        <span class="c" style="margin:0px;padding:0px;border:0px;color:rgb(153,153,136);font-style:italic"># Add a retry entry for the selected compute host:</span></div>

<div class="line" id="LC133" style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;margin:0px;padding:0px 0px 0px 10px;border:0px">        <span class="bp" style="margin:0px;padding:0px;border:0px;color:rgb(153,153,153)">self</span><span class="o" style="margin:0px;padding:0px;border:0px;font-weight:bold">.</span><span class="n" style="margin:0px;padding:0px;border:0px">_add_retry_host</span><span class="p" style="margin:0px;padding:0px;border:0px">(</span><span class="n" style="margin:0px;padding:0px;border:0px">filter_properties</span><span class="p" style="margin:0px;padding:0px;border:0px">,</span> <span class="n" style="margin:0px;padding:0px;border:0px">weighted_host</span><span class="o" style="margin:0px;padding:0px;border:0px;font-weight:bold">.</span><span class="n" style="margin:0px;padding:0px;border:0px">host_state</span><span class="o" style="margin:0px;padding:0px;border:0px;font-weight:bold">.</span><span class="n" style="margin:0px;padding:0px;border:0px">host</span><span class="p" style="margin:0px;padding:0px;border:0px">)</span></div>

<div class="line" id="LC134" style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;margin:0px;padding:0px 0px 0px 10px;border:0px"><br></div><div class="line" id="LC135" style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;margin:0px;padding:0px 0px 0px 10px;border:0px">

        <span class="bp" style="margin:0px;padding:0px;border:0px;color:rgb(153,153,153)">self</span><span class="o" style="margin:0px;padding:0px;border:0px;font-weight:bold">.</span><span class="n" style="margin:0px;padding:0px;border:0px">_add_oversubscription_policy</span><span class="p" style="margin:0px;padding:0px;border:0px">(</span><span class="n" style="margin:0px;padding:0px;border:0px">filter_properties</span><span class="p" style="margin:0px;padding:0px;border:0px">,</span></div>

<div class="line" id="LC136" style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;margin:0px;padding:0px 0px 0px 10px;border:0px">                <span class="n" style="margin:0px;padding:0px;border:0px">weighted_host</span><span class="o" style="margin:0px;padding:0px;border:0px;font-weight:bold">.</span><span class="n" style="margin:0px;padding:0px;border:0px">host_state</span><span class="p" style="margin:0px;padding:0px;border:0px">)</span></div>

<div class="line" id="LC137" style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;margin:0px;padding:0px 0px 0px 10px;border:0px"><br></div><div class="line" id="LC138" style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;margin:0px;padding:0px 0px 0px 10px;border:0px">

        <span class="n" style="margin:0px;padding:0px;border:0px">payload</span> <span class="o" style="margin:0px;padding:0px;border:0px;font-weight:bold">=</span> <span class="nb" style="margin:0px;padding:0px;border:0px;color:rgb(0,134,179)">dict</span><span class="p" style="margin:0px;padding:0px;border:0px">(</span><span class="n" style="margin:0px;padding:0px;border:0px">request_spec</span><span class="o" style="margin:0px;padding:0px;border:0px;font-weight:bold">=</span><span class="n" style="margin:0px;padding:0px;border:0px">request_spec</span><span class="p" style="margin:0px;padding:0px;border:0px">,</span></div>

<div class="line" id="LC139" style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;margin:0px;padding:0px 0px 0px 10px;border:0px">                       <span class="n" style="margin:0px;padding:0px;border:0px">weighted_host</span><span class="o" style="margin:0px;padding:0px;border:0px;font-weight:bold">=</span><span class="n" style="margin:0px;padding:0px;border:0px">weighted_host</span><span class="o" style="margin:0px;padding:0px;border:0px;font-weight:bold">.</span><span class="n" style="margin:0px;padding:0px;border:0px">to_dict</span><span class="p" style="margin:0px;padding:0px;border:0px">(),</span></div>

<div class="line" id="LC140" style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;margin:0px;padding:0px 0px 0px 10px;border:0px">                       <span class="n" style="margin:0px;padding:0px;border:0px">instance_id</span><span class="o" style="margin:0px;padding:0px;border:0px;font-weight:bold">=</span><span class="n" style="margin:0px;padding:0px;border:0px">instance_uuid</span><span class="p" style="margin:0px;padding:0px;border:0px">)</span></div>

<div class="line" id="LC141" style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;margin:0px;padding:0px 0px 0px 10px;border:0px">        <span class="n" style="margin:0px;padding:0px;border:0px">notifier</span><span class="o" style="margin:0px;padding:0px;border:0px;font-weight:bold">.</span><span class="n" style="margin:0px;padding:0px;border:0px">notify</span><span class="p" style="margin:0px;padding:0px;border:0px">(</span><span class="n" style="margin:0px;padding:0px;border:0px">context</span><span class="p" style="margin:0px;padding:0px;border:0px">,</span> <span class="n" style="margin:0px;padding:0px;border:0px">notifier</span><span class="o" style="margin:0px;padding:0px;border:0px;font-weight:bold">.</span><span class="n" style="margin:0px;padding:0px;border:0px">publisher_id</span><span class="p" style="margin:0px;padding:0px;border:0px">(</span><span class="s" style="margin:0px;padding:0px;border:0px;color:rgb(221,17,68)">"scheduler"</span><span class="p" style="margin:0px;padding:0px;border:0px">),</span></div>

<div class="line" id="LC142" style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;margin:0px;padding:0px 0px 0px 10px;border:0px">                        <span class="s" style="margin:0px;padding:0px;border:0px;color:rgb(221,17,68)">'scheduler.run_instance.scheduled'</span><span class="p" style="margin:0px;padding:0px;border:0px">,</span> <span class="n" style="margin:0px;padding:0px;border:0px">notifier</span><span class="o" style="margin:0px;padding:0px;border:0px;font-weight:bold">.</span><span class="n" style="margin:0px;padding:0px;border:0px">INFO</span><span class="p" style="margin:0px;padding:0px;border:0px">,</span></div>

<div class="line" id="LC143" style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;margin:0px;padding:0px 0px 0px 10px;border:0px">                        <span class="n" style="margin:0px;padding:0px;border:0px">payload</span><span class="p" style="margin:0px;padding:0px;border:0px">)</span></div>

<div class="line" id="LC144" style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;margin:0px;padding:0px 0px 0px 10px;border:0px"><br></div><div class="line" id="LC145" style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;margin:0px;padding:0px 0px 0px 10px;border:0px">

        <span style="background-color:rgb(255,255,0)"><span class="n" style="margin:0px;padding:0px;border:0px">updated_instance</span> <span class="o" style="margin:0px;padding:0px;border:0px;font-weight:bold">=</span> <span class="n" style="margin:0px;padding:0px;border:0px">driver</span><span class="o" style="margin:0px;padding:0px;border:0px;font-weight:bold">.</span><span class="n" style="margin:0px;padding:0px;border:0px">instance_update_db</span><span class="p" style="margin:0px;padding:0px;border:0px">(</span><span class="n" style="margin:0px;padding:0px;border:0px">context</span><span class="p" style="margin:0px;padding:0px;border:0px">,</span> <span class="n" style="margin:0px;padding:0px;border:0px">instance_uuid</span><span class="p" style="margin:0px;padding:0px;border:0px">)</span></span></div>

<div class="line" id="LC145" style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;margin:0px;padding:0px 0px 0px 10px;border:0px"><span style="background-color:rgb(255,255,255)">        </span><span style="background-color:rgb(255,255,0)">#at this point, we already know the host which will provision the instance, that is recorded in variable <i>weighted_host.</i></span></div>

<div class="line" id="LC145" style="margin:0px;padding:0px 0px 0px 10px;border:0px"><span style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;background-color:rgb(255,255,0)"><i>        </i>But actually, the <i>instance_update_db</i> function only update "</span><font face="Consolas, Liberation Mono, Courier, monospace"><span style="font-size:12px;line-height:16px"><font color="#333333">values = {</font><font color="#ff0000">'host': None</font><font color="#333333">, 'scheduled_at': now}</font></span></font><span style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;background-color:rgb(255,255,0)">" in database,</span></div>

<div class="line" id="LC145" style="margin:0px;padding:0px 0px 0px 10px;border:0px"><span style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;background-color:rgb(255,255,0)">        So why????</span></div>

<div class="line" id="LC145" style="margin:0px;padding:0px 0px 0px 10px;border:0px"><span style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;background-color:rgb(255,255,0)"><br>

</span></div><div class="line" id="LC145" style="margin:0px;padding:0px 0px 0px 10px;border:0px"><span style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;background-color:rgb(255,255,255)">        </span></div>

<div class="line" id="LC145" style="margin:0px;padding:0px 0px 0px 10px;border:0px"><span style="font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;background-color:rgb(255,255,255)"><font color="#ffffff">        </font>can someone give me some help? thanks very much!</span></div>

<div class="line" id="LC145" style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;margin:0px;padding:0px 0px 0px 10px;border:0px"><br></div><div class="line" id="LC146" style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:16px;margin:0px;padding:0px 0px 0px 10px;border:0px">

<br></div></pre></div>-----------------------------------------------------------------<br>韦远科 <div>中国科学院 计算机网络信息中心</div><div>北京市海淀区中关村南四街四号 349信箱(100190)</div><div style="text-align:-webkit-left"><font color="#4b4b4b" face="����"><span style="font-size:14px;line-height:24px"><br>

</span></font></div><div>Yuanke Wei (Wei)</div><div>Computer Network Information Center,Chinese Academy of Sciences</div><div>4 Zhongguancun Nansijie, Haidian District, Beijing 100190, China</div><div>P.O. Box 349</div><div>

gtalk: <a href="mailto:weiyuanke123@gmail.com" target="_blank">weiyuanke123@gmail.com</a></div><div><div>msn: <a href="mailto:weiyuanke123@hotmail.com" target="_blank">weiyuanke123@hotmail.com</a></div></div><br>