)]}'
{"rally/api.py":[{"author":{"_account_id":22960,"name":"Hai Shi","email":"shihai1992@gmail.com","username":"haishi"},"change_message_id":"b026aa151bb320738c3ec50aa9d555b44cc347c8","unresolved":false,"context_lines":[{"line_number":160,"context_line":"        # TODO(astudenov): put this work into Credential plugins"},{"line_number":161,"context_line":"        admin \u003d deployment[\"credentials\"][\"openstack\"][0][\"admin\"]"},{"line_number":162,"context_line":"        clients \u003d osclients.Clients(objects.Credential(**admin))"},{"line_number":163,"context_line":"        a \u003d clients.services()"},{"line_number":164,"context_line":"        print(a)"},{"line_number":165,"context_line":"        return a"},{"line_number":166,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a30ddce_f86299d7","line":163,"range":{"start_line":163,"start_character":8,"end_line":163,"end_character":9},"updated":"2017-03-07 15:29:48.000000000","message":"Pls change this var\u0027s name.","commit_id":"7318cfb1b1f83082d08e9a23e1b7560df18f6c12"},{"author":{"_account_id":23094,"name":"Staroverov Anton","email":"avstaroverov@gmail.com","username":"astaroverov"},"change_message_id":"72e0dc96df69d6488a7073c22a67232010e33470","unresolved":false,"context_lines":[{"line_number":160,"context_line":"        # TODO(astudenov): put this work into Credential plugins"},{"line_number":161,"context_line":"        admin \u003d deployment[\"credentials\"][\"openstack\"][0][\"admin\"]"},{"line_number":162,"context_line":"        clients \u003d osclients.Clients(objects.Credential(**admin))"},{"line_number":163,"context_line":"        a \u003d clients.services()"},{"line_number":164,"context_line":"        print(a)"},{"line_number":165,"context_line":"        return a"},{"line_number":166,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a30ddce_bcac4236","line":163,"range":{"start_line":163,"start_character":8,"end_line":163,"end_character":9},"in_reply_to":"9a30ddce_f86299d7","updated":"2017-03-09 09:29:28.000000000","message":"Well, it\u0027s debug code and it should be removed, thanks for catching","commit_id":"7318cfb1b1f83082d08e9a23e1b7560df18f6c12"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"bd588da9d5a447d000af33aff9e514af2469b362","unresolved":false,"context_lines":[{"line_number":157,"context_line":"        :param deployment: Deployment object"},{"line_number":158,"context_line":"        :returns: Service list"},{"line_number":159,"context_line":"        \"\"\""},{"line_number":160,"context_line":"        # TODO(astudenov): put this work into Credential plugins"},{"line_number":161,"context_line":"        admin \u003d deployment[\"credentials\"][\"openstack\"][0][\"admin\"]"},{"line_number":162,"context_line":"        clients \u003d osclients.Clients(objects.Credential(**admin))"},{"line_number":163,"context_line":"        return clients.services()"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    @staticmethod"},{"line_number":166,"context_line":"    def list(status\u003dNone, parent_uuid\u003dNone, name\u003dNone):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a30ddce_2c281786","line":163,"range":{"start_line":160,"start_character":8,"end_line":163,"end_character":33},"updated":"2017-03-09 14:36:59.000000000","message":"Move this code to L180 and remove method service_list","commit_id":"daa49e69973125b8ab39a0a1f2011cb3d7fa3736"},{"author":{"_account_id":23094,"name":"Staroverov Anton","email":"avstaroverov@gmail.com","username":"astaroverov"},"change_message_id":"e83d9aa0666c96ba3f53e4fe7c7e9d9c3870f09e","unresolved":false,"context_lines":[{"line_number":157,"context_line":"        :param deployment: Deployment object"},{"line_number":158,"context_line":"        :returns: Service list"},{"line_number":159,"context_line":"        \"\"\""},{"line_number":160,"context_line":"        # TODO(astudenov): put this work into Credential plugins"},{"line_number":161,"context_line":"        admin \u003d deployment[\"credentials\"][\"openstack\"][0][\"admin\"]"},{"line_number":162,"context_line":"        clients \u003d osclients.Clients(objects.Credential(**admin))"},{"line_number":163,"context_line":"        return clients.services()"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    @staticmethod"},{"line_number":166,"context_line":"    def list(status\u003dNone, parent_uuid\u003dNone, name\u003dNone):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a30ddce_a11309b7","line":163,"range":{"start_line":160,"start_character":8,"end_line":163,"end_character":33},"in_reply_to":"9a30ddce_2c281786","updated":"2017-03-10 09:43:18.000000000","message":"Done","commit_id":"daa49e69973125b8ab39a0a1f2011cb3d7fa3736"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"bd588da9d5a447d000af33aff9e514af2469b362","unresolved":false,"context_lines":[{"line_number":177,"context_line":"        :returns: Service list"},{"line_number":178,"context_line":"        \"\"\""},{"line_number":179,"context_line":"        # TODO(astudenov): put this work into Credential plugins"},{"line_number":180,"context_line":"        services \u003d cls.service_list(deployment)"},{"line_number":181,"context_line":"        users \u003d deployment[\"credentials\"][\"openstack\"][0][\"users\"]"},{"line_number":182,"context_line":"        for endpoint_dict in users:"},{"line_number":183,"context_line":"            osclients.Clients(objects.Credential(**endpoint_dict)).keystone()"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a30ddce_ac3c07c9","line":180,"range":{"start_line":180,"start_character":8,"end_line":180,"end_character":47},"updated":"2017-03-09 14:36:59.000000000","message":"deployment is an UUID here, so we need to do:\n\n    deployment cls._get(deployment)\n    ...","commit_id":"daa49e69973125b8ab39a0a1f2011cb3d7fa3736"},{"author":{"_account_id":23094,"name":"Staroverov Anton","email":"avstaroverov@gmail.com","username":"astaroverov"},"change_message_id":"e83d9aa0666c96ba3f53e4fe7c7e9d9c3870f09e","unresolved":false,"context_lines":[{"line_number":177,"context_line":"        :returns: Service list"},{"line_number":178,"context_line":"        \"\"\""},{"line_number":179,"context_line":"        # TODO(astudenov): put this work into Credential plugins"},{"line_number":180,"context_line":"        services \u003d cls.service_list(deployment)"},{"line_number":181,"context_line":"        users \u003d deployment[\"credentials\"][\"openstack\"][0][\"users\"]"},{"line_number":182,"context_line":"        for endpoint_dict in users:"},{"line_number":183,"context_line":"            osclients.Clients(objects.Credential(**endpoint_dict)).keystone()"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a30ddce_c118fdd5","line":180,"range":{"start_line":180,"start_character":8,"end_line":180,"end_character":47},"in_reply_to":"9a30ddce_ac3c07c9","updated":"2017-03-10 09:43:18.000000000","message":"Done","commit_id":"daa49e69973125b8ab39a0a1f2011cb3d7fa3736"}],"rally/cli/commands/deployment.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"bd588da9d5a447d000af33aff9e514af2469b362","unresolved":false,"context_lines":[{"line_number":224,"context_line":"        \"\"\""},{"line_number":225,"context_line":"        headers \u003d [\"services\", \"type\", \"status\"]"},{"line_number":226,"context_line":"        table_rows \u003d []"},{"line_number":227,"context_line":"        try:"},{"line_number":228,"context_line":"            deployment \u003d api.deployment.get(deployment)"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"        except exceptions.DeploymentNotFound:"},{"line_number":231,"context_line":"            print(_(\"Deployment %s is not found.\") % deployment)"},{"line_number":232,"context_line":"            return(1)"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        try:"},{"line_number":235,"context_line":"            services \u003d api.deployment.check(deployment)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a30ddce_91b3dce8","line":232,"range":{"start_line":227,"start_character":7,"end_line":232,"end_character":21},"updated":"2017-03-09 14:36:59.000000000","message":"let\u0027s remove that lines","commit_id":"daa49e69973125b8ab39a0a1f2011cb3d7fa3736"},{"author":{"_account_id":23094,"name":"Staroverov Anton","email":"avstaroverov@gmail.com","username":"astaroverov"},"change_message_id":"e83d9aa0666c96ba3f53e4fe7c7e9d9c3870f09e","unresolved":false,"context_lines":[{"line_number":224,"context_line":"        \"\"\""},{"line_number":225,"context_line":"        headers \u003d [\"services\", \"type\", \"status\"]"},{"line_number":226,"context_line":"        table_rows \u003d []"},{"line_number":227,"context_line":"        try:"},{"line_number":228,"context_line":"            deployment \u003d api.deployment.get(deployment)"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"        except exceptions.DeploymentNotFound:"},{"line_number":231,"context_line":"            print(_(\"Deployment %s is not found.\") % deployment)"},{"line_number":232,"context_line":"            return(1)"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        try:"},{"line_number":235,"context_line":"            services \u003d api.deployment.check(deployment)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a30ddce_413ecd28","line":232,"range":{"start_line":227,"start_character":7,"end_line":232,"end_character":21},"in_reply_to":"9a30ddce_91b3dce8","updated":"2017-03-10 09:43:18.000000000","message":"Done","commit_id":"daa49e69973125b8ab39a0a1f2011cb3d7fa3736"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"bd588da9d5a447d000af33aff9e514af2469b362","unresolved":false,"context_lines":[{"line_number":302,"context_line":"        :param deployment: UUID or name of the deployment"},{"line_number":303,"context_line":"        \"\"\""},{"line_number":304,"context_line":"        try:"},{"line_number":305,"context_line":"            deployment \u003d api.deployment.get(deployment)"},{"line_number":306,"context_line":"            print(\"Using deployment: %s\" % deployment[\"uuid\"])"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"            fileutils.update_globals_file(\"RALLY_DEPLOYMENT\","}],"source_content_type":"text/x-python","patch_set":3,"id":"9a30ddce_d101d439","line":305,"range":{"start_line":305,"start_character":12,"end_line":305,"end_character":55},"updated":"2017-03-09 14:36:59.000000000","message":"in case if \"use\" is called from L112, we have a dict object with all needed information, so we can not cal api method again.\n\n    if not isinstance(deployment, dict):\n        deployment \u003d api.deployment.get(deployment)","commit_id":"daa49e69973125b8ab39a0a1f2011cb3d7fa3736"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"d468b662905ef4d22633acb63eb0989778cc04d1","unresolved":false,"context_lines":[{"line_number":302,"context_line":"        :param deployment: UUID or name of the deployment"},{"line_number":303,"context_line":"        \"\"\""},{"line_number":304,"context_line":"        try:"},{"line_number":305,"context_line":"            deployment \u003d api.deployment.get(deployment)"},{"line_number":306,"context_line":"            print(\"Using deployment: %s\" % deployment[\"uuid\"])"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"            fileutils.update_globals_file(\"RALLY_DEPLOYMENT\","}],"source_content_type":"text/x-python","patch_set":3,"id":"9a30ddce_ec499f61","line":305,"range":{"start_line":305,"start_character":12,"end_line":305,"end_character":55},"in_reply_to":"9a30ddce_d101d439","updated":"2017-03-09 14:37:48.000000000","message":"\u003e so we can not cal api method again.\n\nso we should not call API again","commit_id":"daa49e69973125b8ab39a0a1f2011cb3d7fa3736"},{"author":{"_account_id":23094,"name":"Staroverov Anton","email":"avstaroverov@gmail.com","username":"astaroverov"},"change_message_id":"e83d9aa0666c96ba3f53e4fe7c7e9d9c3870f09e","unresolved":false,"context_lines":[{"line_number":302,"context_line":"        :param deployment: UUID or name of the deployment"},{"line_number":303,"context_line":"        \"\"\""},{"line_number":304,"context_line":"        try:"},{"line_number":305,"context_line":"            deployment \u003d api.deployment.get(deployment)"},{"line_number":306,"context_line":"            print(\"Using deployment: %s\" % deployment[\"uuid\"])"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"            fileutils.update_globals_file(\"RALLY_DEPLOYMENT\","}],"source_content_type":"text/x-python","patch_set":3,"id":"9a30ddce_a5123455","line":305,"range":{"start_line":305,"start_character":12,"end_line":305,"end_character":55},"in_reply_to":"9a30ddce_d101d439","updated":"2017-03-10 09:43:18.000000000","message":"Done","commit_id":"daa49e69973125b8ab39a0a1f2011cb3d7fa3736"},{"author":{"_account_id":23094,"name":"Staroverov Anton","email":"avstaroverov@gmail.com","username":"astaroverov"},"change_message_id":"e83d9aa0666c96ba3f53e4fe7c7e9d9c3870f09e","unresolved":false,"context_lines":[{"line_number":302,"context_line":"        :param deployment: UUID or name of the deployment"},{"line_number":303,"context_line":"        \"\"\""},{"line_number":304,"context_line":"        try:"},{"line_number":305,"context_line":"            deployment \u003d api.deployment.get(deployment)"},{"line_number":306,"context_line":"            print(\"Using deployment: %s\" % deployment[\"uuid\"])"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"            fileutils.update_globals_file(\"RALLY_DEPLOYMENT\","}],"source_content_type":"text/x-python","patch_set":3,"id":"9a30ddce_c51ba871","line":305,"range":{"start_line":305,"start_character":12,"end_line":305,"end_character":55},"in_reply_to":"9a30ddce_ec499f61","updated":"2017-03-10 09:43:18.000000000","message":"Done","commit_id":"daa49e69973125b8ab39a0a1f2011cb3d7fa3736"},{"author":{"_account_id":19011,"name":"Anton Studenov","email":"tohin1332@gmail.com","username":"tohin"},"change_message_id":"bf065f3685eb7b86a4fc876d5b4ed41737f7a81b","unresolved":false,"context_lines":[{"line_number":297,"context_line":"        :param deployment: UUID or name of the deployment"},{"line_number":298,"context_line":"        \"\"\""},{"line_number":299,"context_line":"        try:"},{"line_number":300,"context_line":"            if not isinstance(deployment, dict):"},{"line_number":301,"context_line":"                deployment \u003d api.deployment.get(deployment)"},{"line_number":302,"context_line":"            print(\"Using deployment: %s\" % deployment[\"uuid\"])"},{"line_number":303,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a30ddce_389e2c07","line":300,"range":{"start_line":300,"start_character":12,"end_line":300,"end_character":48},"updated":"2017-03-13 11:43:38.000000000","message":"deployment is always a string as per 291st line. This \"if\" looks redundant.","commit_id":"21496e2abc3c8c7c12fcb4db690d0f871b1cdd97"},{"author":{"_account_id":19011,"name":"Anton Studenov","email":"tohin1332@gmail.com","username":"tohin"},"change_message_id":"def6afd5f32b96e67fc596bcbf5c6839ecf86813","unresolved":false,"context_lines":[{"line_number":297,"context_line":"        :param deployment: UUID or name of the deployment"},{"line_number":298,"context_line":"        \"\"\""},{"line_number":299,"context_line":"        try:"},{"line_number":300,"context_line":"            if not isinstance(deployment, dict):"},{"line_number":301,"context_line":"                deployment \u003d api.deployment.get(deployment)"},{"line_number":302,"context_line":"            print(\"Using deployment: %s\" % deployment[\"uuid\"])"},{"line_number":303,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a30ddce_335acaf2","line":300,"range":{"start_line":300,"start_character":12,"end_line":300,"end_character":48},"in_reply_to":"9a30ddce_2e0b467e","updated":"2017-03-13 13:24:33.000000000","message":"Why do we need to make things more complicated? The previous version looks better.","commit_id":"21496e2abc3c8c7c12fcb4db690d0f871b1cdd97"},{"author":{"_account_id":23094,"name":"Staroverov Anton","email":"avstaroverov@gmail.com","username":"astaroverov"},"change_message_id":"b3f48b64efe7e102649f1ed2023cc7faa325d4e0","unresolved":false,"context_lines":[{"line_number":297,"context_line":"        :param deployment: UUID or name of the deployment"},{"line_number":298,"context_line":"        \"\"\""},{"line_number":299,"context_line":"        try:"},{"line_number":300,"context_line":"            if not isinstance(deployment, dict):"},{"line_number":301,"context_line":"                deployment \u003d api.deployment.get(deployment)"},{"line_number":302,"context_line":"            print(\"Using deployment: %s\" % deployment[\"uuid\"])"},{"line_number":303,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a30ddce_961c446b","line":300,"range":{"start_line":300,"start_character":12,"end_line":300,"end_character":48},"in_reply_to":"9a30ddce_335acaf2","updated":"2017-03-13 13:36:33.000000000","message":"What is more complicated: make unnecessary call of API function, or check type of input parameter?","commit_id":"21496e2abc3c8c7c12fcb4db690d0f871b1cdd97"},{"author":{"_account_id":23094,"name":"Staroverov Anton","email":"avstaroverov@gmail.com","username":"astaroverov"},"change_message_id":"cc1128d0746a3fe69b0dd593bc38bf1a797fc68b","unresolved":false,"context_lines":[{"line_number":297,"context_line":"        :param deployment: UUID or name of the deployment"},{"line_number":298,"context_line":"        \"\"\""},{"line_number":299,"context_line":"        try:"},{"line_number":300,"context_line":"            if not isinstance(deployment, dict):"},{"line_number":301,"context_line":"                deployment \u003d api.deployment.get(deployment)"},{"line_number":302,"context_line":"            print(\"Using deployment: %s\" % deployment[\"uuid\"])"},{"line_number":303,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a30ddce_2e0b467e","line":300,"range":{"start_line":300,"start_character":12,"end_line":300,"end_character":48},"in_reply_to":"9a30ddce_389e2c07","updated":"2017-03-13 12:06:41.000000000","message":"There are two possibilities:\n- rally deployment use --deployment \u0027deployment-id\u0027\n- and calling from line 112\nIn first one we should check what ID of deployment is correct - so that\u0027s why we call API method \u0027get\u0027.\nIn second one we already have correct deployment, and we check it by using current condition","commit_id":"21496e2abc3c8c7c12fcb4db690d0f871b1cdd97"},{"author":{"_account_id":19011,"name":"Anton Studenov","email":"tohin1332@gmail.com","username":"tohin"},"change_message_id":"c8f1c50438db3f8a322c319526d23f79859762f8","unresolved":false,"context_lines":[{"line_number":297,"context_line":"        :param deployment: UUID or name of the deployment"},{"line_number":298,"context_line":"        \"\"\""},{"line_number":299,"context_line":"        try:"},{"line_number":300,"context_line":"            if not isinstance(deployment, dict):"},{"line_number":301,"context_line":"                deployment \u003d api.deployment.get(deployment)"},{"line_number":302,"context_line":"            print(\"Using deployment: %s\" % deployment[\"uuid\"])"},{"line_number":303,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a30ddce_b6c22851","line":300,"range":{"start_line":300,"start_character":12,"end_line":300,"end_character":48},"in_reply_to":"9a30ddce_961c446b","updated":"2017-03-13 13:48:24.000000000","message":"Adding support for new type of input parameter makes it more complicated. Because the original use case for this method is to handle CLI call.","commit_id":"21496e2abc3c8c7c12fcb4db690d0f871b1cdd97"},{"author":{"_account_id":23094,"name":"Staroverov Anton","email":"avstaroverov@gmail.com","username":"astaroverov"},"change_message_id":"6016ca9159ca1aa8a34d044c33b5f4c597be879e","unresolved":false,"context_lines":[{"line_number":297,"context_line":"        :param deployment: UUID or name of the deployment"},{"line_number":298,"context_line":"        \"\"\""},{"line_number":299,"context_line":"        try:"},{"line_number":300,"context_line":"            if not isinstance(deployment, dict):"},{"line_number":301,"context_line":"                deployment \u003d api.deployment.get(deployment)"},{"line_number":302,"context_line":"            print(\"Using deployment: %s\" % deployment[\"uuid\"])"},{"line_number":303,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a30ddce_010e50e4","line":300,"range":{"start_line":300,"start_character":12,"end_line":300,"end_character":48},"in_reply_to":"9a30ddce_b6c22851","updated":"2017-03-13 14:00:41.000000000","message":"This method called NOT only from CLI originally, so we should support new interface in any case.","commit_id":"21496e2abc3c8c7c12fcb4db690d0f871b1cdd97"},{"author":{"_account_id":19011,"name":"Anton Studenov","email":"tohin1332@gmail.com","username":"tohin"},"change_message_id":"09e5121fb74c27cfccf5ca0d47156c1c643af99c","unresolved":false,"context_lines":[{"line_number":204,"context_line":"        table_rows \u003d []"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"        deployment \u003d api.deployment.get(deployment)"},{"line_number":207,"context_line":"        print(deployment)"},{"line_number":208,"context_line":"        creds \u003d deployment[\"credentials\"][\"openstack\"][0]"},{"line_number":209,"context_line":"        users \u003d creds[\"users\"]"},{"line_number":210,"context_line":"        admin \u003d creds[\"admin\"]"}],"source_content_type":"text/x-python","patch_set":11,"id":"ffe62b97_61ae97e8","line":207,"range":{"start_line":207,"start_character":8,"end_line":207,"end_character":25},"updated":"2017-03-24 11:49:16.000000000","message":"debug print?","commit_id":"10d7853eee796b6b30be8cec79fc7c35890ad735"}],"rally/common/objects/deploy.py":[{"author":{"_account_id":19011,"name":"Anton Studenov","email":"tohin1332@gmail.com","username":"tohin"},"change_message_id":"3b4ef0a6098b3ef36cd234d1fac1ae1ea3d813b2","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        return self.deployment[key]"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def to_dict(self):"},{"line_number":71,"context_line":"        return self.deployment"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    @staticmethod"},{"line_number":74,"context_line":"    def get(deploy):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a30ddce_020cc9eb","line":71,"range":{"start_line":71,"start_character":15,"end_line":71,"end_character":30},"updated":"2017-03-10 14:33:14.000000000","message":"lets make a copy of internal dict here","commit_id":"af6370a0e15cd32cbf281e7b6ed25665de93e4e3"},{"author":{"_account_id":19011,"name":"Anton Studenov","email":"tohin1332@gmail.com","username":"tohin"},"change_message_id":"bf065f3685eb7b86a4fc876d5b4ed41737f7a81b","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    def to_dict(self):"},{"line_number":72,"context_line":"        result \u003d {}"},{"line_number":73,"context_line":"        formatters \u003d [\"created_at\", \"completed_at\", \"started_at\", \"updated_at\"]"},{"line_number":74,"context_line":"        for field in self.deployment.keys():"},{"line_number":75,"context_line":"            result[field] \u003d self.deployment.get(field, \"\").strftime("},{"line_number":76,"context_line":"                self.TIME_FORMAT)\\"},{"line_number":77,"context_line":"                if field in formatters else self.deployment.get(field, \"\")"},{"line_number":78,"context_line":"        return result"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a30ddce_53a7430a","line":77,"range":{"start_line":74,"start_character":8,"end_line":77,"end_character":74},"updated":"2017-03-13 11:43:38.000000000","message":"for field, value in self.deployment.items():\n    if field in formatters:\n        value \u003d value.strftime(self.TIME_FORMAT)\n    result[field] \u003d value","commit_id":"21496e2abc3c8c7c12fcb4db690d0f871b1cdd97"},{"author":{"_account_id":23094,"name":"Staroverov Anton","email":"avstaroverov@gmail.com","username":"astaroverov"},"change_message_id":"cc1128d0746a3fe69b0dd593bc38bf1a797fc68b","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    def to_dict(self):"},{"line_number":72,"context_line":"        result \u003d {}"},{"line_number":73,"context_line":"        formatters \u003d [\"created_at\", \"completed_at\", \"started_at\", \"updated_at\"]"},{"line_number":74,"context_line":"        for field in self.deployment.keys():"},{"line_number":75,"context_line":"            result[field] \u003d self.deployment.get(field, \"\").strftime("},{"line_number":76,"context_line":"                self.TIME_FORMAT)\\"},{"line_number":77,"context_line":"                if field in formatters else self.deployment.get(field, \"\")"},{"line_number":78,"context_line":"        return result"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a30ddce_6efc5eb8","line":77,"range":{"start_line":74,"start_character":8,"end_line":77,"end_character":74},"in_reply_to":"9a30ddce_53a7430a","updated":"2017-03-13 12:06:41.000000000","message":"Not a big difference here. Let\u0027s use your variant if you like","commit_id":"21496e2abc3c8c7c12fcb4db690d0f871b1cdd97"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"4e2619a1c397056ada5cf4d454fb1afeb172ae9d","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"class Deployment(object):"},{"line_number":54,"context_line":"    \"\"\"Represents a deployment object.\"\"\""},{"line_number":55,"context_line":"    TIME_FORMAT \u003d consts.TimeFormat.TIME_FORMAT_ISO8601"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def __init__(self, deployment\u003dNone, **attributes):"},{"line_number":58,"context_line":"        if deployment:"}],"source_content_type":"text/x-python","patch_set":14,"id":"ffe62b97_502c3898","line":55,"range":{"start_line":55,"start_character":36,"end_line":55,"end_character":55},"updated":"2017-03-27 11:29:45.000000000","message":"it should be fixed too","commit_id":"68b3d4d77ca535f769eab88343fde2ee2bf3c294"}],"rally/consts.py":[{"author":{"_account_id":19011,"name":"Anton Studenov","email":"tohin1332@gmail.com","username":"tohin"},"change_message_id":"bf065f3685eb7b86a4fc876d5b4ed41737f7a81b","unresolved":false,"context_lines":[{"line_number":214,"context_line":"    CRASHED \u003d \"crashed\""},{"line_number":215,"context_line":""},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"class _TimeFormats(utils.ImmutableMixin, utils.EnumMixin):"},{"line_number":218,"context_line":"    \"\"\"International time formats\"\"\""},{"line_number":219,"context_line":"    TIME_FORMAT_ISO8601 \u003d \"%Y-%m-%dT%H:%M:%S%z\""},{"line_number":220,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a30ddce_b3195f24","line":217,"range":{"start_line":217,"start_character":17,"end_line":217,"end_character":18},"updated":"2017-03-13 11:43:38.000000000","message":"Let\u0027s use a singular word here.","commit_id":"21496e2abc3c8c7c12fcb4db690d0f871b1cdd97"},{"author":{"_account_id":23094,"name":"Staroverov Anton","email":"avstaroverov@gmail.com","username":"astaroverov"},"change_message_id":"cc1128d0746a3fe69b0dd593bc38bf1a797fc68b","unresolved":false,"context_lines":[{"line_number":214,"context_line":"    CRASHED \u003d \"crashed\""},{"line_number":215,"context_line":""},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"class _TimeFormats(utils.ImmutableMixin, utils.EnumMixin):"},{"line_number":218,"context_line":"    \"\"\"International time formats\"\"\""},{"line_number":219,"context_line":"    TIME_FORMAT_ISO8601 \u003d \"%Y-%m-%dT%H:%M:%S%z\""},{"line_number":220,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a30ddce_8e66f2ea","line":217,"range":{"start_line":217,"start_character":17,"end_line":217,"end_character":18},"in_reply_to":"9a30ddce_b3195f24","updated":"2017-03-13 12:06:41.000000000","message":"Maybe, I\"ll think about it","commit_id":"21496e2abc3c8c7c12fcb4db690d0f871b1cdd97"},{"author":{"_account_id":19011,"name":"Anton Studenov","email":"tohin1332@gmail.com","username":"tohin"},"change_message_id":"bf065f3685eb7b86a4fc876d5b4ed41737f7a81b","unresolved":false,"context_lines":[{"line_number":216,"context_line":""},{"line_number":217,"context_line":"class _TimeFormats(utils.ImmutableMixin, utils.EnumMixin):"},{"line_number":218,"context_line":"    \"\"\"International time formats\"\"\""},{"line_number":219,"context_line":"    TIME_FORMAT_ISO8601 \u003d \"%Y-%m-%dT%H:%M:%S%z\""},{"line_number":220,"context_line":""},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"TaskStatus \u003d _TaskStatus()"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a30ddce_d31413ea","line":219,"range":{"start_line":219,"start_character":4,"end_line":219,"end_character":23},"updated":"2017-03-13 11:43:38.000000000","message":"I think it is redundant to repeat TIME_FORMAT at the beginning of the name. TimeFormat.ISO8601 looks better to me.","commit_id":"21496e2abc3c8c7c12fcb4db690d0f871b1cdd97"},{"author":{"_account_id":23094,"name":"Staroverov Anton","email":"avstaroverov@gmail.com","username":"astaroverov"},"change_message_id":"cc1128d0746a3fe69b0dd593bc38bf1a797fc68b","unresolved":false,"context_lines":[{"line_number":216,"context_line":""},{"line_number":217,"context_line":"class _TimeFormats(utils.ImmutableMixin, utils.EnumMixin):"},{"line_number":218,"context_line":"    \"\"\"International time formats\"\"\""},{"line_number":219,"context_line":"    TIME_FORMAT_ISO8601 \u003d \"%Y-%m-%dT%H:%M:%S%z\""},{"line_number":220,"context_line":""},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"TaskStatus \u003d _TaskStatus()"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a30ddce_ee4f6e68","line":219,"range":{"start_line":219,"start_character":4,"end_line":219,"end_character":23},"in_reply_to":"9a30ddce_d31413ea","updated":"2017-03-13 12:06:41.000000000","message":"Disagree. \u0027TIME_FORMAT\u0027 is shorter","commit_id":"21496e2abc3c8c7c12fcb4db690d0f871b1cdd97"},{"author":{"_account_id":19011,"name":"Anton Studenov","email":"tohin1332@gmail.com","username":"tohin"},"change_message_id":"def6afd5f32b96e67fc596bcbf5c6839ecf86813","unresolved":false,"context_lines":[{"line_number":216,"context_line":""},{"line_number":217,"context_line":"class _TimeFormats(utils.ImmutableMixin, utils.EnumMixin):"},{"line_number":218,"context_line":"    \"\"\"International time formats\"\"\""},{"line_number":219,"context_line":"    TIME_FORMAT_ISO8601 \u003d \"%Y-%m-%dT%H:%M:%S%z\""},{"line_number":220,"context_line":""},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"TaskStatus \u003d _TaskStatus()"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a30ddce_5061f403","line":219,"range":{"start_line":219,"start_character":4,"end_line":219,"end_character":23},"in_reply_to":"9a30ddce_ee4f6e68","updated":"2017-03-13 13:24:33.000000000","message":"How can \"TimeFormat.TIME_FORMAT_ISO8601\" be shorter than \"TimeFormat.ISO8601\" ???","commit_id":"21496e2abc3c8c7c12fcb4db690d0f871b1cdd97"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"69ded72d1de711ff2c424476c529dd73957befb8","unresolved":false,"context_lines":[{"line_number":216,"context_line":""},{"line_number":217,"context_line":"class _TimeFormat(utils.ImmutableMixin, utils.EnumMixin):"},{"line_number":218,"context_line":"    \"\"\"International time formats\"\"\""},{"line_number":219,"context_line":"    TIME_FORMAT_ISO8601 \u003d \"%Y-%m-%dT%H:%M:%S%z\""},{"line_number":220,"context_line":""},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"TaskStatus \u003d _TaskStatus()"}],"source_content_type":"text/x-python","patch_set":12,"id":"ffe62b97_1fa6c311","line":219,"range":{"start_line":219,"start_character":4,"end_line":219,"end_character":16},"updated":"2017-03-27 10:47:45.000000000","message":"this suffix is redundant","commit_id":"0c6e6bad957c9bec59355417529f80dd40ac3543"}],"tests/functional/test_task_samples.py":[{"author":{"_account_id":19011,"name":"Anton Studenov","email":"tohin1332@gmail.com","username":"tohin"},"change_message_id":"09e5121fb74c27cfccf5ca0d47156c1c643af99c","unresolved":false,"context_lines":[{"line_number":77,"context_line":"            user[\"project_name\"] \u003d ctx[\"users\"][0][\"credential\"].tenant_name"},{"line_number":78,"context_line":"        else:"},{"line_number":79,"context_line":"            user[\"tenant_name\"] \u003d ctx[\"users\"][0][\"credential\"].tenant_name"},{"line_number":80,"context_line":"        config[\"creds\"][\"openstack\"][\"users\"] \u003d [user]"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        rally(\"deployment destroy MAIN\", write_report\u003dFalse)"},{"line_number":83,"context_line":"        deployment_cfg \u003d os.path.join(rally.tmp_dir, \"new_deployment.json\")"}],"source_content_type":"text/x-python","patch_set":11,"id":"ffe62b97_e1d18759","side":"PARENT","line":80,"updated":"2017-03-24 11:49:16.000000000","message":"Why do we need to change it back to an old schema of deployment?","commit_id":"516b3628b701c0f3732d22cbd9811b80f7f2703c"},{"author":{"_account_id":19011,"name":"Anton Studenov","email":"tohin1332@gmail.com","username":"tohin"},"change_message_id":"09e5121fb74c27cfccf5ca0d47156c1c643af99c","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        self.addCleanup(user_ctx.cleanup)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        config \u003d deployment[\"config\"]"},{"line_number":71,"context_line":"        print(config)"},{"line_number":72,"context_line":"        os_creds \u003d config"},{"line_number":73,"context_line":"        user \u003d copy.copy(os_creds[\"admin\"])"},{"line_number":74,"context_line":"        user[\"username\"] \u003d ctx[\"users\"][0][\"credential\"].username"}],"source_content_type":"text/x-python","patch_set":11,"id":"ffe62b97_c188c372","line":71,"range":{"start_line":71,"start_character":8,"end_line":71,"end_character":21},"updated":"2017-03-24 11:49:16.000000000","message":"debug print?","commit_id":"10d7853eee796b6b30be8cec79fc7c35890ad735"}],"tests/unit/cli/commands/test_deployment.py":[{"author":{"_account_id":22960,"name":"Hai Shi","email":"shihai1992@gmail.com","username":"haishi"},"change_message_id":"b026aa151bb320738c3ec50aa9d555b44cc347c8","unresolved":false,"context_lines":[{"line_number":242,"context_line":"            \"users\": []"},{"line_number":243,"context_line":"        }"},{"line_number":244,"context_line":"        deployment \u003d self.fake_api.deployment.get"},{"line_number":245,"context_line":"        deployment.return_value \u003d {\"credentials\": {\"openstack\": ["},{"line_number":246,"context_line":"            {\"admin\": value[\"admin\"],"},{"line_number":247,"context_line":"             \"users\": []}]}}"},{"line_number":248,"context_line":"        self.deployment.show(self.fake_api, deployment_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a30ddce_18bccd04","line":245,"range":{"start_line":245,"start_character":51,"end_line":245,"end_character":62},"updated":"2017-03-07 15:29:48.000000000","message":"it is a namespace and is transformable.","commit_id":"7318cfb1b1f83082d08e9a23e1b7560df18f6c12"},{"author":{"_account_id":23094,"name":"Staroverov Anton","email":"avstaroverov@gmail.com","username":"astaroverov"},"change_message_id":"72e0dc96df69d6488a7073c22a67232010e33470","unresolved":false,"context_lines":[{"line_number":242,"context_line":"            \"users\": []"},{"line_number":243,"context_line":"        }"},{"line_number":244,"context_line":"        deployment \u003d self.fake_api.deployment.get"},{"line_number":245,"context_line":"        deployment.return_value \u003d {\"credentials\": {\"openstack\": ["},{"line_number":246,"context_line":"            {\"admin\": value[\"admin\"],"},{"line_number":247,"context_line":"             \"users\": []}]}}"},{"line_number":248,"context_line":"        self.deployment.show(self.fake_api, deployment_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a30ddce_bcfe0236","line":245,"range":{"start_line":245,"start_character":51,"end_line":245,"end_character":62},"in_reply_to":"9a30ddce_18bccd04","updated":"2017-03-09 09:29:28.000000000","message":"Here it\u0027s doesn\u0027t matter.\nAlso, Deployment object works with \u0027openstack\u0027 namespace only","commit_id":"7318cfb1b1f83082d08e9a23e1b7560df18f6c12"},{"author":{"_account_id":22960,"name":"Hai Shi","email":"shihai1992@gmail.com","username":"haishi"},"change_message_id":"6241bdb680c3e762364631fb0da597cdec48c0ef","unresolved":false,"context_lines":[{"line_number":242,"context_line":"            \"users\": []"},{"line_number":243,"context_line":"        }"},{"line_number":244,"context_line":"        deployment \u003d self.fake_api.deployment.get"},{"line_number":245,"context_line":"        deployment.return_value \u003d {\"credentials\": {\"openstack\": ["},{"line_number":246,"context_line":"            {\"admin\": value[\"admin\"],"},{"line_number":247,"context_line":"             \"users\": []}]}}"},{"line_number":248,"context_line":"        self.deployment.show(self.fake_api, deployment_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a30ddce_c6959c87","line":245,"range":{"start_line":245,"start_character":51,"end_line":245,"end_character":62},"in_reply_to":"9a30ddce_bcfe0236","updated":"2017-03-09 13:58:36.000000000","message":"But I think rally only own `openstack` namespace temporarily;)","commit_id":"7318cfb1b1f83082d08e9a23e1b7560df18f6c12"},{"author":{"_account_id":23094,"name":"Staroverov Anton","email":"avstaroverov@gmail.com","username":"astaroverov"},"change_message_id":"f1e4be8f733f6f6c8fdba733b2b7cd3fb87cfa13","unresolved":false,"context_lines":[{"line_number":242,"context_line":"            \"users\": []"},{"line_number":243,"context_line":"        }"},{"line_number":244,"context_line":"        deployment \u003d self.fake_api.deployment.get"},{"line_number":245,"context_line":"        deployment.return_value \u003d {\"credentials\": {\"openstack\": ["},{"line_number":246,"context_line":"            {\"admin\": value[\"admin\"],"},{"line_number":247,"context_line":"             \"users\": []}]}}"},{"line_number":248,"context_line":"        self.deployment.show(self.fake_api, deployment_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a30ddce_91475c76","line":245,"range":{"start_line":245,"start_character":51,"end_line":245,"end_character":62},"in_reply_to":"9a30ddce_c6959c87","updated":"2017-03-09 14:33:41.000000000","message":"That\u0027s true, but usage of different namespaces is not a target for current patch, so I prefer to use \u0027openstack\u0027 here as is.","commit_id":"7318cfb1b1f83082d08e9a23e1b7560df18f6c12"}],"tests/unit/common/objects/test_deploy.py":[{"author":{"_account_id":19011,"name":"Anton Studenov","email":"tohin1332@gmail.com","username":"tohin"},"change_message_id":"09e5121fb74c27cfccf5ca0d47156c1c643af99c","unresolved":false,"context_lines":[{"line_number":233,"context_line":"        )"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"    def test_to_dict(self):"},{"line_number":236,"context_line":"        import datetime as dt"},{"line_number":237,"context_line":"        self.deployment \u003d {"},{"line_number":238,"context_line":"            \"status\": \"deploy-\u003efinished\","},{"line_number":239,"context_line":"            \"parent_uuid\": None,"}],"source_content_type":"text/x-python","patch_set":11,"id":"ffe62b97_a1593fff","line":236,"range":{"start_line":236,"start_character":8,"end_line":236,"end_character":29},"updated":"2017-03-24 11:49:16.000000000","message":"Let\u0027s move it to the top","commit_id":"10d7853eee796b6b30be8cec79fc7c35890ad735"}]}
