)]}'
{"doc/source/index.rst":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"68b65be846a87a6829b01daa3780e8970108aca4","unresolved":false,"context_lines":[{"line_number":24,"context_line":"   field_guide/index"},{"line_number":25,"context_line":"   field_guide/api"},{"line_number":26,"context_line":"   field_guide/cli"},{"line_number":27,"context_line":"   field_guide/cmd"},{"line_number":28,"context_line":"   field_guide/scenario"},{"line_number":29,"context_line":"   field_guide/stress"},{"line_number":30,"context_line":"   field_guide/thirdparty"}],"source_content_type":"text/x-rst","patch_set":9,"id":"da9df570_651a0519","line":27,"updated":"2014-09-22 21:50:26.000000000","message":"The field guide is only for tests you shouldn\u0027t add a field guide one for the entry_points dir. Those deserve separate docs.","commit_id":"757d33ce772b98a11145cbf002f29f3755f2acc9"}],"tempest/README.rst":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"68b65be846a87a6829b01daa3780e8970108aca4","unresolved":false,"context_lines":[{"line_number":15,"context_line":"| tempest/"},{"line_number":16,"context_line":"|    api/ - API tests"},{"line_number":17,"context_line":"|    cli/ - CLI tests"},{"line_number":18,"context_line":"|    cmd/ - Common utility commands"},{"line_number":19,"context_line":"|    scenario/ - complex scenario tests"},{"line_number":20,"context_line":"|    stress/ - stress tests"},{"line_number":21,"context_line":"|    thirdparty/ - 3rd party api tests"}],"source_content_type":"text/x-rst","patch_set":9,"id":"da9df570_85ee09eb","line":18,"updated":"2014-09-22 21:50:26.000000000","message":"This section is really just about the different types of tests...","commit_id":"757d33ce772b98a11145cbf002f29f3755f2acc9"}],"tempest/clients.py":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"df9f19d2fc61629bf3ea5e8046b87ed57567fa54","unresolved":false,"context_lines":[{"line_number":428,"context_line":"            SecurityGroupDefaultRulesClientJSON(self.auth_provider))"},{"line_number":429,"context_line":""},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"class TenantManager(Manager):"},{"line_number":432,"context_line":""},{"line_number":433,"context_line":"    \"\"\""},{"line_number":434,"context_line":"    Manager object that uses **kwargs for its credentials"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_c4f22805","line":431,"updated":"2014-08-22 21:46:59.000000000","message":"Why is  this needed? Why can\u0027t you just call Manager(credentials\u003dauth.get_credentials(**kwargs))?\n\nEspecially since you\u0027re only using it once. in the cleanup script.","commit_id":"6ce658d06fda1fe7a208957ce200655afdc65682"}],"tempest/cmd/README.rst":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"68b65be846a87a6829b01daa3780e8970108aca4","unresolved":false,"context_lines":[{"line_number":1,"context_line":".. _cmd_field_guide:"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"Tempest Field Guide to Utility Commands"},{"line_number":4,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"da9df570_65f2059c","line":1,"updated":"2014-09-22 21:50:26.000000000","message":"So I\u0027m assuming this just the docstring from the first rev or something similar. You don\u0027t need spin this off as a separate rst file here. You can leave that as a docstring in the actually file and just add an automodule stanza to an otherwise empty .rst file in doc/source. That will generate a separate file just for the cleanup script but keep the docs in the same file.\n\nThe problem with this is this isn\u0027t a field guide or a general readme. It\u0027s just a readme for cleanup with headers, which should have it\u0027s own file.","commit_id":"757d33ce772b98a11145cbf002f29f3755f2acc9"}],"tempest/cmd/cleanup.py":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"df9f19d2fc61629bf3ea5e8046b87ed57567fa54","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"# under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"\"\"\"Utility for cleaning up environment after running Tempest."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"@author: David Paterson"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_0c913499","line":16,"updated":"2014-08-22 21:46:59.000000000","message":"So you wrote this huge docstring I think you should also add it to the docs tree. That way it will get built along with the other project docs.","commit_id":"6ce658d06fda1fe7a208957ce200655afdc65682"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"df9f19d2fc61629bf3ea5e8046b87ed57567fa54","unresolved":false,"context_lines":[{"line_number":63,"context_line":"      [Plugin_name]CleanupPlugin \u003c--class name convention."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Example plugin with name \u0027db\u0027"},{"line_number":66,"context_line":"./cleanup_plugins"},{"line_number":67,"context_line":"  db/"},{"line_number":68,"context_line":"    db_cleanup.py"},{"line_number":69,"context_line":"      DbCleanupPlugin \u003c--class name convention."}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_44e458ab","line":66,"updated":"2014-08-22 21:46:59.000000000","message":"So I see the value for having a plugin interface. But I think we should split this out as a separate patch. The first patch should contain the base script functionality and then we can add this extra interface on in a separate commit after.","commit_id":"6ce658d06fda1fe7a208957ce200655afdc65682"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"df9f19d2fc61629bf3ea5e8046b87ed57567fa54","unresolved":false,"context_lines":[{"line_number":69,"context_line":"      DbCleanupPlugin \u003c--class name convention."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"The cleanup class must implement the following methods"},{"line_number":72,"context_line":"from abstract class CleanupPluginABC:"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"   def __run__(self):"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_84f1106d","line":72,"updated":"2014-08-22 21:46:59.000000000","message":"Is this defined anywhere?","commit_id":"6ce658d06fda1fe7a208957ce200655afdc65682"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"df9f19d2fc61629bf3ea5e8046b87ed57567fa54","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                break"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    def init_options(self):"},{"line_number":133,"context_line":"        parser \u003d argparse \\"},{"line_number":134,"context_line":"        .ArgumentParser(description\u003d\u0027Cleanup after tempest run\u0027)"},{"line_number":135,"context_line":"        parser.add_argument(\u0027--init-saved-state\u0027, action\u003d\"store_true\","},{"line_number":136,"context_line":"                            dest\u003d\u0027init_saved_state\u0027, default\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_642eb48d","line":133,"updated":"2014-08-22 21:46:59.000000000","message":"Yeah the identation with \\ throughout the file is very hard to read. Can you not do that. For example here you could get away with\n\n    parser \u003d argparse.ArgumentParser(\n        description\u003d\u0027Cleanup after tempest run\u0027)\n\nor\n\n    parser \u003d argparse.ArgumentParser(description\u003d\u0027Cleanup after \u0027\n                                                             \u0027tempest run\u0027)\n\nboth of which would be easier to read.","commit_id":"6ce658d06fda1fe7a208957ce200655afdc65682"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"0bcd07ed0ab02f663e864d25f00cd65bfcc10fab","unresolved":false,"context_lines":[{"line_number":139,"context_line":"                            \"deployment,  specifically objects types \" +"},{"line_number":140,"context_line":"                            \"Tempest creates and destroys during a run. \" +"},{"line_number":141,"context_line":"                            \"You must run with this flag prior to \" +"},{"line_number":142,"context_line":"                            \"executing cleanup.\")"},{"line_number":143,"context_line":"        parser.add_argument(\u0027--preserve-tempest-users-and-tenants\u0027,"},{"line_number":144,"context_line":"                            action\u003d\"store_true\","},{"line_number":145,"context_line":"                            dest\u003d\u0027preserve_tempest_users_and_tenants\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_fefb31be","line":142,"updated":"2014-08-22 20:47:37.000000000","message":"running tempest.","commit_id":"6ce658d06fda1fe7a208957ce200655afdc65682"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"0bcd07ed0ab02f663e864d25f00cd65bfcc10fab","unresolved":false,"context_lines":[{"line_number":192,"context_line":"        _, users \u003d admin_manager.identity_client.get_users()"},{"line_number":193,"context_line":"        _, flavors \u003d admin_manager.flavors_client.list_flavors()"},{"line_number":194,"context_line":"        _, images \u003d admin_manager.images_client \\"},{"line_number":195,"context_line":"        .list_images({\"all_tenants\": True})"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"        tempest_users \u003d [CONF.identity.admin_username, CONF.identity.username,"},{"line_number":198,"context_line":"                         CONF.identity.alt_username]"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_7ecac11b","line":195,"updated":"2014-08-22 20:47:37.000000000","message":"This indentation is pretty ugly. I\u0027m not sure what the recommended thing is but you could assign a temp var to admin_manager.images_client","commit_id":"6ce658d06fda1fe7a208957ce200655afdc65682"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"0bcd07ed0ab02f663e864d25f00cd65bfcc10fab","unresolved":false,"context_lines":[{"line_number":201,"context_line":"                           CONF.identity.alt_tenant_name]"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        # recreate list removing saved users"},{"line_number":204,"context_line":"        users[:] \u003d [user for user in users if user[\u0027id\u0027]"},{"line_number":205,"context_line":"                    not in self.users.keys()]"},{"line_number":206,"context_line":"        LOG.debug(\"Users after reconcile: %s users\" % users)"},{"line_number":207,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_49e63145","line":204,"updated":"2014-08-22 20:47:37.000000000","message":"Why is the [:] needed?","commit_id":"6ce658d06fda1fe7a208957ce200655afdc65682"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"0bcd07ed0ab02f663e864d25f00cd65bfcc10fab","unresolved":false,"context_lines":[{"line_number":234,"context_line":"            # We have to delete snapshots first or"},{"line_number":235,"context_line":"            # volume deletion may fail"},{"line_number":236,"context_line":"            __, snaps \u003d mgr.snapshots_client.list_snapshots()"},{"line_number":237,"context_line":"            LOG.debug(\"Remove %s snapshots\" % len(snaps))"},{"line_number":238,"context_line":"            _, servers_body \u003d mgr.servers_client.list_servers()"},{"line_number":239,"context_line":"            servers \u003d servers_body[\u0027servers\u0027]"},{"line_number":240,"context_line":"            LOG.debug(\"Remove %s servers\" % len(servers))"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_29c2d584","line":237,"updated":"2014-08-22 20:47:37.000000000","message":"This set of code needs to include all resources that tempest tests can create. I see that networks is not here, nor volume types and a lot of other stuff too.","commit_id":"6ce658d06fda1fe7a208957ce200655afdc65682"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"0bcd07ed0ab02f663e864d25f00cd65bfcc10fab","unresolved":false,"context_lines":[{"line_number":257,"context_line":"                 \"security_groups\": secgrp_del, \"floating_ips\": floating_ips,"},{"line_number":258,"context_line":"                 \"volumes\": vols}"},{"line_number":259,"context_line":"            else:"},{"line_number":260,"context_line":"                for snap in snaps:"},{"line_number":261,"context_line":"                    try:"},{"line_number":262,"context_line":"                        mgr.snapshots_client.delete_snapshot(snap[\u0027id\u0027])"},{"line_number":263,"context_line":"                    except Exception as e:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_29701571","line":260,"updated":"2014-08-22 20:47:37.000000000","message":"This list of iterations is long and will get longer when all resources are accounted for. It would be better to abstract the logic into a function and call it for each resource type.","commit_id":"6ce658d06fda1fe7a208957ce200655afdc65682"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"0bcd07ed0ab02f663e864d25f00cd65bfcc10fab","unresolved":false,"context_lines":[{"line_number":371,"context_line":"                needs_role \u003d False"},{"line_number":372,"context_line":"                LOG.debug(\"User already had admin privilege for this tenant\")"},{"line_number":373,"context_line":"        if needs_role:"},{"line_number":374,"context_line":"            identity_client.assign_user_role(tenant_id, self.admin_id,"},{"line_number":375,"context_line":"                                             self.admin_role_id)"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":"    def init_state(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_3e768906","line":374,"updated":"2014-08-22 20:47:37.000000000","message":"This new role doesn\u0027t seem to be removed anywhere.","commit_id":"6ce658d06fda1fe7a208957ce200655afdc65682"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"0bcd07ed0ab02f663e864d25f00cd65bfcc10fab","unresolved":false,"context_lines":[{"line_number":403,"context_line":""},{"line_number":404,"context_line":"    def load_json(self):"},{"line_number":405,"context_line":"        try:"},{"line_number":406,"context_line":"            json_data \u003d open(SAVED_STATE_JSON)"},{"line_number":407,"context_line":"            cont \u003d json_data.read()"},{"line_number":408,"context_line":"            if cont \u003d\u003d \u0027\u0027:"},{"line_number":409,"context_line":"                raise IOError"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_5e7b45bd","line":406,"updated":"2014-08-22 20:47:37.000000000","message":"Why is this first open necessary? If the file is empty then the following json.load will fail.","commit_id":"6ce658d06fda1fe7a208957ce200655afdc65682"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"0bcd07ed0ab02f663e864d25f00cd65bfcc10fab","unresolved":false,"context_lines":[{"line_number":421,"context_line":"        except IOError as ex:"},{"line_number":422,"context_line":"            LOG.exception(\"Failed loading saved state, please be sure you\" +"},{"line_number":423,"context_line":"                      \" have first run cleanup with --init-saved-state \" +"},{"line_number":424,"context_line":"                      \"flag prior to executing cleanup. Exception: %s\" % ex)"},{"line_number":425,"context_line":"            sys.exit(ex)"},{"line_number":426,"context_line":""},{"line_number":427,"context_line":"    def run_plugins(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_3e576927","line":424,"updated":"2014-08-22 20:47:37.000000000","message":"running tempest","commit_id":"6ce658d06fda1fe7a208957ce200655afdc65682"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"0bcd07ed0ab02f663e864d25f00cd65bfcc10fab","unresolved":false,"context_lines":[{"line_number":436,"context_line":"                                      *plugin[\"info\"])"},{"line_number":437,"context_line":"                for name, obj in inspect.getmembers(mod):"},{"line_number":438,"context_line":"                    if inspect.isclass(obj) and obj.__name__ \\"},{"line_number":439,"context_line":"                    .endswith(\u0027CleanupPlugin\u0027):"},{"line_number":440,"context_line":"                        cls \u003d obj(self.options)"},{"line_number":441,"context_line":"                        cls.run()"},{"line_number":442,"context_line":"            except Exception as ex:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_1e238dbd","line":439,"updated":"2014-08-22 20:47:37.000000000","message":"Ugly indentation.","commit_id":"6ce658d06fda1fe7a208957ce200655afdc65682"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"81f66a8c3fb630ca81b69a9e4503529fa2892a46","unresolved":false,"context_lines":[{"line_number":188,"context_line":"                needs_role \u003d False"},{"line_number":189,"context_line":"                LOG.debug(\"User already had admin privilege for this tenant\")"},{"line_number":190,"context_line":"        if needs_role:"},{"line_number":191,"context_line":"            id_cl.assign_user_role(tenant_id, self.admin_id,"},{"line_number":192,"context_line":"                                   self.admin_role_id)"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    def _init_state(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"da9df570_2a0c4a42","line":191,"updated":"2014-09-22 21:19:14.000000000","message":"This role needs to be removed when tenant processing is finished.","commit_id":"757d33ce772b98a11145cbf002f29f3755f2acc9"},{"author":{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"},"change_message_id":"b0516384a326bd5e4317363c1091b6432aeffbfc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env python"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Copyright 2014 Dell Inc."},{"line_number":4,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":5,"context_line":"# not use this file except in compliance with the License. You may obtain"},{"line_number":6,"context_line":"# a copy of the License at"}],"source_content_type":"text/x-python","patch_set":10,"id":"da9df570_1115919b","line":3,"updated":"2014-09-26 01:34:46.000000000","message":"nit: Yahoo! ?","commit_id":"5d705054dcfa848f756c4dd17a2b324faacc9b77"}],"tempest/cmd/cleanup_service.py":[{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"453b3de8423f1e5c99dfccfa19423936cebc70cc","unresolved":false,"context_lines":[{"line_number":519,"context_line":"    def list(self):"},{"line_number":520,"context_line":"        client \u003d self.client"},{"line_number":521,"context_line":"        _, hms \u003d client.list_health_monitors()"},{"line_number":522,"context_line":"        hms \u003d hms[\u0027healthmonitors\u0027]"},{"line_number":523,"context_line":"        hms \u003d self._filter_by_tenant_id(hms)"},{"line_number":524,"context_line":"        LOG.debug(\"List count, %s Health Monitors\" % len(hms))"},{"line_number":525,"context_line":"        return hms"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa98f980_cd4c7e79","line":522,"updated":"2014-09-19 13:57:15.000000000","message":"health_monitors","commit_id":"f8c729d6f07f6bedafc70291d937d9687f34c81f"},{"author":{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"},"change_message_id":"b0516384a326bd5e4317363c1091b6432aeffbfc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2013 Red Hat, Inc."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":6,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":10,"id":"da9df570_311a95cc","line":3,"updated":"2014-09-26 01:34:46.000000000","message":"nit: 2014?  Yahoo! ?","commit_id":"5d705054dcfa848f756c4dd17a2b324faacc9b77"},{"author":{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"},"change_message_id":"05d4d2c78ef84b30fedee2b5bed49e7754c55a63","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2014 Dell Inc."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":6,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":12,"id":"baa201ad_40d17afa","line":3,"updated":"2014-09-30 08:07:32.000000000","message":"I\u0027m not sure whether you are Dell member.\nIf you are not, I think this Copyright description is not correct.","commit_id":"ce781498cf65c423c44fb75084785d3be75a7e5b"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"3bfd6de1109b547b8a4b56d1c29acdf10ed2806c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2014 Dell Inc."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":6,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":12,"id":"baa201ad_0ae93680","line":3,"in_reply_to":"baa201ad_09ca3a4f","updated":"2014-10-01 07:06:21.000000000","message":"I had the same question as Eiichi and I guessed that this copyright was copied from the other file in Tempest the copyright change was forgotten because the author\u0027s mail address is yahoo.\n\nHowever, there is not any files including Dell copyright in Tempest.\nSo now I\u0027m not sure this copyright is intentional or not.\n\n@David Paterson\n\nIs this copyright right for you?","commit_id":"ce781498cf65c423c44fb75084785d3be75a7e5b"},{"author":{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"},"change_message_id":"9ad7f7d5d76481effe9b5d7a2d63a37f56831807","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2014 Dell Inc."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":6,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":12,"id":"baa201ad_30cb9254","line":3,"in_reply_to":"baa201ad_0ae93680","updated":"2014-10-03 02:43:07.000000000","message":"David Kranz:\nThanks for your comment.\nBecause, unfortunatery I don\u0027t know what he is, and  there is nothing to show the relation between Dell and him.\nThe domain of his mail addredd is \u0027yahoo.com\u0027, and he is independant engineer according to Stachalytics.\nIf he show the relation to Dell, I will remove -1.","commit_id":"ce781498cf65c423c44fb75084785d3be75a7e5b"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"bb1734f48b7a313a9a4dabd4c1f161b1a78cc1d1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2014 Dell Inc."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":6,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":12,"id":"baa201ad_8a2183b6","line":3,"in_reply_to":"baa201ad_0ae93680","updated":"2014-10-03 13:21:22.000000000","message":"He works for Dell. Many people use yahoo email addresses which have nothing to do with Yahoo! company. Is there some requirement to use corporate email address?","commit_id":"ce781498cf65c423c44fb75084785d3be75a7e5b"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"aa4027f18f64593939a9dec0e1a587dee03c8e02","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2014 Dell Inc."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":6,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":12,"id":"baa201ad_09ca3a4f","line":3,"in_reply_to":"baa201ad_40d17afa","updated":"2014-09-30 12:23:35.000000000","message":"Why are you making these comments? Why do you think he does not work for Dell? A -1  is a statement that there is something wrong. If you have a question you can ask it without giving -1.","commit_id":"ce781498cf65c423c44fb75084785d3be75a7e5b"},{"author":{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"},"change_message_id":"02b6bdc894efff336b0007bedb5a35628415ed61","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2014 Dell Inc."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":6,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":12,"id":"baa201ad_eff74857","line":3,"in_reply_to":"baa201ad_8a2183b6","updated":"2014-10-06 04:51:51.000000000","message":"Thanks.","commit_id":"ce781498cf65c423c44fb75084785d3be75a7e5b"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"e8111faebcba77c84e548fec58924fe577a6352f","unresolved":false,"context_lines":[{"line_number":41,"context_line":"IS_NOVA \u003d None"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"def init_conf():"},{"line_number":45,"context_line":"    global CONF_USERS"},{"line_number":46,"context_line":"    global CONF_TENANTS"},{"line_number":47,"context_line":"    global CONF_PUB_NETWORK"}],"source_content_type":"text/x-python","patch_set":12,"id":"baa201ad_184fa993","line":44,"updated":"2014-10-02 13:29:16.000000000","message":"I have little doubts about is it really good idea to create global aliases, but I can live with that.","commit_id":"ce781498cf65c423c44fb75084785d3be75a7e5b"}]}
