)]}'
{"trove/guestagent/datastore/experimental/couchdb/manager.py":[{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"85f06b054081fa116e15171207c59b8e9230661f","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"    def get_admin_password(self, context):"},{"line_number":117,"context_line":"        LOG.debug(\"Getting the admin password.\")"},{"line_number":118,"context_line":"        return self.app.admin_password"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def create_user(self, context, users):"},{"line_number":121,"context_line":"        LOG.debug(\"Creating user(s).\")"}],"source_content_type":"text/x-python","patch_set":11,"id":"1af94dfe_1a6a95b3","line":118,"updated":"2016-03-16 19:14:15.000000000","message":"The above 3 methods are not part of the base class. I noticed this was implemented in MongoDB. I beleive it was implemented there for the cluster implementation to access.","commit_id":"193c7b027e3027b43267b0d82d514f0b2387800c"},{"author":{"_account_id":17360,"name":"Ishita Mandhan","email":"imandha@us.ibm.com","username":"imandhan"},"change_message_id":"8d160d92c3b50be889ced48e4dd381002f02e380","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"    def get_admin_password(self, context):"},{"line_number":117,"context_line":"        LOG.debug(\"Getting the admin password.\")"},{"line_number":118,"context_line":"        return self.app.admin_password"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def create_user(self, context, users):"},{"line_number":121,"context_line":"        LOG.debug(\"Creating user(s).\")"}],"source_content_type":"text/x-python","patch_set":11,"id":"1af94dfe_3def8bb1","line":118,"in_reply_to":"1af94dfe_1a6a95b3","updated":"2016-03-16 19:47:11.000000000","message":"get_admin_password was unnecessary, removed it.","commit_id":"193c7b027e3027b43267b0d82d514f0b2387800c"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"0787200621be268d7453f5b698a0faf8cc7e1734","unresolved":false,"context_lines":[{"line_number":146,"context_line":"        LOG.debug(\"Listing access.\")"},{"line_number":147,"context_line":"        return service.CouchDBAdmin().list_access(username, hostname)"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"    def enable_root(self, context):"},{"line_number":150,"context_line":"        LOG.debug(\"Enabling root.\")"},{"line_number":151,"context_line":"        return service.CouchDBAdmin().enable_root()"},{"line_number":152,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"1af94dfe_627df91b","line":149,"range":{"start_line":149,"start_character":8,"end_line":149,"end_character":19},"updated":"2016-03-16 19:08:40.000000000","message":"should implement enable_root_with_password instead. This enable_root method is the old version that didnt allow you to pass in a password. This is causing a failure when testing root.","commit_id":"193c7b027e3027b43267b0d82d514f0b2387800c"},{"author":{"_account_id":17360,"name":"Ishita Mandhan","email":"imandha@us.ibm.com","username":"imandhan"},"change_message_id":"8d160d92c3b50be889ced48e4dd381002f02e380","unresolved":false,"context_lines":[{"line_number":146,"context_line":"        LOG.debug(\"Listing access.\")"},{"line_number":147,"context_line":"        return service.CouchDBAdmin().list_access(username, hostname)"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"    def enable_root(self, context):"},{"line_number":150,"context_line":"        LOG.debug(\"Enabling root.\")"},{"line_number":151,"context_line":"        return service.CouchDBAdmin().enable_root()"},{"line_number":152,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"1af94dfe_3d7e6bae","line":149,"range":{"start_line":149,"start_character":8,"end_line":149,"end_character":19},"in_reply_to":"1af94dfe_627df91b","updated":"2016-03-16 19:47:11.000000000","message":"Done","commit_id":"193c7b027e3027b43267b0d82d514f0b2387800c"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"704f9f6068d07b0f2f6a031d029737fa1b282ec6","unresolved":false,"context_lines":[{"line_number":147,"context_line":"        return service.CouchDBAdmin().enable_root()"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"    def enable_root_with_password(self, context, root_password\u003dNone):"},{"line_number":150,"context_line":"        return service.CouchDBAdmin().enable_root(root_password\u003droot_password)"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    def is_root_enabled(self, context):"},{"line_number":153,"context_line":"        LOG.debug(\"Checking if root is enabled.\")"}],"source_content_type":"text/x-python","patch_set":14,"id":"1af94dfe_209804c0","line":150,"range":{"start_line":150,"start_character":50,"end_line":150,"end_character":63},"updated":"2016-03-16 19:50:18.000000000","message":"this should match the service def of the method with params.","commit_id":"dad44a460097d056ca04d5dd081ea12508a582ff"}],"trove/guestagent/datastore/experimental/couchdb/service.py":[{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"a8690d1f79f8894e8a320a340ca9b24300a06aed","unresolved":false,"context_lines":[{"line_number":143,"context_line":"            system.COUCHDB_CREATE_ADMIN, shell\u003dTrue"},{"line_number":144,"context_line":"        )"},{"line_number":145,"context_line":"        LOG.debug(\"Out is %r\" % out)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"        LOG.debug(\u0027Created admin user.\u0027)"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"    def secure(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3afc51ec_68da417a","line":146,"updated":"2016-03-11 17:41:11.000000000","message":"I think you should remove the above debug message or combine these 2 debug messages.","commit_id":"050845f59ed99f1ee1ebec5e04b40dca9735f0fb"},{"author":{"_account_id":17360,"name":"Ishita Mandhan","email":"imandha@us.ibm.com","username":"imandhan"},"change_message_id":"a5e4013457b51c71194bebaaab5445a7d7168551","unresolved":false,"context_lines":[{"line_number":143,"context_line":"            system.COUCHDB_CREATE_ADMIN, shell\u003dTrue"},{"line_number":144,"context_line":"        )"},{"line_number":145,"context_line":"        LOG.debug(\"Out is %r\" % out)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"        LOG.debug(\u0027Created admin user.\u0027)"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"    def secure(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3afc51ec_1800d6a9","line":146,"in_reply_to":"3afc51ec_68da417a","updated":"2016-03-15 00:18:35.000000000","message":"Done","commit_id":"050845f59ed99f1ee1ebec5e04b40dca9735f0fb"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"a8690d1f79f8894e8a320a340ca9b24300a06aed","unresolved":false,"context_lines":[{"line_number":198,"context_line":"    def create_user(self, users):"},{"line_number":199,"context_line":"        LOG.debug(\"Creating user(s) for accessing CouchDB database(s).\")"},{"line_number":200,"context_line":"        try:"},{"line_number":201,"context_line":"            for item in users:"},{"line_number":202,"context_line":"                user \u003d models.MySQLUser()"},{"line_number":203,"context_line":"                user.deserialize(item)"},{"line_number":204,"context_line":"                try:"},{"line_number":205,"context_line":"                    LOG.debug(\"Creating user: %s.\" % user.name)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3afc51ec_e8d77121","line":202,"range":{"start_line":201,"start_character":30,"end_line":202,"end_character":41},"updated":"2016-03-11 17:41:11.000000000","message":"Why is this a MySQLUser","commit_id":"050845f59ed99f1ee1ebec5e04b40dca9735f0fb"},{"author":{"_account_id":17360,"name":"Ishita Mandhan","email":"imandha@us.ibm.com","username":"imandhan"},"change_message_id":"a5e4013457b51c71194bebaaab5445a7d7168551","unresolved":false,"context_lines":[{"line_number":198,"context_line":"    def create_user(self, users):"},{"line_number":199,"context_line":"        LOG.debug(\"Creating user(s) for accessing CouchDB database(s).\")"},{"line_number":200,"context_line":"        try:"},{"line_number":201,"context_line":"            for item in users:"},{"line_number":202,"context_line":"                user \u003d models.MySQLUser()"},{"line_number":203,"context_line":"                user.deserialize(item)"},{"line_number":204,"context_line":"                try:"},{"line_number":205,"context_line":"                    LOG.debug(\"Creating user: %s.\" % user.name)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3afc51ec_aaa6a50d","line":202,"range":{"start_line":201,"start_character":30,"end_line":202,"end_character":41},"in_reply_to":"3afc51ec_e8d77121","updated":"2016-03-15 00:18:35.000000000","message":"Done","commit_id":"050845f59ed99f1ee1ebec5e04b40dca9735f0fb"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"a8690d1f79f8894e8a320a340ca9b24300a06aed","unresolved":false,"context_lines":[{"line_number":429,"context_line":"        LOG.debug(\"Creating CouchDB databases.\")"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        for database in databases:"},{"line_number":432,"context_line":"            dbName \u003d models.MongoDBSchema.deserialize_schema(database).name"},{"line_number":433,"context_line":"            LOG.debug(\u0027Creating CouchDB database %s\u0027 % dbName)"},{"line_number":434,"context_line":"            try:"},{"line_number":435,"context_line":"                utils.execute_with_timeout("}],"source_content_type":"text/x-python","patch_set":6,"id":"3afc51ec_48fe656c","line":432,"range":{"start_line":432,"start_character":28,"end_line":432,"end_character":41},"updated":"2016-03-11 17:41:11.000000000","message":"Why are we using MongoDBSchema here?","commit_id":"050845f59ed99f1ee1ebec5e04b40dca9735f0fb"},{"author":{"_account_id":17360,"name":"Ishita Mandhan","email":"imandha@us.ibm.com","username":"imandhan"},"change_message_id":"a5e4013457b51c71194bebaaab5445a7d7168551","unresolved":false,"context_lines":[{"line_number":429,"context_line":"        LOG.debug(\"Creating CouchDB databases.\")"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        for database in databases:"},{"line_number":432,"context_line":"            dbName \u003d models.MongoDBSchema.deserialize_schema(database).name"},{"line_number":433,"context_line":"            LOG.debug(\u0027Creating CouchDB database %s\u0027 % dbName)"},{"line_number":434,"context_line":"            try:"},{"line_number":435,"context_line":"                utils.execute_with_timeout("}],"source_content_type":"text/x-python","patch_set":6,"id":"3afc51ec_4a860166","line":432,"range":{"start_line":432,"start_character":28,"end_line":432,"end_character":41},"in_reply_to":"3afc51ec_48fe656c","updated":"2016-03-15 00:18:35.000000000","message":"Done","commit_id":"050845f59ed99f1ee1ebec5e04b40dca9735f0fb"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"704f9f6068d07b0f2f6a031d029737fa1b282ec6","unresolved":false,"context_lines":[{"line_number":460,"context_line":"        user \u003d self._get_user(username, hostname)"},{"line_number":461,"context_line":"        return user.databases"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"    def enable_root(self, pwd\u003dNone):"},{"line_number":464,"context_line":"        \u0027\u0027\u0027Create admin user root\u0027\u0027\u0027"},{"line_number":465,"context_line":"        if not pwd:"},{"line_number":466,"context_line":"            LOG.debug(\u0027Generating root user password.\u0027)"}],"source_content_type":"text/x-python","patch_set":14,"id":"1af94dfe_00da2878","line":463,"range":{"start_line":463,"start_character":26,"end_line":463,"end_character":29},"updated":"2016-03-16 19:50:18.000000000","message":"this should be root_password.","commit_id":"dad44a460097d056ca04d5dd081ea12508a582ff"}],"trove/guestagent/datastore/experimental/couchdb/system.py":[{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"a8690d1f79f8894e8a320a340ca9b24300a06aed","unresolved":false,"context_lines":[{"line_number":29,"context_line":"COUCHDB_ADMIN_CREDS_FILE \u003d path.join(path.expanduser(\u0027~\u0027),"},{"line_number":30,"context_line":"                                     \u0027.os_couchdb_admin_creds.jason\u0027)"},{"line_number":31,"context_line":"CREATE_USER_COMMAND \u003d ("},{"line_number":32,"context_line":"    \"curl -X PUT http://os_admin:password@localhost:\" + COUCHDB_HTTPD_PORT +"},{"line_number":33,"context_line":"    \"/_users/org.couchdb.user:%(username)s -H \\\"Accept: application/json\\\"\" +"},{"line_number":34,"context_line":"    \" -H \\\"Content-Type: application/json\\\"\" + \" -d \\\u0027{\\\"name\\\":\""},{"line_number":35,"context_line":"    \" \\\"%(username)s\\\", \\\"password\\\": \\\"%(password)s\\\", \\\"roles\\\": [],\""}],"source_content_type":"text/x-python","patch_set":6,"id":"3afc51ec_686a411c","line":32,"range":{"start_line":32,"start_character":33,"end_line":32,"end_character":41},"updated":"2016-03-11 17:41:11.000000000","message":"These url\u0027s are using hardcoded \u0027password\u0027 as the password.","commit_id":"050845f59ed99f1ee1ebec5e04b40dca9735f0fb"}],"trove/guestagent/db/models.py":[{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"029cf9385172de53ed5c3138c49f450909d12ca5","unresolved":false,"context_lines":[{"line_number":213,"context_line":"            self.name \u003d name"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    @property"},{"line_number":216,"context_line":"    def _max_schema_name_length(self):"},{"line_number":217,"context_line":"        return None"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"    def _is_valid_schema_name(self, value):"}],"source_content_type":"text/x-python","patch_set":10,"id":"1af94dfe_61d225d4","line":216,"range":{"start_line":216,"start_character":8,"end_line":216,"end_character":31},"updated":"2016-03-16 15:22:59.000000000","message":"properties typically don\u0027t start with \u0027_\u0027 but no biggie","commit_id":"d659cf76b69f56441f46c17aa2e2654ca11f065e"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"029cf9385172de53ed5c3138c49f450909d12ca5","unresolved":false,"context_lines":[{"line_number":224,"context_line":"            return False"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    @classmethod"},{"line_number":227,"context_line":"    def _dict_requirements(cls):"},{"line_number":228,"context_line":"        return [\u0027_name\u0027]"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"1af94dfe_c1e1799c","line":227,"range":{"start_line":227,"start_character":8,"end_line":227,"end_character":26},"updated":"2016-03-16 15:22:59.000000000","message":"ditto with classmethods","commit_id":"d659cf76b69f56441f46c17aa2e2654ca11f065e"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"bb63ce960d15f9b04f55adf2ecffc1bfcba462bb","unresolved":false,"context_lines":[{"line_number":213,"context_line":"            self.name \u003d name"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    @property"},{"line_number":216,"context_line":"    def max_schema_name_length(self):"},{"line_number":217,"context_line":"        return None"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"    def _is_valid_schema_name(self, value):"}],"source_content_type":"text/x-python","patch_set":12,"id":"1af94dfe_9adea50f","line":216,"updated":"2016-03-16 19:22:46.000000000","message":"Sorry, I didn\u0027t see that this method is overriding a base method - you\u0027ll have to put the \u0027_\u0027 back  :(\n\nI still believe it shouldn\u0027t have one, but we\u0027d have to change all of them - way more than I\u0027d want to do right now.","commit_id":"50ab9aa0c2ddd23d5c8bdb97b1b2363fe12c9802"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"bb63ce960d15f9b04f55adf2ecffc1bfcba462bb","unresolved":false,"context_lines":[{"line_number":224,"context_line":"            return False"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    @classmethod"},{"line_number":227,"context_line":"    def dict_requirements(cls):"},{"line_number":228,"context_line":"        return [\u0027_name\u0027]"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"1af94dfe_1ad3b505","line":227,"range":{"start_line":227,"start_character":7,"end_line":227,"end_character":8},"updated":"2016-03-16 19:22:46.000000000","message":"same here ....","commit_id":"50ab9aa0c2ddd23d5c8bdb97b1b2363fe12c9802"}],"trove/tests/int_tests.py":[{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"0787200621be268d7453f5b698a0faf8cc7e1734","unresolved":false,"context_lines":[{"line_number":204,"context_line":"register([\"couchbase_supported\"], common_groups, backup_groups,"},{"line_number":205,"context_line":"         root_actions_groups)"},{"line_number":206,"context_line":"register([\"couchdb_supported\"], common_groups, backup_groups,"},{"line_number":207,"context_line":"          user_actions_groups, database_actions_groups, root_actions_groups))"},{"line_number":208,"context_line":"register([\"postgresql_supported\"], common_groups,"},{"line_number":209,"context_line":"         backup_groups, database_actions_groups, configuration_groups,"},{"line_number":210,"context_line":"         root_actions_groups, user_actions_groups)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1af94dfe_e7047b7f","line":207,"range":{"start_line":207,"start_character":76,"end_line":207,"end_character":77},"updated":"2016-03-16 19:08:40.000000000","message":"extra closing paren here","commit_id":"193c7b027e3027b43267b0d82d514f0b2387800c"},{"author":{"_account_id":17360,"name":"Ishita Mandhan","email":"imandha@us.ibm.com","username":"imandhan"},"change_message_id":"8d160d92c3b50be889ced48e4dd381002f02e380","unresolved":false,"context_lines":[{"line_number":204,"context_line":"register([\"couchbase_supported\"], common_groups, backup_groups,"},{"line_number":205,"context_line":"         root_actions_groups)"},{"line_number":206,"context_line":"register([\"couchdb_supported\"], common_groups, backup_groups,"},{"line_number":207,"context_line":"          user_actions_groups, database_actions_groups, root_actions_groups))"},{"line_number":208,"context_line":"register([\"postgresql_supported\"], common_groups,"},{"line_number":209,"context_line":"         backup_groups, database_actions_groups, configuration_groups,"},{"line_number":210,"context_line":"         root_actions_groups, user_actions_groups)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1af94dfe_bd71dbe2","line":207,"range":{"start_line":207,"start_character":76,"end_line":207,"end_character":77},"in_reply_to":"1af94dfe_e7047b7f","updated":"2016-03-16 19:47:11.000000000","message":"Done","commit_id":"193c7b027e3027b43267b0d82d514f0b2387800c"}]}
