<div dir="ltr">Actually I have similar idea, an plan to work on it at L by a nova-spec (is it worth a spec?).<div><br></div><div>But this idea not come from this bug, it's come from other cases:</div><div><br></div><div>1. Currently we need specified 'on_shared_storage' and 'block_migration' when evacuate and live_migration. After we tracking the shared storage, we needn't user specified those parameter. Also scheduler can have priority to choice the host have shared-storage with previous host.</div><div><br></div><div>2. Currently nova compute won't release resources for stopped instance, and won't rescheduler when start the stopped instance. To implement this, it need check the instance is on shared storage or not. That make the code very complex. After scheduler tracking the shared-storage, we can implement this smart. There is an option specified whether rescheduler stopped instance when instance isn't on shared storage, because block migration is waste.</div><div><br></div><div><div class="gmail_extra">3. Other intelligent scheduling.</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">The basic idea is add new column in compute_node table, and the new column store an ID that identifying a storage. If two compute nodes have same storage id, that means the two nodes on the shared storage. There will be different way to generate the ID for different type storage, like NFS, ceph, lvm....</div><div class="gmail_extra"><br></div><div class="gmail_extra">Thanks</div><div class="gmail_extra">Alex<br><div class="gmail_quote">2015-02-25 22:08 GMT+08:00 Gary Kotton <span dir="ltr"><<a href="mailto:gkotton@vmware.com" target="_blank">gkotton@vmware.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<div>Hi,</div>
<div>There is an issue with the statistics reported when a nova compute driver has shared storage attached. That is, there may be more than one compute node reporting on the shared storage. A patch has been posted - <a href="https://review.openstack.org/#/c/155184" target="_blank">https://review.openstack.org/#/c/155184</a>.
The direction here was to add a extra parameter to the dictionary that the driver returns for the resource utilization. The DB statistics calculation would take this into account and then do calculations accordingly.</div>
<div>I am not really in favor of the approach for a number of reasons:</div>
<ol>
<li>Over the last few cycles we have been making a move to trying to better define data structures and models that we use. More specifically we have been moving to object support</li><li>A change in the DB layer may break this support. </li><li>We are trying to have versioning of various blobs of data that are passed around</li></ol>
<div>My thinking is that the resource tracker should be aware that the compute node has shared storage and the changes done there. I do not think that the compute node should rely on the changes being done in the DB layer – that may be on a different host and
even run a different version.</div>
<div><br>
</div>
<div>I understand that this is a high or critical bug but I think that we need to discuss more on it and try have a more robust model.</div>
<div>Thanks</div><span class=""><font color="#888888">
<div>Gary</div>
</font></span></div>
<br>__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div></div></div>