)]}'
{"tempest/scenario/test_volume_readonly.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"8e57d080e0c703c6895d511173995001b4c25064","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        # Attach volume to the server"},{"line_number":78,"context_line":"        self.nova_volume_attach(server, volume)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        # Get content from the volume"},{"line_number":81,"context_line":"        timestamp2 \u003d self.get_timestamp("},{"line_number":82,"context_line":"            ip_address\u003dserver_ip,"},{"line_number":83,"context_line":"            dev_name\u003dCONF.compute.volume_device_name,"},{"line_number":84,"context_line":"            private_key\u003dkeypair[\u0027private_key\u0027])"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        self.assertEqual(timestamp1, timestamp2)"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"        # Verify the volume is not writable(only readable)"},{"line_number":89,"context_line":"        self.assertRaises(exceptions.SSHExecCommandFailed,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a430d35_35069086","line":86,"range":{"start_line":80,"start_character":0,"end_line":86,"end_character":48},"updated":"2017-02-07 08:31:36.000000000","message":"I wonder whether it is more meaningful to put this check after line 93?\nThis check should already be done in other tests, and if we move it down, \nwe will check \"the previous written content is ok after trying to write to a read-only volume\".","commit_id":"be3ed608167bf92a56c748473b8400b965e0cebb"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"11c3218967a76718df3c2427dbecfc50ad7a508a","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        # Create a server"},{"line_number":48,"context_line":"        kwargs \u003d {\u0027key_name\u0027: keypair[\u0027name\u0027],"},{"line_number":49,"context_line":"                  \u0027security_groups\u0027: [{\u0027name\u0027: security_group[\u0027name\u0027]}]}"},{"line_number":50,"context_line":"        server \u003d self.create_server(image_id\u003dCONF.compute.image_ref,"},{"line_number":51,"context_line":"                                    wait_until\u003d\u0027ACTIVE\u0027, **kwargs)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        # Get server ip"},{"line_number":54,"context_line":"        server_ip \u003d self.get_server_ip(server)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa31d9ce_2b8c767e","line":51,"range":{"start_line":50,"start_character":36,"end_line":51,"end_character":55},"updated":"2017-02-14 03:48:23.000000000","message":"this can be removed","commit_id":"381deb9247ca0a915a962811f4ba291a303d2b80"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"9aea80c1bc32637f371ea29df78abac9328a302c","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        # Create a server"},{"line_number":48,"context_line":"        kwargs \u003d {\u0027key_name\u0027: keypair[\u0027name\u0027],"},{"line_number":49,"context_line":"                  \u0027security_groups\u0027: [{\u0027name\u0027: security_group[\u0027name\u0027]}]}"},{"line_number":50,"context_line":"        server \u003d self.create_server(image_id\u003dCONF.compute.image_ref,"},{"line_number":51,"context_line":"                                    wait_until\u003d\u0027ACTIVE\u0027, **kwargs)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        # Get server ip"},{"line_number":54,"context_line":"        server_ip \u003d self.get_server_ip(server)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa31d9ce_2ef1e195","line":51,"range":{"start_line":50,"start_character":36,"end_line":51,"end_character":55},"in_reply_to":"fa31d9ce_2b8c767e","updated":"2017-02-14 06:59:46.000000000","message":"Right, thanks","commit_id":"381deb9247ca0a915a962811f4ba291a303d2b80"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"ae3add6b25a905fd0c54fdd5617fc9748bee11a3","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        timestamp2 \u003d self.get_timestamp("},{"line_number":93,"context_line":"            ip_address\u003dserver_ip,"},{"line_number":94,"context_line":"            dev_name\u003dCONF.compute.volume_device_name,"},{"line_number":95,"context_line":"            private_key\u003dkeypair[\u0027private_key\u0027])"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        self.assertEqual(timestamp1, timestamp2)"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1f1a1f67_0d088025","line":95,"updated":"2017-07-18 19:17:43.000000000","message":"Does this method always succeed?\n\nIf you have an ext4 file system on a read-only iSCSI export, it may fail to mount (i.e. if journal replay is needed).\n\nIf so, fetching the timestamp here may not always work.","commit_id":"1fea2fb3f1e08bbeac1f24b1239ac263ea795061"}]}
