)]}'
{"trove/db/sqlalchemy/migrate_repo/versions/026_add_stack_id.py":[{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"cbc06999ca5d9aeab750ab6a874e5d2406790489","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    meta.bind \u003d migrate_engine"},{"line_number":26,"context_line":"    instances \u003d Table(\u0027instances\u0027, meta, autoload\u003dTrue)"},{"line_number":27,"context_line":"    provisioning_engine \u003d Column(COLUMN_NAME, String(36))"},{"line_number":28,"context_line":"    instances.create_column(provisioning_engine, nullable\u003dTrue)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"def downgrade(migrate_engine):"}],"source_content_type":"text/x-python","patch_set":16,"id":"9ad9bd40_2e48e02c","line":28,"updated":"2014-04-30 18:27:18.000000000","message":"I\u0027m curious why you call this column \u0027provisioning_engine\u0027 when in fact it is just a column instance for a stack_id. \n\nI\u0027d recommend you change it to\n\nstack_id \u003d Column(COLUMN_NAME, String(36))\n\ninstances.create_column(stack_id, nullable\u003dTrue)","commit_id":"134d6e7fe5cde172dc0915a92edf8c700450784d"}],"trove/taskmanager/models.py":[{"author":{"_account_id":1925,"name":"Vipul Sabhaya","email":"vipuls@gmail.com","username":"vipuls"},"change_message_id":"975780eb522aa969a71feaebf70a98c6643a4294","unresolved":false,"context_lines":[{"line_number":611,"context_line":"                LOG.info(_(\"Deleting stack with id: %s\") % stack_id)"},{"line_number":612,"context_line":"                try:"},{"line_number":613,"context_line":"                    stack \u003d heatclient.stacks.get(stack_id)"},{"line_number":614,"context_line":"                    if stack.stack_status not in HEAT_STACK_BLOCKED_STATES:"},{"line_number":615,"context_line":"                        heatclient.stacks.delete(stack_id)"},{"line_number":616,"context_line":"                except heat_exceptions.HTTPException:"},{"line_number":617,"context_line":"                    LOG.exception()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2BrsY%3D","line":614,"updated":"2014-01-23 08:21:10.000000000","message":"Instead of doing this check here, ideally this would be done upstream in the BaseInstance.delete() method.  I foresee issues where the instance might be out of BUILD, but the stack is not complete yet, and we hit this code.","commit_id":"1f0f264204be696168d10a981efc06ca8fad427b"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"21a32ff5f08bd579772d004fb8aa58d737f81081","unresolved":false,"context_lines":[{"line_number":611,"context_line":"                LOG.info(_(\"Deleting stack with id: %s\") % stack_id)"},{"line_number":612,"context_line":"                try:"},{"line_number":613,"context_line":"                    stack \u003d heatclient.stacks.get(stack_id)"},{"line_number":614,"context_line":"                    if stack.stack_status not in HEAT_STACK_BLOCKED_STATES:"},{"line_number":615,"context_line":"                        heatclient.stacks.delete(stack_id)"},{"line_number":616,"context_line":"                except heat_exceptions.HTTPException:"},{"line_number":617,"context_line":"                    LOG.exception()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2BhV8%3D","line":614,"in_reply_to":"AAAAUH%2F%2Bhmk%3D","updated":"2014-01-24 19:53:41.000000000","message":"I took into account your suggestions, i moved checks to instance/models.py, but not published it yet.\n\nAbout other things, please review the blueprint and write your suggestions, i would like to heat thoughts about that.\nThanks for reviewing.","commit_id":"1f0f264204be696168d10a981efc06ca8fad427b"},{"author":{"_account_id":1925,"name":"Vipul Sabhaya","email":"vipuls@gmail.com","username":"vipuls"},"change_message_id":"e57b7c7544a2fbc1273b04811e17d438e1576687","unresolved":false,"context_lines":[{"line_number":611,"context_line":"                LOG.info(_(\"Deleting stack with id: %s\") % stack_id)"},{"line_number":612,"context_line":"                try:"},{"line_number":613,"context_line":"                    stack \u003d heatclient.stacks.get(stack_id)"},{"line_number":614,"context_line":"                    if stack.stack_status not in HEAT_STACK_BLOCKED_STATES:"},{"line_number":615,"context_line":"                        heatclient.stacks.delete(stack_id)"},{"line_number":616,"context_line":"                except heat_exceptions.HTTPException:"},{"line_number":617,"context_line":"                    LOG.exception()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2Bhmk%3D","line":614,"in_reply_to":"AAAAUH%2F%2BqY8%3D","updated":"2014-01-24 18:45:47.000000000","message":"Sure - but you will delete all other resources associated with this stack, like DNS, and you will likely hit the code below, which will poll the state of the instance, and not the stack.  This is just an incomplete implementation.  If you want to introduce stack_id, let\u0027s use it for more than just deleting, and do it correctly.","commit_id":"1f0f264204be696168d10a981efc06ca8fad427b"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"79aeb1aa510a54e0237b27bcc5ec029fa02a95de","unresolved":false,"context_lines":[{"line_number":611,"context_line":"                LOG.info(_(\"Deleting stack with id: %s\") % stack_id)"},{"line_number":612,"context_line":"                try:"},{"line_number":613,"context_line":"                    stack \u003d heatclient.stacks.get(stack_id)"},{"line_number":614,"context_line":"                    if stack.stack_status not in HEAT_STACK_BLOCKED_STATES:"},{"line_number":615,"context_line":"                        heatclient.stacks.delete(stack_id)"},{"line_number":616,"context_line":"                except heat_exceptions.HTTPException:"},{"line_number":617,"context_line":"                    LOG.exception()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2BqY8%3D","line":614,"in_reply_to":"AAAAUH%2F%2BrsY%3D","updated":"2014-01-24 14:03:58.000000000","message":"But if stack is not in complete state, then we would not be able to delete it.","commit_id":"1f0f264204be696168d10a981efc06ca8fad427b"},{"author":{"_account_id":1925,"name":"Vipul Sabhaya","email":"vipuls@gmail.com","username":"vipuls"},"change_message_id":"975780eb522aa969a71feaebf70a98c6643a4294","unresolved":false,"context_lines":[{"line_number":614,"context_line":"                    if stack.stack_status not in HEAT_STACK_BLOCKED_STATES:"},{"line_number":615,"context_line":"                        heatclient.stacks.delete(stack_id)"},{"line_number":616,"context_line":"                except heat_exceptions.HTTPException:"},{"line_number":617,"context_line":"                    LOG.exception()"},{"line_number":618,"context_line":"            else:"},{"line_number":619,"context_line":"                self.server.delete()"},{"line_number":620,"context_line":"        except (nova_exceptions.ClientException,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2BrsU%3D","line":617,"updated":"2014-01-23 08:21:10.000000000","message":"Can you log a meaningful message.","commit_id":"1f0f264204be696168d10a981efc06ca8fad427b"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"293432e3c43da3dc236b35697f6f63542a4132c1","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from eventlet import greenthread"},{"line_number":21,"context_line":"from trove.backup import models as bkup_models"},{"line_number":22,"context_line":"from trove.common import cfg"},{"line_number":23,"context_line":"from trove.common import remote"},{"line_number":24,"context_line":"from trove.common import template"},{"line_number":25,"context_line":"from trove.common import utils"},{"line_number":26,"context_line":"from trove.common.utils import try_recover"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2Fhks%3D","line":23,"updated":"2014-04-20 13:23:51.000000000","message":"unclear why.","commit_id":"17caf9eeb82f776129e8bfcd5252f74b6112a51b"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"297cebb654f4beaa6f0746f91208e1eee2434d50","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from eventlet import greenthread"},{"line_number":21,"context_line":"from trove.backup import models as bkup_models"},{"line_number":22,"context_line":"from trove.common import cfg"},{"line_number":23,"context_line":"from trove.common import remote"},{"line_number":24,"context_line":"from trove.common import template"},{"line_number":25,"context_line":"from trove.common import utils"},{"line_number":26,"context_line":"from trove.common.utils import try_recover"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2Fhhk%3D","line":23,"in_reply_to":"AAAAXH%2F%2Fhh0%3D","updated":"2014-04-20 13:42:20.000000000","message":"Why? We don\u0027t need tons of the BPs to fix each file, if i see strange way of the importing in the file that being updated, i fix imports also.","commit_id":"17caf9eeb82f776129e8bfcd5252f74b6112a51b"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"236cdff91035dda6c207303f36fb269bedcf2d3e","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from eventlet import greenthread"},{"line_number":21,"context_line":"from trove.backup import models as bkup_models"},{"line_number":22,"context_line":"from trove.common import cfg"},{"line_number":23,"context_line":"from trove.common import remote"},{"line_number":24,"context_line":"from trove.common import template"},{"line_number":25,"context_line":"from trove.common import utils"},{"line_number":26,"context_line":"from trove.common.utils import try_recover"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2Fhh0%3D","line":23,"in_reply_to":"AAAAXH%2F%2Fhik%3D","updated":"2014-04-20 13:38:50.000000000","message":"maybe but sounds out of scope of this bp to me.","commit_id":"17caf9eeb82f776129e8bfcd5252f74b6112a51b"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"3d1220f58b504e2797c20ffc62212f846c67d4f2","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from eventlet import greenthread"},{"line_number":21,"context_line":"from trove.backup import models as bkup_models"},{"line_number":22,"context_line":"from trove.common import cfg"},{"line_number":23,"context_line":"from trove.common import remote"},{"line_number":24,"context_line":"from trove.common import template"},{"line_number":25,"context_line":"from trove.common import utils"},{"line_number":26,"context_line":"from trove.common.utils import try_recover"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2Fhik%3D","line":23,"in_reply_to":"AAAAXH%2F%2Fhks%3D","updated":"2014-04-20 13:35:11.000000000","message":"imports _should_ be ordered","commit_id":"17caf9eeb82f776129e8bfcd5252f74b6112a51b"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"be5683bd97100b83d6bf39f49184c9cafd14cba3","unresolved":false,"context_lines":[{"line_number":52,"context_line":"from trove.openstack.common.notifier import api as notifier"},{"line_number":53,"context_line":"from trove.openstack.common import timeutils"},{"line_number":54,"context_line":"from novaclient import exceptions as nova_exceptions"},{"line_number":55,"context_line":"from swiftclient import exceptions as swift_exception"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":58,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2FheY%3D","line":55,"updated":"2014-04-20 14:06:12.000000000","message":"All I was indicating was that the pluralization should match:\nfrom novaclient import exceptions as nova_exceptions \nand \nfrom swiftclient import exceptions as swift_exceptions\n\n(Note the \u0027s\u0027 on the end of that last one)","commit_id":"17caf9eeb82f776129e8bfcd5252f74b6112a51b"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"e8b6640d7975e3efce687e94699c9291beda7013","unresolved":false,"context_lines":[{"line_number":52,"context_line":"from trove.openstack.common.notifier import api as notifier"},{"line_number":53,"context_line":"from trove.openstack.common import timeutils"},{"line_number":54,"context_line":"from novaclient import exceptions as nova_exceptions"},{"line_number":55,"context_line":"from swiftclient import exceptions as swift_exception"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":58,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2FmdM%3D","line":55,"updated":"2014-04-18 22:33:19.000000000","message":"nova_exceptions and swift_exception seems inconsistent (note pluralization). Also i don\u0027t understand how this is in the scope of the bug.","commit_id":"17caf9eeb82f776129e8bfcd5252f74b6112a51b"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"d8cb1529889d17d07ca965e0d154235b27f4c5c8","unresolved":false,"context_lines":[{"line_number":52,"context_line":"from trove.openstack.common.notifier import api as notifier"},{"line_number":53,"context_line":"from trove.openstack.common import timeutils"},{"line_number":54,"context_line":"from novaclient import exceptions as nova_exceptions"},{"line_number":55,"context_line":"from swiftclient import exceptions as swift_exception"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":58,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2Fhdw%3D","line":55,"in_reply_to":"AAAAXH%2F%2FheY%3D","updated":"2014-04-20 14:09:41.000000000","message":"i can see that, agree with it","commit_id":"17caf9eeb82f776129e8bfcd5252f74b6112a51b"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"297cebb654f4beaa6f0746f91208e1eee2434d50","unresolved":false,"context_lines":[{"line_number":52,"context_line":"from trove.openstack.common.notifier import api as notifier"},{"line_number":53,"context_line":"from trove.openstack.common import timeutils"},{"line_number":54,"context_line":"from novaclient import exceptions as nova_exceptions"},{"line_number":55,"context_line":"from swiftclient import exceptions as swift_exception"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":58,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2Fhhc%3D","line":55,"in_reply_to":"AAAAXH%2F%2Fhhw%3D","updated":"2014-04-20 13:42:20.000000000","message":"Why? We don\u0027t need tons of the BPs to fix each file, if i see strange way of the importing in the file that being updated, i fix imports also.","commit_id":"17caf9eeb82f776129e8bfcd5252f74b6112a51b"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"236cdff91035dda6c207303f36fb269bedcf2d3e","unresolved":false,"context_lines":[{"line_number":52,"context_line":"from trove.openstack.common.notifier import api as notifier"},{"line_number":53,"context_line":"from trove.openstack.common import timeutils"},{"line_number":54,"context_line":"from novaclient import exceptions as nova_exceptions"},{"line_number":55,"context_line":"from swiftclient import exceptions as swift_exception"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":58,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2Fhhw%3D","line":55,"in_reply_to":"AAAAXH%2F%2FhiY%3D","updated":"2014-04-20 13:38:50.000000000","message":"maybe but sounds out of scope of this bp to me.","commit_id":"17caf9eeb82f776129e8bfcd5252f74b6112a51b"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"3d1220f58b504e2797c20ffc62212f846c67d4f2","unresolved":false,"context_lines":[{"line_number":52,"context_line":"from trove.openstack.common.notifier import api as notifier"},{"line_number":53,"context_line":"from trove.openstack.common import timeutils"},{"line_number":54,"context_line":"from novaclient import exceptions as nova_exceptions"},{"line_number":55,"context_line":"from swiftclient import exceptions as swift_exception"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":58,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2FhiY%3D","line":55,"in_reply_to":"AAAAXH%2F%2FmdM%3D","updated":"2014-04-20 13:35:11.000000000","message":"imports _should_ be ordered or have same signature","commit_id":"17caf9eeb82f776129e8bfcd5252f74b6112a51b"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"e8b6640d7975e3efce687e94699c9291beda7013","unresolved":false,"context_lines":[{"line_number":963,"context_line":"                BackupTasks.delete_files_from_swift(context, filename)"},{"line_number":964,"context_line":"        except ValueError:"},{"line_number":965,"context_line":"            backup.delete()"},{"line_number":966,"context_line":"        except swift_exception.ClientException as e:"},{"line_number":967,"context_line":"            if e.http_status \u003d\u003d 404:"},{"line_number":968,"context_line":"                # Backup already deleted in swift"},{"line_number":969,"context_line":"                backup.delete()"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2Fmc4%3D","line":966,"updated":"2014-04-18 22:33:19.000000000","message":"in scope of bug?","commit_id":"17caf9eeb82f776129e8bfcd5252f74b6112a51b"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"dfba2a9b4afa1aeca0d0948264a1fb2b6d858c0c","unresolved":false,"context_lines":[{"line_number":401,"context_line":"                parameters\u003dparameters)"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"            self.update_db(stack_id\u003dstack[\u0027stack\u0027][\u0027id\u0027])"},{"line_number":404,"context_line":"            LOG.debug(_(\u0027Stack ID: %s\u0027) % stack[\u0027stack\u0027][\u0027id\u0027])"},{"line_number":405,"context_line":""},{"line_number":406,"context_line":"            try:"},{"line_number":407,"context_line":"                utils.poll_until("}],"source_content_type":"text/x-python","patch_set":24,"id":"1ae5cdf2_5d64bc48","line":404,"updated":"2014-06-02 15:20:29.000000000","message":"The value of this debug statement is highly questionable without some additional information. I suggest that you remove it.","commit_id":"db5a18236eb0595904b4439410050ad5a19ce811"}]}
