)]}'
{"trove/guestagent/datastore/experimental/mongodb/manager.py":[{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"9b556815779c99ff9201f23331a1d4151b2f5b63","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                self._perform_restore(backup_info, context,"},{"line_number":90,"context_line":"                                      mount_point, self.app)"},{"line_number":91,"context_line":"                if service.MongoDBAdmin().is_root_enabled():"},{"line_number":92,"context_line":"                    self.status.report_root(\u0027root\u0027)"},{"line_number":93,"context_line":"            elif root_password:"},{"line_number":94,"context_line":"                LOG.debug(\u0027Root password provided. Enabling root.\u0027)"},{"line_number":95,"context_line":"                service.MongoDBAdmin().enable_root(root_password)"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_c3f9d94f","line":92,"updated":"2015-06-23 16:46:44.000000000","message":"so if we restore from a backup in which root was enabled, will the password be preserved while doing a restore. What if the user passes a root password when creating an instance from a backup, then wouldnt we want to enable root using that new root password instead of using the old one.","commit_id":"fe4f9159c273a9c8ee93370ab4406113da1eaf45"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"1fcb02e7a39fcd2bc9a8add7927dbdcb31cf4e8e","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                self._perform_restore(backup_info, context,"},{"line_number":90,"context_line":"                                      mount_point, self.app)"},{"line_number":91,"context_line":"                if service.MongoDBAdmin().is_root_enabled():"},{"line_number":92,"context_line":"                    self.status.report_root(\u0027root\u0027)"},{"line_number":93,"context_line":"            elif root_password:"},{"line_number":94,"context_line":"                LOG.debug(\u0027Root password provided. Enabling root.\u0027)"},{"line_number":95,"context_line":"                service.MongoDBAdmin().enable_root(root_password)"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_76bbc60f","line":92,"in_reply_to":"fa32b979_63a24afe","updated":"2015-06-24 12:42:29.000000000","message":"That\u0027s a good point, but we don\u0027t have the conf option \u0027root_on_create\u0027 in MongoDB. Is something that we should have in mind if it\u0027s added in the future though.","commit_id":"fe4f9159c273a9c8ee93370ab4406113da1eaf45"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"86978f3ae92dcc62f67ed0c5a9ca50bda30a8d5f","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                self._perform_restore(backup_info, context,"},{"line_number":90,"context_line":"                                      mount_point, self.app)"},{"line_number":91,"context_line":"                if service.MongoDBAdmin().is_root_enabled():"},{"line_number":92,"context_line":"                    self.status.report_root(\u0027root\u0027)"},{"line_number":93,"context_line":"            elif root_password:"},{"line_number":94,"context_line":"                LOG.debug(\u0027Root password provided. Enabling root.\u0027)"},{"line_number":95,"context_line":"                service.MongoDBAdmin().enable_root(root_password)"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_63a24afe","line":92,"in_reply_to":"fa32b979_9e66ca4f","updated":"2015-06-23 17:29:51.000000000","message":"we cannot directly pass the password through the API but in the conf file if the following configuration \u0027root_on_create\u0027 is specified, a password is randomly generated. So was just wondering if we would still want to use the old root password or use the newly generated one.","commit_id":"fe4f9159c273a9c8ee93370ab4406113da1eaf45"},{"author":{"_account_id":15321,"name":"Matthew Van Dijk","email":"mvandijk@tesora.com","username":"mvandijk"},"change_message_id":"62760b9d194e20eb08ccfe69f6073a6a76f31cb3","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                self._perform_restore(backup_info, context,"},{"line_number":90,"context_line":"                                      mount_point, self.app)"},{"line_number":91,"context_line":"                if service.MongoDBAdmin().is_root_enabled():"},{"line_number":92,"context_line":"                    self.status.report_root(\u0027root\u0027)"},{"line_number":93,"context_line":"            elif root_password:"},{"line_number":94,"context_line":"                LOG.debug(\u0027Root password provided. Enabling root.\u0027)"},{"line_number":95,"context_line":"                service.MongoDBAdmin().enable_root(root_password)"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_9e66ca4f","line":92,"in_reply_to":"fa32b979_c3f9d94f","updated":"2015-06-23 16:59:42.000000000","message":"If you restore from a backup then the users are restored with it. If there was a root user then it will be there in the restored database.\n\nFor the root_password question: I don\u0027t see in the code where this can be specified by a user (the API for create does not have a way to specify a root password). This is the same logic as is used in the MySQL datastore.","commit_id":"fe4f9159c273a9c8ee93370ab4406113da1eaf45"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"56a2b4a0443a8c3340bb67c422ad91d6b36a67b1","unresolved":false,"context_lines":[{"line_number":92,"context_line":"                if service.MongoDBAdmin().is_root_enabled():"},{"line_number":93,"context_line":"                    self.status.report_root(\u0027root\u0027)"},{"line_number":94,"context_line":"            elif root_password:"},{"line_number":95,"context_line":"                LOG.debug(\u0027Root password provided. Enabling root.\u0027)"},{"line_number":96,"context_line":"                service.MongoDBAdmin().enable_root(root_password)"},{"line_number":97,"context_line":"        else:"},{"line_number":98,"context_line":"            if cluster_config[\u0027instance_type\u0027] \u003d\u003d \"query_router\":"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_01722511","line":95,"updated":"2015-07-23 02:56:32.000000000","message":"this logging is a bit hokey; here you log the message because enable_root() won\u0027t (since a password is provided).\n\nLater in enable_root() you log it and enable_root() also does.","commit_id":"097e7609b2f76ff4a9054ab3981661e1152e9d2e"}],"trove/guestagent/datastore/experimental/mongodb/service.py":[{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"0f9cb4383cd5806c8ae2ff5a66e3020f2e49451f","unresolved":false,"context_lines":[{"line_number":512,"context_line":"        LOG.debug(\u0027users \u003d \u0027 + str(users))"},{"line_number":513,"context_line":"        return users, None"},{"line_number":514,"context_line":""},{"line_number":515,"context_line":"    def enable_root(self, password\u003dNone):"},{"line_number":516,"context_line":"        \"\"\"Create a user \u0027root\u0027 with role \u0027root\u0027.\"\"\""},{"line_number":517,"context_line":"        if not password:"},{"line_number":518,"context_line":"            LOG.debug(\u0027Generating root user password.\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_96804748","line":515,"updated":"2015-06-22 06:39:35.000000000","message":"This one needs to find a place in prepare method so that a root_enabled instance enables a root user","commit_id":"9d91194198f541e01244c6bd456b17cebe359ac4"},{"author":{"_account_id":15321,"name":"Matthew Van Dijk","email":"mvandijk@tesora.com","username":"mvandijk"},"change_message_id":"4e77c943ca88d47585af18cddd84285805d856a2","unresolved":false,"context_lines":[{"line_number":512,"context_line":"        LOG.debug(\u0027users \u003d \u0027 + str(users))"},{"line_number":513,"context_line":"        return users, None"},{"line_number":514,"context_line":""},{"line_number":515,"context_line":"    def enable_root(self, password\u003dNone):"},{"line_number":516,"context_line":"        \"\"\"Create a user \u0027root\u0027 with role \u0027root\u0027.\"\"\""},{"line_number":517,"context_line":"        if not password:"},{"line_number":518,"context_line":"            LOG.debug(\u0027Generating root user password.\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_cf11345f","line":515,"in_reply_to":"fa32b979_96804748","updated":"2015-06-22 17:46:06.000000000","message":"Done.","commit_id":"9d91194198f541e01244c6bd456b17cebe359ac4"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"0f9cb4383cd5806c8ae2ff5a66e3020f2e49451f","unresolved":false,"context_lines":[{"line_number":524,"context_line":""},{"line_number":525,"context_line":"    def is_root_enabled(self):"},{"line_number":526,"context_line":"        \"\"\"Check if user \u0027admin.root\u0027 exists.\"\"\""},{"line_number":527,"context_line":"        return bool(self.get_user(\u0027admin.root\u0027))"},{"line_number":528,"context_line":""},{"line_number":529,"context_line":"    def list_database_names(self):"},{"line_number":530,"context_line":"        \"\"\"Get the list of database names.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_d651ef0f","line":527,"updated":"2015-06-22 06:39:35.000000000","message":"This method needs to be used in the prepare method when a backup is restored to check if a root user exists in the restored database and notify conductor about root-existence.\n\nWithout this usage, this method implementation is of no use.","commit_id":"9d91194198f541e01244c6bd456b17cebe359ac4"},{"author":{"_account_id":15321,"name":"Matthew Van Dijk","email":"mvandijk@tesora.com","username":"mvandijk"},"change_message_id":"4e77c943ca88d47585af18cddd84285805d856a2","unresolved":false,"context_lines":[{"line_number":524,"context_line":""},{"line_number":525,"context_line":"    def is_root_enabled(self):"},{"line_number":526,"context_line":"        \"\"\"Check if user \u0027admin.root\u0027 exists.\"\"\""},{"line_number":527,"context_line":"        return bool(self.get_user(\u0027admin.root\u0027))"},{"line_number":528,"context_line":""},{"line_number":529,"context_line":"    def list_database_names(self):"},{"line_number":530,"context_line":"        \"\"\"Get the list of database names.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_8f0c8c43","line":527,"in_reply_to":"fa32b979_d651ef0f","updated":"2015-06-22 17:46:06.000000000","message":"Done, but not useless either way as it is used by the python client to root-show","commit_id":"9d91194198f541e01244c6bd456b17cebe359ac4"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"56a2b4a0443a8c3340bb67c422ad91d6b36a67b1","unresolved":false,"context_lines":[{"line_number":537,"context_line":"    def enable_root(self, password\u003dNone):"},{"line_number":538,"context_line":"        \"\"\"Create a user \u0027root\u0027 with role \u0027root\u0027.\"\"\""},{"line_number":539,"context_line":"        if not password:"},{"line_number":540,"context_line":"            LOG.debug(\u0027Generating root user password.\u0027)"},{"line_number":541,"context_line":"            password \u003d utils.generate_random_password()"},{"line_number":542,"context_line":"        root_user \u003d models.MongoDBUser(name\u003d\u0027admin.root\u0027, password\u003dpassword)"},{"line_number":543,"context_line":"        root_user.roles \u003d \u0027root\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_21588187","line":540,"updated":"2015-07-23 02:56:32.000000000","message":"maybe delete this;","commit_id":"097e7609b2f76ff4a9054ab3981661e1152e9d2e"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"56a2b4a0443a8c3340bb67c422ad91d6b36a67b1","unresolved":false,"context_lines":[{"line_number":544,"context_line":"        self.create_user(root_user)"},{"line_number":545,"context_line":"        return root_user.serialize()"},{"line_number":546,"context_line":""},{"line_number":547,"context_line":"    def is_root_enabled(self):"},{"line_number":548,"context_line":"        \"\"\"Check if user \u0027admin.root\u0027 exists.\"\"\""},{"line_number":549,"context_line":"        # return bool(self.get_user(\u0027admin.root\u0027))"},{"line_number":550,"context_line":"        with MongoDBClient(self._admin_user()) as admin_client:"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_e14db9c4","line":547,"updated":"2015-07-23 02:56:32.000000000","message":"hmmm","commit_id":"097e7609b2f76ff4a9054ab3981661e1152e9d2e"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"53c2d17e66ca0541bbd50d8f047a1954df9ecb90","unresolved":false,"context_lines":[{"line_number":546,"context_line":""},{"line_number":547,"context_line":"    def is_root_enabled(self):"},{"line_number":548,"context_line":"        \"\"\"Check if user \u0027admin.root\u0027 exists.\"\"\""},{"line_number":549,"context_line":"        # return bool(self.get_user(\u0027admin.root\u0027))"},{"line_number":550,"context_line":"        with MongoDBClient(self._admin_user()) as admin_client:"},{"line_number":551,"context_line":"            return bool(admin_client.admin.system.users.find_one("},{"line_number":552,"context_line":"                {\u0027roles.role\u0027: \u0027root\u0027}"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_3a4883cb","line":549,"updated":"2015-07-23 15:00:29.000000000","message":"I agree cannot find a reason for the existence of this line.","commit_id":"097e7609b2f76ff4a9054ab3981661e1152e9d2e"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"838765b62fda3f4642ab075a3a15b159bfa9cb2e","unresolved":false,"context_lines":[{"line_number":546,"context_line":""},{"line_number":547,"context_line":"    def is_root_enabled(self):"},{"line_number":548,"context_line":"        \"\"\"Check if user \u0027admin.root\u0027 exists.\"\"\""},{"line_number":549,"context_line":"        # return bool(self.get_user(\u0027admin.root\u0027))"},{"line_number":550,"context_line":"        with MongoDBClient(self._admin_user()) as admin_client:"},{"line_number":551,"context_line":"            return bool(admin_client.admin.system.users.find_one("},{"line_number":552,"context_line":"                {\u0027roles.role\u0027: \u0027root\u0027}"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_645777ca","line":549,"updated":"2015-07-23 03:16:38.000000000","message":"Is there a reason that you\u0027ve got a commented-out line of code?","commit_id":"097e7609b2f76ff4a9054ab3981661e1152e9d2e"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"5faf3b9ddefa5422adc751223b2dee84b6e39649","unresolved":false,"context_lines":[{"line_number":546,"context_line":""},{"line_number":547,"context_line":"    def is_root_enabled(self):"},{"line_number":548,"context_line":"        \"\"\"Check if user \u0027admin.root\u0027 exists.\"\"\""},{"line_number":549,"context_line":"        # return bool(self.get_user(\u0027admin.root\u0027))"},{"line_number":550,"context_line":"        with MongoDBClient(self._admin_user()) as admin_client:"},{"line_number":551,"context_line":"            return bool(admin_client.admin.system.users.find_one("},{"line_number":552,"context_line":"                {\u0027roles.role\u0027: \u0027root\u0027}"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_84df2339","line":549,"in_reply_to":"3a50d1a3_645777ca","updated":"2015-07-23 03:18:31.000000000","message":"Oh, I know that ... because he doesn\u0027t want it to be executed?","commit_id":"097e7609b2f76ff4a9054ab3981661e1152e9d2e"}]}
