)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0a7ca7807ab9e160394e98427fbbfed03b5303e5","unresolved":false,"context_lines":[{"line_number":10,"context_line":"image from glance to nova (proxy VM) can be completely avoided by using"},{"line_number":11,"context_line":"vCenter APIs to copy the cached image from one datastore to another"},{"line_number":12,"context_line":"datastore."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I0ef1e073afaabd66416937a028bd1611b244b79d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAAXX%2F%2F5OM%3D","line":13,"updated":"2014-04-25 14:42:26.000000000","message":"please reference your blueprint here, in the form:\n\nblueprint foo-bar\n\nso gerrit adds nice links for you","commit_id":"3f588f8a9fb6a92968cbfb90eb4649a98de5cb4c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"679cd0eebc57effbb48bf955e317a8c48c3baafb","unresolved":false,"context_lines":[{"line_number":10,"context_line":"image from glance to nova (proxy VM) can be completely avoided by using"},{"line_number":11,"context_line":"vCenter APIs to copy the cached image from one datastore to another"},{"line_number":12,"context_line":"datastore."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I0ef1e073afaabd66416937a028bd1611b244b79d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"1ae5cdf2_40331e62","line":13,"updated":"2014-06-24 09:36:13.000000000","message":"Please add link to your blueprint in the commit message, so the automation will add this review onto your blueprint, something like:\n\nblueprint my-blueprint-xyz","commit_id":"12f4c7b360e5741a2a677f5922a00d4ececd8d29"}],"specs/juno/datastore-image-cache-update-improvements.rst":[{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"a3b54f5dba2223d993c1038d72828b5ac9d30a82","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/datastore-image-cache-update-improvements"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"If an image is available in the cache of one cluster, then copy of image"},{"line_number":14,"context_line":"from glance to nova (proxy VM) and from proxy to the datastore can be"},{"line_number":15,"context_line":"completely avoided by using vCenter APIs to copy the cached image from"},{"line_number":16,"context_line":"one datastore to another datastore of the cluster."}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAW3%2F%2F5lM%3D","line":13,"updated":"2014-04-09 16:09:26.000000000","message":"Not everyone things in VMware terms all the time, so can we be clear throughout that \"cluster\" is a vCenter cluster (or do you mean an ESX cluster within a vCenter cluster ?) - so that its clear what lives in Nova and where nova is interacting with an external component.","commit_id":"41b57e947d767422bc94a16165ec1e56dfed1c55"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"bab026b6576ec548a7a3b1d389743aae3c43a1f7","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/datastore-image-cache-update-improvements"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"If an image is available in the cache of one cluster, then copy of image"},{"line_number":14,"context_line":"from glance to nova (proxy VM) and from proxy to the datastore can be"},{"line_number":15,"context_line":"completely avoided by using vCenter APIs to copy the cached image from"},{"line_number":16,"context_line":"one datastore to another datastore of the cluster."}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAW3%2F%2F1RM%3D","line":13,"in_reply_to":"AAAAW3%2F%2F5lM%3D","updated":"2014-04-10 05:19:22.000000000","message":"Sure. Will state that explicitly that the cluster here refers to a VMware ESX cluster within a vCenter server.","commit_id":"41b57e947d767422bc94a16165ec1e56dfed1c55"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"a3b54f5dba2223d993c1038d72828b5ac9d30a82","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"VMware nova driver - datastore image cache update improvements"},{"line_number":23,"context_line":"In the existing design, when an instance creation is done, the following occur"},{"line_number":24,"context_line":"*1. The existence of the image is checked in the cache "},{"line_number":25,"context_line":"    (directory named _base_dir) on the cluster\u0027s datastore"},{"line_number":26,"context_line":"*2. If the image is not available in the cache, then the image is downloaded"},{"line_number":27,"context_line":"    from glance into nova (proxy VM) when the compute service runs, and"}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAW3%2F%2F5rQ%3D","line":24,"updated":"2014-04-09 16:09:26.000000000","message":"Nit - trailing space","commit_id":"41b57e947d767422bc94a16165ec1e56dfed1c55"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"a3b54f5dba2223d993c1038d72828b5ac9d30a82","unresolved":false,"context_lines":[{"line_number":24,"context_line":"*1. The existence of the image is checked in the cache "},{"line_number":25,"context_line":"    (directory named _base_dir) on the cluster\u0027s datastore"},{"line_number":26,"context_line":"*2. If the image is not available in the cache, then the image is downloaded"},{"line_number":27,"context_line":"    from glance into nova (proxy VM) when the compute service runs, and"},{"line_number":28,"context_line":"    then from the compute service to the datastore by vCenter"},{"line_number":29,"context_line":"*3. Instance is spawned using the cached image"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAW3%2F%2F5pk%3D","line":27,"updated":"2014-04-09 16:09:26.000000000","message":"I think \"proxy VM\" may be your own term for a VM that is running nova-compute.   I would stick to nova-compute here so that its more obvious what you mean","commit_id":"41b57e947d767422bc94a16165ec1e56dfed1c55"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"bab026b6576ec548a7a3b1d389743aae3c43a1f7","unresolved":false,"context_lines":[{"line_number":24,"context_line":"*1. The existence of the image is checked in the cache "},{"line_number":25,"context_line":"    (directory named _base_dir) on the cluster\u0027s datastore"},{"line_number":26,"context_line":"*2. If the image is not available in the cache, then the image is downloaded"},{"line_number":27,"context_line":"    from glance into nova (proxy VM) when the compute service runs, and"},{"line_number":28,"context_line":"    then from the compute service to the datastore by vCenter"},{"line_number":29,"context_line":"*3. Instance is spawned using the cached image"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAW3%2F%2F1Qk%3D","line":27,"in_reply_to":"AAAAW3%2F%2F5pk%3D","updated":"2014-04-10 05:19:22.000000000","message":"Yes. proxy VM is the VM where nova-compute is running. Since for VMware clusters the nova-compute can run outside of the cluster and not on the host like in KVM, added the proxy VM term so that the number of hops are clearer. Will rephrase and use nova-compute.","commit_id":"41b57e947d767422bc94a16165ec1e56dfed1c55"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"a3b54f5dba2223d993c1038d72828b5ac9d30a82","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    then from the compute service to the datastore by vCenter"},{"line_number":29,"context_line":"*3. Instance is spawned using the cached image"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Step 2 is a CPU intensive and time and bandwidth consuming task."},{"line_number":32,"context_line":"The existing optimization being done throttle the number of images"},{"line_number":33,"context_line":"transferred and removed unnecessary queues."},{"line_number":34,"context_line":"This is applicable for the first time the image is transferred to"}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAW3%2F%2F5mo%3D","line":31,"updated":"2014-04-09 16:09:26.000000000","message":"Can you quantify this please - everything consumes some time and bandwidth, but that doesn\u0027t mean everything is worth optimising (since it also adds complexity)","commit_id":"41b57e947d767422bc94a16165ec1e56dfed1c55"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"bab026b6576ec548a7a3b1d389743aae3c43a1f7","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    then from the compute service to the datastore by vCenter"},{"line_number":29,"context_line":"*3. Instance is spawned using the cached image"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Step 2 is a CPU intensive and time and bandwidth consuming task."},{"line_number":32,"context_line":"The existing optimization being done throttle the number of images"},{"line_number":33,"context_line":"transferred and removed unnecessary queues."},{"line_number":34,"context_line":"This is applicable for the first time the image is transferred to"}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAW3%2F%2F1QM%3D","line":31,"in_reply_to":"AAAAW3%2F%2F5mo%3D","updated":"2014-04-10 05:19:22.000000000","message":"ok, will add some data based on initial tests. we have seen that 2GB image can take 3 minutes. But with optimization it can be less than 1m.","commit_id":"41b57e947d767422bc94a16165ec1e56dfed1c55"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"a3b54f5dba2223d993c1038d72828b5ac9d30a82","unresolved":false,"context_lines":[{"line_number":32,"context_line":"The existing optimization being done throttle the number of images"},{"line_number":33,"context_line":"transferred and removed unnecessary queues."},{"line_number":34,"context_line":"This is applicable for the first time the image is transferred to"},{"line_number":35,"context_line":"a datastore cache."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"In case the same image is deployed into another cluster that exists on the"},{"line_number":38,"context_line":"same vCenter the process is repeated. This would mean that the same image"}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAW3%2F%2F5ng%3D","line":35,"updated":"2014-04-09 16:09:26.000000000","message":"Step 2 is really two stages:\ni) Download from Glance to nova-compute \nii) Download from nova-compute to vCenter\n\nAssuming the nova-compute manages more that one ESX cluster, then the first stage is only executed the first time the image is used - after that its only set ii) that gets run for each new VM created from the same image.\n\nI think this is worth calling out, as you\u0027re really optimising mainly the second step I think.","commit_id":"41b57e947d767422bc94a16165ec1e56dfed1c55"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"bab026b6576ec548a7a3b1d389743aae3c43a1f7","unresolved":false,"context_lines":[{"line_number":32,"context_line":"The existing optimization being done throttle the number of images"},{"line_number":33,"context_line":"transferred and removed unnecessary queues."},{"line_number":34,"context_line":"This is applicable for the first time the image is transferred to"},{"line_number":35,"context_line":"a datastore cache."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"In case the same image is deployed into another cluster that exists on the"},{"line_number":38,"context_line":"same vCenter the process is repeated. This would mean that the same image"}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAW3%2F%2F1OM%3D","line":35,"in_reply_to":"AAAAW3%2F%2F5ng%3D","updated":"2014-04-10 05:19:22.000000000","message":"Well actually, the stage (i) and (ii) also gets executed when the same image is used for a different cluster in the same vCenter.\nSo the optimization avoids both these steps. Will elaborate more on this in the next patch.","commit_id":"41b57e947d767422bc94a16165ec1e56dfed1c55"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"a3b54f5dba2223d993c1038d72828b5ac9d30a82","unresolved":false,"context_lines":[{"line_number":63,"context_line":"the model used to update the image cache in the datastore will significantly"},{"line_number":64,"context_line":"improve user experience, reduce instance creation times, reduce CPU load"},{"line_number":65,"context_line":"on the compute proxy and reduce traffic on the network"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Alternatives"},{"line_number":68,"context_line":"------------"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAW3%2F%2F5ic%3D","line":66,"updated":"2014-04-09 16:09:26.000000000","message":"The Image download code in libvirt has specific checks to make sure that two instances started at the same time don\u0027t both attempt to download the same image.\n\nAnd cleaning up the cache need to make sure that the image isn\u0027t deleted between something checking it exists and the instance trying to use it. \n\nAre there any similar race conditions in the interaction with vCenter that need to be taken into account here ?","commit_id":"41b57e947d767422bc94a16165ec1e56dfed1c55"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"bab026b6576ec548a7a3b1d389743aae3c43a1f7","unresolved":false,"context_lines":[{"line_number":63,"context_line":"the model used to update the image cache in the datastore will significantly"},{"line_number":64,"context_line":"improve user experience, reduce instance creation times, reduce CPU load"},{"line_number":65,"context_line":"on the compute proxy and reduce traffic on the network"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Alternatives"},{"line_number":68,"context_line":"------------"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAW3%2F%2F1NM%3D","line":66,"in_reply_to":"AAAAW3%2F%2F5ic%3D","updated":"2014-04-10 05:19:22.000000000","message":"Yes. this is a very critical part of the patch.\nwe will have to take care of synchronizing between the periodic task that deletes unused cache images and the task that is trying to copy the cached image. Tracy from VMware had a good suggestion of adding the task of updating the map that has the details of the images available in cache into the periodic task that cleans up the unused images from the cache. I will be adding this approach.\nThis concurrent transfers issue is a handled as a separate patch outside of this blueprint.","commit_id":"41b57e947d767422bc94a16165ec1e56dfed1c55"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"a3b54f5dba2223d993c1038d72828b5ac9d30a82","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Another alternative is to schedule instances to the clusters that have the"},{"line_number":71,"context_line":"image already cached. This will work fine until the cluster has capacity."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Data model impact"},{"line_number":74,"context_line":"-----------------"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAW3%2F%2F5hc%3D","line":72,"updated":"2014-04-09 16:09:26.000000000","message":"That would also mean exposing more information to the scheduler - so its not a simpler alternative  (worth pointing this out to help make your case)","commit_id":"41b57e947d767422bc94a16165ec1e56dfed1c55"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"bab026b6576ec548a7a3b1d389743aae3c43a1f7","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Another alternative is to schedule instances to the clusters that have the"},{"line_number":71,"context_line":"image already cached. This will work fine until the cluster has capacity."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Data model impact"},{"line_number":74,"context_line":"-----------------"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAW3%2F%2F1NA%3D","line":72,"in_reply_to":"AAAAW3%2F%2F5hc%3D","updated":"2014-04-10 05:19:22.000000000","message":"Yes, this will need the driver to publish the cache, and a scheduler filter that can use this.\nWill add this note as well.","commit_id":"41b57e947d767422bc94a16165ec1e56dfed1c55"},{"author":{"_account_id":7400,"name":"Tracy Jones","email":"tjones@vmware.com","username":"tracyajones"},"change_message_id":"3b8ddcf50fe2bbcf2ff7e86c1afe8655fb8f6e05","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"* A map of the image ids present in the cache (_base_dir) must be maintained"},{"line_number":102,"context_line":"  to reduce the checking of images existence in the datastore in every spawn"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Other deployer impact"},{"line_number":106,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAWn%2F%2F3Hs%3D","line":103,"updated":"2014-04-08 21:52:01.000000000","message":"what if 2 different n-compute are using the same VC but different data stores - the map would need to be refreshed periodically in this case to keep is consistent?  Though having this map would increase performance, keeping it consistent seems problematic and racy.","commit_id":"41b57e947d767422bc94a16165ec1e56dfed1c55"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"bab026b6576ec548a7a3b1d389743aae3c43a1f7","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"* A map of the image ids present in the cache (_base_dir) must be maintained"},{"line_number":102,"context_line":"  to reduce the checking of images existence in the datastore in every spawn"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Other deployer impact"},{"line_number":106,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAW3%2F%2F1M8%3D","line":103,"in_reply_to":"AAAAW3%2F%2F5uM%3D","updated":"2014-04-10 05:19:22.000000000","message":"I like this idea. Will be adding this detail in the next patch set of this blueprint.","commit_id":"41b57e947d767422bc94a16165ec1e56dfed1c55"},{"author":{"_account_id":7400,"name":"Tracy Jones","email":"tjones@vmware.com","username":"tracyajones"},"change_message_id":"032e3d2328b2a75418e18f9e2bbffd9c3c4108eb","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"* A map of the image ids present in the cache (_base_dir) must be maintained"},{"line_number":102,"context_line":"  to reduce the checking of images existence in the datastore in every spawn"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Other deployer impact"},{"line_number":106,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAW3%2F%2F5uM%3D","line":103,"in_reply_to":"AAAAW3%2F%2F9RE%3D","updated":"2014-04-09 15:44:21.000000000","message":"so eventual consistency is acceptable in this case.  (and i agree with that).  Just think you should add this level of detail to the spec as making this approach clear in the beginning will be helpful.\n\nAlso - would you leverage the periodic task that does image cache cleanup or add a new one?  I\u0027m in favor of making that periodic task do this as well as it\u0027s image related and less heavy-wieght than adding a new one for this purpose only","commit_id":"41b57e947d767422bc94a16165ec1e56dfed1c55"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"d3487b88419fd0edd64325ccd70c139c618aa0bb","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"* A map of the image ids present in the cache (_base_dir) must be maintained"},{"line_number":102,"context_line":"  to reduce the checking of images existence in the datastore in every spawn"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Other deployer impact"},{"line_number":106,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAW3%2F%2F9RE%3D","line":103,"in_reply_to":"AAAAWn%2F%2F3Hs%3D","updated":"2014-04-09 09:01:27.000000000","message":"Yes, in cases where the same vCenter is used by multiple compute services then a periodic task needs to update the map. The accuracy of the map is dependent of the speed at which the information about the files in the vmware_base directory can be retrieved.  Based on this, the default interval at which such updates happen can be configured.\nThe information can be retrieved by waiting for updates or by making direct sdk call to get the contents of the base folder.\nThe periodic task is also required since there is a separate task that cleans up unused images from the vmware_base directory.","commit_id":"41b57e947d767422bc94a16165ec1e56dfed1c55"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"a3b54f5dba2223d993c1038d72828b5ac9d30a82","unresolved":false,"context_lines":[{"line_number":111,"context_line":"----------------"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"* The similar approach can be used by other nova drivers that support clusters"},{"line_number":114,"context_line":"  and cache images ona per cluster basis."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAW3%2F%2F5gg%3D","line":114,"updated":"2014-04-09 16:09:26.000000000","message":"nit /ona/on a/","commit_id":"41b57e947d767422bc94a16165ec1e56dfed1c55"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"a3b54f5dba2223d993c1038d72828b5ac9d30a82","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"* The similar approach can be used by other nova drivers that support clusters"},{"line_number":114,"context_line":"  and cache images ona per cluster basis."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Implementation"},{"line_number":118,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAW3%2F%2F5fI%3D","line":115,"updated":"2014-04-09 16:09:26.000000000","message":"Worth pointing out that the change is (as I understand it) fully contained within the vmware virt driver.\n\nIf you need to make changes to a shared periodic task in the compute manager that needs to be called out as well.\n\nThis helps us understand the possible risk / impact on other drivers.","commit_id":"41b57e947d767422bc94a16165ec1e56dfed1c55"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"bab026b6576ec548a7a3b1d389743aae3c43a1f7","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"* The similar approach can be used by other nova drivers that support clusters"},{"line_number":114,"context_line":"  and cache images ona per cluster basis."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Implementation"},{"line_number":118,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAW3%2F%2F1Mw%3D","line":115,"in_reply_to":"AAAAW3%2F%2F5fI%3D","updated":"2014-04-10 05:19:22.000000000","message":"Yes. This change is only in the vmware driver. Changes will not impact other drivers. Will add this note.","commit_id":"41b57e947d767422bc94a16165ec1e56dfed1c55"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e13c146d904f99834ebb71507e8a10c5329764db","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"VMware nova driver - datastore image cache update improvements"},{"line_number":27,"context_line":"In the existing design, when an instance creation is done, the following occur"},{"line_number":28,"context_line":"* Step 1.The existence of the image is checked in the cache"},{"line_number":29,"context_line":"  (directory named _base_dir) on the clusters datastore"},{"line_number":30,"context_line":"* Step 2.If the image is not available in the cache, then "},{"line_number":31,"context_line":"  (i) the image is downloaded from glance into nova-compute"}],"source_content_type":"text/x-rst","patch_set":3,"id":"AAAAW3%2F%2Fea4%3D","line":28,"updated":"2014-04-14 11:20:36.000000000","message":"You need a black line before this bullet. Ideally should have a black line after the bullet too. Same for all other bullets in this document.\n\nI think that is the issue described here:\nsphinx.errors.SphinxWarning: /home/jenkins/workspace/gate-nova-specs-docs/doc/source/specs/juno/datastore-image-cache-update-improvements.rst:29: ERROR: Unexpected indentation.","commit_id":"50564057619000143ab97d84f7c343fb033a550d"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"507afe2baf61ef44c33d02a7e9573675a07664bd","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"VMware nova driver - datastore image cache update improvements"},{"line_number":27,"context_line":"In the existing design, when an instance creation is done, the following occur"},{"line_number":28,"context_line":"* Step 1.The existence of the image is checked in the cache"},{"line_number":29,"context_line":"  (directory named _base_dir) on the clusters datastore"},{"line_number":30,"context_line":"* Step 2.If the image is not available in the cache, then "},{"line_number":31,"context_line":"  (i) the image is downloaded from glance into nova-compute"}],"source_content_type":"text/x-rst","patch_set":3,"id":"AAAAW3%2F%2FW78%3D","line":28,"in_reply_to":"AAAAW3%2F%2Fea4%3D","updated":"2014-04-15 07:16:26.000000000","message":"Done the changes.\nHaving some problem is getting the tool running on my machine and therefore could not check them locally before uploading for review. Thanks for your help.","commit_id":"50564057619000143ab97d84f7c343fb033a550d"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e13c146d904f99834ebb71507e8a10c5329764db","unresolved":false,"context_lines":[{"line_number":27,"context_line":"In the existing design, when an instance creation is done, the following occur"},{"line_number":28,"context_line":"* Step 1.The existence of the image is checked in the cache"},{"line_number":29,"context_line":"  (directory named _base_dir) on the clusters datastore"},{"line_number":30,"context_line":"* Step 2.If the image is not available in the cache, then "},{"line_number":31,"context_line":"  (i) the image is downloaded from glance into nova-compute"},{"line_number":32,"context_line":"  (the VM where the compute service runs)"},{"line_number":33,"context_line":"  (ii) Then the image is transferred from the nova-compute to the datastore"}],"source_content_type":"text/x-rst","patch_set":3,"id":"AAAAW3%2F%2Feao%3D","line":30,"updated":"2014-04-14 11:20:36.000000000","message":"please remove whitespace.","commit_id":"50564057619000143ab97d84f7c343fb033a550d"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"507afe2baf61ef44c33d02a7e9573675a07664bd","unresolved":false,"context_lines":[{"line_number":27,"context_line":"In the existing design, when an instance creation is done, the following occur"},{"line_number":28,"context_line":"* Step 1.The existence of the image is checked in the cache"},{"line_number":29,"context_line":"  (directory named _base_dir) on the clusters datastore"},{"line_number":30,"context_line":"* Step 2.If the image is not available in the cache, then "},{"line_number":31,"context_line":"  (i) the image is downloaded from glance into nova-compute"},{"line_number":32,"context_line":"  (the VM where the compute service runs)"},{"line_number":33,"context_line":"  (ii) Then the image is transferred from the nova-compute to the datastore"}],"source_content_type":"text/x-rst","patch_set":3,"id":"AAAAW3%2F%2FW74%3D","line":30,"in_reply_to":"AAAAW3%2F%2Feao%3D","updated":"2014-04-15 07:16:26.000000000","message":"Done","commit_id":"50564057619000143ab97d84f7c343fb033a550d"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0a7ca7807ab9e160394e98427fbbfed03b5303e5","unresolved":false,"context_lines":[{"line_number":30,"context_line":"If an image is available in the cache of one cluster, then copy of image"},{"line_number":31,"context_line":"from glance to nova-compute and then from nova-compute to the datastore"},{"line_number":32,"context_line":"can be completely avoided by using vCenter APIs to copy the cached image from"},{"line_number":33,"context_line":"one datastore to another datastore of the cluster."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Problem description"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"AAAAXX%2F%2F5Jo%3D","line":33,"updated":"2014-04-25 14:42:26.000000000","message":"This is awesome detail, it makes things really clear, thank you.\n\nBut... can this move all this into the problem description please? It would be a great start to that section.\n\n\nAll you need here is a brief description, something like:\n\nThis blueprint allows images to launch faster by copying images from other image caches, rather than always from glance. With VMware ESX, you copy images from glance, to nova-compute, then from nova-compute to the datastore. Its much more efficient to use vCenter APIs to copy the image from a datastore where the image is already present.\n\nThis is more just to use the template in a consistent way, than anything else. Sorry to be a pedant.","commit_id":"3f588f8a9fb6a92968cbfb90eb4649a98de5cb4c"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"c52f60f578ab441ac326024d8e53c117e3a21016","unresolved":false,"context_lines":[{"line_number":30,"context_line":"If an image is available in the cache of one cluster, then copy of image"},{"line_number":31,"context_line":"from glance to nova-compute and then from nova-compute to the datastore"},{"line_number":32,"context_line":"can be completely avoided by using vCenter APIs to copy the cached image from"},{"line_number":33,"context_line":"one datastore to another datastore of the cluster."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Problem description"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"AAAAXX%2F%2FvDA%3D","line":33,"in_reply_to":"AAAAXX%2F%2F5Jo%3D","updated":"2014-04-28 11:51:03.000000000","message":"Moved the text to the problem description. Have used your text for the brief description","commit_id":"3f588f8a9fb6a92968cbfb90eb4649a98de5cb4c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0a7ca7807ab9e160394e98427fbbfed03b5303e5","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Problem description"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"VMware nova driver - datastore image cache update improvements"},{"line_number":39,"context_line":"In the existing design, when an instance creation is done, the following occur"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* Step 1.The existence of the image is checked in the cache"}],"source_content_type":"text/x-rst","patch_set":4,"id":"AAAAXX%2F%2F5H4%3D","line":38,"updated":"2014-04-25 14:42:26.000000000","message":"not sure why this line is here, cut and paste error?","commit_id":"3f588f8a9fb6a92968cbfb90eb4649a98de5cb4c"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"c52f60f578ab441ac326024d8e53c117e3a21016","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Problem description"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"VMware nova driver - datastore image cache update improvements"},{"line_number":39,"context_line":"In the existing design, when an instance creation is done, the following occur"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* Step 1.The existence of the image is checked in the cache"}],"source_content_type":"text/x-rst","patch_set":4,"id":"AAAAXX%2F%2FvCw%3D","line":38,"in_reply_to":"AAAAXX%2F%2F5H4%3D","updated":"2014-04-28 11:51:03.000000000","message":"Sorry, its a copy paste error. Have removed it.","commit_id":"3f588f8a9fb6a92968cbfb90eb4649a98de5cb4c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0a7ca7807ab9e160394e98427fbbfed03b5303e5","unresolved":false,"context_lines":[{"line_number":60,"context_line":"cluster present in vCenter."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"In the intial tests we notice that a tranfer of a 2GB image takes 3 minutes."},{"line_number":63,"context_line":"The CPU utilization during image copy goes upto 80% for the time of the"},{"line_number":64,"context_line":"transfer"},{"line_number":65,"context_line":"After this change, it will take 1 minute.and nova-compute CPU will not be"},{"line_number":66,"context_line":"used for the transfer, since the transfer is delegated to vCenter."}],"source_content_type":"text/x-rst","patch_set":4,"id":"AAAAXX%2F%2F5HI%3D","line":63,"updated":"2014-04-25 14:42:26.000000000","message":"is this nova-compute CPU utilisation?","commit_id":"3f588f8a9fb6a92968cbfb90eb4649a98de5cb4c"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"c52f60f578ab441ac326024d8e53c117e3a21016","unresolved":false,"context_lines":[{"line_number":60,"context_line":"cluster present in vCenter."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"In the intial tests we notice that a tranfer of a 2GB image takes 3 minutes."},{"line_number":63,"context_line":"The CPU utilization during image copy goes upto 80% for the time of the"},{"line_number":64,"context_line":"transfer"},{"line_number":65,"context_line":"After this change, it will take 1 minute.and nova-compute CPU will not be"},{"line_number":66,"context_line":"used for the transfer, since the transfer is delegated to vCenter."}],"source_content_type":"text/x-rst","patch_set":4,"id":"AAAAXX%2F%2FvCs%3D","line":63,"in_reply_to":"AAAAXX%2F%2F5HI%3D","updated":"2014-04-28 11:51:03.000000000","message":"Its nova-compute utilization and have updated it","commit_id":"3f588f8a9fb6a92968cbfb90eb4649a98de5cb4c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0a7ca7807ab9e160394e98427fbbfed03b5303e5","unresolved":false,"context_lines":[{"line_number":63,"context_line":"The CPU utilization during image copy goes upto 80% for the time of the"},{"line_number":64,"context_line":"transfer"},{"line_number":65,"context_line":"After this change, it will take 1 minute.and nova-compute CPU will not be"},{"line_number":66,"context_line":"used for the transfer, since the transfer is delegated to vCenter."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Proposed change"},{"line_number":69,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"AAAAXX%2F%2F5HQ%3D","line":66,"updated":"2014-04-25 14:42:26.000000000","message":"wow, that really is CPU intensive, how strange.","commit_id":"3f588f8a9fb6a92968cbfb90eb4649a98de5cb4c"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"c52f60f578ab441ac326024d8e53c117e3a21016","unresolved":false,"context_lines":[{"line_number":63,"context_line":"The CPU utilization during image copy goes upto 80% for the time of the"},{"line_number":64,"context_line":"transfer"},{"line_number":65,"context_line":"After this change, it will take 1 minute.and nova-compute CPU will not be"},{"line_number":66,"context_line":"used for the transfer, since the transfer is delegated to vCenter."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Proposed change"},{"line_number":69,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"AAAAXX%2F%2FvCI%3D","line":66,"in_reply_to":"AAAAXX%2F%2F5HQ%3D","updated":"2014-04-28 11:51:03.000000000","message":"The nova-compute utilization is around 80%, but the vCenter utilization after delegation is less. Don\u0027t have the exact number to quote here.","commit_id":"3f588f8a9fb6a92968cbfb90eb4649a98de5cb4c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0a7ca7807ab9e160394e98427fbbfed03b5303e5","unresolved":false,"context_lines":[{"line_number":64,"context_line":"transfer"},{"line_number":65,"context_line":"After this change, it will take 1 minute.and nova-compute CPU will not be"},{"line_number":66,"context_line":"used for the transfer, since the transfer is delegated to vCenter."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Proposed change"},{"line_number":69,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"AAAAXX%2F%2F5Gc%3D","line":67,"updated":"2014-04-25 14:42:26.000000000","message":"I really do prefer the new problem description you have as the introduction. I think you cover most of the above details in lines 30-33 above.","commit_id":"3f588f8a9fb6a92968cbfb90eb4649a98de5cb4c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0a7ca7807ab9e160394e98427fbbfed03b5303e5","unresolved":false,"context_lines":[{"line_number":90,"context_line":"the model used to update the image cache in the datastore will significantly"},{"line_number":91,"context_line":"improve user experience, reduce instance creation times, reduce CPU load"},{"line_number":92,"context_line":"on the server(typically VM) running nova-compute and reduce traffic on the"},{"line_number":93,"context_line":"network"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"The list of images available in the cache will be maintained in a map on a"},{"line_number":96,"context_line":"per cluster basis. In the VMware nova driver, there already exists a"}],"source_content_type":"text/x-rst","patch_set":4,"id":"AAAAXX%2F%2F4%2FU%3D","line":93,"updated":"2014-04-25 14:42:26.000000000","message":"Only need to describe the change here, you repeat the \"selling\" of the idea a bit too much here I think. this kind of thing could go in the performance section below.","commit_id":"3f588f8a9fb6a92968cbfb90eb4649a98de5cb4c"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"c52f60f578ab441ac326024d8e53c117e3a21016","unresolved":false,"context_lines":[{"line_number":90,"context_line":"the model used to update the image cache in the datastore will significantly"},{"line_number":91,"context_line":"improve user experience, reduce instance creation times, reduce CPU load"},{"line_number":92,"context_line":"on the server(typically VM) running nova-compute and reduce traffic on the"},{"line_number":93,"context_line":"network"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"The list of images available in the cache will be maintained in a map on a"},{"line_number":96,"context_line":"per cluster basis. In the VMware nova driver, there already exists a"}],"source_content_type":"text/x-rst","patch_set":4,"id":"AAAAXX%2F%2Fu%2FY%3D","line":93,"in_reply_to":"AAAAXX%2F%2F4%2FU%3D","updated":"2014-04-28 11:51:03.000000000","message":"Done. Moved it to the performance impact section. My initial thought was only negative performance impacts need to go to that section and therefore put None.","commit_id":"3f588f8a9fb6a92968cbfb90eb4649a98de5cb4c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0a7ca7807ab9e160394e98427fbbfed03b5303e5","unresolved":false,"context_lines":[{"line_number":96,"context_line":"per cluster basis. In the VMware nova driver, there already exists a"},{"line_number":97,"context_line":"periodic task that deletes unused images from the cache. The same periodic"},{"line_number":98,"context_line":"task will be enhanced to update the map that has the details of the"},{"line_number":99,"context_line":"images available in cache"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"Alternatives"},{"line_number":102,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"AAAAXX%2F%2F4%2Bo%3D","line":99,"updated":"2014-04-25 14:42:26.000000000","message":"We don\u0027t have any detail on how you query the other clusters? I am guessing the map is stored in some vCenter data structure you can access via the API? how do you look up who the other clusters are from one of the nova-computes? is that another vCenter API?","commit_id":"3f588f8a9fb6a92968cbfb90eb4649a98de5cb4c"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"c52f60f578ab441ac326024d8e53c117e3a21016","unresolved":false,"context_lines":[{"line_number":96,"context_line":"per cluster basis. In the VMware nova driver, there already exists a"},{"line_number":97,"context_line":"periodic task that deletes unused images from the cache. The same periodic"},{"line_number":98,"context_line":"task will be enhanced to update the map that has the details of the"},{"line_number":99,"context_line":"images available in cache"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"Alternatives"},{"line_number":102,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"AAAAXX%2F%2Fu%2BU%3D","line":99,"in_reply_to":"AAAAXX%2F%2F4%2Bo%3D","updated":"2014-04-28 11:51:03.000000000","message":"The list of clusters managed by the compute is configured in the nova.conf. The map of the cached image id to the location of the image (datastore and cluster) will be in the nova-compute.\nIts only during a nova-compute restarted that the map needs to be initialized again by calling the vCenter APIs.","commit_id":"3f588f8a9fb6a92968cbfb90eb4649a98de5cb4c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0a7ca7807ab9e160394e98427fbbfed03b5303e5","unresolved":false,"context_lines":[{"line_number":139,"context_line":"------------------"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"* A map of the image ids present in the cache (_base_dir) must be maintained"},{"line_number":142,"context_line":"  to reduce the checking of images existence in the datastore in every spawn"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Other deployer impact"},{"line_number":145,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"AAAAXX%2F%2F46c%3D","line":142,"updated":"2014-04-25 14:42:26.000000000","message":"I am not sure why this is a performance impact, where is it stored? how is it queried, but that info should go above.\n\nYou have lots of good performance talk in your problem description that could go here.","commit_id":"3f588f8a9fb6a92968cbfb90eb4649a98de5cb4c"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"c52f60f578ab441ac326024d8e53c117e3a21016","unresolved":false,"context_lines":[{"line_number":139,"context_line":"------------------"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"* A map of the image ids present in the cache (_base_dir) must be maintained"},{"line_number":142,"context_line":"  to reduce the checking of images existence in the datastore in every spawn"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Other deployer impact"},{"line_number":145,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"AAAAXX%2F%2Fu%2BE%3D","line":142,"in_reply_to":"AAAAXX%2F%2F46c%3D","updated":"2014-04-28 11:51:03.000000000","message":"Done","commit_id":"3f588f8a9fb6a92968cbfb90eb4649a98de5cb4c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0a7ca7807ab9e160394e98427fbbfed03b5303e5","unresolved":false,"context_lines":[{"line_number":144,"context_line":"Other deployer impact"},{"line_number":145,"context_line":"---------------------"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"None"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"Developer impact"},{"line_number":150,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"AAAAXX%2F%2F450%3D","line":147,"updated":"2014-04-25 14:42:26.000000000","message":"How do you configure this? Does it always happen now?","commit_id":"3f588f8a9fb6a92968cbfb90eb4649a98de5cb4c"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"c52f60f578ab441ac326024d8e53c117e3a21016","unresolved":false,"context_lines":[{"line_number":144,"context_line":"Other deployer impact"},{"line_number":145,"context_line":"---------------------"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"None"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"Developer impact"},{"line_number":150,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"AAAAXX%2F%2Fu90%3D","line":147,"in_reply_to":"AAAAXX%2F%2F450%3D","updated":"2014-04-28 11:51:03.000000000","message":"Additional configuration is not required by the user.","commit_id":"3f588f8a9fb6a92968cbfb90eb4649a98de5cb4c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0a7ca7807ab9e160394e98427fbbfed03b5303e5","unresolved":false,"context_lines":[{"line_number":185,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Unit tests are sufficient since the actual copy is done by the vCenter API"},{"line_number":188,"context_line":"The unit tests will be modified to test the branches introduced"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"Documentation Impact"},{"line_number":191,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"AAAAXX%2F%2F458%3D","line":188,"updated":"2014-04-25 14:42:26.000000000","message":"Hmm, not so sure myself. I guess you are doing manual testing to mitigate the risk?\n\nMost CI environments are single host hypervisors, so this comes under that category at the moment.","commit_id":"3f588f8a9fb6a92968cbfb90eb4649a98de5cb4c"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"c52f60f578ab441ac326024d8e53c117e3a21016","unresolved":false,"context_lines":[{"line_number":185,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Unit tests are sufficient since the actual copy is done by the vCenter API"},{"line_number":188,"context_line":"The unit tests will be modified to test the branches introduced"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"Documentation Impact"},{"line_number":191,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"AAAAXX%2F%2Fu7Q%3D","line":188,"in_reply_to":"AAAAXX%2F%2F458%3D","updated":"2014-04-28 11:51:03.000000000","message":"Yes manual tests will be done. \nThe modified unit tests will also cover the new code.\nVMware has a separate test environment where the tests would run as part of the checkin (VMware Mine Sweeper\t) and will get reported back.","commit_id":"3f588f8a9fb6a92968cbfb90eb4649a98de5cb4c"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"8026a1f084ac58ff81129b98aac591190407dbfd","unresolved":false,"context_lines":[{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"For VMware ESX hypervisor, a single cluster of ESX hosts in a VMware"},{"line_number":23,"context_line":"vCenter is one nova-compute."},{"line_number":24,"context_line":"Also, the nova-compute service is run on a seperate VM since the service"},{"line_number":25,"context_line":"cannot be directly run on the ESX host unlike other hypervisors like KVM"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad9bd40_0653696b","line":23,"updated":"2014-05-07 12:38:02.000000000","message":"Replace this and the following para with:\n\nWhen using the VMware ESx hypervisor driver each ESX cluster is presented to Nova as a single compute node, with the nova-compute service acting as a proxy into the VMWare controller.  In the general Nova model each compute node is considered a separate service with its own image cache, but in the VMware case this it is possible to provide a more efficient image cache mechanism which extends across compute nodes.","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"c672c92731080f937848f4980dca717eafe8d691","unresolved":false,"context_lines":[{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"For VMware ESX hypervisor, a single cluster of ESX hosts in a VMware"},{"line_number":23,"context_line":"vCenter is one nova-compute."},{"line_number":24,"context_line":"Also, the nova-compute service is run on a seperate VM since the service"},{"line_number":25,"context_line":"cannot be directly run on the ESX host unlike other hypervisors like KVM"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1ae5cdf2_45c34738","line":23,"in_reply_to":"9ad9bd40_0653696b","updated":"2014-06-08 14:34:05.000000000","message":"Done","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"8026a1f084ac58ff81129b98aac591190407dbfd","unresolved":false,"context_lines":[{"line_number":23,"context_line":"vCenter is one nova-compute."},{"line_number":24,"context_line":"Also, the nova-compute service is run on a seperate VM since the service"},{"line_number":25,"context_line":"cannot be directly run on the ESX host unlike other hypervisors like KVM"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"A datastore is a logical container that stores the virtual machine files."},{"line_number":28,"context_line":"This includes both the disk (vmdk), configuration (vmx) files and"},{"line_number":29,"context_line":"snapshot files."}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad9bd40_66c99525","line":26,"updated":"2014-05-07 12:38:02.000000000","message":"If you take my suggestion from above this para can be deleted.   nova-compute may be in a VM in this case, but you can\u0027t know that, and it\u0027s largely irrelevant to this BP.","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"c672c92731080f937848f4980dca717eafe8d691","unresolved":false,"context_lines":[{"line_number":23,"context_line":"vCenter is one nova-compute."},{"line_number":24,"context_line":"Also, the nova-compute service is run on a seperate VM since the service"},{"line_number":25,"context_line":"cannot be directly run on the ESX host unlike other hypervisors like KVM"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"A datastore is a logical container that stores the virtual machine files."},{"line_number":28,"context_line":"This includes both the disk (vmdk), configuration (vmx) files and"},{"line_number":29,"context_line":"snapshot files."}],"source_content_type":"text/x-rst","patch_set":5,"id":"1ae5cdf2_65c0432b","line":26,"in_reply_to":"9ad9bd40_66c99525","updated":"2014-06-08 14:34:05.000000000","message":"Done","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"9612cbc9d6e8230546906df7a05d47980b37161e","unresolved":false,"context_lines":[{"line_number":66,"context_line":"image from glance to nova-compute can be completely avoided by using"},{"line_number":67,"context_line":"vCenter APIs to copy the cached image from one datastore to another datastore."},{"line_number":68,"context_line":"By using vCenter the progress of the task can be tracked as well."},{"line_number":69,"context_line":"This approach works for clusters within the same vCenter."},{"line_number":70,"context_line":"With this approach the modified steps would be"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"* Step1. The existence of the image is checked in the cache (_base directory)"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a1371a2_4781d049","line":69,"updated":"2014-04-28 19:31:51.000000000","message":"This needs to be in the deployer impact section. Please describe the required setup.","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"8026a1f084ac58ff81129b98aac591190407dbfd","unresolved":false,"context_lines":[{"line_number":66,"context_line":"image from glance to nova-compute can be completely avoided by using"},{"line_number":67,"context_line":"vCenter APIs to copy the cached image from one datastore to another datastore."},{"line_number":68,"context_line":"By using vCenter the progress of the task can be tracked as well."},{"line_number":69,"context_line":"This approach works for clusters within the same vCenter."},{"line_number":70,"context_line":"With this approach the modified steps would be"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"* Step1. The existence of the image is checked in the cache (_base directory)"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad9bd40_06afe92a","line":69,"in_reply_to":"3a1371a2_4781d049","updated":"2014-05-07 12:38:02.000000000","message":"Not sure it does John - I think this is just a facet of the way VMware works.  There is no specific Nova change required here as I understand it","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"c672c92731080f937848f4980dca717eafe8d691","unresolved":false,"context_lines":[{"line_number":66,"context_line":"image from glance to nova-compute can be completely avoided by using"},{"line_number":67,"context_line":"vCenter APIs to copy the cached image from one datastore to another datastore."},{"line_number":68,"context_line":"By using vCenter the progress of the task can be tracked as well."},{"line_number":69,"context_line":"This approach works for clusters within the same vCenter."},{"line_number":70,"context_line":"With this approach the modified steps would be"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"* Step1. The existence of the image is checked in the cache (_base directory)"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1ae5cdf2_a5e16bd2","line":69,"in_reply_to":"9ad9bd40_06afe92a","updated":"2014-06-08 14:34:05.000000000","message":"There is no change in the deployment of nova/glance due to this blueprint.","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"8026a1f084ac58ff81129b98aac591190407dbfd","unresolved":false,"context_lines":[{"line_number":70,"context_line":"With this approach the modified steps would be"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"* Step1. The existence of the image is checked in the cache (_base directory)"},{"line_number":73,"context_line":"  on ALL the clusters datastores using vCenter APIs"},{"line_number":74,"context_line":"* Step2. If the image is not available in ANY CLUSTERS the cache, then the"},{"line_number":75,"context_line":"  image is downloaded from glance into nova-compute when the compute"},{"line_number":76,"context_line":"  service runs, and then from the compute service to the datastore by vCenter"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad9bd40_46a57145","line":73,"updated":"2014-05-07 12:38:02.000000000","message":"Does the Nova ESX driver need additional credentials to be able to query the cache of other clusters ?","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"c672c92731080f937848f4980dca717eafe8d691","unresolved":false,"context_lines":[{"line_number":70,"context_line":"With this approach the modified steps would be"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"* Step1. The existence of the image is checked in the cache (_base directory)"},{"line_number":73,"context_line":"  on ALL the clusters datastores using vCenter APIs"},{"line_number":74,"context_line":"* Step2. If the image is not available in ANY CLUSTERS the cache, then the"},{"line_number":75,"context_line":"  image is downloaded from glance into nova-compute when the compute"},{"line_number":76,"context_line":"  service runs, and then from the compute service to the datastore by vCenter"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1ae5cdf2_65d763ee","line":73,"in_reply_to":"9ad9bd40_46a57145","updated":"2014-06-08 14:34:05.000000000","message":"It does not need additional credentials. The credentials required are already defined in the existing implementation and these are sufficient to perform the optimization attempted by this blueprint.","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"9612cbc9d6e8230546906df7a05d47980b37161e","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"* Step1. The existence of the image is checked in the cache (_base directory)"},{"line_number":73,"context_line":"  on ALL the clusters datastores using vCenter APIs"},{"line_number":74,"context_line":"* Step2. If the image is not available in ANY CLUSTERS the cache, then the"},{"line_number":75,"context_line":"  image is downloaded from glance into nova-compute when the compute"},{"line_number":76,"context_line":"  service runs, and then from the compute service to the datastore by vCenter"},{"line_number":77,"context_line":"* Step3. If the image is available in the cache of any cluster, then the image is"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a1371a2_07eeb822","line":74,"updated":"2014-04-28 19:31:51.000000000","message":"Nit: not sure we should have the capital letter here, its a bit shouty.","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"c672c92731080f937848f4980dca717eafe8d691","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"* Step1. The existence of the image is checked in the cache (_base directory)"},{"line_number":73,"context_line":"  on ALL the clusters datastores using vCenter APIs"},{"line_number":74,"context_line":"* Step2. If the image is not available in ANY CLUSTERS the cache, then the"},{"line_number":75,"context_line":"  image is downloaded from glance into nova-compute when the compute"},{"line_number":76,"context_line":"  service runs, and then from the compute service to the datastore by vCenter"},{"line_number":77,"context_line":"* Step3. If the image is available in the cache of any cluster, then the image is"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1ae5cdf2_e502936e","line":74,"in_reply_to":"3a1371a2_07eeb822","updated":"2014-06-08 14:34:05.000000000","message":"Will lower case it, was only trying to emphasize it.","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"8026a1f084ac58ff81129b98aac591190407dbfd","unresolved":false,"context_lines":[{"line_number":72,"context_line":"* Step1. The existence of the image is checked in the cache (_base directory)"},{"line_number":73,"context_line":"  on ALL the clusters datastores using vCenter APIs"},{"line_number":74,"context_line":"* Step2. If the image is not available in ANY CLUSTERS the cache, then the"},{"line_number":75,"context_line":"  image is downloaded from glance into nova-compute when the compute"},{"line_number":76,"context_line":"  service runs, and then from the compute service to the datastore by vCenter"},{"line_number":77,"context_line":"* Step3. If the image is available in the cache of any cluster, then the image is"},{"line_number":78,"context_line":"  copied to the other clusters cache using the vCenter API. This is very"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad9bd40_e67845c6","line":75,"updated":"2014-05-07 12:38:02.000000000","message":"I dont think you need \"when (where?) the compute service runs\" in this sentence.","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"c672c92731080f937848f4980dca717eafe8d691","unresolved":false,"context_lines":[{"line_number":72,"context_line":"* Step1. The existence of the image is checked in the cache (_base directory)"},{"line_number":73,"context_line":"  on ALL the clusters datastores using vCenter APIs"},{"line_number":74,"context_line":"* Step2. If the image is not available in ANY CLUSTERS the cache, then the"},{"line_number":75,"context_line":"  image is downloaded from glance into nova-compute when the compute"},{"line_number":76,"context_line":"  service runs, and then from the compute service to the datastore by vCenter"},{"line_number":77,"context_line":"* Step3. If the image is available in the cache of any cluster, then the image is"},{"line_number":78,"context_line":"  copied to the other clusters cache using the vCenter API. This is very"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1ae5cdf2_45f18794","line":75,"in_reply_to":"9ad9bd40_e67845c6","updated":"2014-06-08 14:34:05.000000000","message":"ok. agree. will remove this since nova-compute should be good.","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"8026a1f084ac58ff81129b98aac591190407dbfd","unresolved":false,"context_lines":[{"line_number":73,"context_line":"  on ALL the clusters datastores using vCenter APIs"},{"line_number":74,"context_line":"* Step2. If the image is not available in ANY CLUSTERS the cache, then the"},{"line_number":75,"context_line":"  image is downloaded from glance into nova-compute when the compute"},{"line_number":76,"context_line":"  service runs, and then from the compute service to the datastore by vCenter"},{"line_number":77,"context_line":"* Step3. If the image is available in the cache of any cluster, then the image is"},{"line_number":78,"context_line":"  copied to the other clusters cache using the vCenter API. This is very"},{"line_number":79,"context_line":"  much efficient than the two hop transfer."}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad9bd40_664c359f","line":76,"updated":"2014-05-07 12:38:02.000000000","message":"s/datastore by vCenter/datastore in vCenter (i,e. the existing functionality)","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"c672c92731080f937848f4980dca717eafe8d691","unresolved":false,"context_lines":[{"line_number":73,"context_line":"  on ALL the clusters datastores using vCenter APIs"},{"line_number":74,"context_line":"* Step2. If the image is not available in ANY CLUSTERS the cache, then the"},{"line_number":75,"context_line":"  image is downloaded from glance into nova-compute when the compute"},{"line_number":76,"context_line":"  service runs, and then from the compute service to the datastore by vCenter"},{"line_number":77,"context_line":"* Step3. If the image is available in the cache of any cluster, then the image is"},{"line_number":78,"context_line":"  copied to the other clusters cache using the vCenter API. This is very"},{"line_number":79,"context_line":"  much efficient than the two hop transfer."}],"source_content_type":"text/x-rst","patch_set":5,"id":"1ae5cdf2_e539b342","line":76,"in_reply_to":"9ad9bd40_664c359f","updated":"2014-06-08 14:34:05.000000000","message":"ok. will rephrase.","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"8026a1f084ac58ff81129b98aac591190407dbfd","unresolved":false,"context_lines":[{"line_number":74,"context_line":"* Step2. If the image is not available in ANY CLUSTERS the cache, then the"},{"line_number":75,"context_line":"  image is downloaded from glance into nova-compute when the compute"},{"line_number":76,"context_line":"  service runs, and then from the compute service to the datastore by vCenter"},{"line_number":77,"context_line":"* Step3. If the image is available in the cache of any cluster, then the image is"},{"line_number":78,"context_line":"  copied to the other clusters cache using the vCenter API. This is very"},{"line_number":79,"context_line":"  much efficient than the two hop transfer."},{"line_number":80,"context_line":"* Step4. Instance is spawned using the cached image"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad9bd40_86513938","line":77,"updated":"2014-05-07 12:38:02.000000000","message":"/of any/of another/","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"c672c92731080f937848f4980dca717eafe8d691","unresolved":false,"context_lines":[{"line_number":74,"context_line":"* Step2. If the image is not available in ANY CLUSTERS the cache, then the"},{"line_number":75,"context_line":"  image is downloaded from glance into nova-compute when the compute"},{"line_number":76,"context_line":"  service runs, and then from the compute service to the datastore by vCenter"},{"line_number":77,"context_line":"* Step3. If the image is available in the cache of any cluster, then the image is"},{"line_number":78,"context_line":"  copied to the other clusters cache using the vCenter API. This is very"},{"line_number":79,"context_line":"  much efficient than the two hop transfer."},{"line_number":80,"context_line":"* Step4. Instance is spawned using the cached image"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1ae5cdf2_053e9f29","line":77,"in_reply_to":"9ad9bd40_86513938","updated":"2014-06-08 14:34:05.000000000","message":"Done","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"8026a1f084ac58ff81129b98aac591190407dbfd","unresolved":false,"context_lines":[{"line_number":77,"context_line":"* Step3. If the image is available in the cache of any cluster, then the image is"},{"line_number":78,"context_line":"  copied to the other clusters cache using the vCenter API. This is very"},{"line_number":79,"context_line":"  much efficient than the two hop transfer."},{"line_number":80,"context_line":"* Step4. Instance is spawned using the cached image"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"The list of images available in the cache will be maintained in a map on a"},{"line_number":83,"context_line":"per cluster basis. In the VMware nova driver, there already exists a"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad9bd40_c647c175","line":80,"updated":"2014-05-07 12:38:02.000000000","message":"s/image/image as normal./","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"c672c92731080f937848f4980dca717eafe8d691","unresolved":false,"context_lines":[{"line_number":77,"context_line":"* Step3. If the image is available in the cache of any cluster, then the image is"},{"line_number":78,"context_line":"  copied to the other clusters cache using the vCenter API. This is very"},{"line_number":79,"context_line":"  much efficient than the two hop transfer."},{"line_number":80,"context_line":"* Step4. Instance is spawned using the cached image"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"The list of images available in the cache will be maintained in a map on a"},{"line_number":83,"context_line":"per cluster basis. In the VMware nova driver, there already exists a"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1ae5cdf2_4548a7cc","line":80,"in_reply_to":"9ad9bd40_c647c175","updated":"2014-06-08 14:34:05.000000000","message":"Done","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"8026a1f084ac58ff81129b98aac591190407dbfd","unresolved":false,"context_lines":[{"line_number":80,"context_line":"* Step4. Instance is spawned using the cached image"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"The list of images available in the cache will be maintained in a map on a"},{"line_number":83,"context_line":"per cluster basis. In the VMware nova driver, there already exists a"},{"line_number":84,"context_line":"periodic task that deletes unused images from the cache. The same periodic"},{"line_number":85,"context_line":"task will be enhanced to update the map that has the details of the"},{"line_number":86,"context_line":"images available in cache"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad9bd40_062449c3","line":83,"updated":"2014-05-07 12:38:02.000000000","message":"Do you mean that nova-compute will keep a the list of all images in the cache of the ESX cluster its managing, or a list of the images in all clusters that it has access to ?\n\nIs this list really needed ?  It sounds like querying the list from vCenter each time would be safer, and only a very small additional step ?","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"c672c92731080f937848f4980dca717eafe8d691","unresolved":false,"context_lines":[{"line_number":80,"context_line":"* Step4. Instance is spawned using the cached image"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"The list of images available in the cache will be maintained in a map on a"},{"line_number":83,"context_line":"per cluster basis. In the VMware nova driver, there already exists a"},{"line_number":84,"context_line":"periodic task that deletes unused images from the cache. The same periodic"},{"line_number":85,"context_line":"task will be enhanced to update the map that has the details of the"},{"line_number":86,"context_line":"images available in cache"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1ae5cdf2_8511cfb1","line":83,"in_reply_to":"9ad9bd40_062449c3","updated":"2014-06-08 14:34:05.000000000","message":"The nova driver implementation maintains data internally on a per cluster basis and therefore the cache will have images of each cluster.\nDuring implementation will evaluate the time it takes for the additional VMware SDK call to get the information of the cache folder and use this approach if it is not slow.","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"9612cbc9d6e8230546906df7a05d47980b37161e","unresolved":false,"context_lines":[{"line_number":125,"context_line":"Performance Impact"},{"line_number":126,"context_line":"------------------"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"* Given that in a private cloud there will be different set of standard"},{"line_number":129,"context_line":"  images, and the number of clusters in vCenter can be between 12 to 64,"},{"line_number":130,"context_line":"  enhancing the model used to update the image cache in the datastore will"},{"line_number":131,"context_line":"  significantly improve user experience, reduce instance creation times,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a1371a2_07799893","line":128,"updated":"2014-04-28 19:31:51.000000000","message":"Nit: bullets are not compulsory.","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":7239,"name":"Kiran Kumar Vaddi","email":"kiran-kumar.vaddi@hp.com","username":"kirankv"},"change_message_id":"c672c92731080f937848f4980dca717eafe8d691","unresolved":false,"context_lines":[{"line_number":125,"context_line":"Performance Impact"},{"line_number":126,"context_line":"------------------"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"* Given that in a private cloud there will be different set of standard"},{"line_number":129,"context_line":"  images, and the number of clusters in vCenter can be between 12 to 64,"},{"line_number":130,"context_line":"  enhancing the model used to update the image cache in the datastore will"},{"line_number":131,"context_line":"  significantly improve user experience, reduce instance creation times,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1ae5cdf2_a516cba5","line":128,"in_reply_to":"3a1371a2_07799893","updated":"2014-06-08 14:34:05.000000000","message":"Done. Bullet removed.","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"9612cbc9d6e8230546906df7a05d47980b37161e","unresolved":false,"context_lines":[{"line_number":141,"context_line":"Other deployer impact"},{"line_number":142,"context_line":"---------------------"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"None"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"Developer impact"},{"line_number":147,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a1371a2_2774949b","line":144,"updated":"2014-04-28 19:31:51.000000000","message":"Sounds like glance upload does something magic? But only when it knows about glance being present?\n\nI think you need to describe what setup you need to make this all work, in this section, as a minimum.\n\nHow do you get existing images to work with the new system when you upgrade?\n\nHow do you deal with user snapshots, do they all get inside the cache dictionary, and make it huge, what is the max size of that in vCenter?","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"8026a1f084ac58ff81129b98aac591190407dbfd","unresolved":false,"context_lines":[{"line_number":141,"context_line":"Other deployer impact"},{"line_number":142,"context_line":"---------------------"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"None"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"Developer impact"},{"line_number":147,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad9bd40_c90c323e","line":144,"in_reply_to":"3a1371a2_2774949b","updated":"2014-05-07 12:38:02.000000000","message":"I\u0027m not sure you have the right mode here John - As I understood it from the description this change is just exploiting a capability that already exists in VMware to copy an image from one datastore to another - its kind of like allowing a nova-compute to snoop into the image cache of another nova-compute instaed of going to Glance when it needs an image (except that it all happens down in the VMware layer).  As such I don\u0027t think there is a deployer impact - its more of a transparent performance optimisation.","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"9612cbc9d6e8230546906df7a05d47980b37161e","unresolved":false,"context_lines":[{"line_number":171,"context_line":"* During spawn, If image is already present in the cache then use the new"},{"line_number":172,"context_line":"  code to copy the image from one datastore to another"},{"line_number":173,"context_line":"* During spawn, If image is _not_ already present in the cache then use"},{"line_number":174,"context_line":"  existing code."},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"Dependencies"},{"line_number":177,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a1371a2_c747804a","line":174,"updated":"2014-04-28 19:31:51.000000000","message":"Ahhh.....\n\nSo how does the image get \"uploaded\" into glance? Does this rely on glance knowing about the VMware datastores? and that image change data lives in the datastores, and that is shared on a vCenter? So all hypervisors need to be in a single vCenter for this to work?","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"8026a1f084ac58ff81129b98aac591190407dbfd","unresolved":false,"context_lines":[{"line_number":171,"context_line":"* During spawn, If image is already present in the cache then use the new"},{"line_number":172,"context_line":"  code to copy the image from one datastore to another"},{"line_number":173,"context_line":"* During spawn, If image is _not_ already present in the cache then use"},{"line_number":174,"context_line":"  existing code."},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"Dependencies"},{"line_number":177,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad9bd40_291bde73","line":174,"in_reply_to":"3a1371a2_c747804a","updated":"2014-05-07 12:38:02.000000000","message":"I don\u0027t read it as Glance needing to know anything about this, its more like extending where nova-compute can look to see if it already has the image cached.","commit_id":"81605d76c73f24011e1f7f5acabd5ac35db08900"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"4f6fb3b7f07dc885261c47be878def5bb2d04174","unresolved":false,"context_lines":[{"line_number":78,"context_line":"  compute service to the datastore in vCenter (i.e existing functionality)"},{"line_number":79,"context_line":"* Step3. If the image is available in the cache of another cluster, then the"},{"line_number":80,"context_line":"  image is copied to the other clusters cache using the vCenter API. This"},{"line_number":81,"context_line":"  is very much efficient than the two hop transfer."},{"line_number":82,"context_line":"* Step4. Instance is spawned using the cached image as normal."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"The list of images available in the cache will be maintained in a map on a"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1ae5cdf2_40b4fe81","line":81,"updated":"2014-06-24 09:39:50.000000000","message":"You need to consider carefully how the remote image will be locked in this instance. For example, you need to ensure that:\n\n* The image you are copying is complete\n* Nothing will attempt to delete the image while you are copying it\n\nThis is going to require inter-Nova locking, which will not be a trivial problem to solve.","commit_id":"12f4c7b360e5741a2a677f5922a00d4ececd8d29"}]}
