)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6608,"name":"Paul Carlton","email":"paul.carlton2@hpe.com","username":"paul-carlton2"},"change_message_id":"71ec3bfb5b29b67c79811a72898a8c311740c82e","unresolved":false,"context_lines":[{"line_number":20,"context_line":"the first instance is attempted and we verify that it fails."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: Ieb6a2458915a94134ed21b6919cd0c605b1b4049"},{"line_number":23,"context_line":"Depends-On: I500383d8c9af90c0984d4f8b555e93a510d1c97e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"dada55a8_8e3e3789","line":23,"range":{"start_line":23,"start_character":12,"end_line":23,"end_character":53},"updated":"2016-07-26 06:06:30.000000000","message":"now depends on 4ec81b2fb118b194fff8c8e65d1f377c890c8ef1 again","commit_id":"aec524ea2c7c5455636603276b89faeb8ccda177"}],"tempest/api/compute/admin/test_live_migration.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"5c5c0f7e320fb90f0b8c5cfcdef157ccc80df880","unresolved":false,"context_lines":[{"line_number":126,"context_line":"        self.assertEqual(target_host, self._get_host_for_server(server_id),"},{"line_number":127,"context_line":"                         msg)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def _test_aggregate_create_with_metadata_add_hosts(self):"},{"line_number":130,"context_line":"        \"\"\"Create an aggregate containing two compute nodes."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        The aggregate will have metadat so that instances can be deployed"}],"source_content_type":"text/x-python","patch_set":4,"id":"bacf61ea_3546e523","line":129,"range":{"start_line":129,"start_character":8,"end_line":129,"end_character":30},"updated":"2016-07-27 23:51:14.000000000","message":"This should be just \"_create_aggregate_...\" without a prefix \"_test_\" as the docstring.","commit_id":"40dc2efdcd15e750293814bd1db35002540d10a6"},{"author":{"_account_id":6608,"name":"Paul Carlton","email":"paul.carlton2@hpe.com","username":"paul-carlton2"},"change_message_id":"d157351623172b0b574d580887c7be8ab2f05504","unresolved":false,"context_lines":[{"line_number":126,"context_line":"        self.assertEqual(target_host, self._get_host_for_server(server_id),"},{"line_number":127,"context_line":"                         msg)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def _test_aggregate_create_with_metadata_add_hosts(self):"},{"line_number":130,"context_line":"        \"\"\"Create an aggregate containing two compute nodes."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        The aggregate will have metadat so that instances can be deployed"}],"source_content_type":"text/x-python","patch_set":4,"id":"bacf61ea_04044713","line":129,"range":{"start_line":129,"start_character":8,"end_line":129,"end_character":30},"in_reply_to":"bacf61ea_3546e523","updated":"2016-07-28 12:50:20.000000000","message":"Done","commit_id":"40dc2efdcd15e750293814bd1db35002540d10a6"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"5c5c0f7e320fb90f0b8c5cfcdef157ccc80df880","unresolved":false,"context_lines":[{"line_number":201,"context_line":"        self.assertEqual(get_body, specs)"},{"line_number":202,"context_line":"        return agg_flavor[\u0027id\u0027]"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    def _test_create_server_group(self):"},{"line_number":205,"context_line":"        \"\"\"Create a server group with anti-affinity policy.\"\"\""},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        name \u003d data_utils.rand_name(\u0027server_group\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"bacf61ea_159be1ca","line":204,"range":{"start_line":204,"start_character":9,"end_line":204,"end_character":33},"updated":"2016-07-27 23:51:14.000000000","message":"We can use the existing method \"create_test_server_group\" to avoid reinventing the wheel.","commit_id":"40dc2efdcd15e750293814bd1db35002540d10a6"},{"author":{"_account_id":6608,"name":"Paul Carlton","email":"paul.carlton2@hpe.com","username":"paul-carlton2"},"change_message_id":"d157351623172b0b574d580887c7be8ab2f05504","unresolved":false,"context_lines":[{"line_number":201,"context_line":"        self.assertEqual(get_body, specs)"},{"line_number":202,"context_line":"        return agg_flavor[\u0027id\u0027]"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    def _test_create_server_group(self):"},{"line_number":205,"context_line":"        \"\"\"Create a server group with anti-affinity policy.\"\"\""},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        name \u003d data_utils.rand_name(\u0027server_group\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"bacf61ea_6441c30b","line":204,"range":{"start_line":204,"start_character":9,"end_line":204,"end_character":33},"in_reply_to":"bacf61ea_159be1ca","updated":"2016-07-28 12:50:20.000000000","message":"Done","commit_id":"40dc2efdcd15e750293814bd1db35002540d10a6"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"5c5c0f7e320fb90f0b8c5cfcdef157ccc80df880","unresolved":false,"context_lines":[{"line_number":212,"context_line":"        self.addCleanup(self.group_client.delete_server_group, group_id)"},{"line_number":213,"context_line":"        return group_id"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    def _test_instance_in_group(self, instance_id, group_id):"},{"line_number":216,"context_line":"        \"\"\"Check an instance is assigned to a server group\"\"\""},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        server_group \u003d (self.group_client.show_server_group(group_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"bacf61ea_ba03e40e","line":215,"range":{"start_line":215,"start_character":8,"end_line":215,"end_character":31},"updated":"2016-07-27 23:51:14.000000000","message":"it is better to define this as \"_check_instance...\" instead of \"_test_...\" for clear meaning.","commit_id":"40dc2efdcd15e750293814bd1db35002540d10a6"},{"author":{"_account_id":6608,"name":"Paul Carlton","email":"paul.carlton2@hpe.com","username":"paul-carlton2"},"change_message_id":"d157351623172b0b574d580887c7be8ab2f05504","unresolved":false,"context_lines":[{"line_number":212,"context_line":"        self.addCleanup(self.group_client.delete_server_group, group_id)"},{"line_number":213,"context_line":"        return group_id"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    def _test_instance_in_group(self, instance_id, group_id):"},{"line_number":216,"context_line":"        \"\"\"Check an instance is assigned to a server group\"\"\""},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        server_group \u003d (self.group_client.show_server_group(group_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"bacf61ea_042ba783","line":215,"range":{"start_line":215,"start_character":8,"end_line":215,"end_character":31},"in_reply_to":"bacf61ea_ba03e40e","updated":"2016-07-28 12:50:20.000000000","message":"Done","commit_id":"40dc2efdcd15e750293814bd1db35002540d10a6"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"5c5c0f7e320fb90f0b8c5cfcdef157ccc80df880","unresolved":false,"context_lines":[{"line_number":219,"context_line":"                        [\u0027server_group\u0027])"},{"line_number":220,"context_line":"        self.assertIn(instance_id, server_group[\u0027members\u0027])"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    def _test_live_migration_aggregate(self, volume_backed\u003dFalse):"},{"line_number":223,"context_line":"        \"\"\"Test that live migration will honor anti-affinity policy."},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"        Requires CONF.compute_feature_enabled.live_migration to be True."}],"source_content_type":"text/x-python","patch_set":4,"id":"bacf61ea_351425f4","line":222,"range":{"start_line":222,"start_character":8,"end_line":222,"end_character":38},"updated":"2016-07-27 23:51:14.000000000","message":"Why don\u0027t you define this method as test_live_block_migration_anti_affinity without the argument?\n\nThis method is called from a single test only, so I don\u0027t find the reason why we need to separate this from that at this time.","commit_id":"40dc2efdcd15e750293814bd1db35002540d10a6"},{"author":{"_account_id":6608,"name":"Paul Carlton","email":"paul.carlton2@hpe.com","username":"paul-carlton2"},"change_message_id":"d157351623172b0b574d580887c7be8ab2f05504","unresolved":false,"context_lines":[{"line_number":219,"context_line":"                        [\u0027server_group\u0027])"},{"line_number":220,"context_line":"        self.assertIn(instance_id, server_group[\u0027members\u0027])"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    def _test_live_migration_aggregate(self, volume_backed\u003dFalse):"},{"line_number":223,"context_line":"        \"\"\"Test that live migration will honor anti-affinity policy."},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"        Requires CONF.compute_feature_enabled.live_migration to be True."}],"source_content_type":"text/x-python","patch_set":4,"id":"bacf61ea_843797e2","line":222,"range":{"start_line":222,"start_character":8,"end_line":222,"end_character":38},"in_reply_to":"bacf61ea_351425f4","updated":"2016-07-28 12:50:20.000000000","message":"Done","commit_id":"40dc2efdcd15e750293814bd1db35002540d10a6"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"e513dedccd8ecfd7cf9e5868f812fab250716964","unresolved":false,"context_lines":[{"line_number":135,"context_line":"    def _aggregate_create_with_metadata_add_hosts(self):"},{"line_number":136,"context_line":"        \"\"\"Create an aggregate containing two compute nodes."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        The aggregate will have metadat so that instances can be deployed"},{"line_number":139,"context_line":"        on the compute nodes in this aggregate."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"        This is used to test live migration of instances with anti-affinity"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba5201f7_efdac477","line":138,"range":{"start_line":138,"start_character":32,"end_line":138,"end_character":39},"updated":"2017-01-03 09:34:20.000000000","message":"metadata","commit_id":"184ab8354ff271b2518745f46ad19bd04f0fbc5b"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"e513dedccd8ecfd7cf9e5868f812fab250716964","unresolved":false,"context_lines":[{"line_number":237,"context_line":""},{"line_number":238,"context_line":"        group_id \u003d \\"},{"line_number":239,"context_line":"            self.create_test_server_group(policy\u003d[\u0027anti-affinity\u0027])[\u0027id\u0027]"},{"line_number":240,"context_line":"        self.addCleanup(self.group_client.delete_server_group, group_id)"},{"line_number":241,"context_line":"        hints \u003d {\u0027group\u0027: group_id}"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"        first_id \u003d self.create_test_server(wait_until\u003d\"ACTIVE\","}],"source_content_type":"text/x-python","patch_set":5,"id":"ba5201f7_4f2cb04a","line":240,"range":{"start_line":240,"start_character":8,"end_line":240,"end_character":72},"updated":"2017-01-03 09:34:20.000000000","message":"not so necessary to delete server_group after this testcase","commit_id":"184ab8354ff271b2518745f46ad19bd04f0fbc5b"}],"tempest/config.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"e513dedccd8ecfd7cf9e5868f812fab250716964","unresolved":false,"context_lines":[{"line_number":383,"context_line":"    cfg.BoolOpt(\u0027config_drive\u0027,"},{"line_number":384,"context_line":"                default\u003dTrue,"},{"line_number":385,"context_line":"                help\u003d\u0027Enable special configuration drive with metadata.\u0027),"},{"line_number":386,"context_line":"    cfg.BoolOpt(\u0027aggregate_extraspecs_filter\u0027,"},{"line_number":387,"context_line":"                default\u003dFalse,"},{"line_number":388,"context_line":"                help\u003d\u0027Set to true to indicate that the scheduler filter \u0027"},{"line_number":389,"context_line":"                     \u0027AggregateInstanceExtraSpecsFilter is enabled in Nova \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba5201f7_0f6388dd","line":386,"range":{"start_line":386,"start_character":17,"end_line":386,"end_character":44},"updated":"2017-01-03 09:34:20.000000000","message":"why adding a new config item instead of using scheduler_available_filters?","commit_id":"184ab8354ff271b2518745f46ad19bd04f0fbc5b"}]}
