)]}'
{"specs/mitaka/approved/migrate-libvirt-volumes.rst":[{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"ad614095db49c66cba5ec5b38cbc00c3a469fc28","unresolved":false,"context_lines":[{"line_number":88,"context_line":"      \u0027host\u0027: the destination host"},{"line_number":89,"context_line":"      \u0027images\u0027: { \u003cimage uuid\u003e: \u003cimage destination pool\u003e }"},{"line_number":90,"context_line":"      \u0027disks\u0027: { \u003cbdm id\u003e : \u003cdestination pool\u003e }"},{"line_number":91,"context_line":"  }"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Note that there may be multiple images. An image will only be listed in"},{"line_number":94,"context_line":"\u0027images\u0027 if the source host must send a copy to the destination host from its"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba8a016a_a4688522","line":91,"updated":"2015-11-23 15:08:22.000000000","message":"I feel it would be better to pass this around over rpc as an opaque blob of driver data. resize_instance would get an additional optional rpc argument: driver_opaque. It would contain this data. sysmeta wouldn\u0027t be touched. Apart from not touching the db, this would have the advantage of not storing the ephemeral state of a single call in global data. This seems less racy/prone to unpredictable behaviour, and we don\u0027t have to worry about leaving persistent stale data behind if something fails.\n\nOn the down side, it would require a change to rpc.","commit_id":"e941ed1f26cfb50121239be27e2293501680ef13"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"5f3cb3aa1e9c9b144f5bd367f2da13a6a2d46df2","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Currently, the libvirt driver only uses SSH (rsync or scp) to do cold"},{"line_number":14,"context_line":"migrations and resizes on non-shared storage.  This requires SSH"},{"line_number":15,"context_line":"permissions between compute hosts, which is problematic for a number of"},{"line_number":16,"context_line":"reasons.  Instead we can use the methods built in to libvirt\u0027s storage"},{"line_number":17,"context_line":"pool API to do migrations."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba8a016a_d57bc6bc","line":15,"updated":"2015-11-24 10:40:20.000000000","message":"I would rather see the global s/node/host/ rename \u0026 other typo fixes done separately from the main rewrite of the proposed change, as those can be trivially approved and would let us more clearly focus on the proposed change text rewrite.","commit_id":"15f60cd3bcb2acb654aaaa3abf5599bbbad32b84"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"ba23c57db802201431e56ba4bca19a5cd131ea5f","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Currently, the libvirt driver only uses SSH (rsync or scp) to do cold"},{"line_number":14,"context_line":"migrations and resizes on non-shared storage.  This requires SSH"},{"line_number":15,"context_line":"permissions between compute hosts, which is problematic for a number of"},{"line_number":16,"context_line":"reasons.  Instead we can use the methods built in to libvirt\u0027s storage"},{"line_number":17,"context_line":"pool API to do migrations."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_6c2c12ac","line":15,"in_reply_to":"ba8a016a_d57bc6bc","updated":"2015-11-25 01:59:06.000000000","message":"++","commit_id":"15f60cd3bcb2acb654aaaa3abf5599bbbad32b84"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"5434ac76241bb2094db5db91a325fd2c210d049a","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Currently, the libvirt driver only uses SSH (rsync or scp) to do cold"},{"line_number":14,"context_line":"migrations and resizes on non-shared storage.  This requires SSH"},{"line_number":15,"context_line":"permissions between compute hosts, which is problematic for a number of"},{"line_number":16,"context_line":"reasons.  Instead we can use the methods built in to libvirt\u0027s storage"},{"line_number":17,"context_line":"pool API to do migrations."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_ac93daa2","line":15,"in_reply_to":"ba8a016a_d57bc6bc","updated":"2015-11-24 14:33:27.000000000","message":"Heh, I\u0027d already done it when it was approved :) I\u0027ll back it out.","commit_id":"15f60cd3bcb2acb654aaaa3abf5599bbbad32b84"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"5f3cb3aa1e9c9b144f5bd367f2da13a6a2d46df2","unresolved":false,"context_lines":[{"line_number":87,"context_line":"  destinations."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"The map will be added to a \u0027libvirt-storage-pool\u0027 key in the instance\u0027s system"},{"line_number":90,"context_line":"metadata. It will consist of the following data, json encoded::"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"  {"},{"line_number":93,"context_line":"      \u0027host\u0027: the destination host"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba8a016a_e7ebc1da","line":90,"updated":"2015-11-24 10:40:20.000000000","message":"I guess you are suggesting using system metadata since the RPC APis don\u0027t have  way to pass data between source \u0026 dest hosts ?  Feel like it might be worth just adding such capability to the RPC API instead of passing data out of band via system_metadata","commit_id":"15f60cd3bcb2acb654aaaa3abf5599bbbad32b84"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"5434ac76241bb2094db5db91a325fd2c210d049a","unresolved":false,"context_lines":[{"line_number":87,"context_line":"  destinations."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"The map will be added to a \u0027libvirt-storage-pool\u0027 key in the instance\u0027s system"},{"line_number":90,"context_line":"metadata. It will consist of the following data, json encoded::"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"  {"},{"line_number":93,"context_line":"      \u0027host\u0027: the destination host"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_2c684af5","line":90,"in_reply_to":"ba8a016a_e7ebc1da","updated":"2015-11-24 14:33:27.000000000","message":"Was about to say see my comment suggesting exactly this below, but I didn\u0027t resubmit it for this new version :/\n\nMy concern is around supportability in the rpc api. Because this is a driver-specific blob of data, I don\u0027t think we\u0027d be able to put it in a versioned object: each driver would want its own object. Unless the rpc layer supports polymorphism, this isn\u0027t going to fly.\n\nThe other possibility is that we try to make this generally applicable across all (or at least, many) drivers.","commit_id":"15f60cd3bcb2acb654aaaa3abf5599bbbad32b84"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"5434ac76241bb2094db5db91a325fd2c210d049a","unresolved":false,"context_lines":[{"line_number":93,"context_line":"      \u0027host\u0027: the destination host"},{"line_number":94,"context_line":"      \u0027images\u0027: { \u003cimage uuid\u003e: \u003cimage destination pool\u003e }"},{"line_number":95,"context_line":"      \u0027disks\u0027: { \u003cbdm id\u003e : \u003cdestination pool\u003e }"},{"line_number":96,"context_line":"  }"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Note that there may be multiple images. An image will only be listed in"},{"line_number":99,"context_line":"\u0027images\u0027 if the source host must send a copy to the destination host from its"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba8a016a_6fbd6d67","line":96,"updated":"2015-11-24 14:33:27.000000000","message":"I feel it would be better to pass this around over rpc as an opaque blob of driver data. resize_instance would get an additional optional rpc argument: driver_opaque. It would contain this data. sysmeta wouldn\u0027t be touched. Apart from not touching the db, this would have the advantage of not storing the ephemeral state of a single call in global data. This seems less racy/prone to unpredictable behaviour, and we don\u0027t have to worry about leaving persistent stale data behind if something fails.\n\nOn the down side, it would require a change to rpc.","commit_id":"15f60cd3bcb2acb654aaaa3abf5599bbbad32b84"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"5f3cb3aa1e9c9b144f5bd367f2da13a6a2d46df2","unresolved":false,"context_lines":[{"line_number":98,"context_line":"Note that there may be multiple images. An image will only be listed in"},{"line_number":99,"context_line":"\u0027images\u0027 if the source host must send a copy to the destination host from its"},{"line_number":100,"context_line":"image cache. If the destination already has it, or can get it from glance, it"},{"line_number":101,"context_line":"will not be listed."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"When the source host runs :code:`resize_instance` it will check system metadata"},{"line_number":104,"context_line":"for this data. If it doesn\u0027t exist, or if the destination host in the data"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba8a016a_a70b79d5","line":101,"updated":"2015-11-24 10:40:20.000000000","message":"Can you clarify the meaning of \"images\" here. Are you specifically referring to glance images (ie only the unmodified shared backing files), or are you referring to the instance disk images (the unmodified shared backing files *and* the per-instance overlay). I\u0027m assuming the latter, but want clarity - might be better to use \u0027files\u0027 rather than \u0027images\u0027.","commit_id":"15f60cd3bcb2acb654aaaa3abf5599bbbad32b84"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"5434ac76241bb2094db5db91a325fd2c210d049a","unresolved":false,"context_lines":[{"line_number":98,"context_line":"Note that there may be multiple images. An image will only be listed in"},{"line_number":99,"context_line":"\u0027images\u0027 if the source host must send a copy to the destination host from its"},{"line_number":100,"context_line":"image cache. If the destination already has it, or can get it from glance, it"},{"line_number":101,"context_line":"will not be listed."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"When the source host runs :code:`resize_instance` it will check system metadata"},{"line_number":104,"context_line":"for this data. If it doesn\u0027t exist, or if the destination host in the data"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_ec3fa2d4","line":101,"in_reply_to":"ba8a016a_a70b79d5","updated":"2015-11-24 14:33:27.000000000","message":"I specifically meant glance images, actually. The data model of block device mappings allow this, although there may be other code which prevents it from happening. I think, defensively, it\u0027s better to assume here that we may have to transfer multiple images.\n\nI\u0027ll tidy up the language in this whole paragraph.","commit_id":"15f60cd3bcb2acb654aaaa3abf5599bbbad32b84"}]}
