)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6268,"name":"Robert Myers","email":"myer0052@gmail.com","username":"rmyers"},"change_message_id":"2771d5ef5e48f726257d58e9f28ee3c26300bb75","unresolved":false,"context_lines":[{"line_number":12,"context_line":"repository."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I23469409b119764a8dcc9f499c0f331382b55fe1"},{"line_number":15,"context_line":"Implements: blueprint moving-trove-guestagent"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa98f980_1eca204f","line":15,"updated":"2014-09-10 20:14:00.000000000","message":"\u0027Partially implements\u0027 as this only is the first of many.","commit_id":"070d962a92b3e16b47961d013f5d5fcf16bbc326"}],"trove/cmd/guest.py":[{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"68478942ef938eace86401adb32e3717ccf81850","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from trove.openstack.common import log as logging"},{"line_number":26,"context_line":"from trove.openstack.common import service as openstack_service"},{"line_number":27,"context_line":"from troveguest import dbaas"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"gettext.install(\u0027trove\u0027, unicode\u003d1)"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9aa7fdbe_4281974c","line":28,"updated":"2014-10-29 11:51:55.000000000","message":"are two blank lines needed here?","commit_id":"c5bb53cf9e48aaf97ffa1337184b3f581861d6ff"},{"author":{"_account_id":10266,"name":"Simon Chang","email":"schang@tesora.com","username":"changsimon"},"change_message_id":"cf55ab4310f704fe9e90ef1b51000d4a33fdd54e","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from trove.openstack.common import log as logging"},{"line_number":26,"context_line":"from trove.openstack.common import service as openstack_service"},{"line_number":27,"context_line":"from troveguest import dbaas"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"gettext.install(\u0027trove\u0027, unicode\u003d1)"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9aa7fdbe_e7529867","line":28,"in_reply_to":"9aa7fdbe_4281974c","updated":"2014-10-29 14:05:56.000000000","message":"I doubled the blank lines because the OpenStack style guide http://docs.openstack.org/developer/hacking/ is mandating it under the \"Import Order Template\" section.","commit_id":"c5bb53cf9e48aaf97ffa1337184b3f581861d6ff"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"c5e041ca152fda7fa616cad2bfd102c5b7b12205","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from trove.openstack.common import log as logging"},{"line_number":26,"context_line":"from trove.openstack.common import service as openstack_service"},{"line_number":27,"context_line":"from troveguest import dbaas"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"gettext.install(\u0027trove\u0027, unicode\u003d1)"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9aa7fdbe_ea933d5a","line":28,"in_reply_to":"9aa7fdbe_e7529867","updated":"2014-10-29 14:27:55.000000000","message":"Thanks Simon.","commit_id":"c5bb53cf9e48aaf97ffa1337184b3f581861d6ff"}],"trove/common/cfg.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"1a815287347c54d664272ce5ce32396d56956210","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from oslo.config import cfg"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"import trove"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"UNKNOWN_SERVICE_ID \u003d \u0027unknown-service-id-error\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_7402d20a","line":22,"updated":"2014-09-16 20:51:21.000000000","message":"don\u0027t see any value-add on moving imports, also, could you please point out where \u0027trove\u0027 variable was used ?","commit_id":"83043a01d47cbc48cbf87746f61724cb94c7d5d3"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"7223099ccb2ed5a1f8b71ac0c5214a7229c0163c","unresolved":false,"context_lines":[{"line_number":677,"context_line":"                       \u0027MongoDbTaskManagerStrategy\u0027,"},{"line_number":678,"context_line":"               help\u003d\u0027Class that implements datastore-specific task manager \u0027"},{"line_number":679,"context_line":"                    \u0027logic.\u0027),"},{"line_number":680,"context_line":"    cfg.StrOpt(\u0027guestagent_strategy\u0027,"},{"line_number":681,"context_line":"               default\u003d\u0027trove.common.strategies.mongodb.guestagent.\u0027"},{"line_number":682,"context_line":"                       \u0027MongoDbGuestAgentStrategy\u0027,"},{"line_number":683,"context_line":"               help\u003d\u0027Class that implements datastore-specific Guest Agent API \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aa7fdbe_824d689c","line":680,"updated":"2014-10-28 08:29:31.000000000","message":"actually i think we should find proper way to move guest strategy into troveguest/strategies","commit_id":"a4e42c3271a31bd48a64afb663708f7ef11cddba"},{"author":{"_account_id":6268,"name":"Robert Myers","email":"myer0052@gmail.com","username":"rmyers"},"change_message_id":"a51bd82459ec3ffedd143e6d2f6f84d1f6375bbd","unresolved":false,"context_lines":[{"line_number":677,"context_line":"                       \u0027MongoDbTaskManagerStrategy\u0027,"},{"line_number":678,"context_line":"               help\u003d\u0027Class that implements datastore-specific task manager \u0027"},{"line_number":679,"context_line":"                    \u0027logic.\u0027),"},{"line_number":680,"context_line":"    cfg.StrOpt(\u0027guestagent_strategy\u0027,"},{"line_number":681,"context_line":"               default\u003d\u0027trove.common.strategies.mongodb.guestagent.\u0027"},{"line_number":682,"context_line":"                       \u0027MongoDbGuestAgentStrategy\u0027,"},{"line_number":683,"context_line":"               help\u003d\u0027Class that implements datastore-specific Guest Agent API \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aa7fdbe_214d91c4","line":680,"in_reply_to":"9aa7fdbe_824d689c","updated":"2014-10-28 14:17:26.000000000","message":"I agree that we should, however I want this review to be simply creating the new module and fixing paths. There is a ton of cleanup that will need to happen to actually make the guestagent a stand alone module. Therefore we have decided to break this into multiple reviews.","commit_id":"a4e42c3271a31bd48a64afb663708f7ef11cddba"}],"trove/common/remote.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"7223099ccb2ed5a1f8b71ac0c5214a7229c0163c","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from trove.common import cfg"},{"line_number":22,"context_line":"from trove.common import exception"},{"line_number":23,"context_line":"from trove.common import strategy"},{"line_number":24,"context_line":"from trove.openstack.common.importutils import import_class"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aa7fdbe_62524436","line":24,"updated":"2014-10-28 08:29:31.000000000","message":"I don\u0027t see any reasons to move this imports from where they were.","commit_id":"a4e42c3271a31bd48a64afb663708f7ef11cddba"},{"author":{"_account_id":6268,"name":"Robert Myers","email":"myer0052@gmail.com","username":"rmyers"},"change_message_id":"a51bd82459ec3ffedd143e6d2f6f84d1f6375bbd","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from trove.common import cfg"},{"line_number":22,"context_line":"from trove.common import exception"},{"line_number":23,"context_line":"from trove.common import strategy"},{"line_number":24,"context_line":"from trove.openstack.common.importutils import import_class"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aa7fdbe_a1e7c1aa","line":24,"in_reply_to":"9aa7fdbe_62524436","updated":"2014-10-28 14:17:26.000000000","message":"Agreed, this module has no guest agent imports so this is unrelated.","commit_id":"a4e42c3271a31bd48a64afb663708f7ef11cddba"},{"author":{"_account_id":10266,"name":"Simon Chang","email":"schang@tesora.com","username":"changsimon"},"change_message_id":"5f3546ecb0b6c89c3df974d79031c2d080ac8c29","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from trove.common import cfg"},{"line_number":22,"context_line":"from trove.common import exception"},{"line_number":23,"context_line":"from trove.common import strategy"},{"line_number":24,"context_line":"from trove.openstack.common.importutils import import_class"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aa7fdbe_e8c1a980","line":24,"in_reply_to":"9aa7fdbe_a1e7c1aa","updated":"2014-10-28 15:47:54.000000000","message":"Done","commit_id":"a4e42c3271a31bd48a64afb663708f7ef11cddba"}],"trove/common/strategies/mongodb/guestagent.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"4127df62ac67aafe7280a1d7249b3e9cd0cbe3e5","unresolved":false,"context_lines":[{"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"},{"line_number":7,"context_line":"#"},{"line_number":8,"context_line":"#         http://www.apache.org/licenses/LICENSE-2.0"},{"line_number":9,"context_line":"#"},{"line_number":10,"context_line":"#    Unless required by applicable law or agreed to in writing, software"},{"line_number":11,"context_line":"#    distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT"}],"source_content_type":"text/x-python","patch_set":10,"id":"5a890539_183e7a28","line":8,"updated":"2014-11-15 18:56:22.000000000","message":"this file should be moved into:\n\ntroveguest package\n\nbecause it wouldn\u0027t work for clustering implementation because you have guest code on server\u0027s side.","commit_id":"09c0de40613ac0a78ef0ce89720c9e075d949232"}],"trove/db/sqlalchemy/session.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"1a815287347c54d664272ce5ce32396d56956210","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from trove.common import cfg"},{"line_number":23,"context_line":"from trove.db.sqlalchemy import mappers"},{"line_number":24,"context_line":"from trove.openstack.common.gettextutils import _"},{"line_number":25,"context_line":"from trove.openstack.common import log as logging"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"_ENGINE \u003d None"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_b4235aa6","line":25,"updated":"2014-09-16 20:51:21.000000000","message":"same here","commit_id":"83043a01d47cbc48cbf87746f61724cb94c7d5d3"},{"author":{"_account_id":10266,"name":"Simon Chang","email":"schang@tesora.com","username":"changsimon"},"change_message_id":"0358b4fab1f566be67bf9a1fda603011e5b2a975","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from trove.common import cfg"},{"line_number":23,"context_line":"from trove.db.sqlalchemy import mappers"},{"line_number":24,"context_line":"from trove.openstack.common.gettextutils import _"},{"line_number":25,"context_line":"from trove.openstack.common import log as logging"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"_ENGINE \u003d None"}],"source_content_type":"text/x-python","patch_set":3,"id":"da9df570_f0dde243","line":25,"in_reply_to":"fa98f980_b4235aa6","updated":"2014-09-22 14:56:32.000000000","message":"Denis, this new import order conforms with the official OpenStack guideline (see http://docs.openstack.org/developer/hacking/). Per Robert Myers earlier comment, I\u0027m leaving the imports ordered in this new way.\nUnless you can produce other official OpenStack documents to support your claim about issues with this new import order, please refrain from -1\u0027ing this review, because we need to encourage feedback from other people. Thanks!","commit_id":"83043a01d47cbc48cbf87746f61724cb94c7d5d3"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"1a815287347c54d664272ce5ce32396d56956210","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        from trove.backup import models as backup_models"},{"line_number":45,"context_line":"        from trove.cluster import models as cluster_models"},{"line_number":46,"context_line":"        from trove.configuration import models as configurations_models"},{"line_number":47,"context_line":"        from trove.conductor import models as conductor_models"},{"line_number":48,"context_line":"        from trove.datastore import models as datastores_models"},{"line_number":49,"context_line":"        from trove.dns import models as dns_models"},{"line_number":50,"context_line":"        from trove.extensions.mysql import models as mysql_models"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_342f6a8a","line":47,"updated":"2014-09-16 20:51:21.000000000","message":"sorting imports are out of BP scope.","commit_id":"83043a01d47cbc48cbf87746f61724cb94c7d5d3"}],"trove/extensions/mysql/models.py":[{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"68478942ef938eace86401adb32e3717ccf81850","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from trove.instance import models as base_models"},{"line_number":26,"context_line":"from trove.openstack.common import log as logging"},{"line_number":27,"context_line":"from troveguest.db import models as guest_models"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"CONF \u003d cfg.CONF"},{"line_number":31,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9aa7fdbe_e291ab9b","line":28,"updated":"2014-10-29 11:51:55.000000000","message":"what\u0027s with the new line?","commit_id":"c5bb53cf9e48aaf97ffa1337184b3f581861d6ff"},{"author":{"_account_id":10266,"name":"Simon Chang","email":"schang@tesora.com","username":"changsimon"},"change_message_id":"cf55ab4310f704fe9e90ef1b51000d4a33fdd54e","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from trove.instance import models as base_models"},{"line_number":26,"context_line":"from trove.openstack.common import log as logging"},{"line_number":27,"context_line":"from troveguest.db import models as guest_models"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"CONF \u003d cfg.CONF"},{"line_number":31,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9aa7fdbe_07507c5d","line":28,"in_reply_to":"9aa7fdbe_e291ab9b","updated":"2014-10-29 14:05:56.000000000","message":"ditto","commit_id":"c5bb53cf9e48aaf97ffa1337184b3f581861d6ff"}],"trove/extensions/mysql/service.py":[{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"b744cb529bc43628a9553d658997c46a4a5c7af0","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import webob.exc"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import trove.common.apischema as apischema"},{"line_number":19,"context_line":"from trove.common import exception"},{"line_number":20,"context_line":"from trove.common import pagination"},{"line_number":21,"context_line":"from trove.common.utils import correct_id_with_req"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aa7fdbe_abb23be2","line":18,"updated":"2014-10-28 15:24:37.000000000","message":"we should change this to\n\nfrom trove.common import apischema","commit_id":"a4e42c3271a31bd48a64afb663708f7ef11cddba"},{"author":{"_account_id":10266,"name":"Simon Chang","email":"schang@tesora.com","username":"changsimon"},"change_message_id":"5f3546ecb0b6c89c3df974d79031c2d080ac8c29","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import webob.exc"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import trove.common.apischema as apischema"},{"line_number":19,"context_line":"from trove.common import exception"},{"line_number":20,"context_line":"from trove.common import pagination"},{"line_number":21,"context_line":"from trove.common.utils import correct_id_with_req"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aa7fdbe_ee9371a0","line":18,"in_reply_to":"9aa7fdbe_abb23be2","updated":"2014-10-28 15:47:54.000000000","message":"Done","commit_id":"a4e42c3271a31bd48a64afb663708f7ef11cddba"}],"trove/tests/api/instances_resize.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"1a815287347c54d664272ce5ce32396d56956210","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from novaclient.v1_1.servers import Server"},{"line_number":24,"context_line":"from trove.common.context import TroveContext"},{"line_number":25,"context_line":"from trove.common.exception import PollTimeOut"},{"line_number":26,"context_line":"from trove.common import instance as rd_instance"},{"line_number":27,"context_line":"from trove.common import template"},{"line_number":28,"context_line":"from trove.common import utils"},{"line_number":29,"context_line":"from trove.datastore.models import DatastoreVersion"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_d43e1eb9","line":26,"updated":"2014-09-16 20:51:21.000000000","message":"same again","commit_id":"83043a01d47cbc48cbf87746f61724cb94c7d5d3"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"68478942ef938eace86401adb32e3717ccf81850","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from mox3 import mox"},{"line_number":18,"context_line":"from proboscis import test"},{"line_number":19,"context_line":"from testtools import TestCase"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from novaclient.exceptions import BadRequest"},{"line_number":23,"context_line":"from novaclient.v1_1.servers import Server"}],"source_content_type":"text/x-python","patch_set":9,"id":"9aa7fdbe_e2d8cb81","line":20,"updated":"2014-10-29 11:51:55.000000000","message":"whitespace","commit_id":"c5bb53cf9e48aaf97ffa1337184b3f581861d6ff"},{"author":{"_account_id":10266,"name":"Simon Chang","email":"schang@tesora.com","username":"changsimon"},"change_message_id":"cf55ab4310f704fe9e90ef1b51000d4a33fdd54e","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from mox3 import mox"},{"line_number":18,"context_line":"from proboscis import test"},{"line_number":19,"context_line":"from testtools import TestCase"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from novaclient.exceptions import BadRequest"},{"line_number":23,"context_line":"from novaclient.v1_1.servers import Server"}],"source_content_type":"text/x-python","patch_set":9,"id":"9aa7fdbe_67c6a818","line":20,"in_reply_to":"9aa7fdbe_e2d8cb81","updated":"2014-10-29 14:05:56.000000000","message":"ditto","commit_id":"c5bb53cf9e48aaf97ffa1337184b3f581861d6ff"}],"trove/tests/unittests/backup/test_backupagent.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"1a815287347c54d664272ce5ce32396d56956210","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from webob.exc import HTTPNotFound"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from trove.common.context import TroveContext"},{"line_number":23,"context_line":"from trove.common import utils"},{"line_number":24,"context_line":"from trove.conductor import api as conductor_api"},{"line_number":25,"context_line":"from trove.backup.models import BackupState"},{"line_number":26,"context_line":"from troveguest.backup import backupagent"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_d4653ee3","line":23,"updated":"2014-09-16 20:51:21.000000000","message":"same","commit_id":"83043a01d47cbc48cbf87746f61724cb94c7d5d3"}],"trove/tests/unittests/backup/test_storage.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"1a815287347c54d664272ce5ce32396d56956210","unresolved":false,"context_lines":[{"line_number":15,"context_line":"import hashlib"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from mock import Mock, MagicMock, patch"},{"line_number":18,"context_line":"import testtools"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from trove.common.context import TroveContext"},{"line_number":21,"context_line":"from trove.tests.fakes.swift import FakeSwiftConnection"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_f46242d8","line":18,"updated":"2014-09-16 20:51:21.000000000","message":"same again","commit_id":"83043a01d47cbc48cbf87746f61724cb94c7d5d3"}],"trove/tests/unittests/conductor/test_methods.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"1a815287347c54d664272ce5ce32396d56956210","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from trove.backup import models as bkup_models"},{"line_number":18,"context_line":"from trove.common import exception as t_exception"},{"line_number":19,"context_line":"from trove.common.instance import ServiceStatuses"},{"line_number":20,"context_line":"from trove.common import utils"},{"line_number":21,"context_line":"from trove.conductor import manager as conductor_manager"},{"line_number":22,"context_line":"from trove.instance import models as t_models"},{"line_number":23,"context_line":"from trove.tests.unittests.util import util"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_345daa16","line":20,"updated":"2014-09-16 20:51:21.000000000","message":"same again","commit_id":"83043a01d47cbc48cbf87746f61724cb94c7d5d3"}],"trove/tests/unittests/guestagent/test_backups.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"1a815287347c54d664272ce5ce32396d56956210","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from trove.common import utils"},{"line_number":19,"context_line":"from trove.common import exception"},{"line_number":20,"context_line":"import troveguest.strategies.backup.base as backupBase"},{"line_number":21,"context_line":"from troveguest.strategies.backup import mysql_impl"},{"line_number":22,"context_line":"import troveguest.strategies.restore.base as restoreBase"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_d4ac5ef1","line":20,"updated":"2014-09-16 20:51:21.000000000","message":"just to be clear,\n\u0027import\u0027 statement comes before \u0027from\u0027 statement.","commit_id":"83043a01d47cbc48cbf87746f61724cb94c7d5d3"}],"trove/tests/unittests/guestagent/test_cassandra_manager.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"1a815287347c54d664272ce5ce32396d56956210","unresolved":false,"context_lines":[{"line_number":15,"context_line":"import os"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from mock import MagicMock"},{"line_number":18,"context_line":"import testtools"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from trove.common.context import TroveContext"},{"line_number":21,"context_line":"from trove.common.instance import ServiceStatuses"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_34b4ca34","line":18,"updated":"2014-09-16 20:51:21.000000000","message":"same again","commit_id":"83043a01d47cbc48cbf87746f61724cb94c7d5d3"}],"trove/tests/unittests/guestagent/test_couchbase_manager.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"1a815287347c54d664272ce5ce32396d56956210","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from mock import MagicMock"},{"line_number":16,"context_line":"import testtools"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from trove.common.context import TroveContext"},{"line_number":19,"context_line":"from troveguest import volume"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_54806e49","line":16,"updated":"2014-09-16 20:51:21.000000000","message":"same again","commit_id":"83043a01d47cbc48cbf87746f61724cb94c7d5d3"}],"trove/tests/unittests/guestagent/test_dbaas.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"1a815287347c54d664272ce5ce32396d56956210","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"from trove.common.exception import ProcessExecutionError"},{"line_number":30,"context_line":"from trove.common import instance as rd_instance"},{"line_number":31,"context_line":"from trove.common import utils"},{"line_number":32,"context_line":"from trove.conductor import api as conductor_api"},{"line_number":33,"context_line":"from trove.instance.models import InstanceServiceStatus"},{"line_number":34,"context_line":"from trove.tests.unittests.util import util"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_74857258","line":31,"updated":"2014-09-16 20:51:21.000000000","message":"same again","commit_id":"83043a01d47cbc48cbf87746f61724cb94c7d5d3"}],"trove/tests/unittests/guestagent/test_dbmodels.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"1a815287347c54d664272ce5ce32396d56956210","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from mock import MagicMock"},{"line_number":16,"context_line":"import testtools"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from troveguest.db import models as dbmodels"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_b47fda65","line":16,"updated":"2014-09-16 20:51:21.000000000","message":"same again","commit_id":"83043a01d47cbc48cbf87746f61724cb94c7d5d3"}],"trove/tests/unittests/guestagent/test_models.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"1a815287347c54d664272ce5ce32396d56956210","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from trove.common import utils"},{"line_number":21,"context_line":"from trove.db import models as dbmodels"},{"line_number":22,"context_line":"from trove.db.sqlalchemy import api as dbapi"},{"line_number":23,"context_line":"from troveguest import models"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_348bea69","line":22,"updated":"2014-09-16 20:51:21.000000000","message":"samea again","commit_id":"83043a01d47cbc48cbf87746f61724cb94c7d5d3"}],"trove/tests/unittests/guestagent/test_mongodb_cluster_manager.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"1a815287347c54d664272ce5ce32396d56956210","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from troveguest.datastore.mongodb.manager import Manager"},{"line_number":24,"context_line":"from troveguest.datastore.mongodb import service as mongo_service"},{"line_number":25,"context_line":"from troveguest.datastore.mongodb.service import MongoDBApp"},{"line_number":26,"context_line":"from troveguest import volume"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"class GuestAgentMongoDBClusterManagerTest(testtools.TestCase):"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_74ec922a","line":26,"updated":"2014-09-16 20:51:21.000000000","message":"this statement should come before line #22","commit_id":"83043a01d47cbc48cbf87746f61724cb94c7d5d3"}],"trove/tests/unittests/guestagent/test_mongodb_manager.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"1a815287347c54d664272ce5ce32396d56956210","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from trove.common import utils"},{"line_number":23,"context_line":"from troveguest.datastore.mongodb import manager as mongo_manager"},{"line_number":24,"context_line":"from troveguest.datastore.mongodb import service as mongo_service"},{"line_number":25,"context_line":"from troveguest import volume"},{"line_number":26,"context_line":"from troveguest.volume import VolumeDevice"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_d4da9e78","line":25,"updated":"2014-09-16 20:51:21.000000000","message":"this statement should come before line # 21","commit_id":"83043a01d47cbc48cbf87746f61724cb94c7d5d3"}],"trove/tests/unittests/guestagent/test_mysql_manager.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"1a815287347c54d664272ce5ce32396d56956210","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from mock import patch"},{"line_number":19,"context_line":"import testtools"},{"line_number":20,"context_line":"from testtools.matchers import Is, Equals, Not"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from trove.common.context import TroveContext"},{"line_number":23,"context_line":"from trove.common.exception import InsufficientSpaceForReplica"},{"line_number":24,"context_line":"from troveguest import backup"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_54ceaeb8","line":21,"updated":"2014-09-16 20:51:21.000000000","message":"same again, redundant import movements.","commit_id":"83043a01d47cbc48cbf87746f61724cb94c7d5d3"}],"trove/tests/unittests/guestagent/test_redis_manager.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"1a815287347c54d664272ce5ce32396d56956210","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from mock import MagicMock"},{"line_number":16,"context_line":"import testtools"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from trove.common.context import TroveContext"},{"line_number":19,"context_line":"from troveguest import backup"},{"line_number":20,"context_line":"from troveguest.common import operating_system"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_d4c1be82","line":17,"updated":"2014-09-16 20:51:21.000000000","message":"same again","commit_id":"83043a01d47cbc48cbf87746f61724cb94c7d5d3"}],"trove/tests/unittests/guestagent/test_service.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"1a815287347c54d664272ce5ce32396d56956210","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from mock import Mock, MagicMock"},{"line_number":16,"context_line":"import testtools"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from troveguest import service"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_34b92a16","line":16,"updated":"2014-09-16 20:51:21.000000000","message":"same again","commit_id":"83043a01d47cbc48cbf87746f61724cb94c7d5d3"}],"trove/tests/unittests/guestagent/test_volume.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"1a815287347c54d664272ce5ce32396d56956210","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import os"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from mock import Mock, MagicMock, patch, mock_open"},{"line_number":18,"context_line":"import testtools"},{"line_number":19,"context_line":"import pexpect"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_743ad299","line":17,"updated":"2014-09-16 20:51:21.000000000","message":"same again","commit_id":"83043a01d47cbc48cbf87746f61724cb94c7d5d3"}],"trove/tests/unittests/taskmanager/test_models.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"1a815287347c54d664272ce5ce32396d56956210","unresolved":false,"context_lines":[{"line_number":24,"context_line":"import cinderclient.v2.client as cinderclient"},{"line_number":25,"context_line":"from novaclient import exceptions as nova_exceptions"},{"line_number":26,"context_line":"import novaclient.v1_1.flavors"},{"line_number":27,"context_line":"import novaclient.v1_1.servers"},{"line_number":28,"context_line":"from swiftclient.client import ClientException"},{"line_number":29,"context_line":"from tempfile import NamedTemporaryFile"},{"line_number":30,"context_line":"import trove.backup.models"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_d448de30","line":27,"updated":"2014-09-16 20:51:21.000000000","message":"samea again, imports refactoring is out of scope of the BP, fix it.","commit_id":"83043a01d47cbc48cbf87746f61724cb94c7d5d3"}],"troveguest/api.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"1a815287347c54d664272ce5ce32396d56956210","unresolved":false,"context_lines":[{"line_number":26,"context_line":"from trove.openstack.common import rpc"},{"line_number":27,"context_line":"from trove.openstack.common.rpc import common"},{"line_number":28,"context_line":"from trove.openstack.common.rpc import proxy"},{"line_number":29,"context_line":"from trove.openstack.common import log as logging"},{"line_number":30,"context_line":"from troveguest import models as agent_models"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_145346e3","line":29,"updated":"2014-09-16 20:51:21.000000000","message":"same again.","commit_id":"83043a01d47cbc48cbf87746f61724cb94c7d5d3"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"7223099ccb2ed5a1f8b71ac0c5214a7229c0163c","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from trove.common import exception"},{"line_number":24,"context_line":"from trove.common import rpc as rd_rpc"},{"line_number":25,"context_line":"from trove.openstack.common.gettextutils import _"},{"line_number":26,"context_line":"from trove.openstack.common import rpc"},{"line_number":27,"context_line":"from trove.openstack.common.rpc import common"},{"line_number":28,"context_line":"from trove.openstack.common.rpc import proxy"},{"line_number":29,"context_line":"from trove.openstack.common import log as logging"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aa7fdbe_82bf2860","line":26,"updated":"2014-10-28 08:29:31.000000000","message":"not quite sure why we\u0027re moving this, any reasons?","commit_id":"a4e42c3271a31bd48a64afb663708f7ef11cddba"},{"author":{"_account_id":10266,"name":"Simon Chang","email":"schang@tesora.com","username":"changsimon"},"change_message_id":"5f3546ecb0b6c89c3df974d79031c2d080ac8c29","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from trove.common import exception"},{"line_number":24,"context_line":"from trove.common import rpc as rd_rpc"},{"line_number":25,"context_line":"from trove.openstack.common.gettextutils import _"},{"line_number":26,"context_line":"from trove.openstack.common import rpc"},{"line_number":27,"context_line":"from trove.openstack.common.rpc import common"},{"line_number":28,"context_line":"from trove.openstack.common.rpc import proxy"},{"line_number":29,"context_line":"from trove.openstack.common import log as logging"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aa7fdbe_48a475b9","line":26,"in_reply_to":"9aa7fdbe_82bf2860","updated":"2014-10-28 15:47:54.000000000","message":"Done","commit_id":"a4e42c3271a31bd48a64afb663708f7ef11cddba"}]}
