)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":17386,"name":"Steve Noyes","email":"steve.noyes@oracle.com","username":"ssn1ssn"},"change_message_id":"ede6035e1b02a492bf1ad629860d4974f14d676f","unresolved":false,"context_lines":[{"line_number":12,"context_line":"the guest is not active."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Iff17f7cee7a56037b35d1a361a0b3279d0a885d6"},{"line_number":15,"context_line":"Closes-Bug: #1635657"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1a1ced50_75f2f9d3","line":15,"updated":"2017-03-20 13:31:15.000000000","message":"I would suggest that the bug that this fixes is bug 1673090.\nThe wrong disk id in the \u0027serial\u0027 field occurs regardless of\nthe state of the instance. That will need a different change.","commit_id":"fe624f33c88e7c0123241117654e5116a8537045"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9ecc275cc829622a4aa9a2253790096f7abb41be","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Parent:     d36dcd52 (Merge \"Remove usage of kwarg retry_on_request in API\")"},{"line_number":2,"context_line":"Author:     Mark Giles \u003cmark.giles@oracle.com\u003e"},{"line_number":3,"context_line":"AuthorDate: 2017-07-24 12:46:21 -0400"},{"line_number":4,"context_line":"Commit:     Chris Dent \u003ccdent@anticdent.org\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-10-26 11:14:24 +0000"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"7f96bb07_cb3756e3","line":2,"updated":"2018-01-15 15:13:23.000000000","message":"Diana was the original author.","commit_id":"b40d949b3137473227949b597b2a61da41752ee5"}],"nova/compute/api.py":[{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"3a6dd871b5581669d20098796a1fa1bf80baa387","unresolved":false,"context_lines":[{"line_number":3707,"context_line":"    @check_instance_lock"},{"line_number":3708,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE, vm_states.PAUSED,"},{"line_number":3709,"context_line":"                                    vm_states.SUSPENDED, vm_states.RESIZED,"},{"line_number":3710,"context_line":"                                    vm_states.SOFT_DELETED])"},{"line_number":3711,"context_line":"    def swap_volume(self, context, instance, old_volume, new_volume):"},{"line_number":3712,"context_line":"        \"\"\"Swap volume attached to an instance.\"\"\""},{"line_number":3713,"context_line":"        if old_volume[\u0027attach_status\u0027] \u003d\u003d \u0027detached\u0027:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a30ddce_0402826f","line":3710,"updated":"2017-03-08 10:27:58.000000000","message":"+1 because STOPPED definitely won\u0027t work. However, I suspect PAUSED and SUSPENDED won\u0027t work either, and presumably SOFT_DELETED doesn\u0027t have a running instance (and why would you swap_volume on a soft deleted instance anyway?).\n\nAdding kashyap for rebasey type questions.\n\nAside: what prompts cinder to try this during a retype rather than just doing the copy itself? I haven\u0027t looked, but I suspect it\u0027s just an attached test. Given that we\u0027re going to be reworking this flow anyway https://review.openstack.org/#/c/373203/ I wonder if swap_volume could return something which indicates that it did the swap but not the copy, and cinder needs to do the copy (and nova needs to lock the instance until the copy completes somehow). Or something better.","commit_id":"fe624f33c88e7c0123241117654e5116a8537045"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"74565b20b28aaa4c2d1399c6f558850b3c1035f2","unresolved":false,"context_lines":[{"line_number":3707,"context_line":"    @check_instance_lock"},{"line_number":3708,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE, vm_states.PAUSED,"},{"line_number":3709,"context_line":"                                    vm_states.SUSPENDED, vm_states.RESIZED,"},{"line_number":3710,"context_line":"                                    vm_states.SOFT_DELETED])"},{"line_number":3711,"context_line":"    def swap_volume(self, context, instance, old_volume, new_volume):"},{"line_number":3712,"context_line":"        \"\"\"Swap volume attached to an instance.\"\"\""},{"line_number":3713,"context_line":"        if old_volume[\u0027attach_status\u0027] \u003d\u003d \u0027detached\u0027:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a1ced50_e4902f98","line":3710,"updated":"2017-03-17 16:40:50.000000000","message":"Agreed, I can\u0027t see why we would allow SOFT_DELETED here at all tbh.","commit_id":"fe624f33c88e7c0123241117654e5116a8537045"},{"author":{"_account_id":17386,"name":"Steve Noyes","email":"steve.noyes@oracle.com","username":"ssn1ssn"},"change_message_id":"4371a68be7106e3286daedb132b5e515090040eb","unresolved":false,"context_lines":[{"line_number":3707,"context_line":"    @check_instance_lock"},{"line_number":3708,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE, vm_states.PAUSED,"},{"line_number":3709,"context_line":"                                    vm_states.SUSPENDED, vm_states.RESIZED,"},{"line_number":3710,"context_line":"                                    vm_states.SOFT_DELETED])"},{"line_number":3711,"context_line":"    def swap_volume(self, context, instance, old_volume, new_volume):"},{"line_number":3712,"context_line":"        \"\"\"Swap volume attached to an instance.\"\"\""},{"line_number":3713,"context_line":"        if old_volume[\u0027attach_status\u0027] \u003d\u003d \u0027detached\u0027:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a1ced50_c1f96aca","line":3710,"in_reply_to":"9a30ddce_0402826f","updated":"2017-03-17 14:15:22.000000000","message":"performing swap on a suspended server will silently fail so SUSPENDED (and SOFT_DELETED) should also be removed.","commit_id":"fe624f33c88e7c0123241117654e5116a8537045"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dc87c1ac5d64234cb713c594adf213a69e020c23","unresolved":false,"context_lines":[{"line_number":3704,"context_line":"    @check_instance_lock"},{"line_number":3705,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE, vm_states.PAUSED,"},{"line_number":3706,"context_line":"                                    vm_states.SUSPENDED, vm_states.STOPPED,"},{"line_number":3707,"context_line":"                                    vm_states.RESIZED, vm_states.SOFT_DELETED])"},{"line_number":3708,"context_line":"    def swap_volume(self, context, instance, old_volume, new_volume):"},{"line_number":3709,"context_line":"        \"\"\"Swap volume attached to an instance.\"\"\""},{"line_number":3710,"context_line":"        if old_volume[\u0027attach_status\u0027] \u003d\u003d \u0027detached\u0027:"}],"source_content_type":"text/x-python","patch_set":8,"id":"ff346bd7_065d6e79","side":"PARENT","line":3707,"range":{"start_line":3707,"start_character":55,"end_line":3707,"end_character":77},"updated":"2017-07-25 17:49:40.000000000","message":"The commit message doesn\u0027t mention anything about this.","commit_id":"d2dbd4f5475fda95deba99809cfc085c7e44e1c5"},{"author":{"_account_id":17386,"name":"Steve Noyes","email":"steve.noyes@oracle.com","username":"ssn1ssn"},"change_message_id":"a40970b0a6b385e00c28fbb241d17b3fb22b7845","unresolved":false,"context_lines":[{"line_number":3704,"context_line":"    @check_instance_lock"},{"line_number":3705,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE, vm_states.PAUSED,"},{"line_number":3706,"context_line":"                                    vm_states.SUSPENDED, vm_states.STOPPED,"},{"line_number":3707,"context_line":"                                    vm_states.RESIZED, vm_states.SOFT_DELETED])"},{"line_number":3708,"context_line":"    def swap_volume(self, context, instance, old_volume, new_volume):"},{"line_number":3709,"context_line":"        \"\"\"Swap volume attached to an instance.\"\"\""},{"line_number":3710,"context_line":"        if old_volume[\u0027attach_status\u0027] \u003d\u003d \u0027detached\u0027:"}],"source_content_type":"text/x-python","patch_set":8,"id":"df3967d1_2664d5e3","side":"PARENT","line":3707,"range":{"start_line":3707,"start_character":55,"end_line":3707,"end_character":77},"in_reply_to":"ff346bd7_065d6e79","updated":"2017-08-02 17:14:42.000000000","message":"Done","commit_id":"d2dbd4f5475fda95deba99809cfc085c7e44e1c5"}],"nova/tests/unit/compute/test_compute_api.py":[{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"3a6dd871b5581669d20098796a1fa1bf80baa387","unresolved":false,"context_lines":[{"line_number":2294,"context_line":"                          volumes[old_volume_id], volumes[new_volume_id])"},{"line_number":2295,"context_line":"        instance[\u0027vm_state\u0027] \u003d vm_states.ACTIVE"},{"line_number":2296,"context_line":"        instance[\u0027task_state\u0027] \u003d None"},{"line_number":2297,"context_line":""},{"line_number":2298,"context_line":"        # Should fail if old volume is not attached"},{"line_number":2299,"context_line":"        volumes[old_volume_id][\u0027attach_status\u0027] \u003d \u0027detached\u0027"},{"line_number":2300,"context_line":"        self.assertRaises(exception.VolumeUnattached,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a30ddce_04d522b8","side":"PARENT","line":2297,"updated":"2017-03-08 10:27:58.000000000","message":"nit: unrelated change. Not quite worth a -1.","commit_id":"37cd9a961b065a07352b49ee72394cb210d8838b"},{"author":{"_account_id":24711,"name":"Jackie Truong","email":"jacklyn.truong@jhuapl.edu","username":"jackie-truong"},"change_message_id":"98c835a81a49e79dcfb2da3af26c9b171c81eddc","unresolved":false,"context_lines":[{"line_number":2218,"context_line":"            instance_update\u003d{\u0027vm_state\u0027: vm_states.STOPPED})"},{"line_number":2219,"context_line":"        self._test_swap_volume_for_precheck_with_exception("},{"line_number":2220,"context_line":"            exception.InstanceInvalidState,"},{"line_number":2221,"context_line":"            instance_update\u003d{\u0027vm_state\u0027: vm_states.SUSPENDED})"},{"line_number":2222,"context_line":""},{"line_number":2223,"context_line":"    def test_swap_volume_with_another_server_volume(self):"},{"line_number":2224,"context_line":"        # Should fail if old volume\u0027s instance_uuid is not that of the instance"}],"source_content_type":"text/x-python","patch_set":11,"id":"7f287b81_0baef2e6","line":2221,"updated":"2017-08-22 14:26:45.000000000","message":"We should also test for the SOFT_DELETED state","commit_id":"937cabe5b39b801b796f3a5ff444693058b5d6f1"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"17cb2fb212f64811d3e978be78107ac15aed592a","unresolved":false,"context_lines":[{"line_number":2218,"context_line":"            instance_update\u003d{\u0027vm_state\u0027: vm_states.STOPPED})"},{"line_number":2219,"context_line":"        self._test_swap_volume_for_precheck_with_exception("},{"line_number":2220,"context_line":"            exception.InstanceInvalidState,"},{"line_number":2221,"context_line":"            instance_update\u003d{\u0027vm_state\u0027: vm_states.SUSPENDED})"},{"line_number":2222,"context_line":""},{"line_number":2223,"context_line":"    def test_swap_volume_with_another_server_volume(self):"},{"line_number":2224,"context_line":"        # Should fail if old volume\u0027s instance_uuid is not that of the instance"}],"source_content_type":"text/x-python","patch_set":11,"id":"7f287b81_887d3270","line":2221,"in_reply_to":"7f287b81_0baef2e6","updated":"2017-08-23 06:56:27.000000000","message":"add too much is overkill, you can test what\u0027s supported but you can\u0027t test all not supported..","commit_id":"937cabe5b39b801b796f3a5ff444693058b5d6f1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"de5b95d2152ca9e5b5f08f9a5ed32af2942637df","unresolved":false,"context_lines":[{"line_number":2217,"context_line":"            instance_update\u003d{\u0027vm_state\u0027: vm_states.STOPPED})"},{"line_number":2218,"context_line":"        self._test_swap_volume_for_precheck_with_exception("},{"line_number":2219,"context_line":"            exception.InstanceInvalidState,"},{"line_number":2220,"context_line":"            instance_update\u003d{\u0027vm_state\u0027: vm_states.SUSPENDED})"},{"line_number":2221,"context_line":""},{"line_number":2222,"context_line":"    def test_swap_volume_with_another_server_volume(self):"},{"line_number":2223,"context_line":"        # Should fail if old volume\u0027s instance_uuid is not that of the instance"}],"source_content_type":"text/x-python","patch_set":14,"id":"df87a7cf_98701bdf","line":2220,"range":{"start_line":2220,"start_character":41,"end_line":2220,"end_character":60},"updated":"2017-12-13 11:17:24.000000000","message":"Could have done this in a for-loop but eh","commit_id":"b40d949b3137473227949b597b2a61da41752ee5"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"8cc9629997ea929ffa7ea8dbfdcf15c428c8a8b7","unresolved":false,"context_lines":[{"line_number":1276,"context_line":"                    new_connection_info, instance, mountpoint, resize_to):"},{"line_number":1277,"context_line":""},{"line_number":1278,"context_line":"        guest \u003d self._host.get_guest(instance)"},{"line_number":1279,"context_line":"        if not guest.is_active():"},{"line_number":1280,"context_line":"            raise exception.NovaException("},{"line_number":1281,"context_line":"                _(\u0027Cannot swap volume because guest is not active.\u0027))"},{"line_number":1282,"context_line":""},{"line_number":1283,"context_line":"        disk_dev \u003d mountpoint.rpartition(\"/\")[2]"},{"line_number":1284,"context_line":"        if not guest.get_disk(disk_dev):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a430d35_f19f2eb2","line":1281,"range":{"start_line":1279,"start_character":0,"end_line":1281,"end_character":69},"updated":"2017-02-03 11:28:19.000000000","message":"I wonder if we should be doing this check further up in the compute or api layers? Also, are there more descriptive exceptions we can raise to highlight that the instance is in a bad state?","commit_id":"c2c7f9d4d63a0587423381fc63a19752e89adecd"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"20b566bdd5f613ca866bceab4f151e842b1c1bd6","unresolved":false,"context_lines":[{"line_number":1276,"context_line":"                    new_connection_info, instance, mountpoint, resize_to):"},{"line_number":1277,"context_line":""},{"line_number":1278,"context_line":"        guest \u003d self._host.get_guest(instance)"},{"line_number":1279,"context_line":"        if not guest.is_active():"},{"line_number":1280,"context_line":"            raise exception.NovaException("},{"line_number":1281,"context_line":"                _(\u0027Cannot swap volume because guest is not active.\u0027))"},{"line_number":1282,"context_line":""},{"line_number":1283,"context_line":"        disk_dev \u003d mountpoint.rpartition(\"/\")[2]"},{"line_number":1284,"context_line":"        if not guest.get_disk(disk_dev):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a30ddce_ec02ba0a","line":1281,"range":{"start_line":1279,"start_character":0,"end_line":1281,"end_character":69},"in_reply_to":"1a430d35_f19f2eb2","updated":"2017-03-08 08:22:51.000000000","message":"In the patch set 4, we check vm state in the compute api layer.","commit_id":"c2c7f9d4d63a0587423381fc63a19752e89adecd"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"a6fe5fa3794b5ec38bb6fa10d1de70759d39f558","unresolved":false,"context_lines":[{"line_number":1276,"context_line":"                    new_connection_info, instance, mountpoint, resize_to):"},{"line_number":1277,"context_line":""},{"line_number":1278,"context_line":"        guest \u003d self._host.get_guest(instance)"},{"line_number":1279,"context_line":"        if not guest.is_active():"},{"line_number":1280,"context_line":"            raise exception.NovaException("},{"line_number":1281,"context_line":"                _(\u0027Cannot swap volume because guest is not active.\u0027))"},{"line_number":1282,"context_line":""},{"line_number":1283,"context_line":"        disk_dev \u003d mountpoint.rpartition(\"/\")[2]"},{"line_number":1284,"context_line":"        if not guest.get_disk(disk_dev):"}],"source_content_type":"text/x-python","patch_set":3,"id":"da36d5c6_35976449","line":1281,"range":{"start_line":1279,"start_character":0,"end_line":1281,"end_character":69},"in_reply_to":"1a430d35_f19f2eb2","updated":"2017-02-23 13:58:09.000000000","message":"Sure, I\u0027ll take a look later this week. IIRC, I was following a pattern I found elsewhere near this code, but I\u0027d be the first to admit that there\u0027s probably a better solution ;)","commit_id":"c2c7f9d4d63a0587423381fc63a19752e89adecd"}],"releasenotes/notes/update-swap-decorator-7622a265df55feaa.yaml":[{"author":{"_account_id":24711,"name":"Jackie Truong","email":"jacklyn.truong@jhuapl.edu","username":"jackie-truong"},"change_message_id":"98c835a81a49e79dcfb2da3af26c9b171c81eddc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - add additional checks to the swap_volume method in the api"},{"line_number":4,"context_line":"    to prevent swap_volume if the instance is in state SUSPENDED,"},{"line_number":5,"context_line":"    STOPPED or SOFT_DELETED."},{"line_number":6,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7f287b81_0b3b92d1","line":3,"range":{"start_line":3,"start_character":19,"end_line":3,"end_character":25},"updated":"2017-08-22 14:26:45.000000000","message":"I wouldn\u0027t say that this patch added any checks. This patch just restricts the possible instance states in which we can swap volumes to ACTIVE, PAUSED, and RESIZED. More specifically, this patch removes the the SUSPENDED, STOPPED, and SOFT_DELETED states as possible instances states in which we can swap volumes.","commit_id":"937cabe5b39b801b796f3a5ff444693058b5d6f1"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"17cb2fb212f64811d3e978be78107ac15aed592a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - add additional checks to the swap_volume method in the api"},{"line_number":4,"context_line":"    to prevent swap_volume if the instance is in state SUSPENDED,"},{"line_number":5,"context_line":"    STOPPED or SOFT_DELETED."},{"line_number":6,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7f287b81_e88dd67b","line":3,"range":{"start_line":3,"start_character":19,"end_line":3,"end_character":25},"in_reply_to":"7f287b81_0b3b92d1","updated":"2017-08-23 06:56:27.000000000","message":"yes, that\u0027s good point","commit_id":"937cabe5b39b801b796f3a5ff444693058b5d6f1"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"466f264ef22bd2e4cc0505a2f37729a2db016041","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - prevent swap_volume action if the instance is in state SUSPENDED,"},{"line_number":4,"context_line":"    STOPPED or SOFT_DELETED. A conflict (409) will be raised now as"},{"line_number":5,"context_line":"    previously it will fail silently."},{"line_number":6,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":12,"id":"7f287b81_6c9e7a64","line":5,"range":{"start_line":5,"start_character":18,"end_line":5,"end_character":22},"updated":"2017-08-24 05:37:44.000000000","message":"used to","commit_id":"33f7a4744c91ee08d38a5cb8b940dd732abf3fc3"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"6f20bdd95cc80d0a772443ab92afb048a6f53828","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - prevent swap_volume action if the instance is in state SUSPENDED,"},{"line_number":4,"context_line":"    STOPPED or SOFT_DELETED. A conflict (409) will be raised now as"},{"line_number":5,"context_line":"    previously it will fail silently."},{"line_number":6,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":12,"id":"7f287b81_da43ddae","line":5,"range":{"start_line":5,"start_character":18,"end_line":5,"end_character":22},"in_reply_to":"7f287b81_6c9e7a64","updated":"2017-08-24 08:30:04.000000000","message":"Done","commit_id":"33f7a4744c91ee08d38a5cb8b940dd732abf3fc3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"de5b95d2152ca9e5b5f08f9a5ed32af2942637df","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - prevent swap_volume action if the instance is in state SUSPENDED,"},{"line_number":4,"context_line":"    STOPPED or SOFT_DELETED. A conflict (409) will be raised now as"},{"line_number":5,"context_line":"    previously it used to fail silently."},{"line_number":6,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"df87a7cf_b84abf80","line":3,"range":{"start_line":3,"start_character":59,"end_line":3,"end_character":68},"updated":"2017-12-13 11:17:24.000000000","message":"``literal``","commit_id":"b40d949b3137473227949b597b2a61da41752ee5"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"de5b95d2152ca9e5b5f08f9a5ed32af2942637df","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - prevent swap_volume action if the instance is in state SUSPENDED,"},{"line_number":4,"context_line":"    STOPPED or SOFT_DELETED. A conflict (409) will be raised now as"},{"line_number":5,"context_line":"    previously it used to fail silently."},{"line_number":6,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"df87a7cf_f87e07ae","line":3,"range":{"start_line":3,"start_character":12,"end_line":3,"end_character":23},"updated":"2017-12-13 11:17:24.000000000","message":"``literal``?","commit_id":"b40d949b3137473227949b597b2a61da41752ee5"}]}
