)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"42cc078b6069029996e22abdd3b978e7bf47f9c3","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"change instance_system_metadata column type"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"change The nova.instance_system_metadata value field to type Text,"},{"line_number":10,"context_line":"as the glance.image_properties value field,and remove truncates code"},{"line_number":11,"context_line":"for the value."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":19,"id":"7f96bb07_628e5cd1","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":8},"updated":"2018-01-15 20:44:54.000000000","message":"Changes the","commit_id":"d5a4f42f1900c53186d0e8277f393ee4ef1662cf"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"42cc078b6069029996e22abdd3b978e7bf47f9c3","unresolved":false,"context_lines":[{"line_number":7,"context_line":"change instance_system_metadata column type"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"change The nova.instance_system_metadata value field to type Text,"},{"line_number":10,"context_line":"as the glance.image_properties value field,and remove truncates code"},{"line_number":11,"context_line":"for the value."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Id0d11a85b2ca6565e870da744fa747e32f7564f0"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":19,"id":"7f96bb07_62a73c51","line":10,"range":{"start_line":10,"start_character":43,"end_line":10,"end_character":64},"updated":"2018-01-15 20:44:54.000000000","message":"I think you mean to say \", and no longer truncates the DB field at 255 characters\"?","commit_id":"d5a4f42f1900c53186d0e8277f393ee4ef1662cf"}],"nova/compute/api.py":[{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"b836207e91382eaa8e18f7524fcdf762fa6ff58b","unresolved":false,"context_lines":[{"line_number":347,"context_line":"            if len(k) \u003e 255:"},{"line_number":348,"context_line":"                msg \u003d _(\"Metadata property key greater than 255 characters\")"},{"line_number":349,"context_line":"                raise exception.InvalidMetadataSize(reason\u003dmsg)"},{"line_number":350,"context_line":"            if len(v) \u003e 255:"},{"line_number":351,"context_line":"                msg \u003d _(\"Metadata property value greater than 255 characters\")"},{"line_number":352,"context_line":"                raise exception.InvalidMetadataSize(reason\u003dmsg)"},{"line_number":353,"context_line":""},{"line_number":354,"context_line":"    def _check_requested_secgroups(self, context, secgroups):"},{"line_number":355,"context_line":"        \"\"\"Check if the security group requested exists and belongs to"}],"source_content_type":"text/x-python","patch_set":16,"id":"9f91af0f_41f0e4fe","side":"PARENT","line":352,"range":{"start_line":350,"start_character":12,"end_line":352,"end_character":63},"updated":"2018-01-08 08:28:20.000000000","message":"Does this change API behavior?","commit_id":"9a818b729231d9bbc449d737dca432df18033686"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"226265b25d9c7e1fb0109292372d3dada73802bc","unresolved":false,"context_lines":[{"line_number":347,"context_line":"            if len(k) \u003e 255:"},{"line_number":348,"context_line":"                msg \u003d _(\"Metadata property key greater than 255 characters\")"},{"line_number":349,"context_line":"                raise exception.InvalidMetadataSize(reason\u003dmsg)"},{"line_number":350,"context_line":"            if len(v) \u003e 255:"},{"line_number":351,"context_line":"                msg \u003d _(\"Metadata property value greater than 255 characters\")"},{"line_number":352,"context_line":"                raise exception.InvalidMetadataSize(reason\u003dmsg)"},{"line_number":353,"context_line":""},{"line_number":354,"context_line":"    def _check_requested_secgroups(self, context, secgroups):"},{"line_number":355,"context_line":"        \"\"\"Check if the security group requested exists and belongs to"}],"source_content_type":"text/x-python","patch_set":16,"id":"9f91af0f_e4fd866e","side":"PARENT","line":352,"range":{"start_line":350,"start_character":12,"end_line":352,"end_character":63},"in_reply_to":"9f91af0f_41f0e4fe","updated":"2018-01-08 09:13:53.000000000","message":"looks it changed, but I think as we don\u0027t accept 255 before and now we accept it , no impact to end user ?","commit_id":"9a818b729231d9bbc449d737dca432df18033686"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"e414fd0f88f6097b7358117d0a83ba3177aad3ba","unresolved":false,"context_lines":[{"line_number":347,"context_line":"            if len(k) \u003e 255:"},{"line_number":348,"context_line":"                msg \u003d _(\"Metadata property key greater than 255 characters\")"},{"line_number":349,"context_line":"                raise exception.InvalidMetadataSize(reason\u003dmsg)"},{"line_number":350,"context_line":"            if len(v) \u003e 255:"},{"line_number":351,"context_line":"                msg \u003d _(\"Metadata property value greater than 255 characters\")"},{"line_number":352,"context_line":"                raise exception.InvalidMetadataSize(reason\u003dmsg)"},{"line_number":353,"context_line":""},{"line_number":354,"context_line":"    def _check_requested_secgroups(self, context, secgroups):"},{"line_number":355,"context_line":"        \"\"\"Check if the security group requested exists and belongs to"}],"source_content_type":"text/x-python","patch_set":16,"id":"9f91af0f_71cef22d","side":"PARENT","line":352,"range":{"start_line":350,"start_character":12,"end_line":352,"end_character":63},"in_reply_to":"9f91af0f_44ceb22e","updated":"2018-01-09 12:34:26.000000000","message":"I think what @Kevin point is: If API behavior is changed, we need introduce a new microversion.\n\nSee https://docs.openstack.org/nova/pike/contributor/microversions.html\n\nI think this change is:\n\u003e When do I need a new Microversion?\n\u003e ...\n\u003e changing a status code on a particular response","commit_id":"9a818b729231d9bbc449d737dca432df18033686"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"12e66317fbdd0bd57861a935b7885f3ae0e08981","unresolved":false,"context_lines":[{"line_number":347,"context_line":"            if len(k) \u003e 255:"},{"line_number":348,"context_line":"                msg \u003d _(\"Metadata property key greater than 255 characters\")"},{"line_number":349,"context_line":"                raise exception.InvalidMetadataSize(reason\u003dmsg)"},{"line_number":350,"context_line":"            if len(v) \u003e 255:"},{"line_number":351,"context_line":"                msg \u003d _(\"Metadata property value greater than 255 characters\")"},{"line_number":352,"context_line":"                raise exception.InvalidMetadataSize(reason\u003dmsg)"},{"line_number":353,"context_line":""},{"line_number":354,"context_line":"    def _check_requested_secgroups(self, context, secgroups):"},{"line_number":355,"context_line":"        \"\"\"Check if the security group requested exists and belongs to"}],"source_content_type":"text/x-python","patch_set":16,"id":"9f91af0f_7257d0cb","side":"PARENT","line":352,"range":{"start_line":350,"start_character":12,"end_line":352,"end_character":63},"in_reply_to":"9f91af0f_71cef22d","updated":"2018-01-09 14:10:30.000000000","message":"do I changed status code ? I think I didn\u0027t","commit_id":"9a818b729231d9bbc449d737dca432df18033686"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"ea3781b0acbdbaa57ac76a0d3c8d2f4064675ce9","unresolved":false,"context_lines":[{"line_number":347,"context_line":"            if len(k) \u003e 255:"},{"line_number":348,"context_line":"                msg \u003d _(\"Metadata property key greater than 255 characters\")"},{"line_number":349,"context_line":"                raise exception.InvalidMetadataSize(reason\u003dmsg)"},{"line_number":350,"context_line":"            if len(v) \u003e 255:"},{"line_number":351,"context_line":"                msg \u003d _(\"Metadata property value greater than 255 characters\")"},{"line_number":352,"context_line":"                raise exception.InvalidMetadataSize(reason\u003dmsg)"},{"line_number":353,"context_line":""},{"line_number":354,"context_line":"    def _check_requested_secgroups(self, context, secgroups):"},{"line_number":355,"context_line":"        \"\"\"Check if the security group requested exists and belongs to"}],"source_content_type":"text/x-python","patch_set":16,"id":"9f91af0f_44ceb22e","side":"PARENT","line":352,"range":{"start_line":350,"start_character":12,"end_line":352,"end_character":63},"in_reply_to":"9f91af0f_e4fd866e","updated":"2018-01-08 09:21:29.000000000","message":"yes you\u0027re right, we don\u0027t accept 255 before, and this bug change the limitation of \"value\" key.\n\nwhat if I write as follow : \n...\nif k !\u003d \u0027value\u0027:\n   if len(v) \u003e 255:\n      msg \u003d _(\"Metadata property value greater than 255 characters\")\n      raise exception.InvalidMetadataSize(reason\u003dmsg)\n\nits safer than what I did ?","commit_id":"9a818b729231d9bbc449d737dca432df18033686"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8b77cf85e55eacd49d15305d3fdc0b8a88660151","unresolved":false,"context_lines":[{"line_number":346,"context_line":""},{"line_number":347,"context_line":"            if len(k) \u003e 255:"},{"line_number":348,"context_line":"                msg \u003d _(\"Metadata property key greater than 255 characters\")"},{"line_number":349,"context_line":"                raise exception.InvalidMetadataSize(reason\u003dmsg)"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"    def _check_requested_secgroups(self, context, secgroups):"},{"line_number":352,"context_line":"        \"\"\"Check if the security group requested exists and belongs to"}],"source_content_type":"text/x-python","patch_set":17,"id":"9f91af0f_9f44c648","line":349,"range":{"start_line":349,"start_character":63,"end_line":349,"end_character":63},"updated":"2018-01-10 08:52:37.000000000","message":"is this needed to remove? i mean there is no change in metadata value length during create/rebuild instance or create/update instance metadata.","commit_id":"f86b894383d64695e632fa683e16ad57c1f67b0b"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"36ddba222aec615bfc669bb4bbe28b9597995d90","unresolved":false,"context_lines":[{"line_number":346,"context_line":""},{"line_number":347,"context_line":"            if len(k) \u003e 255:"},{"line_number":348,"context_line":"                msg \u003d _(\"Metadata property key greater than 255 characters\")"},{"line_number":349,"context_line":"                raise exception.InvalidMetadataSize(reason\u003dmsg)"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"    def _check_requested_secgroups(self, context, secgroups):"},{"line_number":352,"context_line":"        \"\"\"Check if the security group requested exists and belongs to"}],"source_content_type":"text/x-python","patch_set":17,"id":"7f96bb07_1a64ae21","line":349,"range":{"start_line":349,"start_character":63,"end_line":349,"end_character":63},"in_reply_to":"9f91af0f_9f44c648","updated":"2018-01-15 14:07:45.000000000","message":"Done","commit_id":"f86b894383d64695e632fa683e16ad57c1f67b0b"}],"nova/db/sqlalchemy/migrate_repo/versions/374_fix_instance_system_metadata_value_column.py":[{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"fdeb331ff5ae6a81f9b16fe0a0fbf4619924b869","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2013 NEC Corporation"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":6,"id":"df87a7cf_0453a13a","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":32},"updated":"2017-12-20 07:07:57.000000000","message":"why still 2013?","commit_id":"45283e77659bbb87c31be7cf5f07698de53ca562"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"f98ae01fd906d433b754dfbe7cf1b04e0542b4f2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2013 NEC Corporation"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":6,"id":"df87a7cf_fa15f63d","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":32},"in_reply_to":"df87a7cf_0453a13a","updated":"2017-12-20 13:15:36.000000000","message":"Sorry, I didn\u0027t notice that. I update it","commit_id":"45283e77659bbb87c31be7cf5f07698de53ca562"}],"nova/db/sqlalchemy/migrate_repo/versions/378_fix_instance_system_metadata_value_column.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"42cc078b6069029996e22abdd3b978e7bf47f9c3","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"def upgrade(migrate_engine):"},{"line_number":17,"context_line":"    if migrate_engine.name \u003d\u003d \"mysql\":"},{"line_number":18,"context_line":"        migrate_engine.execute("},{"line_number":19,"context_line":"                \u0027ALTER TABLE instance_system_metadata MODIFY \u0027"},{"line_number":20,"context_line":"                \u0027COLUMN value Text;\u0027)"}],"source_content_type":"text/x-python","patch_set":19,"id":"7f96bb07_e2490c8b","line":17,"range":{"start_line":17,"start_character":4,"end_line":17,"end_character":38},"updated":"2018-01-15 20:44:54.000000000","message":"why just MySQL? I think this applies to all DB servers, no?","commit_id":"d5a4f42f1900c53186d0e8277f393ee4ef1662cf"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"32a33847c5e305ef0ff090770927b0a51cb8384f","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"def upgrade(migrate_engine):"},{"line_number":17,"context_line":"    if migrate_engine.name \u003d\u003d \"mysql\":"},{"line_number":18,"context_line":"        migrate_engine.execute("},{"line_number":19,"context_line":"                \u0027ALTER TABLE instance_system_metadata MODIFY \u0027"},{"line_number":20,"context_line":"                \u0027COLUMN value Text;\u0027)"}],"source_content_type":"text/x-python","patch_set":19,"id":"7f96bb07_ceb8a8e6","line":17,"range":{"start_line":17,"start_character":4,"end_line":17,"end_character":38},"in_reply_to":"7f96bb07_e2490c8b","updated":"2018-01-16 09:14:49.000000000","message":"Done","commit_id":"d5a4f42f1900c53186d0e8277f393ee4ef1662cf"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"42cc078b6069029996e22abdd3b978e7bf47f9c3","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    if migrate_engine.name \u003d\u003d \"mysql\":"},{"line_number":18,"context_line":"        migrate_engine.execute("},{"line_number":19,"context_line":"                \u0027ALTER TABLE instance_system_metadata MODIFY \u0027"},{"line_number":20,"context_line":"                \u0027COLUMN value Text;\u0027)"},{"line_number":21,"context_line":"        migrate_engine.execute("},{"line_number":22,"context_line":"            \u0027ALTER TABLE shadow_instance_system_metadata MODIFY \u0027"},{"line_number":23,"context_line":"            \u0027COLUMN value Text;\u0027)"}],"source_content_type":"text/x-python","patch_set":19,"id":"7f96bb07_8277e8d4","line":20,"range":{"start_line":20,"start_character":30,"end_line":20,"end_character":34},"updated":"2018-01-15 20:44:54.000000000","message":"TEXT","commit_id":"d5a4f42f1900c53186d0e8277f393ee4ef1662cf"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"32a33847c5e305ef0ff090770927b0a51cb8384f","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    if migrate_engine.name \u003d\u003d \"mysql\":"},{"line_number":18,"context_line":"        migrate_engine.execute("},{"line_number":19,"context_line":"                \u0027ALTER TABLE instance_system_metadata MODIFY \u0027"},{"line_number":20,"context_line":"                \u0027COLUMN value Text;\u0027)"},{"line_number":21,"context_line":"        migrate_engine.execute("},{"line_number":22,"context_line":"            \u0027ALTER TABLE shadow_instance_system_metadata MODIFY \u0027"},{"line_number":23,"context_line":"            \u0027COLUMN value Text;\u0027)"}],"source_content_type":"text/x-python","patch_set":19,"id":"7f96bb07_8ece2080","line":20,"range":{"start_line":20,"start_character":30,"end_line":20,"end_character":34},"in_reply_to":"7f96bb07_8277e8d4","updated":"2018-01-16 09:14:49.000000000","message":"Done","commit_id":"d5a4f42f1900c53186d0e8277f393ee4ef1662cf"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"42cc078b6069029996e22abdd3b978e7bf47f9c3","unresolved":false,"context_lines":[{"line_number":20,"context_line":"                \u0027COLUMN value Text;\u0027)"},{"line_number":21,"context_line":"        migrate_engine.execute("},{"line_number":22,"context_line":"            \u0027ALTER TABLE shadow_instance_system_metadata MODIFY \u0027"},{"line_number":23,"context_line":"            \u0027COLUMN value Text;\u0027)"}],"source_content_type":"text/x-python","patch_set":19,"id":"7f96bb07_4281e08e","line":23,"range":{"start_line":23,"start_character":26,"end_line":23,"end_character":30},"updated":"2018-01-15 20:44:54.000000000","message":"TEXT (it\u0027s a keyword)","commit_id":"d5a4f42f1900c53186d0e8277f393ee4ef1662cf"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"32a33847c5e305ef0ff090770927b0a51cb8384f","unresolved":false,"context_lines":[{"line_number":20,"context_line":"                \u0027COLUMN value Text;\u0027)"},{"line_number":21,"context_line":"        migrate_engine.execute("},{"line_number":22,"context_line":"            \u0027ALTER TABLE shadow_instance_system_metadata MODIFY \u0027"},{"line_number":23,"context_line":"            \u0027COLUMN value Text;\u0027)"}],"source_content_type":"text/x-python","patch_set":19,"id":"7f96bb07_2ec7cc66","line":23,"range":{"start_line":23,"start_character":26,"end_line":23,"end_character":30},"in_reply_to":"7f96bb07_4281e08e","updated":"2018-01-16 09:14:49.000000000","message":"Done","commit_id":"d5a4f42f1900c53186d0e8277f393ee4ef1662cf"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"96dd5238ab65d15f4a08d29463f781f392999f14","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"def upgrade(migrate_engine):"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"    # NOTE(): we can\u0027t do col.alter(type\u003dTEXT)"},{"line_number":19,"context_line":"    # because NVARCHAR and INTEGER are not compatible, so we need to do this"},{"line_number":20,"context_line":"    # manual ALTER TABLE ... USING approach."},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"5f93b717_666d0d31","line":18,"updated":"2018-01-29 20:06:48.000000000","message":"please put NOTE(ameeda)","commit_id":"312ec8702c30b487f9055ba35f72ccbe8760154f"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"ea8dcc009020bde55fc0a2498fd3f6619dbaa7b8","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"def upgrade(migrate_engine):"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"    # NOTE(): we can\u0027t do col.alter(type\u003dTEXT)"},{"line_number":19,"context_line":"    # because NVARCHAR and INTEGER are not compatible, so we need to do this"},{"line_number":20,"context_line":"    # manual ALTER TABLE ... USING approach."},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"5f93b717_69e71e14","line":18,"in_reply_to":"5f93b717_666d0d31","updated":"2018-01-29 20:32:30.000000000","message":"Done","commit_id":"312ec8702c30b487f9055ba35f72ccbe8760154f"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"96dd5238ab65d15f4a08d29463f781f392999f14","unresolved":false,"context_lines":[{"line_number":16,"context_line":"def upgrade(migrate_engine):"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"    # NOTE(): we can\u0027t do col.alter(type\u003dTEXT)"},{"line_number":19,"context_line":"    # because NVARCHAR and INTEGER are not compatible, so we need to do this"},{"line_number":20,"context_line":"    # manual ALTER TABLE ... USING approach."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    if migrate_engine.name \u003d\u003d \"mysql\":"}],"source_content_type":"text/x-python","patch_set":26,"id":"5f93b717_86685921","line":19,"range":{"start_line":19,"start_character":6,"end_line":19,"end_character":53},"updated":"2018-01-29 20:06:48.000000000","message":"because NVARCHAR and INTEGER are not compatible with *what*?","commit_id":"312ec8702c30b487f9055ba35f72ccbe8760154f"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"ea8dcc009020bde55fc0a2498fd3f6619dbaa7b8","unresolved":false,"context_lines":[{"line_number":16,"context_line":"def upgrade(migrate_engine):"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"    # NOTE(): we can\u0027t do col.alter(type\u003dTEXT)"},{"line_number":19,"context_line":"    # because NVARCHAR and INTEGER are not compatible, so we need to do this"},{"line_number":20,"context_line":"    # manual ALTER TABLE ... USING approach."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    if migrate_engine.name \u003d\u003d \"mysql\":"}],"source_content_type":"text/x-python","patch_set":26,"id":"5f93b717_49eca2f2","line":19,"range":{"start_line":19,"start_character":6,"end_line":19,"end_character":53},"in_reply_to":"5f93b717_86685921","updated":"2018-01-29 20:32:30.000000000","message":"I copy this from your comment \"044_placement_add_projects_users.py\" :$","commit_id":"312ec8702c30b487f9055ba35f72ccbe8760154f"}],"nova/db/sqlalchemy/migrate_repo/versions/378_instance_system_metadata_sqlite_upgrade.sql":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"96dd5238ab65d15f4a08d29463f781f392999f14","unresolved":false,"context_lines":[{"line_number":1,"context_line":"CREATE TABLE instance_system_metadata_new ("},{"line_number":2,"context_line":"    created_at DATETIME,"},{"line_number":3,"context_line":"    updated_at DATETIME,"},{"line_number":4,"context_line":"    deleted_at DATETIME,"},{"line_number":5,"context_line":"    id INTEGER NOT NULL,"},{"line_number":6,"context_line":"    instance_uuid VARCHAR(36) NOT NULL,"},{"line_number":7,"context_line":"    key VARCHAR(255) NOT NULL,"},{"line_number":8,"context_line":"    value TEXT,"},{"line_number":9,"context_line":"    deleted INTEGER,"},{"line_number":10,"context_line":"    FOREIGN KEY (instance_uuid) REFERENCES instances(uuid),"},{"line_number":11,"context_line":"    PRIMARY KEY (id)"},{"line_number":12,"context_line":");"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"INSERT INTO instance_system_metadata_new"},{"line_number":15,"context_line":"    SELECT created_at,"},{"line_number":16,"context_line":"           updated_at,"},{"line_number":17,"context_line":"           deleted_at,"},{"line_number":18,"context_line":"           id,"},{"line_number":19,"context_line":"           instance_uuid,"},{"line_number":20,"context_line":"           key,"},{"line_number":21,"context_line":"           value,"},{"line_number":22,"context_line":"           deleted"},{"line_number":23,"context_line":"    FROM instance_system_metadata;"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"DROP TABLE instance_system_metadata;"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"ALTER TABLE instance_system_metadata_new RENAME TO instance_system_metadata;"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"CREATE INDEX instance_uuid"},{"line_number":30,"context_line":"    ON instance_system_metadata (instance_uuid);"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"CREATE TABLE instance_system_metadata_new ("},{"line_number":33,"context_line":"    created_at DATETIME,"},{"line_number":34,"context_line":"    updated_at DATETIME,"},{"line_number":35,"context_line":"    deleted_at DATETIME,"},{"line_number":36,"context_line":"    id INTEGER NOT NULL,"},{"line_number":37,"context_line":"    instance_uuid VARCHAR(36) NOT NULL,"},{"line_number":38,"context_line":"    key VARCHAR(255) NOT NULL,"},{"line_number":39,"context_line":"    value TEXT,"},{"line_number":40,"context_line":"    deleted INTEGER,"},{"line_number":41,"context_line":"    FOREIGN KEY (instance_uuid) REFERENCES instances(uuid),"},{"line_number":42,"context_line":"    PRIMARY KEY (id)"},{"line_number":43,"context_line":");"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"INSERT INTO instance_system_metadata_new"},{"line_number":46,"context_line":"    SELECT created_at,"},{"line_number":47,"context_line":"           updated_at,"},{"line_number":48,"context_line":"           deleted_at,"},{"line_number":49,"context_line":"           id,"},{"line_number":50,"context_line":"           instance_uuid,"},{"line_number":51,"context_line":"           key,"},{"line_number":52,"context_line":"           value,"},{"line_number":53,"context_line":"           deleted"},{"line_number":54,"context_line":"    FROM instance_system_metadata;"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"DROP TABLE instance_system_metadata;"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"ALTER TABLE instance_system_metadata_new RENAME TO instance_system_metadata;"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"CREATE INDEX instance_uuid"},{"line_number":61,"context_line":"    ON instance_system_metadata (instance_uuid);"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"CREATE TABLE instance_system_metadata_new ("},{"line_number":64,"context_line":"    created_at DATETIME,"},{"line_number":65,"context_line":"    updated_at DATETIME,"},{"line_number":66,"context_line":"    deleted_at DATETIME,"},{"line_number":67,"context_line":"    id INTEGER NOT NULL,"},{"line_number":68,"context_line":"    instance_uuid VARCHAR(36) NOT NULL,"},{"line_number":69,"context_line":"    key VARCHAR(255) NOT NULL,"},{"line_number":70,"context_line":"    value TEXT,"},{"line_number":71,"context_line":"    deleted INTEGER,"},{"line_number":72,"context_line":"    FOREIGN KEY (instance_uuid) REFERENCES instances(uuid),"},{"line_number":73,"context_line":"    PRIMARY KEY (id)"},{"line_number":74,"context_line":");"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"INSERT INTO instance_system_metadata_new"},{"line_number":77,"context_line":"    SELECT created_at,"},{"line_number":78,"context_line":"           updated_at,"},{"line_number":79,"context_line":"           deleted_at,"},{"line_number":80,"context_line":"           id,"},{"line_number":81,"context_line":"           instance_uuid,"},{"line_number":82,"context_line":"           key,"},{"line_number":83,"context_line":"           value,"},{"line_number":84,"context_line":"           deleted"},{"line_number":85,"context_line":"    FROM instance_system_metadata;"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"DROP TABLE instance_system_metadata;"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"ALTER TABLE instance_system_metadata_new RENAME TO instance_system_metadata;"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"CREATE INDEX instance_uuid"},{"line_number":92,"context_line":"    ON instance_system_metadata (instance_uuid);"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"CREATE TABLE shadow_instance_system_metadata_new ("},{"line_number":95,"context_line":"    created_at DATETIME,"}],"source_content_type":"text/x-sql","patch_set":26,"id":"5f93b717_06cbe91d","line":92,"range":{"start_line":1,"start_character":0,"end_line":92,"end_character":48},"updated":"2018-01-29 20:06:48.000000000","message":"you\u0027ve repeated the same statements three times for the instance_system_metadata table...","commit_id":"312ec8702c30b487f9055ba35f72ccbe8760154f"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"ea8dcc009020bde55fc0a2498fd3f6619dbaa7b8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"CREATE TABLE instance_system_metadata_new ("},{"line_number":2,"context_line":"    created_at DATETIME,"},{"line_number":3,"context_line":"    updated_at DATETIME,"},{"line_number":4,"context_line":"    deleted_at DATETIME,"},{"line_number":5,"context_line":"    id INTEGER NOT NULL,"},{"line_number":6,"context_line":"    instance_uuid VARCHAR(36) NOT NULL,"},{"line_number":7,"context_line":"    key VARCHAR(255) NOT NULL,"},{"line_number":8,"context_line":"    value TEXT,"},{"line_number":9,"context_line":"    deleted INTEGER,"},{"line_number":10,"context_line":"    FOREIGN KEY (instance_uuid) REFERENCES instances(uuid),"},{"line_number":11,"context_line":"    PRIMARY KEY (id)"},{"line_number":12,"context_line":");"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"INSERT INTO instance_system_metadata_new"},{"line_number":15,"context_line":"    SELECT created_at,"},{"line_number":16,"context_line":"           updated_at,"},{"line_number":17,"context_line":"           deleted_at,"},{"line_number":18,"context_line":"           id,"},{"line_number":19,"context_line":"           instance_uuid,"},{"line_number":20,"context_line":"           key,"},{"line_number":21,"context_line":"           value,"},{"line_number":22,"context_line":"           deleted"},{"line_number":23,"context_line":"    FROM instance_system_metadata;"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"DROP TABLE instance_system_metadata;"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"ALTER TABLE instance_system_metadata_new RENAME TO instance_system_metadata;"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"CREATE INDEX instance_uuid"},{"line_number":30,"context_line":"    ON instance_system_metadata (instance_uuid);"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"CREATE TABLE instance_system_metadata_new ("},{"line_number":33,"context_line":"    created_at DATETIME,"},{"line_number":34,"context_line":"    updated_at DATETIME,"},{"line_number":35,"context_line":"    deleted_at DATETIME,"},{"line_number":36,"context_line":"    id INTEGER NOT NULL,"},{"line_number":37,"context_line":"    instance_uuid VARCHAR(36) NOT NULL,"},{"line_number":38,"context_line":"    key VARCHAR(255) NOT NULL,"},{"line_number":39,"context_line":"    value TEXT,"},{"line_number":40,"context_line":"    deleted INTEGER,"},{"line_number":41,"context_line":"    FOREIGN KEY (instance_uuid) REFERENCES instances(uuid),"},{"line_number":42,"context_line":"    PRIMARY KEY (id)"},{"line_number":43,"context_line":");"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"INSERT INTO instance_system_metadata_new"},{"line_number":46,"context_line":"    SELECT created_at,"},{"line_number":47,"context_line":"           updated_at,"},{"line_number":48,"context_line":"           deleted_at,"},{"line_number":49,"context_line":"           id,"},{"line_number":50,"context_line":"           instance_uuid,"},{"line_number":51,"context_line":"           key,"},{"line_number":52,"context_line":"           value,"},{"line_number":53,"context_line":"           deleted"},{"line_number":54,"context_line":"    FROM instance_system_metadata;"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"DROP TABLE instance_system_metadata;"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"ALTER TABLE instance_system_metadata_new RENAME TO instance_system_metadata;"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"CREATE INDEX instance_uuid"},{"line_number":61,"context_line":"    ON instance_system_metadata (instance_uuid);"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"CREATE TABLE instance_system_metadata_new ("},{"line_number":64,"context_line":"    created_at DATETIME,"},{"line_number":65,"context_line":"    updated_at DATETIME,"},{"line_number":66,"context_line":"    deleted_at DATETIME,"},{"line_number":67,"context_line":"    id INTEGER NOT NULL,"},{"line_number":68,"context_line":"    instance_uuid VARCHAR(36) NOT NULL,"},{"line_number":69,"context_line":"    key VARCHAR(255) NOT NULL,"},{"line_number":70,"context_line":"    value TEXT,"},{"line_number":71,"context_line":"    deleted INTEGER,"},{"line_number":72,"context_line":"    FOREIGN KEY (instance_uuid) REFERENCES instances(uuid),"},{"line_number":73,"context_line":"    PRIMARY KEY (id)"},{"line_number":74,"context_line":");"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"INSERT INTO instance_system_metadata_new"},{"line_number":77,"context_line":"    SELECT created_at,"},{"line_number":78,"context_line":"           updated_at,"},{"line_number":79,"context_line":"           deleted_at,"},{"line_number":80,"context_line":"           id,"},{"line_number":81,"context_line":"           instance_uuid,"},{"line_number":82,"context_line":"           key,"},{"line_number":83,"context_line":"           value,"},{"line_number":84,"context_line":"           deleted"},{"line_number":85,"context_line":"    FROM instance_system_metadata;"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"DROP TABLE instance_system_metadata;"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"ALTER TABLE instance_system_metadata_new RENAME TO instance_system_metadata;"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"CREATE INDEX instance_uuid"},{"line_number":92,"context_line":"    ON instance_system_metadata (instance_uuid);"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"CREATE TABLE shadow_instance_system_metadata_new ("},{"line_number":95,"context_line":"    created_at DATETIME,"}],"source_content_type":"text/x-sql","patch_set":26,"id":"5f93b717_a984460d","line":92,"range":{"start_line":1,"start_character":0,"end_line":92,"end_character":48},"in_reply_to":"5f93b717_06cbe91d","updated":"2018-01-29 20:32:30.000000000","message":"yes as you guess, its copy and paste mistake when I copy the migration for shadow table\n\nThank you !","commit_id":"312ec8702c30b487f9055ba35f72ccbe8760154f"}],"nova/tests/functional/db/test_archive.py":[{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"98198ba06e20f12a21fdd71e506940012a7d7fc5","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        self.assertIn(\u0027instance_system_metadata\u0027, results)"},{"line_number":97,"context_line":"        self.assertEqual(len(instance.system_metadata),"},{"line_number":98,"context_line":"                         results[\u0027instance_system_metadata\u0027])"},{"line_number":99,"context_line":"        # FIXME(ameeda): I fail to archive instances, because of a fkey"},{"line_number":100,"context_line":"        # referential constraint error, I submit the review to get help."},{"line_number":101,"context_line":"        self.assertNotIn(\u0027instances\u0027, results)"},{"line_number":102,"context_line":"        # Verify that instance_actions and actions_event are dropped"}],"source_content_type":"text/x-python","patch_set":28,"id":"5f93b717_b32302a7","line":99,"range":{"start_line":99,"start_character":9,"end_line":99,"end_character":10},"updated":"2018-02-01 12:09:18.000000000","message":"please note here","commit_id":"c697ab314639e8bf2e4ec9e529eb9298dd96b13b"}],"nova/tests/functional/regressions/test_bug_1117923.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"42cc078b6069029996e22abdd3b978e7bf47f9c3","unresolved":false,"context_lines":[{"line_number":104,"context_line":"            server_id, {\u0027createImage\u0027: {\u0027name\u0027: name}})"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        # Confirm that the image was created"},{"line_number":107,"context_line":"        images \u003d self.api.get_images(detail\u003dTrue)"},{"line_number":108,"context_line":"        image_map \u003d {image[\u0027name\u0027]: image for image in images}"},{"line_number":109,"context_line":"        found_image \u003d image_map.get(name)"},{"line_number":110,"context_line":"        self.assertTrue(found_image)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        self.assertEqual(value, found_image[\u0027metadata\u0027][\u0027value\u0027])"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        # Delete server"},{"line_number":115,"context_line":"        self.api.delete_server(created_server[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":19,"id":"7f96bb07_c2141051","line":112,"range":{"start_line":107,"start_character":8,"end_line":112,"end_character":65},"updated":"2018-01-15 20:44:54.000000000","message":"This is doing nothing other than proxying the return from Glance:\n\nhttps://github.com/openstack/nova/blob/master/nova/api/openstack/compute/images.py#L129\n\nIt isn\u0027t hitting the Nova database or the instance_system_metadata table at all.\n\nIn order to do that, you will need to do a self.api.get_server() and check the metadata returned in the response...","commit_id":"d5a4f42f1900c53186d0e8277f393ee4ef1662cf"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"32a33847c5e305ef0ff090770927b0a51cb8384f","unresolved":false,"context_lines":[{"line_number":104,"context_line":"            server_id, {\u0027createImage\u0027: {\u0027name\u0027: name}})"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        # Confirm that the image was created"},{"line_number":107,"context_line":"        images \u003d self.api.get_images(detail\u003dTrue)"},{"line_number":108,"context_line":"        image_map \u003d {image[\u0027name\u0027]: image for image in images}"},{"line_number":109,"context_line":"        found_image \u003d image_map.get(name)"},{"line_number":110,"context_line":"        self.assertTrue(found_image)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        self.assertEqual(value, found_image[\u0027metadata\u0027][\u0027value\u0027])"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        # Delete server"},{"line_number":115,"context_line":"        self.api.delete_server(created_server[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":19,"id":"7f96bb07_aee43ce1","line":112,"range":{"start_line":107,"start_character":8,"end_line":112,"end_character":65},"in_reply_to":"7f96bb07_c2141051","updated":"2018-01-16 09:14:49.000000000","message":"as gmann said at #openstack_nova channel IRC. \n1-  image service proxy API are now deprecated, so I change it as you mentioned.\n\n2- because this bug is little half scenario kind of, where nova store server metadata which is restricted to 255 by API layer but internally image might have \u003e255 metadata value which are being stored in instance_system_metadata table","commit_id":"d5a4f42f1900c53186d0e8277f393ee4ef1662cf"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"8b508ebe6bdf18afa509459427ca44f798226943","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        \"\"\""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        value \u003d \"x\" * 300"},{"line_number":73,"context_line":"        key \u003d \"value\""},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        self.image_service \u003d nova.tests.unit.image.fake.stub_out_image_service("},{"line_number":76,"context_line":"            self)"}],"source_content_type":"text/x-python","patch_set":20,"id":"7f96bb07_9d294a8b","line":73,"updated":"2018-01-17 13:08:06.000000000","message":"make this key name something other than \"value\"...","commit_id":"5a9ed5985b50feae5908c0a85306ae3a07b3a2e3"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"8b508ebe6bdf18afa509459427ca44f798226943","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        self.api.post_server_action("},{"line_number":106,"context_line":"            server_id, {\u0027createImage\u0027: {\u0027name\u0027: name}})"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        # Confirm that the image was created"},{"line_number":109,"context_line":"        images \u003d self._image_api.get_all(self.admin_api)"},{"line_number":110,"context_line":"        image_map \u003d {image[\u0027name\u0027]: image for image in images}"},{"line_number":111,"context_line":"        found_image \u003d image_map.get(name)"}],"source_content_type":"text/x-python","patch_set":20,"id":"7f96bb07_dd19127a","line":108,"updated":"2018-01-17 13:08:06.000000000","message":"also, you do not want to do this. instead, you want to verify that the server\u0027s metadata information contains the full 300 \"x\" value. You need to grab the *server\u0027s* (not the image) metadata key/value pairs by doing a self.api.get_server() and looking for the image metadata value you set above.","commit_id":"5a9ed5985b50feae5908c0a85306ae3a07b3a2e3"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"ddd4eec4197547b078a268f60fe5b8b688bc7418","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        self.api.post_server_action("},{"line_number":106,"context_line":"            server_id, {\u0027createImage\u0027: {\u0027name\u0027: name}})"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        # Confirm that the image was created"},{"line_number":109,"context_line":"        images \u003d self._image_api.get_all(self.admin_api)"},{"line_number":110,"context_line":"        image_map \u003d {image[\u0027name\u0027]: image for image in images}"},{"line_number":111,"context_line":"        found_image \u003d image_map.get(name)"}],"source_content_type":"text/x-python","patch_set":20,"id":"7f96bb07_d6ed6ff0","line":108,"in_reply_to":"7f96bb07_dd19127a","updated":"2018-01-17 14:24:10.000000000","message":"should I build new server from snapshot image ?, I can\u0027t find any details can help me when I use api.get_server(created_server[\u0027id\u0027]) ,\nplease check the log to see what I got http://paste.openstack.org/show/646510/\n\nAlso if I build new server from snapshot image, it doesn\u0027t help me !","commit_id":"5a9ed5985b50feae5908c0a85306ae3a07b3a2e3"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e2ac8435d9a244b6e81d3eaf4f9e19eac5021358","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        found_server \u003d self._wait_for_state_change(self.admin_api,"},{"line_number":106,"context_line":"                                                   created_server, \u0027ACTIVE\u0027)"},{"line_number":107,"context_line":"        self.assertEqual(\u0027ACTIVE\u0027, found_server[\u0027status\u0027])"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        # Create image from the created server,"},{"line_number":110,"context_line":"        # which gets image properties from it \"hits Nova DB\""},{"line_number":111,"context_line":"        # so if the value is truncated it will be appeared"},{"line_number":112,"context_line":"        # in new Image properties"},{"line_number":113,"context_line":"        name \u003d \u0027Snapshot 1\u0027"},{"line_number":114,"context_line":"        self.api.post_server_action("},{"line_number":115,"context_line":"            server_id, {\u0027createImage\u0027: {\u0027name\u0027: name}})"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        # Confirm that the image was created"},{"line_number":118,"context_line":"        images \u003d self._image_api.get_all(self.admin_api)"},{"line_number":119,"context_line":"        image_map \u003d {image[\u0027name\u0027]: image for image in images}"},{"line_number":120,"context_line":"        found_image \u003d image_map.get(name)"},{"line_number":121,"context_line":"        self.assertTrue(found_image)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        # Check new Image properties"},{"line_number":124,"context_line":"        self.assertEqual(value, found_image[\u0027properties\u0027][key])"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        # Delete server"},{"line_number":127,"context_line":"        self.api.delete_server(created_server[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":22,"id":"7f96bb07_dec321ec","line":124,"range":{"start_line":108,"start_character":0,"end_line":124,"end_character":63},"updated":"2018-01-18 13:39:33.000000000","message":"as Jay commented. this should not be needed. But yes get_server does not give system_metadata. it provide only metadata set via RES API. \n\nI did not find any other way to do that, can metadata API can be used to check that? Jay can point out better way.","commit_id":"93bbfdd82cbb971080914b7efbdf562f163bb393"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"dee969a3a34492bb4daa971c209968c89a97490b","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        found_server \u003d self._wait_for_state_change(self.admin_api,"},{"line_number":106,"context_line":"                                                   created_server, \u0027ACTIVE\u0027)"},{"line_number":107,"context_line":"        self.assertEqual(\u0027ACTIVE\u0027, found_server[\u0027status\u0027])"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        # Create image from the created server,"},{"line_number":110,"context_line":"        # which gets image properties from it \"hits Nova DB\""},{"line_number":111,"context_line":"        # so if the value is truncated it will be appeared"},{"line_number":112,"context_line":"        # in new Image properties"},{"line_number":113,"context_line":"        name \u003d \u0027Snapshot 1\u0027"},{"line_number":114,"context_line":"        self.api.post_server_action("},{"line_number":115,"context_line":"            server_id, {\u0027createImage\u0027: {\u0027name\u0027: name}})"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        # Confirm that the image was created"},{"line_number":118,"context_line":"        images \u003d self._image_api.get_all(self.admin_api)"},{"line_number":119,"context_line":"        image_map \u003d {image[\u0027name\u0027]: image for image in images}"},{"line_number":120,"context_line":"        found_image \u003d image_map.get(name)"},{"line_number":121,"context_line":"        self.assertTrue(found_image)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        # Check new Image properties"},{"line_number":124,"context_line":"        self.assertEqual(value, found_image[\u0027properties\u0027][key])"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        # Delete server"},{"line_number":127,"context_line":"        self.api.delete_server(created_server[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":22,"id":"5f93b717_58ab4988","line":124,"range":{"start_line":108,"start_character":0,"end_line":124,"end_character":63},"in_reply_to":"5f93b717_9d122458","updated":"2018-01-26 12:11:01.000000000","message":"its ready for merge now ?","commit_id":"93bbfdd82cbb971080914b7efbdf562f163bb393"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"cae02efedf2fb2b18f5f47d0aaf08cb02fdad8c9","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        found_server \u003d self._wait_for_state_change(self.admin_api,"},{"line_number":106,"context_line":"                                                   created_server, \u0027ACTIVE\u0027)"},{"line_number":107,"context_line":"        self.assertEqual(\u0027ACTIVE\u0027, found_server[\u0027status\u0027])"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        # Create image from the created server,"},{"line_number":110,"context_line":"        # which gets image properties from it \"hits Nova DB\""},{"line_number":111,"context_line":"        # so if the value is truncated it will be appeared"},{"line_number":112,"context_line":"        # in new Image properties"},{"line_number":113,"context_line":"        name \u003d \u0027Snapshot 1\u0027"},{"line_number":114,"context_line":"        self.api.post_server_action("},{"line_number":115,"context_line":"            server_id, {\u0027createImage\u0027: {\u0027name\u0027: name}})"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        # Confirm that the image was created"},{"line_number":118,"context_line":"        images \u003d self._image_api.get_all(self.admin_api)"},{"line_number":119,"context_line":"        image_map \u003d {image[\u0027name\u0027]: image for image in images}"},{"line_number":120,"context_line":"        found_image \u003d image_map.get(name)"},{"line_number":121,"context_line":"        self.assertTrue(found_image)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        # Check new Image properties"},{"line_number":124,"context_line":"        self.assertEqual(value, found_image[\u0027properties\u0027][key])"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        # Delete server"},{"line_number":127,"context_line":"        self.api.delete_server(created_server[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":22,"id":"5f93b717_e2ff0565","line":124,"range":{"start_line":108,"start_character":0,"end_line":124,"end_character":63},"in_reply_to":"5f93b717_c247691d","updated":"2018-01-26 09:31:55.000000000","message":"so this will be acceptable ?","commit_id":"93bbfdd82cbb971080914b7efbdf562f163bb393"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9dfa8804472e08eb4eea0b1db3e5654959b25ce8","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        found_server \u003d self._wait_for_state_change(self.admin_api,"},{"line_number":106,"context_line":"                                                   created_server, \u0027ACTIVE\u0027)"},{"line_number":107,"context_line":"        self.assertEqual(\u0027ACTIVE\u0027, found_server[\u0027status\u0027])"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        # Create image from the created server,"},{"line_number":110,"context_line":"        # which gets image properties from it \"hits Nova DB\""},{"line_number":111,"context_line":"        # so if the value is truncated it will be appeared"},{"line_number":112,"context_line":"        # in new Image properties"},{"line_number":113,"context_line":"        name \u003d \u0027Snapshot 1\u0027"},{"line_number":114,"context_line":"        self.api.post_server_action("},{"line_number":115,"context_line":"            server_id, {\u0027createImage\u0027: {\u0027name\u0027: name}})"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        # Confirm that the image was created"},{"line_number":118,"context_line":"        images \u003d self._image_api.get_all(self.admin_api)"},{"line_number":119,"context_line":"        image_map \u003d {image[\u0027name\u0027]: image for image in images}"},{"line_number":120,"context_line":"        found_image \u003d image_map.get(name)"},{"line_number":121,"context_line":"        self.assertTrue(found_image)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        # Check new Image properties"},{"line_number":124,"context_line":"        self.assertEqual(value, found_image[\u0027properties\u0027][key])"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        # Delete server"},{"line_number":127,"context_line":"        self.api.delete_server(created_server[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":22,"id":"5f93b717_9d122458","line":124,"range":{"start_line":108,"start_character":0,"end_line":124,"end_character":63},"in_reply_to":"5f93b717_e2ff0565","updated":"2018-01-26 09:56:06.000000000","message":"As far as I see nova REST API does not return instance system_metadata directly.","commit_id":"93bbfdd82cbb971080914b7efbdf562f163bb393"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"803ebca70fd7fe4bbe9b715002316a4419a24e8c","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        found_server \u003d self._wait_for_state_change(self.admin_api,"},{"line_number":106,"context_line":"                                                   created_server, \u0027ACTIVE\u0027)"},{"line_number":107,"context_line":"        self.assertEqual(\u0027ACTIVE\u0027, found_server[\u0027status\u0027])"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        # Create image from the created server,"},{"line_number":110,"context_line":"        # which gets image properties from it \"hits Nova DB\""},{"line_number":111,"context_line":"        # so if the value is truncated it will be appeared"},{"line_number":112,"context_line":"        # in new Image properties"},{"line_number":113,"context_line":"        name \u003d \u0027Snapshot 1\u0027"},{"line_number":114,"context_line":"        self.api.post_server_action("},{"line_number":115,"context_line":"            server_id, {\u0027createImage\u0027: {\u0027name\u0027: name}})"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        # Confirm that the image was created"},{"line_number":118,"context_line":"        images \u003d self._image_api.get_all(self.admin_api)"},{"line_number":119,"context_line":"        image_map \u003d {image[\u0027name\u0027]: image for image in images}"},{"line_number":120,"context_line":"        found_image \u003d image_map.get(name)"},{"line_number":121,"context_line":"        self.assertTrue(found_image)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        # Check new Image properties"},{"line_number":124,"context_line":"        self.assertEqual(value, found_image[\u0027properties\u0027][key])"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        # Delete server"},{"line_number":127,"context_line":"        self.api.delete_server(created_server[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":22,"id":"5f93b717_c247691d","line":124,"range":{"start_line":108,"start_character":0,"end_line":124,"end_character":63},"in_reply_to":"7f96bb07_1feae3d6","updated":"2018-01-26 09:19:36.000000000","message":"humm, its not optimized way though but i did not find other way to get system metadata via API.","commit_id":"93bbfdd82cbb971080914b7efbdf562f163bb393"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"e8d40ed49094d9e256bfdd712b448ebe2bf2190b","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        found_server \u003d self._wait_for_state_change(self.admin_api,"},{"line_number":106,"context_line":"                                                   created_server, \u0027ACTIVE\u0027)"},{"line_number":107,"context_line":"        self.assertEqual(\u0027ACTIVE\u0027, found_server[\u0027status\u0027])"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        # Create image from the created server,"},{"line_number":110,"context_line":"        # which gets image properties from it \"hits Nova DB\""},{"line_number":111,"context_line":"        # so if the value is truncated it will be appeared"},{"line_number":112,"context_line":"        # in new Image properties"},{"line_number":113,"context_line":"        name \u003d \u0027Snapshot 1\u0027"},{"line_number":114,"context_line":"        self.api.post_server_action("},{"line_number":115,"context_line":"            server_id, {\u0027createImage\u0027: {\u0027name\u0027: name}})"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        # Confirm that the image was created"},{"line_number":118,"context_line":"        images \u003d self._image_api.get_all(self.admin_api)"},{"line_number":119,"context_line":"        image_map \u003d {image[\u0027name\u0027]: image for image in images}"},{"line_number":120,"context_line":"        found_image \u003d image_map.get(name)"},{"line_number":121,"context_line":"        self.assertTrue(found_image)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        # Check new Image properties"},{"line_number":124,"context_line":"        self.assertEqual(value, found_image[\u0027properties\u0027][key])"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        # Delete server"},{"line_number":127,"context_line":"        self.api.delete_server(created_server[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":22,"id":"7f96bb07_1feae3d6","line":124,"range":{"start_line":108,"start_character":0,"end_line":124,"end_character":63},"in_reply_to":"7f96bb07_dec321ec","updated":"2018-01-18 14:40:54.000000000","message":"thanks for review again, \n\nwe can follow bug scenario as bug mentioned, so \n1- create image with property \u003e 255  \n2- create server and use the created image,\n3- create image from the created server,\n   so now, the new image property will be fetch from nova DB which is truncated before, and stored in glance. \n4- check glance created image property, you will find that the length is truncates or not. \n\nwhat do you think ?","commit_id":"93bbfdd82cbb971080914b7efbdf562f163bb393"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"96dd5238ab65d15f4a08d29463f781f392999f14","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        found_server \u003d self._wait_for_state_change(self.admin_api,"},{"line_number":104,"context_line":"                                                   created_server, \u0027ACTIVE\u0027)"},{"line_number":105,"context_line":"        self.assertEqual(\u0027ACTIVE\u0027, found_server[\u0027status\u0027])"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        sys_meta \u003d db.instance_system_metadata_get(self.context, server_id)"},{"line_number":108,"context_line":"        sys_key \u003d \"%s%s\" % (utils.SM_IMAGE_PROP_PREFIX, self.key)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        self.assertEqual(self.value, sys_meta[sys_key])"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"5f93b717_c6d421c0","line":108,"range":{"start_line":106,"start_character":0,"end_line":108,"end_character":65},"updated":"2018-01-29 20:06:48.000000000","message":"much better test, thank you.","commit_id":"312ec8702c30b487f9055ba35f72ccbe8760154f"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"ea8dcc009020bde55fc0a2498fd3f6619dbaa7b8","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        found_server \u003d self._wait_for_state_change(self.admin_api,"},{"line_number":104,"context_line":"                                                   created_server, \u0027ACTIVE\u0027)"},{"line_number":105,"context_line":"        self.assertEqual(\u0027ACTIVE\u0027, found_server[\u0027status\u0027])"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        sys_meta \u003d db.instance_system_metadata_get(self.context, server_id)"},{"line_number":108,"context_line":"        sys_key \u003d \"%s%s\" % (utils.SM_IMAGE_PROP_PREFIX, self.key)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        self.assertEqual(self.value, sys_meta[sys_key])"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"5f93b717_e9b80ec9","line":108,"range":{"start_line":106,"start_character":0,"end_line":108,"end_character":65},"in_reply_to":"5f93b717_c6d421c0","updated":"2018-01-29 20:32:30.000000000","message":"Thank you sir!","commit_id":"312ec8702c30b487f9055ba35f72ccbe8760154f"}],"nova/tests/unit/db/test_migrations.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"e406f35b7176594cf8143b7b350708a64b2f6687","unresolved":false,"context_lines":[{"line_number":969,"context_line":"        self.assertColumnExists(engine, \u0027migrations\u0027, \u0027uuid\u0027)"},{"line_number":970,"context_line":""},{"line_number":971,"context_line":"    def _check_374(self, engine, data):"},{"line_number":972,"context_line":"        self.assertColumnExists(engine, \u0027instance_system_metadata\u0027, \u0027value\u0027)"},{"line_number":973,"context_line":""},{"line_number":974,"context_line":""},{"line_number":975,"context_line":"class TestNovaMigrationsSQLite(NovaMigrationsCheckers,"}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_33db564f","line":972,"updated":"2017-12-12 07:48:06.000000000","message":"The type of the column should be checked. (Text or not)","commit_id":"61390125baf4d4d17d78bb69edda79a6096fb674"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"39e8b4c8be4bf635a1b86ebeee96e11ef4ed66f9","unresolved":false,"context_lines":[{"line_number":969,"context_line":"        self.assertColumnExists(engine, \u0027migrations\u0027, \u0027uuid\u0027)"},{"line_number":970,"context_line":""},{"line_number":971,"context_line":"    def _check_374(self, engine, data):"},{"line_number":972,"context_line":"        self.assertColumnExists(engine, \u0027instance_system_metadata\u0027, \u0027value\u0027)"},{"line_number":973,"context_line":""},{"line_number":974,"context_line":""},{"line_number":975,"context_line":"class TestNovaMigrationsSQLite(NovaMigrationsCheckers,"}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_363fc487","line":972,"in_reply_to":"df87a7cf_33db564f","updated":"2017-12-12 12:06:58.000000000","message":"Done","commit_id":"61390125baf4d4d17d78bb69edda79a6096fb674"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"9761345e35a18235c2adcccfa655da79954a0351","unresolved":false,"context_lines":[{"line_number":969,"context_line":"        self.assertColumnExists(engine, \u0027migrations\u0027, \u0027uuid\u0027)"},{"line_number":970,"context_line":""},{"line_number":971,"context_line":"    def _check_374(self, engine, data):"},{"line_number":972,"context_line":"        self.assertColumnExists(engine, \u0027instance_system_metadata\u0027, \u0027value\u0027)"},{"line_number":973,"context_line":"        self.assertColumnExists(engine, \u0027shadow_instance_system_metadata\u0027,"},{"line_number":974,"context_line":"                                        \u0027value\u0027)"},{"line_number":975,"context_line":"        if engine.name \u003d\u003d \"mysql\":"},{"line_number":976,"context_line":"            instanceSystemMetadata \u003d oslodbutils.get_table(engine,"},{"line_number":977,"context_line":"                                            \u0027instance_system_metadata\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"df87a7cf_98ff1200","line":974,"range":{"start_line":972,"start_character":0,"end_line":974,"end_character":48},"updated":"2017-12-20 09:39:00.000000000","message":"It\u0027s ok, but just a little confusing when I have first look on it.\n\nThese are not stuff of 374, right? I think maybe type checks as below are enough?","commit_id":"a70ae6eebe4f7d16dc6d8f74bd5920dc35d0b652"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"f98ae01fd906d433b754dfbe7cf1b04e0542b4f2","unresolved":false,"context_lines":[{"line_number":969,"context_line":"        self.assertColumnExists(engine, \u0027migrations\u0027, \u0027uuid\u0027)"},{"line_number":970,"context_line":""},{"line_number":971,"context_line":"    def _check_374(self, engine, data):"},{"line_number":972,"context_line":"        self.assertColumnExists(engine, \u0027instance_system_metadata\u0027, \u0027value\u0027)"},{"line_number":973,"context_line":"        self.assertColumnExists(engine, \u0027shadow_instance_system_metadata\u0027,"},{"line_number":974,"context_line":"                                        \u0027value\u0027)"},{"line_number":975,"context_line":"        if engine.name \u003d\u003d \"mysql\":"},{"line_number":976,"context_line":"            instanceSystemMetadata \u003d oslodbutils.get_table(engine,"},{"line_number":977,"context_line":"                                            \u0027instance_system_metadata\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"df87a7cf_938ff521","line":974,"range":{"start_line":972,"start_character":0,"end_line":974,"end_character":48},"in_reply_to":"df87a7cf_98ff1200","updated":"2017-12-20 13:15:36.000000000","message":"yes, that\u0027s right, I remove those 2 lines. Thanks :)","commit_id":"a70ae6eebe4f7d16dc6d8f74bd5920dc35d0b652"}],"nova/tests/unit/test_utils.py":[{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"9761345e35a18235c2adcccfa655da79954a0351","unresolved":false,"context_lines":[{"line_number":924,"context_line":"        image \u003d self.get_image()"},{"line_number":925,"context_line":"        image[\"properties\"] \u003d {\"value\": \"this is dumb data which is \""},{"line_number":926,"context_line":"                                        \"grater than 255 chars, \""},{"line_number":927,"context_line":"                                        \"1111111111,1111111111,1111111111,\""},{"line_number":928,"context_line":"                                        \"1111111111,1111111111,1111111111,\""},{"line_number":929,"context_line":"                                        \"1111111111,1111111111,1111111111,\""},{"line_number":930,"context_line":"                                        \"1111111111,1111111111,1111111111,\""},{"line_number":931,"context_line":"                                        \"1111111111,1111111111,1111111111,\""},{"line_number":932,"context_line":"                                        \"1111111111,1111111111,1111111111,\""},{"line_number":933,"context_line":"                                        \"1111111111,1111111111,1111111111\"}"},{"line_number":934,"context_line":"        sys_meta \u003d utils.get_system_metadata_from_image(image)"},{"line_number":935,"context_line":"        sys_key \u003d \"%s%s\" % (utils.SM_IMAGE_PROP_PREFIX, \"value\")"},{"line_number":936,"context_line":"        self.assertTrue(len(sys_meta.get(sys_key)) \u003e 255)"}],"source_content_type":"text/x-python","patch_set":8,"id":"df87a7cf_dd558c1f","line":933,"range":{"start_line":927,"start_character":40,"end_line":933,"end_character":74},"updated":"2017-12-20 09:39:00.000000000","message":"emm... I think maybe try to use something like:\n\n\u00271\u0027 * 256\n\nis more simple and readable?","commit_id":"a70ae6eebe4f7d16dc6d8f74bd5920dc35d0b652"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"f98ae01fd906d433b754dfbe7cf1b04e0542b4f2","unresolved":false,"context_lines":[{"line_number":924,"context_line":"        image \u003d self.get_image()"},{"line_number":925,"context_line":"        image[\"properties\"] \u003d {\"value\": \"this is dumb data which is \""},{"line_number":926,"context_line":"                                        \"grater than 255 chars, \""},{"line_number":927,"context_line":"                                        \"1111111111,1111111111,1111111111,\""},{"line_number":928,"context_line":"                                        \"1111111111,1111111111,1111111111,\""},{"line_number":929,"context_line":"                                        \"1111111111,1111111111,1111111111,\""},{"line_number":930,"context_line":"                                        \"1111111111,1111111111,1111111111,\""},{"line_number":931,"context_line":"                                        \"1111111111,1111111111,1111111111,\""},{"line_number":932,"context_line":"                                        \"1111111111,1111111111,1111111111,\""},{"line_number":933,"context_line":"                                        \"1111111111,1111111111,1111111111\"}"},{"line_number":934,"context_line":"        sys_meta \u003d utils.get_system_metadata_from_image(image)"},{"line_number":935,"context_line":"        sys_key \u003d \"%s%s\" % (utils.SM_IMAGE_PROP_PREFIX, \"value\")"},{"line_number":936,"context_line":"        self.assertTrue(len(sys_meta.get(sys_key)) \u003e 255)"}],"source_content_type":"text/x-python","patch_set":8,"id":"df87a7cf_73859106","line":933,"range":{"start_line":927,"start_character":40,"end_line":933,"end_character":74},"in_reply_to":"df87a7cf_dd558c1f","updated":"2017-12-20 13:15:36.000000000","message":"yes, you\u0027re right, I did that as you mentioned. Thanks","commit_id":"a70ae6eebe4f7d16dc6d8f74bd5920dc35d0b652"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"de2f95ac19de99f30a161490f41797984834a677","unresolved":false,"context_lines":[{"line_number":925,"context_line":"        image[\"properties\"] \u003d {\"value\": \u00271\u0027 * 256}"},{"line_number":926,"context_line":"        sys_meta \u003d utils.get_system_metadata_from_image(image)"},{"line_number":927,"context_line":"        sys_key \u003d \"%s%s\" % (utils.SM_IMAGE_PROP_PREFIX, \"value\")"},{"line_number":928,"context_line":"        self.assertTrue(len(sys_meta.get(sys_key)) \u003e 255)"},{"line_number":929,"context_line":""},{"line_number":930,"context_line":"    def test_base_image_properties(self):"},{"line_number":931,"context_line":"        image \u003d self.get_image()"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f91af0f_28850aae","line":928,"updated":"2017-12-28 14:47:35.000000000","message":"While this may be true, a better test would be to test for equality between what you inserted and what you got back. In other words:\n\n  val \u003d \"x\" * 300\n  image[\"properties\"] \u003d {\"value\": val}\n  ...\n  self.assertEqual(val, sys_meta.get(sys_key))","commit_id":"145d1c038dd47e407d473eaddb05ff9ff9c754b1"}],"nova/utils.py":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"9ecbd3de8e9a7a77855fc95001875d57df778599","unresolved":false,"context_lines":[{"line_number":990,"context_line":"        if key in SM_SKIP_KEYS:"},{"line_number":991,"context_line":"            continue"},{"line_number":992,"context_line":""},{"line_number":993,"context_line":"        if key !\u003d \u0027value\u0027:"},{"line_number":994,"context_line":"            new_value \u003d safe_truncate(six.text_type(value), 255)"},{"line_number":995,"context_line":"        else:"},{"line_number":996,"context_line":"            new_value \u003d value"},{"line_number":997,"context_line":"        system_meta[prefix_format % key] \u003d new_value"},{"line_number":998,"context_line":""},{"line_number":999,"context_line":"    for key in SM_INHERITABLE_KEYS:"}],"source_content_type":"text/x-python","patch_set":6,"id":"df87a7cf_203284f3","line":996,"range":{"start_line":993,"start_character":8,"end_line":996,"end_character":29},"updated":"2017-12-18 10:14:59.000000000","message":"I\u0027d think we need some test for it...","commit_id":"45283e77659bbb87c31be7cf5f07698de53ca562"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"42cc078b6069029996e22abdd3b978e7bf47f9c3","unresolved":false,"context_lines":[{"line_number":980,"context_line":"        if key in SM_SKIP_KEYS:"},{"line_number":981,"context_line":"            continue"},{"line_number":982,"context_line":""},{"line_number":983,"context_line":"        if key !\u003d \u0027value\u0027:"},{"line_number":984,"context_line":"            new_value \u003d safe_truncate(six.text_type(value), 255)"},{"line_number":985,"context_line":"        else:"},{"line_number":986,"context_line":"            new_value \u003d value"}],"source_content_type":"text/x-python","patch_set":19,"id":"7f96bb07_ddf635fa","line":983,"range":{"start_line":983,"start_character":8,"end_line":983,"end_character":26},"updated":"2018-01-15 20:44:54.000000000","message":"say what? key is not going to be equal to \u0027value\u0027... the key is the key of the map, not the value...","commit_id":"d5a4f42f1900c53186d0e8277f393ee4ef1662cf"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"32a33847c5e305ef0ff090770927b0a51cb8384f","unresolved":false,"context_lines":[{"line_number":980,"context_line":"        if key in SM_SKIP_KEYS:"},{"line_number":981,"context_line":"            continue"},{"line_number":982,"context_line":""},{"line_number":983,"context_line":"        if key !\u003d \u0027value\u0027:"},{"line_number":984,"context_line":"            new_value \u003d safe_truncate(six.text_type(value), 255)"},{"line_number":985,"context_line":"        else:"},{"line_number":986,"context_line":"            new_value \u003d value"}],"source_content_type":"text/x-python","patch_set":19,"id":"7f96bb07_ee2c8403","line":983,"range":{"start_line":983,"start_character":8,"end_line":983,"end_character":26},"in_reply_to":"7f96bb07_ddf635fa","updated":"2018-01-16 09:14:49.000000000","message":"value is a key of the image properties map.","commit_id":"d5a4f42f1900c53186d0e8277f393ee4ef1662cf"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0fdf7d815e6130417f0ed70653a05784fe5eb633","unresolved":false,"context_lines":[{"line_number":981,"context_line":"            continue"},{"line_number":982,"context_line":""},{"line_number":983,"context_line":"        system_meta[prefix_format % key] \u003d value"},{"line_number":984,"context_line":""},{"line_number":985,"context_line":"    for key in SM_INHERITABLE_KEYS:"},{"line_number":986,"context_line":"        value \u003d image_meta.get(key)"},{"line_number":987,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"7f96bb07_de2d6195","line":984,"range":{"start_line":984,"start_character":0,"end_line":984,"end_character":0},"updated":"2018-01-18 13:36:42.000000000","message":"+1, verified that this is being used only while create and rebuild server API to store metadata in InstanceSystemMetadata which has been extended to \u0027Text\u0027 type.","commit_id":"93bbfdd82cbb971080914b7efbdf562f163bb393"}],"releasenotes/notes/bug-1117923-2b3c64300da5f92a.yaml":[{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"d380694eacbd5b300aa588b62f525c40c2cba887","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    A fix is made for `bug 1117923`_ where a request to change instance_system_metadata "},{"line_number":4,"context_line":"    value column datatype from varchar 255 to Text."},{"line_number":5,"context_line":"    "},{"line_number":6,"context_line":"    .. _bug 1117923: https://bugs.launchpad.net/nova/+bug/1117923"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"df87a7cf_587aea76","line":3,"range":{"start_line":3,"start_character":87,"end_line":3,"end_character":88},"updated":"2017-12-20 09:32:51.000000000","message":"delete","commit_id":"a70ae6eebe4f7d16dc6d8f74bd5920dc35d0b652"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"f98ae01fd906d433b754dfbe7cf1b04e0542b4f2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    A fix is made for `bug 1117923`_ where a request to change instance_system_metadata "},{"line_number":4,"context_line":"    value column datatype from varchar 255 to Text."},{"line_number":5,"context_line":"    "},{"line_number":6,"context_line":"    .. _bug 1117923: https://bugs.launchpad.net/nova/+bug/1117923"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"df87a7cf_33cdc984","line":3,"range":{"start_line":3,"start_character":87,"end_line":3,"end_character":88},"in_reply_to":"df87a7cf_587aea76","updated":"2017-12-20 13:15:36.000000000","message":"Done","commit_id":"a70ae6eebe4f7d16dc6d8f74bd5920dc35d0b652"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"d380694eacbd5b300aa588b62f525c40c2cba887","unresolved":false,"context_lines":[{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    A fix is made for `bug 1117923`_ where a request to change instance_system_metadata "},{"line_number":4,"context_line":"    value column datatype from varchar 255 to Text."},{"line_number":5,"context_line":"    "},{"line_number":6,"context_line":"    .. _bug 1117923: https://bugs.launchpad.net/nova/+bug/1117923"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"df87a7cf_3895a687","line":5,"range":{"start_line":5,"start_character":0,"end_line":5,"end_character":4},"updated":"2017-12-20 09:32:51.000000000","message":"delete","commit_id":"a70ae6eebe4f7d16dc6d8f74bd5920dc35d0b652"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"f98ae01fd906d433b754dfbe7cf1b04e0542b4f2","unresolved":false,"context_lines":[{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    A fix is made for `bug 1117923`_ where a request to change instance_system_metadata "},{"line_number":4,"context_line":"    value column datatype from varchar 255 to Text."},{"line_number":5,"context_line":"    "},{"line_number":6,"context_line":"    .. _bug 1117923: https://bugs.launchpad.net/nova/+bug/1117923"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"df87a7cf_f3c20153","line":5,"range":{"start_line":5,"start_character":0,"end_line":5,"end_character":4},"in_reply_to":"df87a7cf_3895a687","updated":"2017-12-20 13:15:36.000000000","message":"Done","commit_id":"a70ae6eebe4f7d16dc6d8f74bd5920dc35d0b652"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8b77cf85e55eacd49d15305d3fdc0b8a88660151","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    A fix is made for `bug 1117923`_ where a request to change instance_system_metadata"},{"line_number":4,"context_line":"    value column datatype from varchar 255 to Text."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    .. _bug 1117923: https://bugs.launchpad.net/nova/+bug/1117923"}],"source_content_type":"text/x-yaml","patch_set":17,"id":"9f91af0f_dfac8eee","line":4,"range":{"start_line":3,"start_character":37,"end_line":4,"end_character":51},"updated":"2018-01-10 08:52:37.000000000","message":"it is better to write the reason for this change. as mentioned in bug. nova truncate the metadata value length when booting server from image having metadata value larger than 255 char.","commit_id":"f86b894383d64695e632fa683e16ad57c1f67b0b"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"36ddba222aec615bfc669bb4bbe28b9597995d90","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    A fix is made for `bug 1117923`_ where a request to change instance_system_metadata"},{"line_number":4,"context_line":"    value column datatype from varchar 255 to Text."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    .. _bug 1117923: https://bugs.launchpad.net/nova/+bug/1117923"}],"source_content_type":"text/x-yaml","patch_set":17,"id":"7f96bb07_fa70e2de","line":4,"range":{"start_line":3,"start_character":37,"end_line":4,"end_character":51},"in_reply_to":"9f91af0f_dfac8eee","updated":"2018-01-15 14:07:45.000000000","message":"Done","commit_id":"f86b894383d64695e632fa683e16ad57c1f67b0b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0fdf7d815e6130417f0ed70653a05784fe5eb633","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    A fix is made for `bug 1117923`_ where a request to change instance_system_metadata"},{"line_number":4,"context_line":"    value column datatype from varchar 255 to Text."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    Nova truncate the metadata value length when booting server"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"7f96bb07_9e583931","line":3,"range":{"start_line":3,"start_character":63,"end_line":3,"end_character":87},"updated":"2018-01-18 13:36:42.000000000","message":"``instance_system_metadata``","commit_id":"93bbfdd82cbb971080914b7efbdf562f163bb393"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"e8d40ed49094d9e256bfdd712b448ebe2bf2190b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    A fix is made for `bug 1117923`_ where a request to change instance_system_metadata"},{"line_number":4,"context_line":"    value column datatype from varchar 255 to Text."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    Nova truncate the metadata value length when booting server"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"7f96bb07_1f98a372","line":3,"range":{"start_line":3,"start_character":63,"end_line":3,"end_character":87},"in_reply_to":"7f96bb07_9e583931","updated":"2018-01-18 14:40:54.000000000","message":"yes, nova store server metadata in this table. not in instance_metadata","commit_id":"93bbfdd82cbb971080914b7efbdf562f163bb393"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0fdf7d815e6130417f0ed70653a05784fe5eb633","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    A fix is made for `bug 1117923`_ where a request to change instance_system_metadata"},{"line_number":4,"context_line":"    value column datatype from varchar 255 to Text."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    Nova truncate the metadata value length when booting server"},{"line_number":7,"context_line":"    from image having metadata value larger than 255 char"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"7f96bb07_fe485d5c","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":9},"updated":"2018-01-18 13:36:42.000000000","message":"``value``","commit_id":"93bbfdd82cbb971080914b7efbdf562f163bb393"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"cae02efedf2fb2b18f5f47d0aaf08cb02fdad8c9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    A fix is made for `bug 1117923`_ where a request to change instance_system_metadata"},{"line_number":4,"context_line":"    value column datatype from varchar 255 to Text."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    Nova truncate the metadata value length when booting server"},{"line_number":7,"context_line":"    from image having metadata value larger than 255 char"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"5f93b717_02ec71c5","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":9},"in_reply_to":"5f93b717_e2cb85a2","updated":"2018-01-26 09:31:55.000000000","message":"ok, I will do that.","commit_id":"93bbfdd82cbb971080914b7efbdf562f163bb393"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"803ebca70fd7fe4bbe9b715002316a4419a24e8c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    A fix is made for `bug 1117923`_ where a request to change instance_system_metadata"},{"line_number":4,"context_line":"    value column datatype from varchar 255 to Text."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    Nova truncate the metadata value length when booting server"},{"line_number":7,"context_line":"    from image having metadata value larger than 255 char"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"5f93b717_e2cb85a2","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":9},"in_reply_to":"7f96bb07_7f820702","updated":"2018-01-26 09:19:36.000000000","message":"i mean to use string literal for source code variable to make them easy to understand as code variable.","commit_id":"93bbfdd82cbb971080914b7efbdf562f163bb393"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"e8d40ed49094d9e256bfdd712b448ebe2bf2190b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    A fix is made for `bug 1117923`_ where a request to change instance_system_metadata"},{"line_number":4,"context_line":"    value column datatype from varchar 255 to Text."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    Nova truncate the metadata value length when booting server"},{"line_number":7,"context_line":"    from image having metadata value larger than 255 char"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"7f96bb07_7f820702","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":9},"in_reply_to":"7f96bb07_fe485d5c","updated":"2018-01-18 14:40:54.000000000","message":"what is the wrong ?","commit_id":"93bbfdd82cbb971080914b7efbdf562f163bb393"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0fdf7d815e6130417f0ed70653a05784fe5eb633","unresolved":false,"context_lines":[{"line_number":3,"context_line":"    A fix is made for `bug 1117923`_ where a request to change instance_system_metadata"},{"line_number":4,"context_line":"    value column datatype from varchar 255 to Text."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    Nova truncate the metadata value length when booting server"},{"line_number":7,"context_line":"    from image having metadata value larger than 255 char"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"    .. _bug 1117923: https://bugs.launchpad.net/nova/+bug/1117923"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"7f96bb07_1e5d0914","line":7,"range":{"start_line":6,"start_character":0,"end_line":7,"end_character":57},"updated":"2018-01-18 13:36:42.000000000","message":"How about this-\n\n    Before this fix, Nova used to truncate the metadata value length when booting server\n    from image having image\u0027s metadata value larger than 255 char\n    Now complete value of metadata without any truncation can be stored and shown.","commit_id":"93bbfdd82cbb971080914b7efbdf562f163bb393"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"e8d40ed49094d9e256bfdd712b448ebe2bf2190b","unresolved":false,"context_lines":[{"line_number":3,"context_line":"    A fix is made for `bug 1117923`_ where a request to change instance_system_metadata"},{"line_number":4,"context_line":"    value column datatype from varchar 255 to Text."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    Nova truncate the metadata value length when booting server"},{"line_number":7,"context_line":"    from image having metadata value larger than 255 char"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"    .. _bug 1117923: https://bugs.launchpad.net/nova/+bug/1117923"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"7f96bb07_5f7b8b26","line":7,"range":{"start_line":6,"start_character":0,"end_line":7,"end_character":57},"in_reply_to":"7f96bb07_1e5d0914","updated":"2018-01-18 14:40:54.000000000","message":"I will change it as you mentioned, Thanks","commit_id":"93bbfdd82cbb971080914b7efbdf562f163bb393"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d708ef4a1b5ed9ea4add8b43d68e758818094bf6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    A fix is made for `bug 1117923`_ where a request to change \"instance_system_metadata\""},{"line_number":4,"context_line":"    \"value\" column datatype from varchar 255 to Text."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    Before this fix, Nova used to truncate the metadata value length when booting server"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"5f93b717_e6b83dc9","line":3,"range":{"start_line":3,"start_character":64,"end_line":3,"end_character":88},"updated":"2018-01-29 19:56:33.000000000","message":"This is a table of key/value pairs for a given instance. In what world do we have a value that requires the size of a Text column?","commit_id":"312ec8702c30b487f9055ba35f72ccbe8760154f"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"ea8dcc009020bde55fc0a2498fd3f6619dbaa7b8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    A fix is made for `bug 1117923`_ where a request to change \"instance_system_metadata\""},{"line_number":4,"context_line":"    \"value\" column datatype from varchar 255 to Text."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    Before this fix, Nova used to truncate the metadata value length when booting server"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"5f93b717_a9b206e5","line":3,"range":{"start_line":3,"start_character":64,"end_line":3,"end_character":88},"in_reply_to":"5f93b717_c6ed018c","updated":"2018-01-29 20:32:30.000000000","message":"Thanks !","commit_id":"312ec8702c30b487f9055ba35f72ccbe8760154f"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"96dd5238ab65d15f4a08d29463f781f392999f14","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    A fix is made for `bug 1117923`_ where a request to change \"instance_system_metadata\""},{"line_number":4,"context_line":"    \"value\" column datatype from varchar 255 to Text."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    Before this fix, Nova used to truncate the metadata value length when booting server"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"5f93b717_c6ed018c","line":3,"range":{"start_line":3,"start_character":64,"end_line":3,"end_character":88},"in_reply_to":"5f93b717_e6b83dc9","updated":"2018-01-29 20:06:48.000000000","message":"@mriedem: it\u0027s because glance image metadata values are TEXT, not VARCHAR(255) and because we are essentially proxying the Glance image properties API through our instance metadata API, those Glance image properties with \u003e255 character values (like trusted_certificates might be) are getting truncated...","commit_id":"312ec8702c30b487f9055ba35f72ccbe8760154f"},{"author":{"_account_id":27277,"name":"Ameed Ashour","email":"ameed.ashour.ext@nokia.com","username":"ameeda"},"change_message_id":"c6b1427e9ce0ad25cf0a169542e06776d403a25b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    A fix is made for `bug 1117923`_ where a request to change \"instance_system_metadata\""},{"line_number":4,"context_line":"    \"value\" column datatype from varchar 255 to Text."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    Before this fix, Nova used to truncate the metadata value length when booting server"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"5f93b717_464b31af","line":3,"range":{"start_line":3,"start_character":64,"end_line":3,"end_character":88},"in_reply_to":"5f93b717_e6b83dc9","updated":"2018-01-29 20:02:42.000000000","message":"yes I understand your point of view, but as the bug description , the glance image store value as Text, for some reason the user want to store Text value.","commit_id":"312ec8702c30b487f9055ba35f72ccbe8760154f"}]}
