)]}'
{"doc/notification_samples/instance-shelve-end.json":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"76380e37a4921697f438c9dcb91ad7831f0f4756","unresolved":false,"context_lines":[{"line_number":41,"context_line":"            \"flavor\": {\r"},{"line_number":42,"context_line":"                \"nova_object.name\": \"FlavorPayload\",\r"},{"line_number":43,"context_line":"                \"nova_object.data\": {\r"},{"line_number":44,"context_line":"                    \"instance_type_id\": 1,\r"},{"line_number":45,"context_line":"                    \"root_gb\": 1,\r"},{"line_number":46,"context_line":"                    \"vcpus\": 1,\r"},{"line_number":47,"context_line":"                    \"ephemeral_gb\": 0,\r"}],"source_content_type":"application/json","patch_set":4,"id":"1aa78d24_d5b3e2e7","line":44,"updated":"2016-07-05 07:21:45.000000000","message":"This was renamed to flavorid in instance.delete patch just before it was merged","commit_id":"4e10062311f1922b2746f818ebfc86fb8e8f0b2b"}],"doc/notification_samples/instance-shelve-start.json":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3745966cb19e0c4e44ec506347ccd143e216e6ed","unresolved":false,"context_lines":[{"line_number":32,"context_line":"            \"os_type\":null,\r"},{"line_number":33,"context_line":"            \"progress\":0,\r"},{"line_number":34,"context_line":"            \"ramdisk_id\":\"\",\r"},{"line_number":35,"context_line":"            \"reservation_id\":\"r-npxv0e40\",\r"},{"line_number":36,"context_line":"            \"state\":\"active\",\r"},{"line_number":37,"context_line":"            \"task_state\":\"shelving\",\r"},{"line_number":38,"context_line":"            \"power_state\":\"running\",\r"}],"source_content_type":"application/json","patch_set":5,"id":"1aa78d24_500af779","line":35,"range":{"start_line":35,"start_character":30,"end_line":35,"end_character":40},"updated":"2016-07-06 19:49:32.000000000","message":"Why isn\u0027t this just a sub like %(reservation_id)s like in our other API sample tests that do subs? The test is already substituting these values anyway.","commit_id":"3e091a374e4516473af2782c252b694374330f42"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"832dd73227509264a5070ddaa7ef162d34b8329b","unresolved":false,"context_lines":[{"line_number":32,"context_line":"            \"os_type\":null,\r"},{"line_number":33,"context_line":"            \"progress\":0,\r"},{"line_number":34,"context_line":"            \"ramdisk_id\":\"\",\r"},{"line_number":35,"context_line":"            \"reservation_id\":\"r-npxv0e40\",\r"},{"line_number":36,"context_line":"            \"state\":\"active\",\r"},{"line_number":37,"context_line":"            \"task_state\":\"shelving\",\r"},{"line_number":38,"context_line":"            \"power_state\":\"running\",\r"}],"source_content_type":"application/json","patch_set":5,"id":"1aa78d24_b35d2517","line":35,"range":{"start_line":35,"start_character":30,"end_line":35,"end_character":40},"in_reply_to":"1aa78d24_500af779","updated":"2016-07-06 19:58:40.000000000","message":"Ignore.","commit_id":"3e091a374e4516473af2782c252b694374330f42"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3745966cb19e0c4e44ec506347ccd143e216e6ed","unresolved":false,"context_lines":[{"line_number":51,"context_line":"                \"nova_object.namespace\": \"nova\"\r"},{"line_number":52,"context_line":"            },\r"},{"line_number":53,"context_line":"            \"user_id\":\"fake\",\r"},{"line_number":54,"context_line":"            \"uuid\":\"178b0921-8f85-4257-88b6-2e743b5a975c\"\r"},{"line_number":55,"context_line":"        },\r"},{"line_number":56,"context_line":"        \"nova_object.name\":\"InstanceActionPayload\",\r"},{"line_number":57,"context_line":"        \"nova_object.namespace\":\"nova\",\r"}],"source_content_type":"application/json","patch_set":5,"id":"1aa78d24_b0723b0f","line":54,"range":{"start_line":54,"start_character":20,"end_line":54,"end_character":56},"updated":"2016-07-06 19:49:32.000000000","message":"ditto","commit_id":"3e091a374e4516473af2782c252b694374330f42"}],"nova/notifications/objects/instance.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"aaa60e6152ff31db5d621174d51ed94957d65427","unresolved":false,"context_lines":[{"line_number":149,"context_line":"        self.populate_schema(instance\u003dinstance)"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"@base.notification_sample(\u0027instance-shelve-start.json\u0027)"},{"line_number":153,"context_line":"@base.notification_sample(\u0027instance-shelve-end.json\u0027)"},{"line_number":154,"context_line":"@base.notification_sample(\u0027instance-delete-start.json\u0027)"},{"line_number":155,"context_line":"@base.notification_sample(\u0027instance-delete-end.json\u0027)"},{"line_number":156,"context_line":"# @base.notification_sample(\u0027instance-pause-start.json\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_fff9b2c9","line":153,"range":{"start_line":152,"start_character":0,"end_line":153,"end_character":53},"updated":"2016-06-22 13:08:53.000000000","message":"Just uncomment the original line, this way you will avoid merge conflict with other patches.","commit_id":"1fafd7d143c61d69dc17a88015e1f6bdd28f37ee"}],"nova/tests/functional/notification_sample_tests/test_instance.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"aaa60e6152ff31db5d621174d51ed94957d65427","unresolved":false,"context_lines":[{"line_number":12,"context_line":"import fixtures"},{"line_number":13,"context_line":"import mock"},{"line_number":14,"context_line":"import nova.conf"},{"line_number":15,"context_line":"CONF \u003d nova.conf.CONF"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from nova.tests.functional.notification_sample_tests \\"},{"line_number":18,"context_line":"    import notification_sample_base"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_dfcb1671","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":21},"updated":"2016-06-22 13:08:53.000000000","message":"Move this after the imports","commit_id":"1fafd7d143c61d69dc17a88015e1f6bdd28f37ee"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3745966cb19e0c4e44ec506347ccd143e216e6ed","unresolved":false,"context_lines":[{"line_number":9,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":10,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":"from nova.conf import CONF"},{"line_number":13,"context_line":"from nova import context"},{"line_number":14,"context_line":"from nova.tests import fixtures"},{"line_number":15,"context_line":"from nova.tests.functional.notification_sample_tests \\"}],"source_content_type":"text/x-python","patch_set":5,"id":"1aa78d24_90973f47","line":12,"updated":"2016-07-06 19:49:32.000000000","message":"You don\u0027t need this if you use self.flags to override config in the test. This could be a later cleanup.","commit_id":"3e091a374e4516473af2782c252b694374330f42"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3745966cb19e0c4e44ec506347ccd143e216e6ed","unresolved":false,"context_lines":[{"line_number":222,"context_line":"        server \u003d self._boot_a_server("},{"line_number":223,"context_line":"            extra_params\u003d{\u0027networks\u0027: [{\u0027port\u0027: self.neutron.port_1[\u0027id\u0027]}]})"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"        CONF.set_override(\"shelved_offload_time\", -1)"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], {\u0027shelve\u0027: {}})"},{"line_number":228,"context_line":"        self._wait_for_state_change(self.api, server,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1aa78d24_10a34fb3","line":225,"range":{"start_line":225,"start_character":8,"end_line":225,"end_character":25},"updated":"2016-07-06 19:49:32.000000000","message":"I think we normally use self.flags() for tests but it\u0027s equivalent.","commit_id":"3e091a374e4516473af2782c252b694374330f42"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3745966cb19e0c4e44ec506347ccd143e216e6ed","unresolved":false,"context_lines":[{"line_number":232,"context_line":"        self._verify_notification("},{"line_number":233,"context_line":"            \u0027instance-shelve-start\u0027,"},{"line_number":234,"context_line":"            replacements\u003d{"},{"line_number":235,"context_line":"                \u0027reservation_id\u0027:"},{"line_number":236,"context_line":"                    notification_sample_base.NotificationSampleTestBase.ANY,"},{"line_number":237,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":238,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[0])"},{"line_number":239,"context_line":"        self._verify_notification("}],"source_content_type":"text/x-python","patch_set":5,"id":"1aa78d24_10f06f66","line":236,"range":{"start_line":235,"start_character":16,"end_line":236,"end_character":76},"updated":"2016-07-06 19:49:32.000000000","message":"I don\u0027t really understand why we have to do this, it\u0027s hard-coded to \"r-npxv0e40\" in the sample.","commit_id":"3e091a374e4516473af2782c252b694374330f42"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"832dd73227509264a5070ddaa7ef162d34b8329b","unresolved":false,"context_lines":[{"line_number":232,"context_line":"        self._verify_notification("},{"line_number":233,"context_line":"            \u0027instance-shelve-start\u0027,"},{"line_number":234,"context_line":"            replacements\u003d{"},{"line_number":235,"context_line":"                \u0027reservation_id\u0027:"},{"line_number":236,"context_line":"                    notification_sample_base.NotificationSampleTestBase.ANY,"},{"line_number":237,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":238,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[0])"},{"line_number":239,"context_line":"        self._verify_notification("}],"source_content_type":"text/x-python","patch_set":5,"id":"1aa78d24_936aa9b1","line":236,"range":{"start_line":235,"start_character":16,"end_line":236,"end_character":76},"in_reply_to":"1aa78d24_10f06f66","updated":"2016-07-06 19:58:40.000000000","message":"OK I see, the compute API creates the random reservation_id if one isn\u0027t provided, so the hard-coded one in the sample doesn\u0027t mean anything. We could actually get the real reservation_id back on the response object if we passed in return_reservation_id\u003dTrue in the server create request, but meh.","commit_id":"3e091a374e4516473af2782c252b694374330f42"}]}
