)]}'
{"nova/db/sqlalchemy/api_migrations/migrate_repo/versions/059_instance_group_policy_add_rules.py":[{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"a16313a5c98eebb1e991ecd853a7041a2bb3c913","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    meta \u003d MetaData()"},{"line_number":21,"context_line":"    meta.bind \u003d migrate_engine"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    policys \u003d Table(\u0027instance_group_policy\u0027, meta, autoload\u003dTrue)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    if not hasattr(policys.c, \u0027rules\u0027):"},{"line_number":26,"context_line":"        policys.create_column(Column(\u0027rules\u0027, Text()))"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_5b7bae8a","line":23,"range":{"start_line":23,"start_character":4,"end_line":23,"end_character":11},"updated":"2018-05-31 03:20:07.000000000","message":"nit: maybe it should be policies","commit_id":"b37b7271c0c83590dc82002a5ff1184f8ad6500d"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"f9dc8dad7003c84ac5a6e7be42b187635cf784b7","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    meta \u003d MetaData()"},{"line_number":21,"context_line":"    meta.bind \u003d migrate_engine"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    policys \u003d Table(\u0027instance_group_policy\u0027, meta, autoload\u003dTrue)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    if not hasattr(policys.c, \u0027rules\u0027):"},{"line_number":26,"context_line":"        policys.create_column(Column(\u0027rules\u0027, Text()))"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_4472b8af","line":23,"range":{"start_line":23,"start_character":4,"end_line":23,"end_character":11},"in_reply_to":"5f7c97a3_5b7bae8a","updated":"2018-06-04 03:50:12.000000000","message":"Done","commit_id":"b37b7271c0c83590dc82002a5ff1184f8ad6500d"}],"nova/db/sqlalchemy/api_migrations/migrate_repo/versions/060_instance_group_policy_add_rules.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8b8999d69c7174354e310869a7a5dd5fd68472df","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    policies \u003d Table(\u0027instance_group_policy\u0027, meta, autoload\u003dTrue)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    if not hasattr(policies.c, \u0027rules\u0027):"},{"line_number":26,"context_line":"        policies.create_column(Column(\u0027rules\u0027, Text()))"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_7d7c4670","line":26,"range":{"start_line":26,"start_character":51,"end_line":26,"end_character":53},"updated":"2018-06-26 17:47:09.000000000","message":"nit: this isn\u0027t needed, it\u0027s OK to just pass the type and not an instance of the type","commit_id":"2060dbe41bfb3c91cd2d6342b24cf4f173708c6f"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"26319e334a314e0c5ff48414070a6865df542066","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    policies \u003d Table(\u0027instance_group_policy\u0027, meta, autoload\u003dTrue)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    if not hasattr(policies.c, \u0027rules\u0027):"},{"line_number":26,"context_line":"        policies.create_column(Column(\u0027rules\u0027, Text()))"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_fe6d9e98","line":26,"range":{"start_line":26,"start_character":51,"end_line":26,"end_character":53},"in_reply_to":"5f7c97a3_7d7c4670","updated":"2018-06-27 10:53:11.000000000","message":"Done","commit_id":"2060dbe41bfb3c91cd2d6342b24cf4f173708c6f"}],"nova/db/sqlalchemy/api_models.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8b8999d69c7174354e310869a7a5dd5fd68472df","unresolved":false,"context_lines":[{"line_number":417,"context_line":"    policy \u003d Column(String(255))"},{"line_number":418,"context_line":"    group_id \u003d Column(Integer, ForeignKey(\u0027instance_groups.id\u0027),"},{"line_number":419,"context_line":"                      nullable\u003dFalse)"},{"line_number":420,"context_line":"    rules \u003d Column(Text, nullable\u003dTrue)"},{"line_number":421,"context_line":""},{"line_number":422,"context_line":""},{"line_number":423,"context_line":"class InstanceGroup(API_BASE):"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_fddcd671","line":420,"range":{"start_line":420,"start_character":25,"end_line":420,"end_character":38},"updated":"2018-06-26 17:47:09.000000000","message":"nit: this is the default so you don\u0027t really need to specify it (while I\u0027m noticing this, it\u0027s weird that policy is nullable, but not something we need to change here).\n\n--\n\nIt would be nice to leave a comment that this is used to store a serialized dict, but it\u0027s not really necessary since we don\u0027t do that elsewhere for things like this (like in the instance_extra table in the cell db models).","commit_id":"2060dbe41bfb3c91cd2d6342b24cf4f173708c6f"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"26319e334a314e0c5ff48414070a6865df542066","unresolved":false,"context_lines":[{"line_number":417,"context_line":"    policy \u003d Column(String(255))"},{"line_number":418,"context_line":"    group_id \u003d Column(Integer, ForeignKey(\u0027instance_groups.id\u0027),"},{"line_number":419,"context_line":"                      nullable\u003dFalse)"},{"line_number":420,"context_line":"    rules \u003d Column(Text, nullable\u003dTrue)"},{"line_number":421,"context_line":""},{"line_number":422,"context_line":""},{"line_number":423,"context_line":"class InstanceGroup(API_BASE):"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_bef886c0","line":420,"range":{"start_line":420,"start_character":25,"end_line":420,"end_character":38},"in_reply_to":"5f7c97a3_fddcd671","updated":"2018-06-27 10:53:11.000000000","message":"Done","commit_id":"2060dbe41bfb3c91cd2d6342b24cf4f173708c6f"}]}
