)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c90aa1bec94471b17a16baadfd1553c0bf26e976","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Mikhail Feoktistov \u003cmfeoktistov@virtuozzo.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-12-16 12:15:53 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"raise exception if create Virtuozzo container with swap disk"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Virtuozzo containers based on OS-level virtualization."},{"line_number":10,"context_line":"They can\u0027t use swap as additional disk."},{"line_number":11,"context_line":"So Virtuozzo doesn\u0027t support swap in terms of OpenStack."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I1a17d9af3050fe70d49adfb7e65d6b292b6a52f5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"df140735_8de5480d","line":11,"range":{"start_line":7,"start_character":0,"end_line":11,"end_character":56},"updated":"2017-06-07 17:43:19.000000000","message":"This doesn\u0027t explain the relationship between the change and the problem. Please file a bug report on the launchpad and includes the bug number on the commit message at least.\n\nIt is hard to review this patch now.","commit_id":"f9bf2299ae3ee3f3d757fcc1a4e15a0ed3f675ab"},{"author":{"_account_id":15847,"name":"Mikhail Feoktistov","email":"mfeoktistov@virtuozzo.com","username":"mfeoktistov"},"change_message_id":"71695f82a0bb6dae64bf1c74431b111f03dcb065","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Mikhail Feoktistov \u003cmfeoktistov@virtuozzo.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-12-16 12:15:53 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"raise exception if create Virtuozzo container with swap disk"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Virtuozzo containers based on OS-level virtualization."},{"line_number":10,"context_line":"They can\u0027t use swap as additional disk."},{"line_number":11,"context_line":"So Virtuozzo doesn\u0027t support swap in terms of OpenStack."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I1a17d9af3050fe70d49adfb7e65d6b292b6a52f5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"bf091321_d1cbf11b","line":11,"range":{"start_line":7,"start_character":0,"end_line":11,"end_character":56},"in_reply_to":"df140735_8de5480d","updated":"2017-06-08 10:27:17.000000000","message":"Done","commit_id":"f9bf2299ae3ee3f3d757fcc1a4e15a0ed3f675ab"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1b9c6377c323765702dc9a4c4280d9d3be36403c","unresolved":false,"context_lines":[{"line_number":12,"context_line":"We should fail \"nova boot\" operation if"},{"line_number":13,"context_line":"user try to create Virtuozzo container which is based on flavor with swap disk."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"In this patch we move the code which checks swap disk"},{"line_number":16,"context_line":"to the beginning of the function."},{"line_number":17,"context_line":"We should check swap disk before creating ephemeral and root disk, because"},{"line_number":18,"context_line":"in case of error we don\u0027t need to delete created disks."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Closes-Bug: 1696697"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"7f231b9d_1c14cb4d","line":18,"range":{"start_line":15,"start_character":0,"end_line":18,"end_character":55},"updated":"2017-06-12 15:40:09.000000000","message":"I\u0027d rather this had been split into a second patch to make the purpose clearer. I guess this does help with backports though, where necessary","commit_id":"67a0a211d4de315f0c86c504e45536631a9573f0"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":21284,"name":"Pavel Gluschak (scsnow)","email":"pglushchak@virtuozzo.com","username":"scsnow"},"change_message_id":"048d9756e95820c2786018d81dfe96ca3d83340e","unresolved":false,"context_lines":[{"line_number":3100,"context_line":""},{"line_number":3101,"context_line":"            if swap_mb \u003e 0:"},{"line_number":3102,"context_line":"                if (CONF.libvirt.virt_type \u003d\u003d \"parallels\" and"},{"line_number":3103,"context_line":"                    vm_mode.EXE \u003d\u003d vm_mode.get_from_instance(instance)):"},{"line_number":3104,"context_line":"                    msg \u003d _(\"Swap disk is not supported \""},{"line_number":3105,"context_line":"                            \"for virtuozzo container\")"},{"line_number":3106,"context_line":"                    raise exception.Invalid(msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a77a97e_e285ab59","line":3103,"updated":"2016-11-21 12:45:29.000000000","message":"pep8: better to add additional 4 spaces indent to this line","commit_id":"19e8f51ef9b357242e35a7d6886124b408834382"},{"author":{"_account_id":21284,"name":"Pavel Gluschak (scsnow)","email":"pglushchak@virtuozzo.com","username":"scsnow"},"change_message_id":"048d9756e95820c2786018d81dfe96ca3d83340e","unresolved":false,"context_lines":[{"line_number":3102,"context_line":"                if (CONF.libvirt.virt_type \u003d\u003d \"parallels\" and"},{"line_number":3103,"context_line":"                    vm_mode.EXE \u003d\u003d vm_mode.get_from_instance(instance)):"},{"line_number":3104,"context_line":"                    msg \u003d _(\"Swap disk is not supported \""},{"line_number":3105,"context_line":"                            \"for virtuozzo container\")"},{"line_number":3106,"context_line":"                    raise exception.Invalid(msg)"},{"line_number":3107,"context_line":"                size \u003d swap_mb * units.Mi"},{"line_number":3108,"context_line":"                image(\u0027disk.swap\u0027).cache(fetch_func\u003dself._create_swap,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a77a97e_6708cd2e","line":3105,"updated":"2016-11-21 12:45:29.000000000","message":"nit: Virtuozzo","commit_id":"19e8f51ef9b357242e35a7d6886124b408834382"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"4cf7cb52179a45e383db408c193e8914e1da42a3","unresolved":false,"context_lines":[{"line_number":3126,"context_line":"                    swap_mb \u003d inst_type[\u0027swap\u0027]"},{"line_number":3127,"context_line":""},{"line_number":3128,"context_line":"            if swap_mb \u003e 0:"},{"line_number":3129,"context_line":"                if (CONF.libvirt.virt_type \u003d\u003d \"parallels\" and"},{"line_number":3130,"context_line":"                        instance.vm_mode \u003d\u003d fields.VMMode.EXE):"},{"line_number":3131,"context_line":"                    msg \u003d _(\"Swap disk is not supported \""},{"line_number":3132,"context_line":"                            \"for Virtuozzo container\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a71b18c_f9016139","line":3129,"updated":"2016-12-05 11:01:29.000000000","message":"We should really have a constant here","commit_id":"d705dad42f1af4bf65779ac067a7db0c81c03300"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"7213c0b70032b7a93f3e223a5aca586e18d1e9ae","unresolved":false,"context_lines":[{"line_number":3126,"context_line":"                    swap_mb \u003d inst_type[\u0027swap\u0027]"},{"line_number":3127,"context_line":""},{"line_number":3128,"context_line":"            if swap_mb \u003e 0:"},{"line_number":3129,"context_line":"                if (CONF.libvirt.virt_type \u003d\u003d \"parallels\" and"},{"line_number":3130,"context_line":"                        instance.vm_mode \u003d\u003d fields.VMMode.EXE):"},{"line_number":3131,"context_line":"                    msg \u003d _(\"Swap disk is not supported \""},{"line_number":3132,"context_line":"                            \"for Virtuozzo container\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a71b18c_3c8ca77e","line":3129,"in_reply_to":"3a71b18c_f9016139","updated":"2016-12-05 11:02:51.000000000","message":"(This comment does not have to be addressed here, it\u0027s just an indication o what we should do in the future)","commit_id":"d705dad42f1af4bf65779ac067a7db0c81c03300"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"4cf7cb52179a45e383db408c193e8914e1da42a3","unresolved":false,"context_lines":[{"line_number":3130,"context_line":"                        instance.vm_mode \u003d\u003d fields.VMMode.EXE):"},{"line_number":3131,"context_line":"                    msg \u003d _(\"Swap disk is not supported \""},{"line_number":3132,"context_line":"                            \"for Virtuozzo container\")"},{"line_number":3133,"context_line":"                    raise exception.Invalid(msg)"},{"line_number":3134,"context_line":"                size \u003d swap_mb * units.Mi"},{"line_number":3135,"context_line":"                image(\u0027disk.swap\u0027).cache(fetch_func\u003dself._create_swap,"},{"line_number":3136,"context_line":"                                         context\u003dcontext,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a71b18c_bc2357a6","line":3133,"updated":"2016-12-05 11:01:29.000000000","message":"You can\u0027t really do that here, at this step of the process we will have created root disk, and ephemeral disks. You should have this check earlier.","commit_id":"d705dad42f1af4bf65779ac067a7db0c81c03300"},{"author":{"_account_id":15847,"name":"Mikhail Feoktistov","email":"mfeoktistov@virtuozzo.com","username":"mfeoktistov"},"change_message_id":"8e1085f38f1e7f473361d1741ed296fabd5564e2","unresolved":false,"context_lines":[{"line_number":3130,"context_line":"                        instance.vm_mode \u003d\u003d fields.VMMode.EXE):"},{"line_number":3131,"context_line":"                    msg \u003d _(\"Swap disk is not supported \""},{"line_number":3132,"context_line":"                            \"for Virtuozzo container\")"},{"line_number":3133,"context_line":"                    raise exception.Invalid(msg)"},{"line_number":3134,"context_line":"                size \u003d swap_mb * units.Mi"},{"line_number":3135,"context_line":"                image(\u0027disk.swap\u0027).cache(fetch_func\u003dself._create_swap,"},{"line_number":3136,"context_line":"                                         context\u003dcontext,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6eadb0_4dc55459","line":3133,"in_reply_to":"3a71b18c_bc2357a6","updated":"2016-12-14 14:14:25.000000000","message":"In this function we have similar case for ephemeral disks\n\nif specified_fs and not self.is_supported_fs_format(specified_fs):\n    msg \u003d _(\"%s format is not supported\") % specified_fs\n    raise exception.InvalidBDMFormat(details\u003dmsg)\n\nIf we can\u0027t create swap disk then we will delete root and ephemeral disks in cleanup proc.\n\nMy suggestion is to get swap size and check virtuozzo hypervisor at the beginning of the function. Then create root, ephemeral and swap disks.\nI\u0027ll send new version of this patch.","commit_id":"d705dad42f1af4bf65779ac067a7db0c81c03300"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c90aa1bec94471b17a16baadfd1553c0bf26e976","unresolved":false,"context_lines":[{"line_number":3050,"context_line":"                    swap_mb \u003d inst_type[\u0027swap\u0027]"},{"line_number":3051,"context_line":""},{"line_number":3052,"context_line":"            if swap_mb \u003e 0:"},{"line_number":3053,"context_line":"                if (CONF.libvirt.virt_type \u003d\u003d \"parallels\" and"},{"line_number":3054,"context_line":"                        instance.vm_mode \u003d\u003d fields.VMMode.EXE):"},{"line_number":3055,"context_line":"                    msg \u003d _(\"Swap disk is not supported \""},{"line_number":3056,"context_line":"                            \"for Virtuozzo container\")"},{"line_number":3057,"context_line":"                    raise exception.Invalid(msg)"},{"line_number":3058,"context_line":""},{"line_number":3059,"context_line":"        if not disk_images:"},{"line_number":3060,"context_line":"            disk_images \u003d {\u0027image_id\u0027: instance.image_ref,"}],"source_content_type":"text/x-python","patch_set":8,"id":"df140735_0d61383a","line":3057,"range":{"start_line":3053,"start_character":0,"end_line":3057,"end_character":48},"updated":"2017-06-07 17:43:19.000000000","message":"Why don\u0027t you just add this part to the existing code without moving?\n\nThis condition(CONF.libvirt.virt_type \u003d\u003d \"parallels\") shows the effective part is for Virtuozzo and reviewers could be confident to +1 on the part. But the commit message doesn\u0027t explain the additional move. So it is hard to know the reason.","commit_id":"f9bf2299ae3ee3f3d757fcc1a4e15a0ed3f675ab"},{"author":{"_account_id":15847,"name":"Mikhail Feoktistov","email":"mfeoktistov@virtuozzo.com","username":"mfeoktistov"},"change_message_id":"71695f82a0bb6dae64bf1c74431b111f03dcb065","unresolved":false,"context_lines":[{"line_number":3050,"context_line":"                    swap_mb \u003d inst_type[\u0027swap\u0027]"},{"line_number":3051,"context_line":""},{"line_number":3052,"context_line":"            if swap_mb \u003e 0:"},{"line_number":3053,"context_line":"                if (CONF.libvirt.virt_type \u003d\u003d \"parallels\" and"},{"line_number":3054,"context_line":"                        instance.vm_mode \u003d\u003d fields.VMMode.EXE):"},{"line_number":3055,"context_line":"                    msg \u003d _(\"Swap disk is not supported \""},{"line_number":3056,"context_line":"                            \"for Virtuozzo container\")"},{"line_number":3057,"context_line":"                    raise exception.Invalid(msg)"},{"line_number":3058,"context_line":""},{"line_number":3059,"context_line":"        if not disk_images:"},{"line_number":3060,"context_line":"            disk_images \u003d {\u0027image_id\u0027: instance.image_ref,"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf091321_31fd8d3a","line":3057,"range":{"start_line":3053,"start_character":0,"end_line":3057,"end_character":48},"in_reply_to":"df140735_0d61383a","updated":"2017-06-08 10:27:17.000000000","message":"Commit message was updated.\n\nIn this patch we move the code which checks swap disk\nto the beginning of the function.\nWe should check swap disk before creating ephemeral and root disk, because\nin case of error we don\u0027t need to delete created disks.","commit_id":"f9bf2299ae3ee3f3d757fcc1a4e15a0ed3f675ab"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1b9c6377c323765702dc9a4c4280d9d3be36403c","unresolved":false,"context_lines":[{"line_number":3118,"context_line":""},{"line_number":3119,"context_line":"        LOG.info(_LI(\u0027Creating image\u0027), instance\u003dinstance)"},{"line_number":3120,"context_line":""},{"line_number":3121,"context_line":"        inst_type \u003d instance.get_flavor()"},{"line_number":3122,"context_line":"        swap_mb \u003d 0"},{"line_number":3123,"context_line":"        if \u0027disk.swap\u0027 in disk_mapping:"},{"line_number":3124,"context_line":"            mapping \u003d disk_mapping[\u0027disk.swap\u0027]"}],"source_content_type":"text/x-python","patch_set":9,"id":"7f231b9d_973554dd","line":3121,"range":{"start_line":3121,"start_character":0,"end_line":3121,"end_character":41},"updated":"2017-06-12 15:40:09.000000000","message":"nit: this looks like it could go inside the if-statement?","commit_id":"67a0a211d4de315f0c86c504e45536631a9573f0"}]}
