)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5ddb7f4ab045dec7b2c9775ab865745ad795e47e","unresolved":false,"context_lines":[{"line_number":11,"context_line":"starts to be able to run instances with different types of images"},{"line_number":12,"context_line":"on the same compute node, which adds flexibility to operators and"},{"line_number":13,"context_line":"reduces time of instance spawning by escaping image conversions"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Implements: blueprint runtime-image-type"},{"line_number":16,"context_line":"Change-Id: I1c0bb756a203932d234c16f65500a68cef7136e9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da36d5c6_fbcf4453","line":14,"updated":"2017-02-24 21:04:22.000000000","message":"Add this tag to the commit message:\n\nPreviously-approved: Mitaka","commit_id":"a2de4e0ded11a2d128b535530e0783f3cb8bf9bb"}],"specs/pike/approved/runtime-image-type.rst":[{"author":{"_account_id":21284,"name":"Pavel Gluschak (scsnow)","email":"pglushchak@virtuozzo.com","username":"scsnow"},"change_message_id":"21ce93c07beba303a885da3fc818c8500950bd35","unresolved":false,"context_lines":[{"line_number":22,"context_line":"Currently nova libvirt driver sticks to a configured by a nova.conf image type."},{"line_number":23,"context_line":"It is not possible to use supplied image without conversion in case it differs"},{"line_number":24,"context_line":"from specified or default one. Libvirt currently supports the following image"},{"line_number":25,"context_line":"backends: RBD, LVM, QCOW2, RAW, PLOOP. It is inflexible to limit one node just"},{"line_number":26,"context_line":"for one type of image."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_ede10bd2","line":25,"range":{"start_line":25,"start_character":27,"end_line":25,"end_character":30},"updated":"2017-02-10 09:02:30.000000000","message":"Flat","commit_id":"a2de4e0ded11a2d128b535530e0783f3cb8bf9bb"},{"author":{"_account_id":21284,"name":"Pavel Gluschak (scsnow)","email":"pglushchak@virtuozzo.com","username":"scsnow"},"change_message_id":"21ce93c07beba303a885da3fc818c8500950bd35","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Proposed change"},{"line_number":36,"context_line":"\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":"LibvirtDriver has a field called image_backend which is initialized just once"},{"line_number":39,"context_line":"when compute service starts. Let it be in an instance property rather than a"},{"line_number":40,"context_line":"property of the compute service."},{"line_number":41,"context_line":"So, we introduce a new parameter CONF.libvirt.images_type_mapping, which"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_8d208ff9","line":38,"range":{"start_line":38,"start_character":33,"end_line":38,"end_character":46},"updated":"2017-02-10 09:02:30.000000000","message":"This is not actually a reference to single image backend, but rather a factory that provides access to all available backends.","commit_id":"a2de4e0ded11a2d128b535530e0783f3cb8bf9bb"},{"author":{"_account_id":21284,"name":"Pavel Gluschak (scsnow)","email":"pglushchak@virtuozzo.com","username":"scsnow"},"change_message_id":"21ce93c07beba303a885da3fc818c8500950bd35","unresolved":false,"context_lines":[{"line_number":36,"context_line":"\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":"LibvirtDriver has a field called image_backend which is initialized just once"},{"line_number":39,"context_line":"when compute service starts. Let it be in an instance property rather than a"},{"line_number":40,"context_line":"property of the compute service."},{"line_number":41,"context_line":"So, we introduce a new parameter CONF.libvirt.images_type_mapping, which"},{"line_number":42,"context_line":"controls image_backend in a more sophisticated way. This new configuration"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_0dd1ffcd","line":39,"range":{"start_line":39,"start_character":45,"end_line":39,"end_character":62},"updated":"2017-02-10 09:02:30.000000000","message":"Likely this should be a new flavor extra spec.","commit_id":"a2de4e0ded11a2d128b535530e0783f3cb8bf9bb"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"81bd2fcbbc789683eaf909b98771f93b947517fa","unresolved":false,"context_lines":[{"line_number":53,"context_line":"Correctness of the supplied CONF.libvirt.images_type_mapping should be made by"},{"line_number":54,"context_line":"code. In case of invalid input an exception should be thrown by a parsing"},{"line_number":55,"context_line":"function."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Examples:"},{"line_number":58,"context_line":"---------"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"da36d5c6_e3a4f24b","line":56,"updated":"2017-02-25 10:35:26.000000000","message":"I guess this affects at least scheduling, migrations, both cold and live. Could you clarify this?\n\nAlso snapshot_image_format. Technically it may stay the single, but does this correspond expectations of using that image type mapping?","commit_id":"a2de4e0ded11a2d128b535530e0783f3cb8bf9bb"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"d7bc5a93484ac78638aeab723369ae9377595f41","unresolved":false,"context_lines":[{"line_number":53,"context_line":"Correctness of the supplied CONF.libvirt.images_type_mapping should be made by"},{"line_number":54,"context_line":"code. In case of invalid input an exception should be thrown by a parsing"},{"line_number":55,"context_line":"function."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Examples:"},{"line_number":58,"context_line":"---------"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"da36d5c6_a3c5760b","line":56,"in_reply_to":"da36d5c6_12f7728d","updated":"2017-02-27 15:58:28.000000000","message":"\u003e Could you please point where is it done?\n\nHere is the dependency on images_type (https://github.com/openstack/nova/blob/37ddf245929ea74d79e04d057107e364926a7a70/nova/virt/libvirt/driver.py#L5117-L5137), and here is the check based on free space (https://github.com/openstack/nova/blob/master/nova/scheduler/filters/disk_filter.py#L34)","commit_id":"a2de4e0ded11a2d128b535530e0783f3cb8bf9bb"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"0cf7b902e770cdeb348f7e61ffb5a950cf6cc741","unresolved":false,"context_lines":[{"line_number":53,"context_line":"Correctness of the supplied CONF.libvirt.images_type_mapping should be made by"},{"line_number":54,"context_line":"code. In case of invalid input an exception should be thrown by a parsing"},{"line_number":55,"context_line":"function."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Examples:"},{"line_number":58,"context_line":"---------"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"da36d5c6_cff1b103","line":56,"in_reply_to":"da36d5c6_7e7b1ebe","updated":"2017-02-27 14:13:58.000000000","message":"At the moment a host reports its local disk capacity for images_type backend. If that backend has enough space to host the disk, the scheduler puts an instance to the host. But if the host uses another backend for the used image type, and that backend has no space, the launch will fail on the node.\n\nLive migration selects a node with the same (or compatible) image backend. Obviously this logic must be upgraded to consider images_type_mapping.\n\nCold migration is used for resize for example. Nova (scheduler?) selects another host which is able to host increased instance\u0027s disks. It avoids incompatible hosts. This logic will require an upgrade as well.\n\nPerhaps you\u0027re right about new snapshot_image_format behavior. But it should be written here, shouldn\u0027t it?","commit_id":"a2de4e0ded11a2d128b535530e0783f3cb8bf9bb"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"32d8cc1df2c871c5427ac3a34d64dd83b77b1a18","unresolved":false,"context_lines":[{"line_number":53,"context_line":"Correctness of the supplied CONF.libvirt.images_type_mapping should be made by"},{"line_number":54,"context_line":"code. In case of invalid input an exception should be thrown by a parsing"},{"line_number":55,"context_line":"function."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Examples:"},{"line_number":58,"context_line":"---------"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"da36d5c6_723349f7","line":56,"in_reply_to":"da36d5c6_a3c5760b","updated":"2017-02-27 16:24:54.000000000","message":"Aah, you mean rbd and lvm backends. Yeah, I see the problem now. I had file backends in my mind though I mentioned lvm and rbd in the spec. I\u0027ll update the spec accordinly.\nThanks for links though.","commit_id":"a2de4e0ded11a2d128b535530e0783f3cb8bf9bb"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"23e858d0d17b671d58afac6868d7be16e0eb8962","unresolved":false,"context_lines":[{"line_number":53,"context_line":"Correctness of the supplied CONF.libvirt.images_type_mapping should be made by"},{"line_number":54,"context_line":"code. In case of invalid input an exception should be thrown by a parsing"},{"line_number":55,"context_line":"function."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Examples:"},{"line_number":58,"context_line":"---------"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"da36d5c6_12f7728d","line":56,"in_reply_to":"da36d5c6_cff1b103","updated":"2017-02-27 14:43:48.000000000","message":"\u003e At the moment a host reports its local disk capacity for images_type backend. If that backend has enough space to host the disk, the scheduler puts an instance to the host.\nCould you please point where is it done?\n\nSure, I\u0027ll update the spec with all the necessary changes implied implicitly.","commit_id":"a2de4e0ded11a2d128b535530e0783f3cb8bf9bb"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"b67464607d7f23e876d6e5d9ff9ec5cb57b2193b","unresolved":false,"context_lines":[{"line_number":53,"context_line":"Correctness of the supplied CONF.libvirt.images_type_mapping should be made by"},{"line_number":54,"context_line":"code. In case of invalid input an exception should be thrown by a parsing"},{"line_number":55,"context_line":"function."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Examples:"},{"line_number":58,"context_line":"---------"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"da36d5c6_7e7b1ebe","line":56,"in_reply_to":"da36d5c6_e3a4f24b","updated":"2017-02-27 12:37:17.000000000","message":"Didn\u0027t get how it affects scheduler. None of know to me filters filters out by configuration options. Am I wrong? \nIf migration is affected by this newly introduced parameter, then it is affected by images_type parametes either, i.e. I mean that changing images_type via config and restarting nova-comute must be prohibited once we have an instance spawned. If it is so, then it is a bug which should be fixed. In my opinion, images_type parameter and images_type_mapping parameters should only affect initial backend choosing and nothing more. If we rely on config option as on something persistent, well, we should at least document it, but in general we shouldn\u0027t as I think it is misbehavior.\n\nAs for \u0027snapshot_image_format\u0027, I\u0027m sure it has to depend only on created disk format type rather than config option.","commit_id":"a2de4e0ded11a2d128b535530e0783f3cb8bf9bb"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"a889651d5f9b12ce03584373f5ddbe6729bcdcaa","unresolved":false,"context_lines":[{"line_number":205,"context_line":"     - Description"},{"line_number":206,"context_line":"   * - Mitaka"},{"line_number":207,"context_line":"     - Approved."},{"line_number":208,"context_line":"   * - Ocata"},{"line_number":209,"context_line":"     - Re-introduced."}],"source_content_type":"text/x-rst","patch_set":2,"id":"da36d5c6_5b2e90fb","line":208,"range":{"start_line":208,"start_character":7,"end_line":208,"end_character":12},"updated":"2017-02-24 21:05:03.000000000","message":"Nit: Pike","commit_id":"a2de4e0ded11a2d128b535530e0783f3cb8bf9bb"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0eb34d08dd231698a4c6fe28c9409e48be527c35","unresolved":false,"context_lines":[{"line_number":205,"context_line":"     - Description"},{"line_number":206,"context_line":"   * - Mitaka"},{"line_number":207,"context_line":"     - Approved."},{"line_number":208,"context_line":"   * - Ocata"},{"line_number":209,"context_line":"     - Re-introduced."}],"source_content_type":"text/x-rst","patch_set":2,"id":"da36d5c6_7b0a748b","line":208,"range":{"start_line":208,"start_character":7,"end_line":208,"end_character":12},"updated":"2017-02-24 21:04:50.000000000","message":"Pike","commit_id":"a2de4e0ded11a2d128b535530e0783f3cb8bf9bb"}]}
