)]}'
{"tempest/api/data_processing/base.py":[{"author":{"_account_id":7710,"name":"Sergey Reshetnyak","email":"sreshetniak@mirantis.com","username":"sreshetniak"},"change_message_id":"9255c599d65b71b7635cbd3451d71ba1734f6406","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import six"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from tempest_lib import exceptions as lib_exc"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_0c15f7f0","line":15,"updated":"2015-03-04 20:09:16.000000000","message":"six - third-party library","commit_id":"3870a518464953b041da8ad4eb3a4d90513818a9"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"32df19de761613e52856bfe98e6a387ae0663e18","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import six"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from tempest_lib import exceptions as lib_exc"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_9221e2a1","line":15,"in_reply_to":"9a80dd14_0c15f7f0","updated":"2015-03-05 10:00:27.000000000","message":"Already required by tempest, compatibility library for making it easier to port to Python 3.","commit_id":"3870a518464953b041da8ad4eb3a4d90513818a9"},{"author":{"_account_id":7710,"name":"Sergey Reshetnyak","email":"sreshetniak@mirantis.com","username":"sreshetniak"},"change_message_id":"9255c599d65b71b7635cbd3451d71ba1734f6406","unresolved":false,"context_lines":[{"line_number":27,"context_line":"group template.\"\"\""},{"line_number":28,"context_line":"DEFAULT_TEMPLATES \u003d {"},{"line_number":29,"context_line":"    \u0027vanilla\u0027: {"},{"line_number":30,"context_line":"        \u0027hadoop_version\u0027: \u00271.2.1\u0027,"},{"line_number":31,"context_line":"        \u0027NODES\u0027: {"},{"line_number":32,"context_line":"            \u0027master1\u0027: {"},{"line_number":33,"context_line":"                \u0027count\u0027: 1,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_4c10cf4e","line":30,"range":{"start_line":30,"start_character":27,"end_line":30,"end_character":32},"updated":"2015-03-04 20:09:16.000000000","message":"2.6.0 is prefer version for vanilla plugin","commit_id":"3870a518464953b041da8ad4eb3a4d90513818a9"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"32df19de761613e52856bfe98e6a387ae0663e18","unresolved":false,"context_lines":[{"line_number":27,"context_line":"group template.\"\"\""},{"line_number":28,"context_line":"DEFAULT_TEMPLATES \u003d {"},{"line_number":29,"context_line":"    \u0027vanilla\u0027: {"},{"line_number":30,"context_line":"        \u0027hadoop_version\u0027: \u00271.2.1\u0027,"},{"line_number":31,"context_line":"        \u0027NODES\u0027: {"},{"line_number":32,"context_line":"            \u0027master1\u0027: {"},{"line_number":33,"context_line":"                \u0027count\u0027: 1,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_32e3d634","line":30,"in_reply_to":"9a80dd14_4c10cf4e","updated":"2015-03-05 10:00:27.000000000","message":"But 2.6 is not supported on Juno, and tempest is branchless and needs to work on all supported versions of OpenStack. I kept 1.2.1 because of this (and also to not change the existing configuration).\n\nAlternative solution: implements both and add more code to check also the plugin version.","commit_id":"3870a518464953b041da8ad4eb3a4d90513818a9"},{"author":{"_account_id":7710,"name":"Sergey Reshetnyak","email":"sreshetniak@mirantis.com","username":"sreshetniak"},"change_message_id":"9255c599d65b71b7635cbd3451d71ba1734f6406","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        \u0027NODES\u0027: {"},{"line_number":32,"context_line":"            \u0027master1\u0027: {"},{"line_number":33,"context_line":"                \u0027count\u0027: 1,"},{"line_number":34,"context_line":"                \u0027node_processes\u0027: [\u0027namenode\u0027]"},{"line_number":35,"context_line":"            },"},{"line_number":36,"context_line":"            \u0027worker1\u0027: {"},{"line_number":37,"context_line":"                \u0027count\u0027: 1,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_ec20a39d","line":34,"updated":"2015-03-04 20:09:16.000000000","message":"tasktracker requires jobtracker process","commit_id":"3870a518464953b041da8ad4eb3a4d90513818a9"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"32df19de761613e52856bfe98e6a387ae0663e18","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        \u0027NODES\u0027: {"},{"line_number":32,"context_line":"            \u0027master1\u0027: {"},{"line_number":33,"context_line":"                \u0027count\u0027: 1,"},{"line_number":34,"context_line":"                \u0027node_processes\u0027: [\u0027namenode\u0027]"},{"line_number":35,"context_line":"            },"},{"line_number":36,"context_line":"            \u0027worker1\u0027: {"},{"line_number":37,"context_line":"                \u0027count\u0027: 1,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_124c1270","line":34,"in_reply_to":"9a80dd14_ec20a39d","updated":"2015-03-05 10:00:27.000000000","message":"This configuration (vanilla 1.2.1) mirrors the existing one for this test, but of course it needs to be fixed.","commit_id":"3870a518464953b041da8ad4eb3a4d90513818a9"},{"author":{"_account_id":7710,"name":"Sergey Reshetnyak","email":"sreshetniak@mirantis.com","username":"sreshetniak"},"change_message_id":"9255c599d65b71b7635cbd3451d71ba1734f6406","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        },"},{"line_number":49,"context_line":"        \u0027cluster_configs\u0027: {"},{"line_number":50,"context_line":"            \u0027HDFS\u0027: {"},{"line_number":51,"context_line":"                \u0027dfs.replication\u0027: 2"},{"line_number":52,"context_line":"            },"},{"line_number":53,"context_line":"            \u0027MapReduce\u0027: {"},{"line_number":54,"context_line":"                \u0027mapred.map.tasks.speculative.execution\u0027: False,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_4c3e0fba","line":51,"range":{"start_line":51,"start_character":35,"end_line":51,"end_character":36},"updated":"2015-03-04 20:09:16.000000000","message":"For one datanode should set replication factor 1","commit_id":"3870a518464953b041da8ad4eb3a4d90513818a9"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"32df19de761613e52856bfe98e6a387ae0663e18","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        },"},{"line_number":49,"context_line":"        \u0027cluster_configs\u0027: {"},{"line_number":50,"context_line":"            \u0027HDFS\u0027: {"},{"line_number":51,"context_line":"                \u0027dfs.replication\u0027: 2"},{"line_number":52,"context_line":"            },"},{"line_number":53,"context_line":"            \u0027MapReduce\u0027: {"},{"line_number":54,"context_line":"                \u0027mapred.map.tasks.speculative.execution\u0027: False,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_d24b5a29","line":51,"in_reply_to":"9a80dd14_4c3e0fba","updated":"2015-03-05 10:00:27.000000000","message":"Right, my mistake, the datanode count above should be 3 as in the original template.","commit_id":"3870a518464953b041da8ad4eb3a4d90513818a9"},{"author":{"_account_id":7710,"name":"Sergey Reshetnyak","email":"sreshetniak@mirantis.com","username":"sreshetniak"},"change_message_id":"9255c599d65b71b7635cbd3451d71ba1734f6406","unresolved":false,"context_lines":[{"line_number":71,"context_line":"                                   \u0027OOZIE_SERVER\u0027]"},{"line_number":72,"context_line":"            },"},{"line_number":73,"context_line":"            \u0027worker1\u0027: {"},{"line_number":74,"context_line":"                \u0027count\u0027: 3,"},{"line_number":75,"context_line":"                \u0027node_processes\u0027: [\u0027HDFS_CLIENT\u0027, \u0027DATANODE\u0027, \u0027YARN_CLIENT\u0027,"},{"line_number":76,"context_line":"                                   \u0027ZOOKEEPER_CLIENT\u0027, \u0027MAPREDUCE2_CLIENT\u0027,"},{"line_number":77,"context_line":"                                   \u0027NODEMANAGER\u0027, \u0027PIG\u0027, \u0027OOZIE_CLIENT\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_ec7c2375","line":74,"updated":"2015-03-04 20:09:16.000000000","message":"we will be set one worker and set replication factor 1","commit_id":"3870a518464953b041da8ad4eb3a4d90513818a9"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"32df19de761613e52856bfe98e6a387ae0663e18","unresolved":false,"context_lines":[{"line_number":71,"context_line":"                                   \u0027OOZIE_SERVER\u0027]"},{"line_number":72,"context_line":"            },"},{"line_number":73,"context_line":"            \u0027worker1\u0027: {"},{"line_number":74,"context_line":"                \u0027count\u0027: 3,"},{"line_number":75,"context_line":"                \u0027node_processes\u0027: [\u0027HDFS_CLIENT\u0027, \u0027DATANODE\u0027, \u0027YARN_CLIENT\u0027,"},{"line_number":76,"context_line":"                                   \u0027ZOOKEEPER_CLIENT\u0027, \u0027MAPREDUCE2_CLIENT\u0027,"},{"line_number":77,"context_line":"                                   \u0027NODEMANAGER\u0027, \u0027PIG\u0027, \u0027OOZIE_CLIENT\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_52068acf","line":74,"in_reply_to":"9a80dd14_ec7c2375","updated":"2015-03-05 10:00:27.000000000","message":"Why can\u0027t it be stay as 3?","commit_id":"3870a518464953b041da8ad4eb3a4d90513818a9"},{"author":{"_account_id":7710,"name":"Sergey Reshetnyak","email":"sreshetniak@mirantis.com","username":"sreshetniak"},"change_message_id":"9255c599d65b71b7635cbd3451d71ba1734f6406","unresolved":false,"context_lines":[{"line_number":86,"context_line":"                \u0027node_processes\u0027: [\u0027namenode\u0027, \u0027master\u0027]"},{"line_number":87,"context_line":"            },"},{"line_number":88,"context_line":"            \u0027worker1\u0027: {"},{"line_number":89,"context_line":"                \u0027count\u0027: 1,"},{"line_number":90,"context_line":"                \u0027node_processes\u0027: [\u0027datanode\u0027, \u0027slave\u0027]"},{"line_number":91,"context_line":"            }"},{"line_number":92,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_ace94b1c","line":89,"updated":"2015-03-04 20:09:16.000000000","message":"should set replication factor","commit_id":"3870a518464953b041da8ad4eb3a4d90513818a9"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"32df19de761613e52856bfe98e6a387ae0663e18","unresolved":false,"context_lines":[{"line_number":86,"context_line":"                \u0027node_processes\u0027: [\u0027namenode\u0027, \u0027master\u0027]"},{"line_number":87,"context_line":"            },"},{"line_number":88,"context_line":"            \u0027worker1\u0027: {"},{"line_number":89,"context_line":"                \u0027count\u0027: 1,"},{"line_number":90,"context_line":"                \u0027node_processes\u0027: [\u0027datanode\u0027, \u0027slave\u0027]"},{"line_number":91,"context_line":"            }"},{"line_number":92,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_d2727a7b","line":89,"in_reply_to":"9a80dd14_ace94b1c","updated":"2015-03-05 10:00:27.000000000","message":"ack","commit_id":"3870a518464953b041da8ad4eb3a4d90513818a9"},{"author":{"_account_id":7710,"name":"Sergey Reshetnyak","email":"sreshetniak@mirantis.com","username":"sreshetniak"},"change_message_id":"9255c599d65b71b7635cbd3451d71ba1734f6406","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        }"},{"line_number":93,"context_line":"    },"},{"line_number":94,"context_line":"    \u0027cdh\u0027: {"},{"line_number":95,"context_line":"        \u0027hadoop_version\u0027: \u00275\u0027,"},{"line_number":96,"context_line":"        \u0027NODES\u0027: {"},{"line_number":97,"context_line":"            \u0027master1\u0027: {"},{"line_number":98,"context_line":"                \u0027count\u0027: 1,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_0cd0974f","line":95,"updated":"2015-03-04 20:09:16.000000000","message":"5.3.0 is prefer version for CDH plugin","commit_id":"3870a518464953b041da8ad4eb3a4d90513818a9"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"32df19de761613e52856bfe98e6a387ae0663e18","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        }"},{"line_number":93,"context_line":"    },"},{"line_number":94,"context_line":"    \u0027cdh\u0027: {"},{"line_number":95,"context_line":"        \u0027hadoop_version\u0027: \u00275\u0027,"},{"line_number":96,"context_line":"        \u0027NODES\u0027: {"},{"line_number":97,"context_line":"            \u0027master1\u0027: {"},{"line_number":98,"context_line":"                \u0027count\u0027: 1,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_120412bf","line":95,"in_reply_to":"9a80dd14_0cd0974f","updated":"2015-03-05 10:00:27.000000000","message":"Branchless tempest, 5 is supported in both; same question as before.","commit_id":"3870a518464953b041da8ad4eb3a4d90513818a9"},{"author":{"_account_id":7710,"name":"Sergey Reshetnyak","email":"sreshetniak@mirantis.com","username":"sreshetniak"},"change_message_id":"9255c599d65b71b7635cbd3451d71ba1734f6406","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                                   \u0027OOZIE_SERVER\u0027, \u0027YARN_JOBHISTORY\u0027]"},{"line_number":105,"context_line":"            },"},{"line_number":106,"context_line":"            \u0027worker1\u0027: {"},{"line_number":107,"context_line":"                \u0027count\u0027: 3,"},{"line_number":108,"context_line":"                \u0027node_processes\u0027: [\u0027YARN_NODEMANAGER\u0027, \u0027HDFS_DATANODE\u0027]"},{"line_number":109,"context_line":"            }"},{"line_number":110,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_6c5593c5","line":107,"updated":"2015-03-04 20:09:16.000000000","message":"ditto about workers for hdp","commit_id":"3870a518464953b041da8ad4eb3a4d90513818a9"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"32df19de761613e52856bfe98e6a387ae0663e18","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                                   \u0027OOZIE_SERVER\u0027, \u0027YARN_JOBHISTORY\u0027]"},{"line_number":105,"context_line":"            },"},{"line_number":106,"context_line":"            \u0027worker1\u0027: {"},{"line_number":107,"context_line":"                \u0027count\u0027: 3,"},{"line_number":108,"context_line":"                \u0027node_processes\u0027: [\u0027YARN_NODEMANAGER\u0027, \u0027HDFS_DATANODE\u0027]"},{"line_number":109,"context_line":"            }"},{"line_number":110,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_f2f4ded0","line":107,"in_reply_to":"9a80dd14_6c5593c5","updated":"2015-03-05 10:00:27.000000000","message":"same question, why not 3 ?","commit_id":"3870a518464953b041da8ad4eb3a4d90513818a9"},{"author":{"_account_id":7710,"name":"Sergey Reshetnyak","email":"sreshetniak@mirantis.com","username":"sreshetniak"},"change_message_id":"9255c599d65b71b7635cbd3451d71ba1734f6406","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        }"},{"line_number":111,"context_line":"    },"},{"line_number":112,"context_line":"    \u0027mapr\u0027: {"},{"line_number":113,"context_line":"        \u0027hadoop_version\u0027: \u00272.4.0\u0027,"},{"line_number":114,"context_line":"        \u0027NODES\u0027: {"},{"line_number":115,"context_line":"            \u0027master1\u0027: {"},{"line_number":116,"context_line":"                \u0027count\u0027: 1,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_ac5eabe7","line":113,"range":{"start_line":113,"start_character":27,"end_line":113,"end_character":32},"updated":"2015-03-04 20:09:16.000000000","message":"we don\u0027t have 2.4.0 version for mapr plugin","commit_id":"3870a518464953b041da8ad4eb3a4d90513818a9"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"32df19de761613e52856bfe98e6a387ae0663e18","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        }"},{"line_number":111,"context_line":"    },"},{"line_number":112,"context_line":"    \u0027mapr\u0027: {"},{"line_number":113,"context_line":"        \u0027hadoop_version\u0027: \u00272.4.0\u0027,"},{"line_number":114,"context_line":"        \u0027NODES\u0027: {"},{"line_number":115,"context_line":"            \u0027master1\u0027: {"},{"line_number":116,"context_line":"                \u0027count\u0027: 1,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_92b562f0","line":113,"in_reply_to":"9a80dd14_ac5eabe7","updated":"2015-03-05 10:00:27.000000000","message":"My mistake, thanks, it should be 4.0.1.","commit_id":"3870a518464953b041da8ad4eb3a4d90513818a9"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"6ae5a1c8dfe4f686d5f6873eac0d428b2116c16b","unresolved":false,"context_lines":[{"line_number":418,"context_line":"    def get_node_group_template(cls, nodegroup\u003d\u0027worker1\u0027):"},{"line_number":419,"context_line":"        \"\"\"Returns a node group template for the default plugin.\"\"\""},{"line_number":420,"context_line":"        try:"},{"line_number":421,"context_line":"            plugin_data \u003d \\"},{"line_number":422,"context_line":"                DEFAULT_TEMPLATES[cls.default_plugin][cls.default_version]"},{"line_number":423,"context_line":"            nodegroup_data \u003d plugin_data[\u0027NODES\u0027][nodegroup]"},{"line_number":424,"context_line":"            node_group_template \u003d {"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_b585f008","line":421,"updated":"2015-03-11 16:51:52.000000000","message":"I think it will be better to use parentheses instead of \"\\\".","commit_id":"21b513f720bfc614463be3de954bb341b456fd04"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"6ae5a1c8dfe4f686d5f6873eac0d428b2116c16b","unresolved":false,"context_lines":[{"line_number":443,"context_line":"        if node_group_template_ids is None:"},{"line_number":444,"context_line":"            node_group_template_ids \u003d {}"},{"line_number":445,"context_line":"        try:"},{"line_number":446,"context_line":"            plugin_data \u003d \\"},{"line_number":447,"context_line":"                DEFAULT_TEMPLATES[cls.default_plugin][cls.default_version]"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"            all_node_groups \u003d []"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_55883422","line":446,"updated":"2015-03-11 16:51:52.000000000","message":"ditto","commit_id":"21b513f720bfc614463be3de954bb341b456fd04"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"6ae5a1c8dfe4f686d5f6873eac0d428b2116c16b","unresolved":false,"context_lines":[{"line_number":455,"context_line":"                }"},{"line_number":456,"context_line":"                if ng_name in node_group_template_ids.keys():"},{"line_number":457,"context_line":"                    # node group already defined, use it"},{"line_number":458,"context_line":"                    node_group[\u0027node_group_template_id\u0027] \u003d \\"},{"line_number":459,"context_line":"                        node_group_template_ids[ng_name]"},{"line_number":460,"context_line":"                else:"},{"line_number":461,"context_line":"                    # node_processes list defined on-the-fly"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_9582acfe","line":458,"updated":"2015-03-11 16:51:52.000000000","message":"ditto","commit_id":"21b513f720bfc614463be3de954bb341b456fd04"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"5efa4895a76a9ca4cce81eb78148d7d849aae692","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        super(BaseDataProcessingTest, cls).skip_checks()"},{"line_number":231,"context_line":"        if not CONF.service_available.sahara:"},{"line_number":232,"context_line":"            raise cls.skipException(\u0027Sahara support is required\u0027)"},{"line_number":233,"context_line":"        cls.default_plugin \u003d cls._get_default_plugin()"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"    @classmethod"},{"line_number":236,"context_line":"    def setup_credentials(cls):"}],"source_content_type":"text/x-python","patch_set":4,"id":"bab921fb_83dd8f44","line":233,"updated":"2015-04-23 19:43:27.000000000","message":"This is a bit confusing out of context. Maybe a comment in a follow-up on how this value is used in skip decisions in test classes which use templates.","commit_id":"b61567addaf57ede7299ba0f0448b88aa4c182e2"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"5efa4895a76a9ca4cce81eb78148d7d849aae692","unresolved":false,"context_lines":[{"line_number":387,"context_line":"        if len(CONF.data_processing_feature_enabled.plugins) \u003d\u003d 0:"},{"line_number":388,"context_line":"            return None"},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"        for plugin in CONF.data_processing_feature_enabled.plugins:"},{"line_number":391,"context_line":"            if plugin in DEFAULT_TEMPLATES.keys():"},{"line_number":392,"context_line":"                break"},{"line_number":393,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":4,"id":"bab921fb_435f7741","line":390,"updated":"2015-04-23 19:43:27.000000000","message":"If this is a ListOpt, doesn\u0027t this mean we only ever run one value. I think making this a string opt or using test scenarios or ddt to enable running all permutations of the list would be a good next step. But, I\u0027m fine with it as just one to start.","commit_id":"b61567addaf57ede7299ba0f0448b88aa4c182e2"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"5efa4895a76a9ca4cce81eb78148d7d849aae692","unresolved":false,"context_lines":[{"line_number":389,"context_line":""},{"line_number":390,"context_line":"        for plugin in CONF.data_processing_feature_enabled.plugins:"},{"line_number":391,"context_line":"            if plugin in DEFAULT_TEMPLATES.keys():"},{"line_number":392,"context_line":"                break"},{"line_number":393,"context_line":"        else:"},{"line_number":394,"context_line":"            plugin \u003d \u0027\u0027"},{"line_number":395,"context_line":"        return plugin"}],"source_content_type":"text/x-python","patch_set":4,"id":"bab921fb_a31773a2","line":392,"updated":"2015-04-23 19:43:27.000000000","message":"While this works I would have prefered this to have been a return plugin instead of a break. Using the loop var like this is a bit confusing. (my first thought was it doesn\u0027t exist outside the loop scope)","commit_id":"b61567addaf57ede7299ba0f0448b88aa4c182e2"}],"tempest/api/data_processing/test_node_group_templates.py":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"5efa4895a76a9ca4cce81eb78148d7d849aae692","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        Returns id and name of created template."},{"line_number":38,"context_line":"        \"\"\""},{"line_number":39,"context_line":"        self.node_group_template \u003d self.get_node_group_template()"},{"line_number":40,"context_line":"        self.assertIsNotNone(self.node_group_template,"},{"line_number":41,"context_line":"                             \"No known Sahara plugin was found\")"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        if not template_name:"}],"source_content_type":"text/x-python","patch_set":4,"id":"bab921fb_e3f9eb4e","line":40,"updated":"2015-04-23 19:43:27.000000000","message":"Shouldn\u0027t this be an invalid configuration exception like you did in test_cluser_templates?","commit_id":"b61567addaf57ede7299ba0f0448b88aa4c182e2"}]}
