)]}'
{"tempest/api/compute/admin/test_live_migration.py":[{"author":{"_account_id":97,"name":"Daryl Walleck","email":"daryl.walleck@rackspace.com","username":"dwalleck"},"change_message_id":"e4ab345dfeb4af5d6d0ec7da3ac208b098b86452","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    @classmethod"},{"line_number":61,"context_line":"    def _create_flavor_with_ephemeral(cls):"},{"line_number":62,"context_line":"        cls.flavor_with_ephemeral \u003d cls.os_adm.flavors_client.create_flavor("},{"line_number":63,"context_line":"            name\u003d\u0027nano_with_ephemeral\u0027, ram\u003d64, vcpus\u003d1,"},{"line_number":64,"context_line":"            disk\u003d0, ephemeral\u003d1, rxtx_factor\u003d1.0)[\u0027flavor\u0027]"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a26ad4f_b8ae1ae4","line":63,"updated":"2015-11-03 05:13:39.000000000","message":"There is no guarantee that the image used with this flavor has a minDisk of 64. This value should be the max of 64 and the minDisk property of the image","commit_id":"7aa62258b91364d3c03e760652624c0c8f4a4677"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"37b8d2f06f895823cb869654721e35004c9530e2","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        cls.admin_migration_client \u003d cls.os_adm.migrations_client"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    @classmethod"},{"line_number":50,"context_line":"    def _create_flavor_with_ephemeral(cls):"},{"line_number":51,"context_line":"        cls.flavor_with_ephemeral \u003d cls.os_adm.flavors_client.create_flavor("},{"line_number":52,"context_line":"            name\u003d\u0027nano_with_ephemeral\u0027, ram\u003d64, vcpus\u003d1,"},{"line_number":53,"context_line":"            disk\u003d0, ephemeral\u003d1, rxtx_factor\u003d1.0)[\u0027flavor\u0027]"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a8ffd7b_e9c8c676","line":50,"updated":"2015-11-25 08:43:30.000000000","message":"Why just not\n\n    def _create_flavor_with_ephemeral(self):\n        flavor \u003d self.os_adm.flavors_client.create_flavor(\n            name\u003d\u0027nano_with_ephemeral\u0027, ram\u003d64, vcpus\u003d1, \n            disk\u003d0, ephemeral\u003d1, rxtx_factor\u003d1.0)[\u0027flavor\u0027]\n        \n        return flavor","commit_id":"b4dc808967358e1b4dd6f2c3cd584065de615b6b"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"397b6a6af8b4d6f906ecc9533b27300804070313","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        cls.admin_migration_client \u003d cls.os_adm.migrations_client"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    @classmethod"},{"line_number":50,"context_line":"    def _create_flavor_with_ephemeral(cls):"},{"line_number":51,"context_line":"        cls.flavor_with_ephemeral \u003d cls.os_adm.flavors_client.create_flavor("},{"line_number":52,"context_line":"            name\u003d\u0027nano_with_ephemeral\u0027, ram\u003d64, vcpus\u003d1,"},{"line_number":53,"context_line":"            disk\u003d0, ephemeral\u003d1, rxtx_factor\u003d1.0)[\u0027flavor\u0027]"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a5ae5dd_6e9a1f70","line":50,"in_reply_to":"9a8ffd7b_e9c8c676","updated":"2016-02-05 18:13:36.000000000","message":"Done","commit_id":"b4dc808967358e1b4dd6f2c3cd584065de615b6b"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"37b8d2f06f895823cb869654721e35004c9530e2","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        self._test_live_migration(server_id, volume_backed\u003dTrue)"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    @test.idempotent_id(\u002721345ab1-167c-4540-9af4-f0678a420cdb\u0027)"},{"line_number":159,"context_line":"    def test_live_migration_with_attached_ephemeral(self):"},{"line_number":160,"context_line":"        server_id \u003d self._create_server("},{"line_number":161,"context_line":"            flavor\u003dself.flavor_with_ephemeral[\u0027id\u0027])"},{"line_number":162,"context_line":"        self._test_live_migration(server_id)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a8ffd7b_69e7f6e4","line":159,"updated":"2015-11-25 08:43:30.000000000","message":"Create ephemeral flavor here and pass its ID to the _create_server_method.\n\n    flavor \u003d self._create_flavor_with_ephemeral()\n    server_id \u003d self._create_server(flavor\u003dflavor[\u0027id\u0027])\n    self._test_live_migration(server_id)","commit_id":"b4dc808967358e1b4dd6f2c3cd584065de615b6b"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"397b6a6af8b4d6f906ecc9533b27300804070313","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        self._test_live_migration(server_id, volume_backed\u003dTrue)"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    @test.idempotent_id(\u002721345ab1-167c-4540-9af4-f0678a420cdb\u0027)"},{"line_number":159,"context_line":"    def test_live_migration_with_attached_ephemeral(self):"},{"line_number":160,"context_line":"        server_id \u003d self._create_server("},{"line_number":161,"context_line":"            flavor\u003dself.flavor_with_ephemeral[\u0027id\u0027])"},{"line_number":162,"context_line":"        self._test_live_migration(server_id)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a5ae5dd_ae949742","line":159,"in_reply_to":"9a8ffd7b_69e7f6e4","updated":"2016-02-05 18:13:36.000000000","message":"Done","commit_id":"b4dc808967358e1b4dd6f2c3cd584065de615b6b"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"bbf88cd7df6b1bd49993da06722258ea5313f3f1","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    def _create_flavor_with_ephemeral(cls):"},{"line_number":51,"context_line":"        return cls.os_adm.flavors_client.create_flavor("},{"line_number":52,"context_line":"            name\u003d\u0027nano_with_ephemeral\u0027, ram\u003d64, vcpus\u003d1,"},{"line_number":53,"context_line":"            disk\u003d0, ephemeral\u003d1, rxtx_factor\u003d1.0)[\u0027flavor\u0027]"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @classmethod"},{"line_number":56,"context_line":"    def _get_compute_hostnames(cls):"}],"source_content_type":"text/x-python","patch_set":10,"id":"5a5ae5dd_0fcbed73","line":53,"updated":"2016-02-09 11:57:40.000000000","message":"Please don\u0027t make this a private method, just do it inline in the test","commit_id":"0a1dec42018a3bb1a5fd90bc73885f2a8141b26f"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"6f012cb1ca1865c07d3a027b1042dae29d0d68c7","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    def _create_flavor_with_ephemeral(cls):"},{"line_number":51,"context_line":"        return cls.os_adm.flavors_client.create_flavor("},{"line_number":52,"context_line":"            name\u003d\u0027nano_with_ephemeral\u0027, ram\u003d64, vcpus\u003d1,"},{"line_number":53,"context_line":"            disk\u003d0, ephemeral\u003d1, rxtx_factor\u003d1.0)[\u0027flavor\u0027]"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @classmethod"},{"line_number":56,"context_line":"    def _get_compute_hostnames(cls):"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a57f1b5_772b56ec","line":53,"in_reply_to":"5a5ae5dd_0fcbed73","updated":"2016-02-10 10:19:43.000000000","message":"Done","commit_id":"0a1dec42018a3bb1a5fd90bc73885f2a8141b26f"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"719ced90ecb822b79edc1cfee10c6d8c3f4a7452","unresolved":false,"context_lines":[{"line_number":92,"context_line":"            self.volumes_client.wait_for_volume_status(volume_id, \u0027available\u0027)"},{"line_number":93,"context_line":"        self.volumes_client.delete_volume(volume_id)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    def _test_live_migration(self, server_id\u003dNone, state\u003d\u0027ACTIVE\u0027,"},{"line_number":96,"context_line":"                             volume_backed\u003dFalse):"},{"line_number":97,"context_line":"        \"\"\"Tests live migration between two hosts."},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5a5ae5dd_93dcfe75","line":95,"updated":"2016-02-09 04:08:31.000000000","message":"Here we can just add \u0027kwargs\u0027 argument.\n\ndef _test_live_migration(self, state\u003d\u0027ACTIVE\u0027,\n                         volume_backed\u003dFalse, **kwargs):\n    ...\n\nBecause in the future, probably, we will want to pass some other parameters as well.","commit_id":"0a1dec42018a3bb1a5fd90bc73885f2a8141b26f"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"bbf88cd7df6b1bd49993da06722258ea5313f3f1","unresolved":false,"context_lines":[{"line_number":92,"context_line":"            self.volumes_client.wait_for_volume_status(volume_id, \u0027available\u0027)"},{"line_number":93,"context_line":"        self.volumes_client.delete_volume(volume_id)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    def _test_live_migration(self, server_id\u003dNone, state\u003d\u0027ACTIVE\u0027,"},{"line_number":96,"context_line":"                             volume_backed\u003dFalse):"},{"line_number":97,"context_line":"        \"\"\"Tests live migration between two hosts."},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5a5ae5dd_af197924","line":95,"in_reply_to":"5a5ae5dd_93dcfe75","updated":"2016-02-09 11:57:40.000000000","message":"No, please no. **kwargs makes things so much harder to understand.","commit_id":"0a1dec42018a3bb1a5fd90bc73885f2a8141b26f"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"719ced90ecb822b79edc1cfee10c6d8c3f4a7452","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        # Live migrate an instance to another host"},{"line_number":108,"context_line":"        if server_id is None:"},{"line_number":109,"context_line":"            server_id \u003d self.create_test_server("},{"line_number":110,"context_line":"                wait_until\u003d\"ACTIVE\", volume_backed\u003dvolume_backed)[\u0027id\u0027]"},{"line_number":111,"context_line":"        actual_host \u003d self._get_host_for_server(server_id)"},{"line_number":112,"context_line":"        target_host \u003d self._get_host_other_than(actual_host)"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5a5ae5dd_13dc8e17","line":110,"updated":"2016-02-09 04:08:31.000000000","message":"Here we should add \u0027**kwargs\u0027 and we can remove \u0027if\u0027 statement.","commit_id":"0a1dec42018a3bb1a5fd90bc73885f2a8141b26f"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"bbf88cd7df6b1bd49993da06722258ea5313f3f1","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        # Live migrate an instance to another host"},{"line_number":108,"context_line":"        if server_id is None:"},{"line_number":109,"context_line":"            server_id \u003d self.create_test_server("},{"line_number":110,"context_line":"                wait_until\u003d\"ACTIVE\", volume_backed\u003dvolume_backed)[\u0027id\u0027]"},{"line_number":111,"context_line":"        actual_host \u003d self._get_host_for_server(server_id)"},{"line_number":112,"context_line":"        target_host \u003d self._get_host_other_than(actual_host)"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5a5ae5dd_2fdca945","line":110,"in_reply_to":"5a5ae5dd_13dc8e17","updated":"2016-02-09 11:57:40.000000000","message":"That\u0027s a terrible idea. if statements are readable, **kwargs are not.","commit_id":"0a1dec42018a3bb1a5fd90bc73885f2a8141b26f"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"719ced90ecb822b79edc1cfee10c6d8c3f4a7452","unresolved":false,"context_lines":[{"line_number":152,"context_line":"    @test.idempotent_id(\u002721345ab1-167c-4540-9af4-f0678a420cdb\u0027)"},{"line_number":153,"context_line":"    def test_live_migration_with_attached_ephemeral(self):"},{"line_number":154,"context_line":"        flavor \u003d self._create_flavor_with_ephemeral()"},{"line_number":155,"context_line":"        server_id \u003d self.create_test_server("},{"line_number":156,"context_line":"            flavor\u003dflavor[\u0027id\u0027])"},{"line_number":157,"context_line":"        self._test_live_migration(server_id)"},{"line_number":158,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5a5ae5dd_73ff02ab","line":155,"updated":"2016-02-09 04:08:31.000000000","message":"So this line will not be needed.","commit_id":"0a1dec42018a3bb1a5fd90bc73885f2a8141b26f"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"719ced90ecb822b79edc1cfee10c6d8c3f4a7452","unresolved":false,"context_lines":[{"line_number":154,"context_line":"        flavor \u003d self._create_flavor_with_ephemeral()"},{"line_number":155,"context_line":"        server_id \u003d self.create_test_server("},{"line_number":156,"context_line":"            flavor\u003dflavor[\u0027id\u0027])"},{"line_number":157,"context_line":"        self._test_live_migration(server_id)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    @test.idempotent_id(\u0027e19c0cc6-6720-4ed8-be83-b6603ed5c812\u0027)"},{"line_number":160,"context_line":"    @testtools.skipIf(not CONF.compute_feature_enabled."}],"source_content_type":"text/x-python","patch_set":10,"id":"5a5ae5dd_b31c9a14","line":157,"updated":"2016-02-09 04:08:31.000000000","message":"self._test_live_migration(flavor\u003dflavor[\u0027id\u0027])","commit_id":"0a1dec42018a3bb1a5fd90bc73885f2a8141b26f"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"bbf88cd7df6b1bd49993da06722258ea5313f3f1","unresolved":false,"context_lines":[{"line_number":154,"context_line":"        flavor \u003d self._create_flavor_with_ephemeral()"},{"line_number":155,"context_line":"        server_id \u003d self.create_test_server("},{"line_number":156,"context_line":"            flavor\u003dflavor[\u0027id\u0027])"},{"line_number":157,"context_line":"        self._test_live_migration(server_id)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    @test.idempotent_id(\u0027e19c0cc6-6720-4ed8-be83-b6603ed5c812\u0027)"},{"line_number":160,"context_line":"    @testtools.skipIf(not CONF.compute_feature_enabled."}],"source_content_type":"text/x-python","patch_set":10,"id":"5a5ae5dd_0fe44d0b","line":157,"in_reply_to":"5a5ae5dd_b31c9a14","updated":"2016-02-09 11:57:40.000000000","message":"No. No. No. No.","commit_id":"0a1dec42018a3bb1a5fd90bc73885f2a8141b26f"}]}
