)]}'
{"nova/api/openstack/compute/server_groups.py":[{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"6ba96e0d88c6a5f298c3f591fb08ccb0786a0319","unresolved":false,"context_lines":[{"line_number":181,"context_line":"                sg.policy \u003d sgp"},{"line_number":182,"context_line":"            else:"},{"line_number":183,"context_line":"                policies \u003d vals.get(\u0027policies\u0027)"},{"line_number":184,"context_line":"                sgp.policy \u003d policies[0]"},{"line_number":185,"context_line":"                sg.policy \u003d sgp"},{"line_number":186,"context_line":"            sg.create()"},{"line_number":187,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9f6a8fd7_f176ded8","line":184,"range":{"start_line":184,"start_character":0,"end_line":184,"end_character":40},"updated":"2018-04-18 13:00:22.000000000","message":"https://github.com/openstack/nova/blob/c4397d5e5abf627ad48c7fee85328cbd7c95b651/nova/tests/unit/objects/test_instance_group.py#L38\n\nSome test case in here, it will be invalid after this.","commit_id":"5593f84bb4dca55028255e7402f03cf08854589b"}],"nova/db/sqlalchemy/api_models.py":[{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"6ba96e0d88c6a5f298c3f591fb08ccb0786a0319","unresolved":false,"context_lines":[{"line_number":443,"context_line":"    _members \u003d orm.relationship(InstanceGroupMember,"},{"line_number":444,"context_line":"            primaryjoin\u003d\u0027InstanceGroup.id \u003d\u003d InstanceGroupMember.group_id\u0027)"},{"line_number":445,"context_line":""},{"line_number":446,"context_line":"    @property"},{"line_number":447,"context_line":"    def policies(self):"},{"line_number":448,"context_line":"        return [self.policy.policy] if self.policy else []"},{"line_number":449,"context_line":""},{"line_number":450,"context_line":"    @property"},{"line_number":451,"context_line":"    def members(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f6a8fd7_b154e6cb","line":448,"range":{"start_line":446,"start_character":0,"end_line":448,"end_character":58},"updated":"2018-04-18 13:00:22.000000000","message":"I remove the policies filed and do some compatible stuff in here","commit_id":"5593f84bb4dca55028255e7402f03cf08854589b"}],"nova/notifications/objects/server_group.py":[{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"6ba96e0d88c6a5f298c3f591fb08ccb0786a0319","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        \u0027name\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":35,"context_line":"        \u0027user_id\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":36,"context_line":"        \u0027project_id\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":37,"context_line":"        \u0027policy\u0027: fields.ObjectField(\u0027InstanceGroupPolicyPayload\u0027,"},{"line_number":38,"context_line":"                                     nullable\u003dTrue),"},{"line_number":39,"context_line":"        \u0027members\u0027: fields.ListOfStringsField(nullable\u003dTrue),"},{"line_number":40,"context_line":"        \u0027hosts\u0027: fields.ListOfStringsField(nullable\u003dTrue),"},{"line_number":41,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f6a8fd7_d1715a0e","line":38,"range":{"start_line":37,"start_character":0,"end_line":38,"end_character":52},"updated":"2018-04-18 13:00:22.000000000","message":"and here, should we keep the policies? I remove it because I think  policies is useless currently.","commit_id":"5593f84bb4dca55028255e7402f03cf08854589b"}],"nova/objects/instance_group.py":[{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"54b0ed23496905f837b67563fe266b7e95c2956b","unresolved":false,"context_lines":[{"line_number":267,"context_line":"            group._members \u003d _instance_group_members_add(context, group,"},{"line_number":268,"context_line":"                                                         members)"},{"line_number":269,"context_line":"        else:"},{"line_number":270,"context_line":"            group._members \u003d []"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"        return group"},{"line_number":273,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_cbcdae66","line":270,"range":{"start_line":270,"start_character":0,"end_line":270,"end_character":31},"updated":"2018-04-13 04:19:43.000000000","message":"(Pdb) c\nERROR oslo_db.sqlalchemy.exc_filters [None req-ebf093b6-a615-4c32-a3ec-b1d9999ac176 admin admin] DBAPIError exception wrapped from (pymysql.err.IntegrityError) (1048, u\"Column \u0027group_id\u0027 cannot be null\") [SQL: u\u0027UPDATE instance_group_policy SET updated_at\u003d%(updated_at)s, group_id\u003d%(group_id)s WHERE instance_group_policy.id \u003d %(instance_group_policy_id)s\u0027] [parameters: {\u0027group_id\u0027: None, \u0027updated_at\u0027: datetime.datetime(2018, 4, 13, 4, 10, 24, 609607), \u0027instance_group_policy_id\u0027: 39}] (Background on this error at: http://sqlalche.me/e/gkpj): IntegrityError: (1048, u\"Column \u0027group_id\u0027 cannot be null\")\nERROR oslo_db.sqlalchemy.exc_filters Traceback (most recent call last):\nERROR oslo_db.sqlalchemy.exc_filters   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py\", line 1193, in _execute_context\nERROR oslo_db.sqlalchemy.exc_filters     context)\nERROR oslo_db.sqlalchemy.exc_filters   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py\", line 507, in do_execute\nERROR oslo_db.sqlalchemy.exc_filters     cursor.execute(statement, parameters)\nERROR oslo_db.sqlalchemy.exc_filters   File \"/usr/local/lib/python2.7/dist-packages/pymysql/cursors.py\", line 165, in execute\nERROR oslo_db.sqlalchemy.exc_filters     result \u003d self._query(query)\nERROR oslo_db.sqlalchemy.exc_filters   File \"/usr/local/lib/python2.7/dist-packages/pymysql/cursors.py\", line 321, in _query\nERROR oslo_db.sqlalchemy.exc_filters     conn.query(q)\nERROR oslo_db.sqlalchemy.exc_filters   File \"/usr/local/lib/python2.7/dist-packages/pymysql/connections.py\", line 860, in query\nERROR oslo_db.sqlalchemy.exc_filters     self._affected_rows \u003d self._read_query_result(unbuffered\u003dunbuffered)\nERROR oslo_db.sqlalchemy.exc_filters   File \"/usr/local/lib/python2.7/dist-packages/pymysql/connections.py\", line 1061, in _read_query_result\nERROR oslo_db.sqlalchemy.exc_filters     result.read()\nERROR oslo_db.sqlalchemy.exc_filters   File \"/usr/local/lib/python2.7/dist-packages/pymysql/connections.py\", line 1349, in read\nERROR oslo_db.sqlalchemy.exc_filters     first_packet \u003d self.connection._read_packet()\nERROR oslo_db.sqlalchemy.exc_filters   File \"/usr/local/lib/python2.7/dist-packages/pymysql/connections.py\", line 1018, in _read_packet\nERROR oslo_db.sqlalchemy.exc_filters     packet.check_error()\nERROR oslo_db.sqlalchemy.exc_filters   File \"/usr/local/lib/python2.7/dist-packages/pymysql/connections.py\", line 384, in check_error\nERROR oslo_db.sqlalchemy.exc_filters     err.raise_mysql_exception(self._data)\nERROR oslo_db.sqlalchemy.exc_filters   File \"/usr/local/lib/python2.7/dist-packages/pymysql/err.py\", line 107, in raise_mysql_exception\nERROR oslo_db.sqlalchemy.exc_filters     raise errorclass(errno, errval)\nERROR oslo_db.sqlalchemy.exc_filters IntegrityError: (1048, u\"Column \u0027group_id\u0027 cannot be null\")\nERROR oslo_db.sqlalchemy.exc_filters\nERROR nova.api.openstack.wsgi [None req-ebf093b6-a615-4c32-a3ec-b1d9999ac176 admin admin] Unexpected exception in API method: DBError: (pymysql.err.IntegrityError) (1048, u\"Column \u0027group_id\u0027 cannot be null\") [SQL: u\u0027UPDATE instance_group_policy SET updated_at\u003d%(updated_at)s, group_id\u003d%(group_id)s WHERE instance_group_policy.id \u003d %(instance_group_policy_id)s\u0027] [parameters: {\u0027group_id\u0027: None, \u0027updated_at\u0027: datetime.datetime(2018, 4, 13, 4, 10, 24, 609607), \u0027instance_group_policy_id\u0027: 39}] (Background on this error at: http://sqlalche.me/e/gkpj)\nERROR nova.api.openstack.wsgi Traceback (most recent call last):\nERROR nova.api.openstack.wsgi   File \"./nova/api/openstack/wsgi.py\", line 801, in wrapped\nERROR nova.api.openstack.wsgi     return f(*args, **kwargs)\nERROR nova.api.openstack.wsgi   File \"./nova/api/validation/__init__.py\", line 110, in wrapper\nERROR nova.api.openstack.wsgi     return func(*args, **kwargs)\nERROR nova.api.openstack.wsgi   File \"./nova/api/validation/__init__.py\", line 110, in wrapper\nERROR nova.api.openstack.wsgi     return func(*args, **kwargs)\nERROR nova.api.openstack.wsgi   File \"./nova/api/validation/__init__.py\", line 110, in wrapper\nERROR nova.api.openstack.wsgi     return func(*args, **kwargs)\nERROR nova.api.openstack.wsgi   File \"./nova/api/openstack/compute/server_groups.py\", line 184, in create\nERROR nova.api.openstack.wsgi     sg.create()\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/oslo_versionedobjects/base.py\", line 226, in wrapper\nERROR nova.api.openstack.wsgi     return fn(self, *args, **kwargs)\nERROR nova.api.openstack.wsgi   File \"./nova/objects/instance_group.py\", line 464, in create\nERROR nova.api.openstack.wsgi     self._create()\nERROR nova.api.openstack.wsgi   File \"./nova/objects/instance_group.py\", line 452, in _create\nERROR nova.api.openstack.wsgi     policy\u003dpolicy)\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/oslo_db/sqlalchemy/enginefacade.py\", line 986, in wrapper\nERROR nova.api.openstack.wsgi     return fn(*args, **kwargs)\nERROR nova.api.openstack.wsgi   File \"./nova/objects/instance_group.py\", line 289, in _create_in_db\nERROR nova.api.openstack.wsgi     group._members \u003d []\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/attributes.py\", line 229, in __set__\nERROR nova.api.openstack.wsgi     instance_dict(instance), value, None)\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/attributes.py\", line 1060, in set\nERROR nova.api.openstack.wsgi     old \u003d self.get(state, dict_, passive\u003dPASSIVE_ONLY_PERSISTENT)\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/attributes.py\", line 599, in get\nERROR nova.api.openstack.wsgi     value \u003d self.callable_(state, passive)\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/strategies.py\", line 623, in _load_for_state\nERROR nova.api.openstack.wsgi     return self._emit_lazyload(session, state, ident_key, passive)\nERROR nova.api.openstack.wsgi   File \"\u003cstring\u003e\", line 1, in \u003clambda\u003e\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/strategies.py\", line 747, in _emit_lazyload\nERROR nova.api.openstack.wsgi     result \u003d q(session).params(**params).all()\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/ext/baked.py\", line 434, in all\nERROR nova.api.openstack.wsgi     return list(self)\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/ext/baked.py\", line 336, in __iter__\nERROR nova.api.openstack.wsgi     self.session._autoflush()\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py\", line 1434, in _autoflush\nERROR nova.api.openstack.wsgi     self.flush()\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py\", line 2254, in flush\nERROR nova.api.openstack.wsgi     self._flush(objects)\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py\", line 2380, in _flush\nERROR nova.api.openstack.wsgi     transaction.rollback(_capture_exception\u003dTrue)\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/langhelpers.py\", line 66, in __exit__\nERROR nova.api.openstack.wsgi     compat.reraise(exc_type, exc_value, exc_tb)\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py\", line 2344, in _flush\nERROR nova.api.openstack.wsgi     flush_context.execute()\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py\", line 391, in execute\nERROR nova.api.openstack.wsgi     rec.execute(self)\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py\", line 556, in execute\nERROR nova.api.openstack.wsgi     uow\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py\", line 177, in save_obj\nERROR nova.api.openstack.wsgi     mapper, table, update)\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py\", line 768, in _emit_update_statements\nERROR nova.api.openstack.wsgi     execute(statement, multiparams)\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py\", line 948, in execute\nERROR nova.api.openstack.wsgi     return meth(self, multiparams, params)\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/sql/elements.py\", line 269, in _execute_on_connection\nERROR nova.api.openstack.wsgi     return connection._execute_clauseelement(self, multiparams, params)\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py\", line 1060, in _execute_clauseelement\nERROR nova.api.openstack.wsgi     compiled_sql, distilled_params\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py\", line 1200, in _execute_context\nERROR nova.api.openstack.wsgi     context)\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py\", line 1409, in _handle_dbapi_exception\nERROR nova.api.openstack.wsgi     util.raise_from_cause(newraise, exc_info)\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/compat.py\", line 203, in raise_from_cause\nERROR nova.api.openstack.wsgi     reraise(type(exception), exception, tb\u003dexc_tb, cause\u003dcause)\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py\", line 1193, in _execute_context\nERROR nova.api.openstack.wsgi     context)\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py\", line 507, in do_execute\nERROR nova.api.openstack.wsgi     cursor.execute(statement, parameters)\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/pymysql/cursors.py\", line 165, in execute\nERROR nova.api.openstack.wsgi     result \u003d self._query(query)\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/pymysql/cursors.py\", line 321, in _query\nERROR nova.api.openstack.wsgi     conn.query(q)\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/pymysql/connections.py\", line 860, in query\nERROR nova.api.openstack.wsgi     self._affected_rows \u003d self._read_query_result(unbuffered\u003dunbuffered)\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/pymysql/connections.py\", line 1061, in _read_query_result\nERROR nova.api.openstack.wsgi     result.read()\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/pymysql/connections.py\", line 1349, in read\nERROR nova.api.openstack.wsgi     first_packet \u003d self.connection._read_packet()\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/pymysql/connections.py\", line 1018, in _read_packet\nERROR nova.api.openstack.wsgi     packet.check_error()\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/pymysql/connections.py\", line 384, in check_error\nERROR nova.api.openstack.wsgi     err.raise_mysql_exception(self._data)\nERROR nova.api.openstack.wsgi   File \"/usr/local/lib/python2.7/dist-packages/pymysql/err.py\", line 107, in raise_mysql_exception\nERROR nova.api.openstack.wsgi     raise errorclass(errno, errval)\nERROR nova.api.openstack.wsgi DBError: (pymysql.err.IntegrityError) (1048, u\"Column \u0027group_id\u0027 cannot be null\") [SQL: u\u0027UPDATE instance_group_policy SET updated_at\u003d%(updated_at)s, group_id\u003d%(group_id)s WHERE instance_group_policy.id \u003d %(instance_group_policy_id)s\u0027] [parameters: {\u0027group_id\u0027: None, \u0027updated_at\u0027: datetime.datetime(2018, 4, 13, 4, 10, 24, 609607), \u0027instance_group_policy_id\u0027: 39}] (Background on this error at: http://sqlalche.me/e/gkpj)\nERROR nova.api.openstack.wsgi","commit_id":"883e4076833cd4d685f330fab553160f2483f70e"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"6ba96e0d88c6a5f298c3f591fb08ccb0786a0319","unresolved":false,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        \u0027members\u0027: fields.ListOfStringsField(nullable\u003dTrue),"},{"line_number":152,"context_line":"        \u0027hosts\u0027: fields.ListOfStringsField(nullable\u003dTrue),"},{"line_number":153,"context_line":"        \u0027policy\u0027: fields.ObjectField(\u0027InstanceGroupPolicy\u0027, nullable\u003dTrue)"},{"line_number":154,"context_line":"        }"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"    def obj_make_compatible(self, primitive, target_version):"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f6a8fd7_71f08e68","line":153,"range":{"start_line":153,"start_character":60,"end_line":153,"end_character":74},"updated":"2018-04-18 13:00:22.000000000","message":"``nullable`` is for usecase of group without policy, actually, now it only occurs in the testcase.","commit_id":"5593f84bb4dca55028255e7402f03cf08854589b"}],"nova/tests/unit/api/openstack/compute/test_server_groups.py":[{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"6ba96e0d88c6a5f298c3f591fb08ccb0786a0319","unresolved":false,"context_lines":[{"line_number":181,"context_line":"        ig \u003d objects.InstanceGroup(context\u003dcontext, name\u003d\u0027fake_name\u0027,"},{"line_number":182,"context_line":"                  user_id\u003d\u0027fake_user\u0027, project_id\u003d\u0027fake\u0027,"},{"line_number":183,"context_line":"                  members\u003dmembers)"},{"line_number":184,"context_line":"        ig.create()"},{"line_number":185,"context_line":"        return ig.uuid"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    def _create_groups_and_instances(self, ctx):"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f6a8fd7_51030a74","line":184,"updated":"2018-04-18 13:00:22.000000000","message":"We have some testcase create ig without policy, like here.\n\nShould we support this case in our code? like:\nhttps://review.openstack.org/#/c/553776/6/nova/objects/instance_group_policy.py@33\n\nor just fix all test case, add a default policy?","commit_id":"5593f84bb4dca55028255e7402f03cf08854589b"}],"nova/tests/unit/compute/test_compute_utils.py":[{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"6ba96e0d88c6a5f298c3f591fb08ccb0786a0319","unresolved":false,"context_lines":[{"line_number":1113,"context_line":"        sgp \u003d objects.InstanceGroupPolicy(context)"},{"line_number":1114,"context_line":"        sgp.policy \u003d \"anti-affinity\""},{"line_number":1115,"context_line":"        sgp.group_id \u003d 1"},{"line_number":1116,"context_line":"        self.group \u003d objects.InstanceGroup(context\u003dself.context,"},{"line_number":1117,"context_line":"                                           id\u003d1,"},{"line_number":1118,"context_line":"                                           uuid\u003duuids.server_group,"},{"line_number":1119,"context_line":"                                           user_id\u003dself.user_id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f6a8fd7_11235207","line":1116,"range":{"start_line":1116,"start_character":21,"end_line":1116,"end_character":42},"updated":"2018-04-18 13:00:22.000000000","message":"Should we keep the policies in InstanceGroup obj?\n\nIf yes, it seems we need convert policies to policy in __init__?\n\nor like here just remove policies and change the testcase?","commit_id":"5593f84bb4dca55028255e7402f03cf08854589b"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"3eeec53aadb2bfbedeb44cd7661c3178754dd96f","unresolved":false,"context_lines":[{"line_number":1120,"context_line":"                                           user_id\u003dself.user_id,"},{"line_number":1121,"context_line":"                                           project_id\u003dself.project_id,"},{"line_number":1122,"context_line":"                                           name\u003d\"test-server-group\","},{"line_number":1123,"context_line":"                                           policy\u003dsgp)"},{"line_number":1124,"context_line":""},{"line_number":1125,"context_line":"    def test_notify_about_server_group_action(self):"},{"line_number":1126,"context_line":"        compute_utils.notify_about_server_group_action(self.context,"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f6a8fd7_a4546b54","line":1123,"range":{"start_line":1123,"start_character":0,"end_line":1123,"end_character":54},"updated":"2018-04-20 12:25:02.000000000","message":"Should we support use policies to init InstanceGroup?","commit_id":"65aa92e3b85eb1b291f9f0a9921181969449500e"}]}
