)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"562556615141ec7d68961c3247dd93dd7ddba605","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Allow backup operation in paused and suspend state when Server booted from Volume"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Snapshot operation allows paused and suspend instance to be executed, this also should be applied to backup operation."},{"line_number":10,"context_line":"This patch fixes the corner case of when a instance is booted from volume."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This is related to:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa0719c6_641fba5f","line":9,"updated":"2016-03-22 15:31:37.000000000","message":"According to https://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure\n\n* The first line should be limited to 50 characters and should not end with a period.\n* Subsequent lines should be wrapped at 72 characters.","commit_id":"eb0d75f1641e8b86f778c99248ae798c220e59dd"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"9ba60ca3a3a79db36784f899450df2963e858054","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Saverio Proto \u003csaverio.proto@switch.ch\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-03-23 09:04:12 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Allow backup operation in paused and suspend state"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"also for volume backed instances."},{"line_number":10,"context_line":"Snapshot operation allows paused and suspend instance to be executed, this also should be applied to backup operation."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa0719c6_b14a8f24","line":7,"updated":"2016-03-23 09:06:53.000000000","message":"You can rephrase it to something like \"Allow snapshot_volume_backed in pause/suspended states\"","commit_id":"b49e499aa5eeb428e2943aa1e7eb2eab388045a1"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"9ba60ca3a3a79db36784f899450df2963e858054","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Allow backup operation in paused and suspend state"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"also for volume backed instances."},{"line_number":10,"context_line":"Snapshot operation allows paused and suspend instance to be executed, this also should be applied to backup operation."},{"line_number":11,"context_line":"This patch fixes the corner case of when a instance is booted from volume."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This is related to:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa0719c6_3165dfb4","line":10,"updated":"2016-03-23 09:06:53.000000000","message":"This line should break at 72 characters","commit_id":"b49e499aa5eeb428e2943aa1e7eb2eab388045a1"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"9ba60ca3a3a79db36784f899450df2963e858054","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"also for volume backed instances."},{"line_number":10,"context_line":"Snapshot operation allows paused and suspend instance to be executed, this also should be applied to backup operation."},{"line_number":11,"context_line":"This patch fixes the corner case of when a instance is booted from volume."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This is related to:"},{"line_number":14,"context_line":"https://review.openstack.org/#/c/116789/"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa0719c6_7112b70a","line":11,"updated":"2016-03-23 09:06:53.000000000","message":"This one too","commit_id":"b49e499aa5eeb428e2943aa1e7eb2eab388045a1"}],"nova/compute/api.py":[{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"562556615141ec7d68961c3247dd93dd7ddba605","unresolved":false,"context_lines":[{"line_number":2294,"context_line":"    # NOTE(melwitt): We don\u0027t check instance lock for snapshot because lock is"},{"line_number":2295,"context_line":"    #                intended to prevent accidental change/delete of instances"},{"line_number":2296,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE, vm_states.STOPPED,"},{"line_number":2297,"context_line":"                          vm_states.PAUSED, vm_states.SUSPENDED])"},{"line_number":2298,"context_line":"    def snapshot_volume_backed(self, context, instance, name,"},{"line_number":2299,"context_line":"                               extra_properties\u003dNone):"},{"line_number":2300,"context_line":"        \"\"\"Snapshot the given volume-backed instance."}],"source_content_type":"text/x-python","patch_set":1,"id":"fa0719c6_015b5055","line":2297,"updated":"2016-03-22 15:31:37.000000000","message":"Indentation is wrong there. Also, can we have a test there to make sure no-one removes it in the future? Test like this one:\nhttps://review.openstack.org/#/c/116789/3/nova/tests/compute/test_compute_api.py@1613","commit_id":"eb0d75f1641e8b86f778c99248ae798c220e59dd"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"5e0bda2d707a0dc2c1513f1cf14be49b0fcf79a1","unresolved":false,"context_lines":[{"line_number":2327,"context_line":"    # NOTE(melwitt): We don\u0027t check instance lock for snapshot because lock is"},{"line_number":2328,"context_line":"    #                intended to prevent accidental change/delete of instances"},{"line_number":2329,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE, vm_states.STOPPED,"},{"line_number":2330,"context_line":"                                    vm_states.PAUSED, vm_states.SUSPENDED])"},{"line_number":2331,"context_line":"    def snapshot_volume_backed(self, context, instance, name,"},{"line_number":2332,"context_line":"                               extra_properties\u003dNone):"},{"line_number":2333,"context_line":"        \"\"\"Snapshot the given volume-backed instance."}],"source_content_type":"text/x-python","patch_set":8,"id":"1a122d0e_7d3b1039","line":2330,"updated":"2016-04-21 21:25:50.000000000","message":"PAUSED is not safe for snapshot of a volume backed instance because putting an instance into PAUSED state will not save its memory state to disk -- it does a virt domain suspend [1]. Putting an instance into PAUSED state does a virt domain managed save [2] which saves memory to disk.\n\nNotice \"snapshot_volume_backed\" doesn\u0027t make any calls to compute to do anything to change the domain state via the libvirt driver.\n\nThe reason PAUSED is okay for \"snapshot\" is because the libvirt driver suspends the instance if the power state is PAUSED [3] before doing the snapshot.\n\n\n[1] http://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSuspend\n[2] http://libvirt.org/html/libvirt-libvirt-domain.html#virDomainManagedSave\n[3] https://github.com/openstack/nova/blob/5538efa/nova/virt/libvirt/driver.py#L1758-L1759","commit_id":"05a18cdfff2c8002158da07d145bbe4d58c912a6"}],"nova/tests/unit/compute/test_compute_api.py":[{"author":{"_account_id":6908,"name":"Simon Leinen","email":"simon.leinen@gmail.com","username":"simon-leinen"},"change_message_id":"7ffdd190f04f8ba43e0b6849ee3025bb6b7dffbe","unresolved":false,"context_lines":[{"line_number":2349,"context_line":"    def test_snapshot_volume_backed(self):"},{"line_number":2350,"context_line":"        for state in [vm_states.ACTIVE, vm_states.STOPPED,"},{"line_number":2351,"context_line":"                      vm_states.PAUSED, vm_states.SUSPENDED]:"},{"line_number":2352,"context_line":"            self._test_snapshot_volume_backed(False, False)"},{"line_number":2353,"context_line":""},{"line_number":2354,"context_line":"    def test_snapshot_volume_backed_with_quiesce(self):"},{"line_number":2355,"context_line":"        self._test_snapshot_volume_backed(True, False)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa0719c6_eae08c98","line":2352,"updated":"2016-03-23 10:00:23.000000000","message":"You need to pass \"vm_state\u003dstate\" as an additional argument, otherwise you\u0027ll just perform the test four times with the default state.","commit_id":"6aaec7bda2cee2f80613b2965c462ab24bc6264b"}]}
