)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8840,"name":"Carlos L. Torres","email":"carlos.torres@rackspace.com","username":"carl6796"},"change_message_id":"c99fbda8bc617432a8c47adfcdd27c5bf6e1d319","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[Sahara] Split Data Sources context"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The Input Data Sources and Output Data Sources contexts are now separated."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Iedd4a450f6cc761f918e5590bda2b57ad799e8aa"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":25,"id":"fa32b979_154d14c4","line":9,"updated":"2015-06-26 18:09:50.000000000","message":"Please can you add more info on why did the data sources needed to be separated.","commit_id":"0e8a6aec046e5e36b7a19cd5ccee6acb53a581bd"}],"rally/plugins/openstack/context/sahara/sahara_input_data_sources.py":[{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"7efabb954e2802adbfd9e0c60f8e2c150e73801c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2014: Mirantis Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a50d1a3_53290a9a","line":1,"updated":"2015-07-28 11:50:49.000000000","message":"2015","commit_id":"24ab1b0b2536e5ea75d72dab22de438f33f74158"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"7efabb954e2802adbfd9e0c60f8e2c150e73801c","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"@context.context(name\u003d\"sahara_input_data_sources\", order\u003d443)"},{"line_number":29,"context_line":"class SaharaInputDataSources(context.Context):"},{"line_number":30,"context_line":"    \"\"\"Context class for setting up Data Sources for an EDP job.\"\"\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    CONFIG_SCHEMA \u003d {"},{"line_number":33,"context_line":"        \"type\": \"object\","}],"source_content_type":"text/x-python","patch_set":27,"id":"3a50d1a3_16885070","line":30,"updated":"2015-07-28 11:50:49.000000000","message":"\"Context class for setting up Input Data Sources for an EDP job\"?","commit_id":"24ab1b0b2536e5ea75d72dab22de438f33f74158"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"7efabb954e2802adbfd9e0c60f8e2c150e73801c","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    }"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def __init__(self, context):"},{"line_number":48,"context_line":"        super(SaharaInputDataSources, self).__init__(context)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    @rutils.log_task_wrapper(LOG.info,"},{"line_number":51,"context_line":"                             _(\"Enter context: `Sahara Input Data Sources`\"))"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a50d1a3_b66abcb3","line":48,"updated":"2015-07-28 11:50:49.000000000","message":"We don\u0027t need __init__. Lets delete it.","commit_id":"24ab1b0b2536e5ea75d72dab22de438f33f74158"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"7efabb954e2802adbfd9e0c60f8e2c150e73801c","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    @rutils.log_task_wrapper(LOG.info,"},{"line_number":51,"context_line":"                             _(\"Enter context: `Sahara Input Data Sources`\"))"},{"line_number":52,"context_line":"    def setup(self):"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        input_type \u003d self.config[\"input_type\"]"},{"line_number":55,"context_line":"        input_url \u003d self.config[\"input_url\"]"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a50d1a3_d67d086e","line":53,"updated":"2015-07-28 11:50:49.000000000","message":"Please delete this line","commit_id":"24ab1b0b2536e5ea75d72dab22de438f33f74158"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"7efabb954e2802adbfd9e0c60f8e2c150e73801c","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    def setup(self):"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        input_type \u003d self.config[\"input_type\"]"},{"line_number":55,"context_line":"        input_url \u003d self.config[\"input_url\"]"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        for user, tenant_id in rutils.iterate_per_tenants("},{"line_number":58,"context_line":"                self.context[\"users\"]):"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a50d1a3_53002a02","line":55,"updated":"2015-07-28 11:50:49.000000000","message":"Lets don\u0027t use this variables. They a used only once.","commit_id":"24ab1b0b2536e5ea75d72dab22de438f33f74158"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"7efabb954e2802adbfd9e0c60f8e2c150e73801c","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"            clients \u003d osclients.Clients(user[\"endpoint\"])"},{"line_number":61,"context_line":"            sahara \u003d clients.sahara()"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"            self.setup_inputs(sahara, tenant_id, input_type, input_url)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def setup_inputs(self, sahara, tenant_id, input_type, input_url):"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a50d1a3_1605b00f","line":62,"updated":"2015-07-28 11:50:49.000000000","message":"Please delete this line.","commit_id":"24ab1b0b2536e5ea75d72dab22de438f33f74158"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"7efabb954e2802adbfd9e0c60f8e2c150e73801c","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    def setup_inputs(self, sahara, tenant_id, input_type, input_url):"},{"line_number":66,"context_line":"        if input_type \u003d\u003d \"swift\":"},{"line_number":67,"context_line":"            raise exceptions.RallyException("},{"line_number":68,"context_line":"                _(\"Swift Data Sources are not implemented yet\"))"},{"line_number":69,"context_line":"        # Todo(nkonovalov): Add swift credentials parameters and data upload"},{"line_number":70,"context_line":"        input_ds \u003d sahara.data_sources.create("},{"line_number":71,"context_line":"            name\u003d\"input_ds\","}],"source_content_type":"text/x-python","patch_set":27,"id":"3a50d1a3_b654fcc5","line":68,"updated":"2015-07-28 11:50:49.000000000","message":"Its not good practice allow swift and raise error.  But I understand an idea. You want to realize this in next patch. Maybe its ok.","commit_id":"24ab1b0b2536e5ea75d72dab22de438f33f74158"}],"rally/plugins/openstack/context/sahara/sahara_output_data_sources.py":[{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"7efabb954e2802adbfd9e0c60f8e2c150e73801c","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"@context.context(name\u003d\"sahara_output_data_sources\", order\u003d444)"},{"line_number":27,"context_line":"class SaharaOutputDataSources(context.Context):"},{"line_number":28,"context_line":"    \"\"\"Context class for setting up Data Sources for an EDP job.\"\"\""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    CONFIG_SCHEMA \u003d {"},{"line_number":31,"context_line":"        \"type\": \"object\","}],"source_content_type":"text/x-python","patch_set":27,"id":"3a50d1a3_b6b07cfe","line":28,"updated":"2015-07-28 11:50:49.000000000","message":"Context class for setting up Output Data Sources for an EDP job","commit_id":"24ab1b0b2536e5ea75d72dab22de438f33f74158"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"5ad9795fa7eb981355e4c2840ea664500c0e7d96","unresolved":false,"context_lines":[{"line_number":52,"context_line":"                                          \"Sources`\"))"},{"line_number":53,"context_line":"    def cleanup(self):"},{"line_number":54,"context_line":"        # TODO(esikachev): Cleanup must iterate by URL\u0027s"},{"line_number":55,"context_line":"        # from SetUp and delete them"},{"line_number":56,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":38,"id":"fa80f949_1bbee7ff","line":55,"updated":"2015-11-03 11:03:49.000000000","message":"which urls? which SetUp? Please clarify","commit_id":"6c2f1c02760c9a0b6798f824a6211d2c18acf140"},{"author":{"_account_id":13919,"name":"Evgeny Sikachev","email":"esikachov@gmail.com","username":"esikachev"},"change_message_id":"aa190ffeeb9d26337c37f6bd66effdf37cdb8ed1","unresolved":false,"context_lines":[{"line_number":52,"context_line":"                                          \"Sources`\"))"},{"line_number":53,"context_line":"    def cleanup(self):"},{"line_number":54,"context_line":"        # TODO(esikachev): Cleanup must iterate by URL\u0027s"},{"line_number":55,"context_line":"        # from SetUp and delete them"},{"line_number":56,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":38,"id":"fa80f949_9bfdf770","line":55,"in_reply_to":"fa80f949_1bbee7ff","updated":"2015-11-03 11:13:01.000000000","message":"Done","commit_id":"6c2f1c02760c9a0b6798f824a6211d2c18acf140"}],"tests/unit/plugins/openstack/context/sahara/test_sahara_input_data_sources.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"b86a9b21d156e685b49e6f0a5e8866cb57c2bbfa","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from rally.plugins.openstack.context.sahara import sahara_input_data_sources"},{"line_number":18,"context_line":"from tests.unit import test"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"BASE_CTX \u003d \"rally.plugins.openstack.context\""},{"line_number":21,"context_line":"CTX \u003d \"rally.plugins.openstack.context.sahara\""},{"line_number":22,"context_line":"SCN \u003d \"rally.plugins.openstack.scenarios\""},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":39,"id":"fa80f949_aca2b149","line":20,"updated":"2015-11-05 02:03:30.000000000","message":"BASE_CTX is not used","commit_id":"e08be2b78ccdb493091f5af867bbeef63d45aa4a"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"b86a9b21d156e685b49e6f0a5e8866cb57c2bbfa","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"BASE_CTX \u003d \"rally.plugins.openstack.context\""},{"line_number":21,"context_line":"CTX \u003d \"rally.plugins.openstack.context.sahara\""},{"line_number":22,"context_line":"SCN \u003d \"rally.plugins.openstack.scenarios\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class SaharaInputDataSourcesTestCase(test.ScenarioTestCase):"}],"source_content_type":"text/x-python","patch_set":39,"id":"fa80f949_cc95b5e4","line":22,"updated":"2015-11-05 02:03:30.000000000","message":"SCN is not used.","commit_id":"e08be2b78ccdb493091f5af867bbeef63d45aa4a"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"be28046d0ebdf5851eb0d408f858c4beb50536a9","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    def test_setup_and_cleanup(self, mock_osclients, mock_cleanup):"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        mock_sahara \u003d mock_osclients.Clients(mock.MagicMock()).sahara()"},{"line_number":70,"context_line":"        mock_sahara.data_sources.create.return_value \u003d mock.MagicMock("},{"line_number":71,"context_line":"            id\u003d42)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        sahara_ctx \u003d sahara_input_data_sources.SaharaInputDataSources("},{"line_number":74,"context_line":"            self.context)"}],"source_content_type":"text/x-python","patch_set":39,"id":"fa80f949_8cc5a25c","line":71,"range":{"start_line":70,"start_character":69,"end_line":71,"end_character":12},"updated":"2015-11-03 21:32:41.000000000","message":"This new line is not necessary?","commit_id":"e08be2b78ccdb493091f5af867bbeef63d45aa4a"}],"tests/unit/plugins/openstack/context/sahara/test_sahara_output_data_sources.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"b86a9b21d156e685b49e6f0a5e8866cb57c2bbfa","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"BASE_CTX \u003d \"rally.plugins.openstack.context\""},{"line_number":19,"context_line":"CTX \u003d \"rally.plugins.openstack.context.sahara\""},{"line_number":20,"context_line":"SCN \u003d \"rally.plugins.openstack.scenarios\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class SaharaOutputDataSourcesTestCase(test.TestCase):"}],"source_content_type":"text/x-python","patch_set":39,"id":"fa80f949_0c941de0","line":20,"updated":"2015-11-05 02:03:30.000000000","message":"these consts are not used, do not add them.","commit_id":"e08be2b78ccdb493091f5af867bbeef63d45aa4a"}]}
