)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"4eba27f57d1a8c792ee9d044c3d5a55efaa583b0","unresolved":false,"context_lines":[{"line_number":13,"context_line":"- taskmanager reports about root creation;"},{"line_number":14,"context_line":"- tests."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Closes-bug: 1257489"},{"line_number":17,"context_line":"Change-Id: I5f2502d8b61542658682a5ff74735749e5a1ca2b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"AAAATn%2F8uDc%3D","line":16,"updated":"2013-12-21 08:35:14.000000000","message":"can you make it Closes-Bug: #","commit_id":"c374f53d5992fe12fe53c75e450b1e1adc5cc540"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"9a21f22894f886ebfbb8c21bb96d3c316f29f334","unresolved":false,"context_lines":[{"line_number":13,"context_line":"- taskmanager reports about root creation;"},{"line_number":14,"context_line":"- tests."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Closes-bug: 1257489"},{"line_number":17,"context_line":"Change-Id: I5f2502d8b61542658682a5ff74735749e5a1ca2b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"AAAATn%2F8uCI%3D","line":16,"in_reply_to":"AAAATn%2F8uDc%3D","updated":"2013-12-21 08:53:38.000000000","message":"according openstack-infra layout, # is optional, it mean - to required.","commit_id":"c374f53d5992fe12fe53c75e450b1e1adc5cc540"}],"trove/conductor/manager.py":[{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"00715f2ae5c29b49d9e0140450e2d97efd93b8ca","unresolved":false,"context_lines":[{"line_number":68,"context_line":"                setattr(backup, k, v)"},{"line_number":69,"context_line":"        backup.save()"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    def report_user_created(self, context, instance_id, user):"},{"line_number":72,"context_line":"        LOG.debug(\"Instance ID: %s\" % str(instance_id))"},{"line_number":73,"context_line":"        LOG.debug(\"Used: %s\" % str(user))"},{"line_number":74,"context_line":"        if instance_id and user:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F90KA%3D","line":71,"updated":"2013-12-05 16:29:16.000000000","message":"I\u0027m thinking this method should be called `report_root_user_created` since this is specifically only for updating RootHistory.","commit_id":"b7aac8085f2c1ab8112976c8c6aeec907c110eca"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"0f7ad00a95ec0c6304d9ac8cb0ffd6331a941f75","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from trove.backup import models as bkup_models"},{"line_number":16,"context_line":"from trove.common.context import TroveContext"},{"line_number":17,"context_line":"from trove.common.instance import ServiceStatus"},{"line_number":18,"context_line":"from trove.extensions.mysql.models import RootHistory"},{"line_number":19,"context_line":"from trove.instance import models as t_models"},{"line_number":20,"context_line":"from trove.openstack.common import periodic_task"},{"line_number":21,"context_line":"from trove.openstack.common import log as logging"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F9stM%3D","line":18,"updated":"2013-12-07 01:39:37.000000000","message":"I really like grapex\u0027s idea to make the taskmanager responsible for reporting the roothistory. If we go that route, we don\u0027t need to extend the conductor\u0027s API to do this.","commit_id":"fcebed8b19be3560d771443cf75fcc1fc9124827"},{"author":{"_account_id":739,"name":"Michael Basnight","email":"mbasnight@gmail.com","username":"hubcap"},"change_message_id":"f59411e5829c8165406a930a975fdca90d30acb6","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from trove.backup import models as bkup_models"},{"line_number":16,"context_line":"from trove.common.context import TroveContext"},{"line_number":17,"context_line":"from trove.common.instance import ServiceStatus"},{"line_number":18,"context_line":"from trove.extensions.mysql.models import RootHistory"},{"line_number":19,"context_line":"from trove.instance import models as t_models"},{"line_number":20,"context_line":"from trove.openstack.common import periodic_task"},{"line_number":21,"context_line":"from trove.openstack.common import log as logging"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F9tN4%3D","line":18,"updated":"2013-12-06 21:46:54.000000000","message":"as much as i hate to see \"extensions\" code put into the conductor, there is not much else we can do here to make it better. ill approve still.","commit_id":"fcebed8b19be3560d771443cf75fcc1fc9124827"}],"trove/taskmanager/models.py":[{"author":{"_account_id":739,"name":"Michael Basnight","email":"mbasnight@gmail.com","username":"hubcap"},"change_message_id":"1db6b5a7d06d26f346ad60694dc5ded0eff98030","unresolved":false,"context_lines":[{"line_number":240,"context_line":""},{"line_number":241,"context_line":"        LOG.debug(_(\"end create_instance for id: %s\") % self.id)"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"    def report_root_enabled(self):"},{"line_number":244,"context_line":"        mysql_models.RootHistory.create(self.context, self.id, \u0027root\u0027)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"    def update_statuses_on_time_out(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F9ne8%3D","line":243,"updated":"2013-12-09 16:20:03.000000000","message":"Where is this new method used?","commit_id":"cedbc38cb80b54bfce01ce36c96ec55f401d6d97"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"581d3266e2e0da38372097943545e914f061c942","unresolved":false,"context_lines":[{"line_number":240,"context_line":""},{"line_number":241,"context_line":"        LOG.debug(_(\"end create_instance for id: %s\") % self.id)"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"    def report_root_enabled(self):"},{"line_number":244,"context_line":"        mysql_models.RootHistory.create(self.context, self.id, \u0027root\u0027)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"    def update_statuses_on_time_out(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F9nH4%3D","line":243,"in_reply_to":"AAAATn%2F9ne8%3D","updated":"2013-12-09 17:15:41.000000000","message":"Doh, thanks for that !","commit_id":"cedbc38cb80b54bfce01ce36c96ec55f401d6d97"},{"author":{"_account_id":694,"name":"Tim Simpson","email":"tim.simpson@rackspace.com","username":"tim-simpson"},"change_message_id":"4932804ae7993e0469367c435e4b45d4f68e3683","unresolved":false,"context_lines":[{"line_number":205,"context_line":"                                packages, databases, users, backup_info,"},{"line_number":206,"context_line":"                                config.config_contents, root_password)"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"            self.report_root_enabled()"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"        if not self.db_info.task_status.is_error:"},{"line_number":211,"context_line":"            self.update_db(task_status\u003dinst_models.InstanceTasks.NONE)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F8w4U%3D","line":208,"updated":"2013-12-20 15:28:47.000000000","message":"Not all operators want root to always be enabled. If the root_password is None, this method should not be called.","commit_id":"c374f53d5992fe12fe53c75e450b1e1adc5cc540"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"4954832d140424ea628bfd1936f4feda7968c934","unresolved":false,"context_lines":[{"line_number":205,"context_line":"                                packages, databases, users, backup_info,"},{"line_number":206,"context_line":"                                config.config_contents, root_password)"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"            self.report_root_enabled()"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"        if not self.db_info.task_status.is_error:"},{"line_number":211,"context_line":"            self.update_db(task_status\u003dinst_models.InstanceTasks.NONE)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2FHXE%3D","line":208,"in_reply_to":"AAAATn%2F8vJQ%3D","updated":"2014-01-17 09:53:30.000000000","message":"I espouse the same view as Ed and Tim. We don\u0027t want to enable root by default on all instances.","commit_id":"c374f53d5992fe12fe53c75e450b1e1adc5cc540"},{"author":{"_account_id":7380,"name":"Ed Cranford","inactive":true},"change_message_id":"15f49e8ca28f7672017f11181e868a7dece8e01c","unresolved":false,"context_lines":[{"line_number":205,"context_line":"                                packages, databases, users, backup_info,"},{"line_number":206,"context_line":"                                config.config_contents, root_password)"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"            self.report_root_enabled()"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"        if not self.db_info.task_status.is_error:"},{"line_number":211,"context_line":"            self.update_db(task_status\u003dinst_models.InstanceTasks.NONE)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F8wTQ%3D","line":208,"in_reply_to":"AAAATn%2F8w4U%3D","updated":"2013-12-20 16:55:52.000000000","message":"agree","commit_id":"c374f53d5992fe12fe53c75e450b1e1adc5cc540"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"33717991a1aaa44d24367f87397043a3e2eabf6d","unresolved":false,"context_lines":[{"line_number":205,"context_line":"                                packages, databases, users, backup_info,"},{"line_number":206,"context_line":"                                config.config_contents, root_password)"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"            self.report_root_enabled()"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"        if not self.db_info.task_status.is_error:"},{"line_number":211,"context_line":"            self.update_db(task_status\u003dinst_models.InstanceTasks.NONE)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F8vJQ%3D","line":208,"in_reply_to":"AAAATn%2F8wTQ%3D","updated":"2013-12-20 21:41:13.000000000","message":"now guest reports with RootHistory ignoring income root_password, if it\u0027s None, guest generates new password.\nSo, no need to check root_password here.","commit_id":"c374f53d5992fe12fe53c75e450b1e1adc5cc540"},{"author":{"_account_id":739,"name":"Michael Basnight","email":"mbasnight@gmail.com","username":"hubcap"},"change_message_id":"534bf4d03236549407f85fd58f610d0b275ce078","unresolved":false,"context_lines":[{"line_number":242,"context_line":""},{"line_number":243,"context_line":"        LOG.debug(_(\"end create_instance for id: %s\") % self.id)"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"    def report_root_enabled(self):"},{"line_number":246,"context_line":"        mysql_models.RootHistory.create(self.context, self.id, \u0027root\u0027)"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"    def update_statuses_on_time_out(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F9mdo%3D","line":245,"updated":"2013-12-09 19:32:07.000000000","message":"Does setting root enabled in the extensions api call this as well? i dont see that in the  code here.","commit_id":"c374f53d5992fe12fe53c75e450b1e1adc5cc540"},{"author":{"_account_id":694,"name":"Tim Simpson","email":"tim.simpson@rackspace.com","username":"tim-simpson"},"change_message_id":"4932804ae7993e0469367c435e4b45d4f68e3683","unresolved":false,"context_lines":[{"line_number":242,"context_line":""},{"line_number":243,"context_line":"        LOG.debug(_(\"end create_instance for id: %s\") % self.id)"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"    def report_root_enabled(self):"},{"line_number":246,"context_line":"        mysql_models.RootHistory.create(self.context, self.id, \u0027root\u0027)"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"    def update_statuses_on_time_out(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F8wys%3D","line":245,"in_reply_to":"AAAATn%2F8w9c%3D","updated":"2013-12-20 15:28:47.000000000","message":"Sorry, I thought the agent had been doing that. I\u0027m good!","commit_id":"c374f53d5992fe12fe53c75e450b1e1adc5cc540"},{"author":{"_account_id":7380,"name":"Ed Cranford","inactive":true},"change_message_id":"15f49e8ca28f7672017f11181e868a7dece8e01c","unresolved":false,"context_lines":[{"line_number":242,"context_line":""},{"line_number":243,"context_line":"        LOG.debug(_(\"end create_instance for id: %s\") % self.id)"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"    def report_root_enabled(self):"},{"line_number":246,"context_line":"        mysql_models.RootHistory.create(self.context, self.id, \u0027root\u0027)"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"    def update_statuses_on_time_out(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F8wP8%3D","line":245,"in_reply_to":"AAAATn%2F8wys%3D","updated":"2013-12-20 16:55:52.000000000","message":"https://github.com/openstack/trove/blob/master/trove/extensions/mysql/models.py#L202\n\nYeah, looks like root create already reports it.","commit_id":"c374f53d5992fe12fe53c75e450b1e1adc5cc540"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"f512d234bf419498594e450340626dbd8b11c995","unresolved":false,"context_lines":[{"line_number":242,"context_line":""},{"line_number":243,"context_line":"        LOG.debug(_(\"end create_instance for id: %s\") % self.id)"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"    def report_root_enabled(self):"},{"line_number":246,"context_line":"        mysql_models.RootHistory.create(self.context, self.id, \u0027root\u0027)"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"    def update_statuses_on_time_out(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F8w9c%3D","line":245,"in_reply_to":"AAAATn%2F8xJM%3D","updated":"2013-12-20 15:01:05.000000000","message":"It doesn\u0027t break it.\nWhen self.report_root_enabled() - Root model would be saved at back-end.","commit_id":"c374f53d5992fe12fe53c75e450b1e1adc5cc540"},{"author":{"_account_id":694,"name":"Tim Simpson","email":"tim.simpson@rackspace.com","username":"tim-simpson"},"change_message_id":"5eb88c2e8ec52f737da74deb6895f69abd33a0c1","unresolved":false,"context_lines":[{"line_number":242,"context_line":""},{"line_number":243,"context_line":"        LOG.debug(_(\"end create_instance for id: %s\") % self.id)"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"    def report_root_enabled(self):"},{"line_number":246,"context_line":"        mysql_models.RootHistory.create(self.context, self.id, \u0027root\u0027)"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"    def update_statuses_on_time_out(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F8xJM%3D","line":245,"in_reply_to":"AAAATn%2F9mdo%3D","updated":"2013-12-20 14:38:15.000000000","message":"I\u0027m confused- I don\u0027t see this addressed anywhere either, yet Mike +2\u0027d it. What is going on? From appearances this will break the set root command.","commit_id":"c374f53d5992fe12fe53c75e450b1e1adc5cc540"}],"trove/tests/api/root.py":[{"author":{"_account_id":7380,"name":"Ed Cranford","inactive":true},"change_message_id":"15f49e8ca28f7672017f11181e868a7dece8e01c","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        self.root_enabled_timestamp \u003d reh(instance_info.id).enabled"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    @test"},{"line_number":74,"context_line":"    def test_root_initially_enabled(self):"},{"line_number":75,"context_line":"        \"\"\"Test that root is disabled\"\"\""},{"line_number":76,"context_line":"        enabled \u003d self.dbaas.root.is_root_enabled(instance_info.id)"},{"line_number":77,"context_line":"        assert_equal(200, self.dbaas.last_http_code)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F8wTU%3D","line":74,"updated":"2013-12-20 16:55:52.000000000","message":"I don\u0027t think we want root enabled by default on new instances.","commit_id":"c374f53d5992fe12fe53c75e450b1e1adc5cc540"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"33717991a1aaa44d24367f87397043a3e2eabf6d","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        self.root_enabled_timestamp \u003d reh(instance_info.id).enabled"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    @test"},{"line_number":74,"context_line":"    def test_root_initially_enabled(self):"},{"line_number":75,"context_line":"        \"\"\"Test that root is disabled\"\"\""},{"line_number":76,"context_line":"        enabled \u003d self.dbaas.root.is_root_enabled(instance_info.id)"},{"line_number":77,"context_line":"        assert_equal(200, self.dbaas.last_http_code)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F8vIo%3D","line":74,"in_reply_to":"AAAATn%2F8wTU%3D","updated":"2013-12-20 21:41:13.000000000","message":"agreed","commit_id":"c374f53d5992fe12fe53c75e450b1e1adc5cc540"}]}
