)]}'
{"trove/common/cfg.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"da6455610da4a6014cd8080383e076ab295a3c14","unresolved":false,"context_lines":[{"line_number":555,"context_line":"    cfg.StrOpt(\u0027backup_strategy\u0027, default\u003d\u0027InnoBackupEx\u0027,"},{"line_number":556,"context_line":"               help\u003d\u0027Default strategy to perform backups.\u0027,"},{"line_number":557,"context_line":"               deprecated_name\u003d\u0027backup_strategy\u0027,"},{"line_number":558,"context_line":"               deprecated_group\u003d\u0027DEFAULT\u0027),"},{"line_number":559,"context_line":"    cfg.StrOpt(\u0027replication_strategy\u0027, default\u003d\u0027MysqlGTIDReplication\u0027,"},{"line_number":560,"context_line":"               help\u003d\u0027Default strategy for replication.\u0027),"},{"line_number":561,"context_line":"    cfg.StrOpt(\u0027replication_namespace\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_9c4a9cab","line":558,"updated":"2015-08-04 15:53:11.000000000","message":"pxc backup strategy never was a part of DEFAULT section, so don\u0027t need to mention it here.","commit_id":"2fc6a3e68fcef0526a93166dd89b16c1015b42e6"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"c90f414ecd976515b570245917401dec9263d3e8","unresolved":false,"context_lines":[{"line_number":555,"context_line":"    cfg.StrOpt(\u0027backup_strategy\u0027, default\u003d\u0027InnoBackupEx\u0027,"},{"line_number":556,"context_line":"               help\u003d\u0027Default strategy to perform backups.\u0027,"},{"line_number":557,"context_line":"               deprecated_name\u003d\u0027backup_strategy\u0027,"},{"line_number":558,"context_line":"               deprecated_group\u003d\u0027DEFAULT\u0027),"},{"line_number":559,"context_line":"    cfg.StrOpt(\u0027replication_strategy\u0027, default\u003d\u0027MysqlGTIDReplication\u0027,"},{"line_number":560,"context_line":"               help\u003d\u0027Default strategy for replication.\u0027),"},{"line_number":561,"context_line":"    cfg.StrOpt(\u0027replication_namespace\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_725c1e7d","line":558,"in_reply_to":"1a4dcd0f_9c4a9cab","updated":"2015-08-06 18:20:39.000000000","message":"done.","commit_id":"2fc6a3e68fcef0526a93166dd89b16c1015b42e6"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"da6455610da4a6014cd8080383e076ab295a3c14","unresolved":false,"context_lines":[{"line_number":565,"context_line":"               help\u003d\u0027Userid for replication slave.\u0027),"},{"line_number":566,"context_line":"    cfg.StrOpt(\u0027replication_password\u0027, default\u003d\u0027NETOU7897NNLOU\u0027,"},{"line_number":567,"context_line":"               help\u003d\u0027Password for replication slave user.\u0027),"},{"line_number":568,"context_line":"    cfg.StrOpt(\u0027mount_point\u0027, default\u003d\u0027/var/lib/mysql\u0027,"},{"line_number":569,"context_line":"               help\u003d\"Filesystem path for mounting \""},{"line_number":570,"context_line":"                    \"volumes if volume support is enabled.\"),"},{"line_number":571,"context_line":"    cfg.BoolOpt(\u0027root_on_create\u0027, default\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_3cefc888","line":568,"updated":"2015-08-04 15:53:11.000000000","message":"shouldn\u0027t you mount your data into a different location since it is not recommended to put your data /var/lib/mysql.","commit_id":"2fc6a3e68fcef0526a93166dd89b16c1015b42e6"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"eeb72d6a3d9766fc88388e9c3fc22d43c58b4ac6","unresolved":false,"context_lines":[{"line_number":565,"context_line":"               help\u003d\u0027Userid for replication slave.\u0027),"},{"line_number":566,"context_line":"    cfg.StrOpt(\u0027replication_password\u0027, default\u003d\u0027NETOU7897NNLOU\u0027,"},{"line_number":567,"context_line":"               help\u003d\u0027Password for replication slave user.\u0027),"},{"line_number":568,"context_line":"    cfg.StrOpt(\u0027mount_point\u0027, default\u003d\u0027/var/lib/mysql\u0027,"},{"line_number":569,"context_line":"               help\u003d\"Filesystem path for mounting \""},{"line_number":570,"context_line":"                    \"volumes if volume support is enabled.\"),"},{"line_number":571,"context_line":"    cfg.BoolOpt(\u0027root_on_create\u0027, default\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_92684589","line":568,"in_reply_to":"1a4dcd0f_3cefc888","updated":"2015-08-04 16:18:48.000000000","message":"we mount to /var/lib/mysql and put data in /var/lib/mysql/data now.","commit_id":"2fc6a3e68fcef0526a93166dd89b16c1015b42e6"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"a9f668a19290766bc53ebb06ef38fef80f842fd2","unresolved":false,"context_lines":[{"line_number":546,"context_line":""},{"line_number":547,"context_line":"# Percona Xtradb Cluster"},{"line_number":548,"context_line":"pxc_group \u003d cfg.OptGroup("},{"line_number":549,"context_line":"    \u0027pxc\u0027, title\u003d\u0027Percona Xtradb Cluster options\u0027,"},{"line_number":550,"context_line":"    help\u003d\"Oslo option group designed for Percona Xtradb Cluster datastore\")"},{"line_number":551,"context_line":"pxc_opts \u003d ["},{"line_number":552,"context_line":"    cfg.ListOpt(\u0027tcp_ports\u0027, default\u003d[\"3306\", \"4444\", \"4567\", \"4568\"],"}],"source_content_type":"text/x-python","patch_set":17,"id":"da20952f_aa898dcc","line":549,"updated":"2015-08-26 22:42:06.000000000","message":"Where we are using this in a place which is customer visible, we should get the capitalization to be XtraDB.","commit_id":"378f854cbfdb4db9f5ce9eea1671e91c313108f2"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"a3c975683b9188af960538aeb02278c70c40e26f","unresolved":false,"context_lines":[{"line_number":546,"context_line":""},{"line_number":547,"context_line":"# Percona Xtradb Cluster"},{"line_number":548,"context_line":"pxc_group \u003d cfg.OptGroup("},{"line_number":549,"context_line":"    \u0027pxc\u0027, title\u003d\u0027Percona Xtradb Cluster options\u0027,"},{"line_number":550,"context_line":"    help\u003d\"Oslo option group designed for Percona Xtradb Cluster datastore\")"},{"line_number":551,"context_line":"pxc_opts \u003d ["},{"line_number":552,"context_line":"    cfg.ListOpt(\u0027tcp_ports\u0027, default\u003d[\"3306\", \"4444\", \"4567\", \"4568\"],"}],"source_content_type":"text/x-python","patch_set":17,"id":"da20952f_58227053","line":549,"in_reply_to":"da20952f_aa898dcc","updated":"2015-08-31 08:08:00.000000000","message":"Done","commit_id":"378f854cbfdb4db9f5ce9eea1671e91c313108f2"},{"author":{"_account_id":13355,"name":"Edmond Kotowski","email":"ekotowski@gmail.com","username":"ekotowski"},"change_message_id":"56d7630f0f35b36bbcaf667773477c35a8bd4f88","unresolved":false,"context_lines":[{"line_number":566,"context_line":"               help\u003d\u0027Namespace to load replication strategies from.\u0027),"},{"line_number":567,"context_line":"    cfg.StrOpt(\u0027replication_user\u0027, default\u003d\u0027slave_user\u0027,"},{"line_number":568,"context_line":"               help\u003d\u0027Userid for replication slave.\u0027),"},{"line_number":569,"context_line":"    cfg.StrOpt(\u0027replication_password\u0027, default\u003d\u0027NETOU7897NNLOU\u0027,"},{"line_number":570,"context_line":"               help\u003d\u0027Password for replication slave user.\u0027),"},{"line_number":571,"context_line":"    cfg.StrOpt(\u0027mount_point\u0027, default\u003d\u0027/var/lib/mysql\u0027,"},{"line_number":572,"context_line":"               help\u003d\"Filesystem path for mounting \""}],"source_content_type":"text/x-python","patch_set":17,"id":"fa1b9901_786f53fc","line":569,"updated":"2015-08-25 19:13:27.000000000","message":"Looking at mysql section we don\u0027t use replication_password since all we really to ensure is that the master and replica use the same value. Is there any reason we need this?","commit_id":"378f854cbfdb4db9f5ce9eea1671e91c313108f2"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"a3c975683b9188af960538aeb02278c70c40e26f","unresolved":false,"context_lines":[{"line_number":566,"context_line":"               help\u003d\u0027Namespace to load replication strategies from.\u0027),"},{"line_number":567,"context_line":"    cfg.StrOpt(\u0027replication_user\u0027, default\u003d\u0027slave_user\u0027,"},{"line_number":568,"context_line":"               help\u003d\u0027Userid for replication slave.\u0027),"},{"line_number":569,"context_line":"    cfg.StrOpt(\u0027replication_password\u0027, default\u003d\u0027NETOU7897NNLOU\u0027,"},{"line_number":570,"context_line":"               help\u003d\u0027Password for replication slave user.\u0027),"},{"line_number":571,"context_line":"    cfg.StrOpt(\u0027mount_point\u0027, default\u003d\u0027/var/lib/mysql\u0027,"},{"line_number":572,"context_line":"               help\u003d\"Filesystem path for mounting \""}],"source_content_type":"text/x-python","patch_set":17,"id":"da20952f_b8286c34","line":569,"in_reply_to":"fa1b9901_786f53fc","updated":"2015-08-31 08:08:00.000000000","message":"Done","commit_id":"378f854cbfdb4db9f5ce9eea1671e91c313108f2"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"f1ed420ef478ff7ce040330ec82f2b8ea5c0b54b","unresolved":false,"context_lines":[{"line_number":385,"context_line":"    cfg.IntOpt(\u0027restore_usage_timeout\u0027, default\u003d36000,"},{"line_number":386,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest instance \u0027"},{"line_number":387,"context_line":"                    \u0027restored from a backup to become active.\u0027),"},{"line_number":388,"context_line":"    cfg.IntOpt(\u0027cluster_usage_timeout\u0027, default\u003d36000,"},{"line_number":389,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a cluster to \u0027"},{"line_number":390,"context_line":"                    \u0027become active.\u0027),"},{"line_number":391,"context_line":"    cfg.IntOpt(\u0027timeout_wait_for_service\u0027, default\u003d120,"}],"source_content_type":"text/x-python","patch_set":23,"id":"da20952f_89e2299f","line":388,"updated":"2015-09-03 18:32:44.000000000","message":"wow!","commit_id":"89fd3f016a0e732c3176b3e16dcc27dff89cffa2"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"f1ed420ef478ff7ce040330ec82f2b8ea5c0b54b","unresolved":false,"context_lines":[{"line_number":574,"context_line":"                \u0027service during instance-create. The generated password for \u0027"},{"line_number":575,"context_line":"                \u0027the root user is immediately returned in the response of \u0027"},{"line_number":576,"context_line":"                \"instance-create as the \u0027password\u0027 field.\"),"},{"line_number":577,"context_line":"    cfg.IntOpt(\u0027usage_timeout\u0027, default\u003d450,"},{"line_number":578,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest to become \u0027"},{"line_number":579,"context_line":"                    \u0027active.\u0027),"},{"line_number":580,"context_line":"    cfg.StrOpt(\u0027backup_namespace\u0027,"}],"source_content_type":"text/x-python","patch_set":23,"id":"da20952f_29eafd74","line":577,"updated":"2015-09-03 18:32:44.000000000","message":"global usage_timeout is bumped higher than this. Not sure I get this ...","commit_id":"89fd3f016a0e732c3176b3e16dcc27dff89cffa2"}],"trove/common/strategies/cluster/experimental/percona/api.py":[{"author":{"_account_id":13355,"name":"Edmond Kotowski","email":"ekotowski@gmail.com","username":"ekotowski"},"change_message_id":"56d7630f0f35b36bbcaf667773477c35a8bd4f88","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        check_quotas(context.tenant, deltas)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        nics \u003d [instance.get(\u0027nics\u0027, None) for instance in instances]"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        azs \u003d [instance.get(\u0027availability_zone\u0027, None)"},{"line_number":103,"context_line":"               for instance in instances]"}],"source_content_type":"text/x-python","patch_set":17,"id":"fa1b9901_3b2475c3","line":100,"updated":"2015-08-25 19:13:27.000000000","message":"Would we want to throw if the instances are not on the same network, or if any are None?","commit_id":"378f854cbfdb4db9f5ce9eea1671e91c313108f2"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"a3c975683b9188af960538aeb02278c70c40e26f","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        check_quotas(context.tenant, deltas)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        nics \u003d [instance.get(\u0027nics\u0027, None) for instance in instances]"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        azs \u003d [instance.get(\u0027availability_zone\u0027, None)"},{"line_number":103,"context_line":"               for instance in instances]"}],"source_content_type":"text/x-python","patch_set":17,"id":"da20952f_cd3eb727","line":100,"in_reply_to":"fa1b9901_3b2475c3","updated":"2015-08-31 08:08:00.000000000","message":"I think this is a valid point. We should fix this across all the clustered datastores.","commit_id":"378f854cbfdb4db9f5ce9eea1671e91c313108f2"}],"trove/common/strategies/cluster/experimental/percona/taskmanager.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"da6455610da4a6014cd8080383e076ab295a3c14","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            instance_guests \u003d [self.get_guest(instance)"},{"line_number":86,"context_line":"                               for instance in instances]"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"            # Create replication user and password for syncchronizing the"},{"line_number":89,"context_line":"            # PXC cluster"},{"line_number":90,"context_line":"            replication_user \u003d {"},{"line_number":91,"context_line":"                \"name\": self.CLUSTER_REPLICATION_USER,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_5c673425","line":88,"updated":"2015-08-04 15:53:11.000000000","message":"synchronizing","commit_id":"2fc6a3e68fcef0526a93166dd89b16c1015b42e6"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"eeb72d6a3d9766fc88388e9c3fc22d43c58b4ac6","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            instance_guests \u003d [self.get_guest(instance)"},{"line_number":86,"context_line":"                               for instance in instances]"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"            # Create replication user and password for syncchronizing the"},{"line_number":89,"context_line":"            # PXC cluster"},{"line_number":90,"context_line":"            replication_user \u003d {"},{"line_number":91,"context_line":"                \"name\": self.CLUSTER_REPLICATION_USER,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_b26ea12d","line":88,"in_reply_to":"1a4dcd0f_5c673425","updated":"2015-08-04 16:18:48.000000000","message":"i must have been excited about the \u0027c\u0027. :-P","commit_id":"2fc6a3e68fcef0526a93166dd89b16c1015b42e6"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"c90f414ecd976515b570245917401dec9263d3e8","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            instance_guests \u003d [self.get_guest(instance)"},{"line_number":86,"context_line":"                               for instance in instances]"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"            # Create replication user and password for syncchronizing the"},{"line_number":89,"context_line":"            # PXC cluster"},{"line_number":90,"context_line":"            replication_user \u003d {"},{"line_number":91,"context_line":"                \"name\": self.CLUSTER_REPLICATION_USER,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_f2482eb5","line":88,"in_reply_to":"1a4dcd0f_b26ea12d","updated":"2015-08-06 18:20:39.000000000","message":"Done","commit_id":"2fc6a3e68fcef0526a93166dd89b16c1015b42e6"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"da6455610da4a6014cd8080383e076ab295a3c14","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            # uuid string so we remove the hyphens and chop it off. It was"},{"line_number":97,"context_line":"            # recommended to be 16 chars or less."},{"line_number":98,"context_line":"            # (this is not currently documented on PXC docs)"},{"line_number":99,"context_line":"            cluster_name \u003d utils.generate_uuid().replace(\"-\", \"\")[:16]"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"            LOG.debug(\"Configuring cluster configuration.\")"},{"line_number":102,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_3c4b4889","line":99,"updated":"2015-08-04 15:53:11.000000000","message":"shouldn\u0027t cluster name come from REST and then validate if it\u0027s unique across user clusters ?","commit_id":"2fc6a3e68fcef0526a93166dd89b16c1015b42e6"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"3ab6b1022fc846c98909d0429d93ee6b16d27c34","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            # uuid string so we remove the hyphens and chop it off. It was"},{"line_number":97,"context_line":"            # recommended to be 16 chars or less."},{"line_number":98,"context_line":"            # (this is not currently documented on PXC docs)"},{"line_number":99,"context_line":"            cluster_name \u003d utils.generate_uuid().replace(\"-\", \"\")[:16]"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"            LOG.debug(\"Configuring cluster configuration.\")"},{"line_number":102,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_35383ba0","line":99,"in_reply_to":"1a4dcd0f_3205b179","updated":"2015-08-04 16:28:52.000000000","message":"i mean, shouldn\u0027t it be the same name as users passes as part of create request body?","commit_id":"2fc6a3e68fcef0526a93166dd89b16c1015b42e6"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"cffca49aa1cad9d69cb3ce8f185f8667a8fa0282","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            # uuid string so we remove the hyphens and chop it off. It was"},{"line_number":97,"context_line":"            # recommended to be 16 chars or less."},{"line_number":98,"context_line":"            # (this is not currently documented on PXC docs)"},{"line_number":99,"context_line":"            cluster_name \u003d utils.generate_uuid().replace(\"-\", \"\")[:16]"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"            LOG.debug(\"Configuring cluster configuration.\")"},{"line_number":102,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_b5e8cbe3","line":99,"in_reply_to":"1a4dcd0f_35383ba0","updated":"2015-08-04 16:31:38.000000000","message":"its a combination... example.\n\ncluster name entered: pxc55-working\ninstance names created: pxc55-working-member-1, pxc55-working-member-2, pxc55-working-member-3","commit_id":"2fc6a3e68fcef0526a93166dd89b16c1015b42e6"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"eeb72d6a3d9766fc88388e9c3fc22d43c58b4ac6","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            # uuid string so we remove the hyphens and chop it off. It was"},{"line_number":97,"context_line":"            # recommended to be 16 chars or less."},{"line_number":98,"context_line":"            # (this is not currently documented on PXC docs)"},{"line_number":99,"context_line":"            cluster_name \u003d utils.generate_uuid().replace(\"-\", \"\")[:16]"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"            LOG.debug(\"Configuring cluster configuration.\")"},{"line_number":102,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_3205b179","line":99,"in_reply_to":"1a4dcd0f_3c4b4889","updated":"2015-08-04 16:18:48.000000000","message":"this is following the other cluster name creation. A user typically will not see these names and only their cluster unless they list the instances of a cluster.","commit_id":"2fc6a3e68fcef0526a93166dd89b16c1015b42e6"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"f1591f6ca385e2ca68a06f1cfc85fa02298e6b8b","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            # uuid string so we remove the hyphens and chop it off. It was"},{"line_number":97,"context_line":"            # recommended to be 16 chars or less."},{"line_number":98,"context_line":"            # (this is not currently documented on PXC docs)"},{"line_number":99,"context_line":"            cluster_name \u003d utils.generate_uuid().replace(\"-\", \"\")[:16]"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"            LOG.debug(\"Configuring cluster configuration.\")"},{"line_number":102,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_7559e359","line":99,"in_reply_to":"1a4dcd0f_b5e8cbe3","updated":"2015-08-04 16:41:54.000000000","message":"oh wait scratch that... This is the cluster name that goes in the configuration file for the cluster. Its required to be unique and of a short size. (length 16 or less). So i decided to make this a random string because it doesnt really matter as long as it matches on the cluster nodes.","commit_id":"2fc6a3e68fcef0526a93166dd89b16c1015b42e6"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"da6455610da4a6014cd8080383e076ab295a3c14","unresolved":false,"context_lines":[{"line_number":103,"context_line":"                # Set the admin password for all the instances because the"},{"line_number":104,"context_line":"                # password in the my.cnf will be wrong after the joiner"},{"line_number":105,"context_line":"                # instances syncs with the donor instance."},{"line_number":106,"context_line":"                admin_password \u003d str(utils.generate_random_password())"},{"line_number":107,"context_line":"                for guest in instance_guests:"},{"line_number":108,"context_line":"                    guest.reset_admin_password(admin_password)"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_3f5fbae6","line":106,"range":{"start_line":106,"start_character":16,"end_line":106,"end_character":70},"updated":"2015-08-04 15:53:11.000000000","message":"this probably also should come through REST, or at least user should be able to get this password","commit_id":"2fc6a3e68fcef0526a93166dd89b16c1015b42e6"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"eeb72d6a3d9766fc88388e9c3fc22d43c58b4ac6","unresolved":false,"context_lines":[{"line_number":103,"context_line":"                # Set the admin password for all the instances because the"},{"line_number":104,"context_line":"                # password in the my.cnf will be wrong after the joiner"},{"line_number":105,"context_line":"                # instances syncs with the donor instance."},{"line_number":106,"context_line":"                admin_password \u003d str(utils.generate_random_password())"},{"line_number":107,"context_line":"                for guest in instance_guests:"},{"line_number":108,"context_line":"                    guest.reset_admin_password(admin_password)"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_52939d4f","line":106,"range":{"start_line":106,"start_character":16,"end_line":106,"end_character":70},"in_reply_to":"1a4dcd0f_3f5fbae6","updated":"2015-08-04 16:18:48.000000000","message":"no a user should not get this password because its the os_admin password that allows us to manage the state of the instance(s).","commit_id":"2fc6a3e68fcef0526a93166dd89b16c1015b42e6"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"aa3c53389b40310302bc51aa78a1b1bbefa31727","unresolved":false,"context_lines":[{"line_number":72,"context_line":"            db_instances \u003d DBInstance.find_all(cluster_id\u003dcluster_id).all()"},{"line_number":73,"context_line":"            instance_ids \u003d [db_instance.id for db_instance in db_instances]"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"            LOG.debug(\"waiting for the instances to go active....\")"},{"line_number":76,"context_line":"            # Wait for cluster members to get to cluster-ready status."},{"line_number":77,"context_line":"            if not self._all_instances_ready(instance_ids, cluster_id):"},{"line_number":78,"context_line":"                return"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_60f763d3","line":75,"updated":"2015-08-12 19:00:51.000000000","message":"to go active? \nstatus could not be active at this point.","commit_id":"741063e9aceeedd16fc658b16b88074d5b50a75f"},{"author":{"_account_id":13355,"name":"Edmond Kotowski","email":"ekotowski@gmail.com","username":"ekotowski"},"change_message_id":"56d7630f0f35b36bbcaf667773477c35a8bd4f88","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        LOG.debug(\"Begin create_cluster for id: %s.\" % cluster_id)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        def _render_cluster_config(instance, cluster_ips, cluster_name,"},{"line_number":53,"context_line":"                                   replication_user):"},{"line_number":54,"context_line":"            client \u003d create_nova_client(context)"},{"line_number":55,"context_line":"            flavor \u003d client.flavors.get(instance.flavor_id)"},{"line_number":56,"context_line":"            instance_ip \u003d self.get_ip(instance)"}],"source_content_type":"text/x-python","patch_set":17,"id":"fa1b9901_feb82b13","line":53,"updated":"2015-08-25 19:13:27.000000000","message":"Why define _render_cluster_config and _create_cluster within the scope of create_cluster? Seems better to just make it a method on PerconaClusterTasks and then call it using self._create_cluster and self._render_cluster_config within create_cluster.","commit_id":"378f854cbfdb4db9f5ce9eea1671e91c313108f2"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"a3c975683b9188af960538aeb02278c70c40e26f","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        LOG.debug(\"Begin create_cluster for id: %s.\" % cluster_id)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        def _render_cluster_config(instance, cluster_ips, cluster_name,"},{"line_number":53,"context_line":"                                   replication_user):"},{"line_number":54,"context_line":"            client \u003d create_nova_client(context)"},{"line_number":55,"context_line":"            flavor \u003d client.flavors.get(instance.flavor_id)"},{"line_number":56,"context_line":"            instance_ip \u003d self.get_ip(instance)"}],"source_content_type":"text/x-python","patch_set":17,"id":"da20952f_f8a7c4ba","line":53,"in_reply_to":"fa1b9901_feb82b13","updated":"2015-08-31 08:08:00.000000000","message":"Done","commit_id":"378f854cbfdb4db9f5ce9eea1671e91c313108f2"}],"trove/guestagent/common/operating_system.py":[{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"aa3c53389b40310302bc51aa78a1b1bbefa31727","unresolved":false,"context_lines":[{"line_number":293,"context_line":"            result[\u0027cmd_start\u0027] \u003d \"sudo service %s start\" % service"},{"line_number":294,"context_line":"            result[\u0027cmd_stop\u0027] \u003d \"sudo service %s stop\" % service"},{"line_number":295,"context_line":"            result[\u0027cmd_bootstrap_pxc_cluster\u0027] \u003d (\"sudo service \""},{"line_number":296,"context_line":"                                                   \"%s bootstrap-pxc\""},{"line_number":297,"context_line":"                                                   % service)"},{"line_number":298,"context_line":"            if os.path.isfile(\"/usr/sbin/update-rc.d\"):"},{"line_number":299,"context_line":"                result[\u0027cmd_enable\u0027] \u003d \"sudo update-rc.d %s defaults; sudo \" \\"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_00f1bf94","line":296,"updated":"2015-08-12 19:00:51.000000000","message":"i doubt on qualification of this one in operating_system, for eg. it wont work for service\u003dpostgresql.","commit_id":"741063e9aceeedd16fc658b16b88074d5b50a75f"}],"trove/guestagent/datastore/experimental/pxc/manager.py":[{"author":{"_account_id":10440,"name":"Alex Tomic","email":"atomic777@gmail.com","username":"atomic77"},"change_message_id":"c78e6440c3f37d0a87712df1adb634500300de20","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        LOG.debug(\"Securing MySQL now.\")"},{"line_number":97,"context_line":"        app.secure(config_contents, overrides)"},{"line_number":98,"context_line":"        enable_root_on_restore \u003d (backup_info and"},{"line_number":99,"context_line":"                                  MySqlAdmin().is_root_enabled())"},{"line_number":100,"context_line":"        if root_password and not backup_info:"},{"line_number":101,"context_line":"            app.secure_root(secure_remote_root\u003dTrue)"},{"line_number":102,"context_line":"            MySqlAdmin().enable_root(root_password)"}],"source_content_type":"text/x-python","patch_set":21,"id":"da20952f_e62e2ca4","line":99,"updated":"2015-08-31 14:54:25.000000000","message":"Same here","commit_id":"e68ed42a0d444429e7f20490d3eeeb32859d60cb"},{"author":{"_account_id":10440,"name":"Alex Tomic","email":"atomic777@gmail.com","username":"atomic77"},"change_message_id":"c78e6440c3f37d0a87712df1adb634500300de20","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                                  MySqlAdmin().is_root_enabled())"},{"line_number":100,"context_line":"        if root_password and not backup_info:"},{"line_number":101,"context_line":"            app.secure_root(secure_remote_root\u003dTrue)"},{"line_number":102,"context_line":"            MySqlAdmin().enable_root(root_password)"},{"line_number":103,"context_line":"        elif enable_root_on_restore:"},{"line_number":104,"context_line":"            app.secure_root(secure_remote_root\u003dFalse)"},{"line_number":105,"context_line":"            app.get().report_root(context, \u0027root\u0027)"}],"source_content_type":"text/x-python","patch_set":21,"id":"da20952f_86a17048","line":102,"range":{"start_line":102,"start_character":12,"end_line":102,"end_character":22},"updated":"2015-08-31 14:54:25.000000000","message":"Looks like a stale reference to the old module here","commit_id":"e68ed42a0d444429e7f20490d3eeeb32859d60cb"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"364229f5e4ddc5c1b534ace31746d991d2e8dba5","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                                  MySqlAdmin().is_root_enabled())"},{"line_number":100,"context_line":"        if root_password and not backup_info:"},{"line_number":101,"context_line":"            app.secure_root(secure_remote_root\u003dTrue)"},{"line_number":102,"context_line":"            MySqlAdmin().enable_root(root_password)"},{"line_number":103,"context_line":"        elif enable_root_on_restore:"},{"line_number":104,"context_line":"            app.secure_root(secure_remote_root\u003dFalse)"},{"line_number":105,"context_line":"            app.get().report_root(context, \u0027root\u0027)"}],"source_content_type":"text/x-python","patch_set":21,"id":"da20952f_0458f354","line":102,"range":{"start_line":102,"start_character":12,"end_line":102,"end_character":22},"in_reply_to":"da20952f_86a17048","updated":"2015-08-31 16:34:14.000000000","message":"hmm seems to work if you dont enable the root password here and dont have a backup_info. Lets mark this as a bug.\n\nMoving this manager around was quite painful but i think this is just some fall out.","commit_id":"e68ed42a0d444429e7f20490d3eeeb32859d60cb"}],"trove/guestagent/datastore/experimental/pxc/service.py":[{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"22b073c4fe3929a81f6d786b448c32db0b028462","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        self._apply_user_overrides(overrides)"},{"line_number":78,"context_line":"        self.start_mysql()"},{"line_number":79,"context_line":"        # TODO(cp16net) figure out reason for PXC not updating the password"},{"line_number":80,"context_line":"        try:"},{"line_number":81,"context_line":"            with LocalSqlClient(engine) as client:"},{"line_number":82,"context_line":"                query \u003d text(\"select Host, User from mysql.user;\")"},{"line_number":83,"context_line":"                client.execute(query)"}],"source_content_type":"text/x-python","patch_set":21,"id":"da20952f_cda44e4c","line":80,"updated":"2015-08-31 23:59:36.000000000","message":"Seems like a this is for debugging purposes.","commit_id":"e68ed42a0d444429e7f20490d3eeeb32859d60cb"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"3b098a1c61526b811f03750ab32d8d09f2c40e2a","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        self._apply_user_overrides(overrides)"},{"line_number":78,"context_line":"        self.start_mysql()"},{"line_number":79,"context_line":"        # TODO(cp16net) figure out reason for PXC not updating the password"},{"line_number":80,"context_line":"        try:"},{"line_number":81,"context_line":"            with LocalSqlClient(engine) as client:"},{"line_number":82,"context_line":"                query \u003d text(\"select Host, User from mysql.user;\")"},{"line_number":83,"context_line":"                client.execute(query)"}],"source_content_type":"text/x-python","patch_set":21,"id":"da20952f_cdad2dea","line":80,"in_reply_to":"da20952f_cda44e4c","updated":"2015-09-01 00:07:08.000000000","message":"i think everyone is on the same page but just removing it causes the os_admin user to not be created.","commit_id":"e68ed42a0d444429e7f20490d3eeeb32859d60cb"}],"trove/guestagent/datastore/mysql/manager.py":[{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"aa3c53389b40310302bc51aa78a1b1bbefa31727","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        app.complete_install_or_restart()"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"        if cluster_config:"},{"line_number":173,"context_line":"            app.status.set_status(rd_instance.ServiceStatuses.BUILD_PENDING)"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        if databases:"},{"line_number":176,"context_line":"            self.create_database(context, databases)"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_80814fc5","line":173,"updated":"2015-08-12 19:00:51.000000000","message":"but before this executes the instance would go into active state.","commit_id":"741063e9aceeedd16fc658b16b88074d5b50a75f"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"0960ede480a0c51b7e497628bbbdd39f3a50163c","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        app.complete_install_or_restart()"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"        if cluster_config:"},{"line_number":173,"context_line":"            app.status.set_status(rd_instance.ServiceStatuses.BUILD_PENDING)"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        if databases:"},{"line_number":176,"context_line":"            self.create_database(context, databases)"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_c0494534","line":173,"in_reply_to":"1a4dcd0f_28b4d07f","updated":"2015-08-14 06:05:38.000000000","message":"the condition is dealt separately, currently mongodb and vertica are doing clusters and way they treat is with a separate condition \"if cluster_config is None:\"","commit_id":"741063e9aceeedd16fc658b16b88074d5b50a75f"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"9252ef93c3cb91ab336ddd35ba017e7fee880092","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        app.complete_install_or_restart()"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"        if cluster_config:"},{"line_number":173,"context_line":"            app.status.set_status(rd_instance.ServiceStatuses.BUILD_PENDING)"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        if databases:"},{"line_number":176,"context_line":"            self.create_database(context, databases)"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_28b4d07f","line":173,"in_reply_to":"1a4dcd0f_80814fc5","updated":"2015-08-13 05:30:32.000000000","message":"Actually, when you set the BUILD_PENDING before this point the taskmanager will try to continue with the cluster setup calls before this is complete causing a race condition for failure.\n\nThis is the way all the other managers handle a cluster until the other patch that fixes this race condition is merged.","commit_id":"741063e9aceeedd16fc658b16b88074d5b50a75f"}],"trove/guestagent/datastore/mysql/service.py":[{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"aa3c53389b40310302bc51aa78a1b1bbefa31727","unresolved":false,"context_lines":[{"line_number":631,"context_line":"            packager.pkg_install(packages, pkg_opts, self.TIME_OUT)"},{"line_number":632,"context_line":"            self._create_mysql_confd_dir()"},{"line_number":633,"context_line":"            LOG.info(_(\"Finished installing MySQL server.\"))"},{"line_number":634,"context_line":"        self.start_mysql(disable_on_boot\u003dTrue)"},{"line_number":635,"context_line":""},{"line_number":636,"context_line":"    def complete_install_or_restart(self):"},{"line_number":637,"context_line":"        self.status.end_install_or_restart()"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_00e45fa9","line":634,"updated":"2015-08-12 19:00:51.000000000","message":"won\u0027t it cause problem for normal mysql workflow.","commit_id":"741063e9aceeedd16fc658b16b88074d5b50a75f"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"9252ef93c3cb91ab336ddd35ba017e7fee880092","unresolved":false,"context_lines":[{"line_number":631,"context_line":"            packager.pkg_install(packages, pkg_opts, self.TIME_OUT)"},{"line_number":632,"context_line":"            self._create_mysql_confd_dir()"},{"line_number":633,"context_line":"            LOG.info(_(\"Finished installing MySQL server.\"))"},{"line_number":634,"context_line":"        self.start_mysql(disable_on_boot\u003dTrue)"},{"line_number":635,"context_line":""},{"line_number":636,"context_line":"    def complete_install_or_restart(self):"},{"line_number":637,"context_line":"        self.status.end_install_or_restart()"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_a301e3b0","line":634,"in_reply_to":"1a4dcd0f_00e45fa9","updated":"2015-08-13 05:30:32.000000000","message":"No, this was because there was a race condition of the instance running upstart on boot to start mysql after the guest had started and stopped it already in the prepare. \n\nThe guest would stop mysql to setup the volume and wait for it to be stopped but, upstart was starting mysql at the same time. Causing mysql to be running and then the instance would get hung up and never complete the prepare call.\n\nThis would happen about 30-50% of the time when i was testing. \n\nMy solution to this was to disable mysql on boot in the image and here, so upstart would not override the guest stopping mysql.","commit_id":"741063e9aceeedd16fc658b16b88074d5b50a75f"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"aa3c53389b40310302bc51aa78a1b1bbefa31727","unresolved":false,"context_lines":[{"line_number":666,"context_line":"                                          echo\u003dTrue)"},{"line_number":667,"context_line":"        with LocalSqlClient(engine) as client:"},{"line_number":668,"context_line":"            self._remove_anonymous_user(client)"},{"line_number":669,"context_line":"            LOG.debug(\"removed anon user\")"},{"line_number":670,"context_line":"            self._create_admin_user(client, admin_password)"},{"line_number":671,"context_line":"            LOG.debug(\"created admin user/pass\")"},{"line_number":672,"context_line":"        self.stop_db()"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_a0e9eb80","line":669,"updated":"2015-08-12 19:00:51.000000000","message":"which user?","commit_id":"741063e9aceeedd16fc658b16b88074d5b50a75f"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"9252ef93c3cb91ab336ddd35ba017e7fee880092","unresolved":false,"context_lines":[{"line_number":666,"context_line":"                                          echo\u003dTrue)"},{"line_number":667,"context_line":"        with LocalSqlClient(engine) as client:"},{"line_number":668,"context_line":"            self._remove_anonymous_user(client)"},{"line_number":669,"context_line":"            LOG.debug(\"removed anon user\")"},{"line_number":670,"context_line":"            self._create_admin_user(client, admin_password)"},{"line_number":671,"context_line":"            LOG.debug(\"created admin user/pass\")"},{"line_number":672,"context_line":"        self.stop_db()"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_63a3dbb2","line":669,"in_reply_to":"1a4dcd0f_a0e9eb80","updated":"2015-08-13 05:30:32.000000000","message":"removed","commit_id":"741063e9aceeedd16fc658b16b88074d5b50a75f"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"aa3c53389b40310302bc51aa78a1b1bbefa31727","unresolved":false,"context_lines":[{"line_number":674,"context_line":"        self._write_mycnf(None, config_contents, overrides)"},{"line_number":675,"context_line":"        LOG.debug(\"write the mysql config and overrides and all that stuff\")"},{"line_number":676,"context_line":"        self.start_mysql(update_db\u003dFalse)"},{"line_number":677,"context_line":"        # TODO(cp16net) should remove this..."},{"line_number":678,"context_line":"        try:"},{"line_number":679,"context_line":"            with LocalSqlClient(engine) as client:"},{"line_number":680,"context_line":"                query \u003d text(\"select Host, User, Password from mysql.user;\")"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_608763b5","line":677,"updated":"2015-08-12 19:00:51.000000000","message":"when would it be removed, did u forget this one.","commit_id":"741063e9aceeedd16fc658b16b88074d5b50a75f"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"9252ef93c3cb91ab336ddd35ba017e7fee880092","unresolved":false,"context_lines":[{"line_number":674,"context_line":"        self._write_mycnf(None, config_contents, overrides)"},{"line_number":675,"context_line":"        LOG.debug(\"write the mysql config and overrides and all that stuff\")"},{"line_number":676,"context_line":"        self.start_mysql(update_db\u003dFalse)"},{"line_number":677,"context_line":"        # TODO(cp16net) should remove this..."},{"line_number":678,"context_line":"        try:"},{"line_number":679,"context_line":"            with LocalSqlClient(engine) as client:"},{"line_number":680,"context_line":"                query \u003d text(\"select Host, User, Password from mysql.user;\")"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_a3c6c365","line":677,"in_reply_to":"1a4dcd0f_608763b5","updated":"2015-08-13 05:30:32.000000000","message":"Done","commit_id":"741063e9aceeedd16fc658b16b88074d5b50a75f"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"aa3c53389b40310302bc51aa78a1b1bbefa31727","unresolved":false,"context_lines":[{"line_number":680,"context_line":"                query \u003d text(\"select Host, User, Password from mysql.user;\")"},{"line_number":681,"context_line":"                output \u003d client.execute(query)"},{"line_number":682,"context_line":"                for line in output:"},{"line_number":683,"context_line":"                    LOG.debug(line)"},{"line_number":684,"context_line":"        except Exception:"},{"line_number":685,"context_line":"            LOG.debug(\u0027failed to query mysql\u0027)"},{"line_number":686,"context_line":"        # creating the admin user after the config files are written because"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_408ca7d9","line":683,"updated":"2015-08-12 19:00:51.000000000","message":"are we ok with printing the passwords of user, does it holds any risk, even though they are encrypted.","commit_id":"741063e9aceeedd16fc658b16b88074d5b50a75f"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"9252ef93c3cb91ab336ddd35ba017e7fee880092","unresolved":false,"context_lines":[{"line_number":680,"context_line":"                query \u003d text(\"select Host, User, Password from mysql.user;\")"},{"line_number":681,"context_line":"                output \u003d client.execute(query)"},{"line_number":682,"context_line":"                for line in output:"},{"line_number":683,"context_line":"                    LOG.debug(line)"},{"line_number":684,"context_line":"        except Exception:"},{"line_number":685,"context_line":"            LOG.debug(\u0027failed to query mysql\u0027)"},{"line_number":686,"context_line":"        # creating the admin user after the config files are written because"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_36d441ea","line":683,"in_reply_to":"1a4dcd0f_408ca7d9","updated":"2015-08-13 05:30:32.000000000","message":"no thats why it should have been removed. This was some debug info i was trying to figure out why the os_admin user wasnt being created.\n\nremoved.","commit_id":"741063e9aceeedd16fc658b16b88074d5b50a75f"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"aa3c53389b40310302bc51aa78a1b1bbefa31727","unresolved":false,"context_lines":[{"line_number":693,"context_line":"        self.stop_db()"},{"line_number":694,"context_line":"        self._write_mycnf(admin_password, config_contents, overrides)"},{"line_number":695,"context_line":"        self.start_mysql()"},{"line_number":696,"context_line":"        self.wait_for_mysql_to_be_really_alive(120)"},{"line_number":697,"context_line":"        LOG.debug(\"MySQL secure complete.\")"},{"line_number":698,"context_line":""},{"line_number":699,"context_line":"    def secure_root(self, secure_remote_root\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_a0b7ab83","line":696,"updated":"2015-08-12 19:00:51.000000000","message":"should this number be configurable","commit_id":"741063e9aceeedd16fc658b16b88074d5b50a75f"},{"author":{"_account_id":13355,"name":"Edmond Kotowski","email":"ekotowski@gmail.com","username":"ekotowski"},"change_message_id":"56d7630f0f35b36bbcaf667773477c35a8bd4f88","unresolved":false,"context_lines":[{"line_number":636,"context_line":"    def _wait_for_mysql_to_be_really_alive(self, max_time):"},{"line_number":637,"context_line":"        WAIT_TIME \u003d 3"},{"line_number":638,"context_line":"        waited_time \u003d 0"},{"line_number":639,"context_line":"        while waited_time \u003c max_time:"},{"line_number":640,"context_line":"            time.sleep(WAIT_TIME)"},{"line_number":641,"context_line":"            waited_time +\u003d WAIT_TIME"},{"line_number":642,"context_line":"            if self._test_mysql():"}],"source_content_type":"text/x-python","patch_set":17,"id":"fa1b9901_9e89ef28","line":639,"updated":"2015-08-25 19:13:27.000000000","message":"Use utils.poll_until for this.","commit_id":"378f854cbfdb4db9f5ce9eea1671e91c313108f2"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"a3c975683b9188af960538aeb02278c70c40e26f","unresolved":false,"context_lines":[{"line_number":636,"context_line":"    def _wait_for_mysql_to_be_really_alive(self, max_time):"},{"line_number":637,"context_line":"        WAIT_TIME \u003d 3"},{"line_number":638,"context_line":"        waited_time \u003d 0"},{"line_number":639,"context_line":"        while waited_time \u003c max_time:"},{"line_number":640,"context_line":"            time.sleep(WAIT_TIME)"},{"line_number":641,"context_line":"            waited_time +\u003d WAIT_TIME"},{"line_number":642,"context_line":"            if self._test_mysql():"}],"source_content_type":"text/x-python","patch_set":17,"id":"da20952f_2ddf330e","line":639,"in_reply_to":"fa1b9901_9e89ef28","updated":"2015-08-31 08:08:00.000000000","message":"Done","commit_id":"378f854cbfdb4db9f5ce9eea1671e91c313108f2"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"a9f668a19290766bc53ebb06ef38fef80f842fd2","unresolved":false,"context_lines":[{"line_number":658,"context_line":"        self.start_mysql()"},{"line_number":659,"context_line":"        # self.start_mysql(update_db\u003dFalse)"},{"line_number":660,"context_line":"        try:"},{"line_number":661,"context_line":"            with LocalSqlClient(engine) as client:"},{"line_number":662,"context_line":"                query \u003d text(\"select Host, User from mysql.user;\")"},{"line_number":663,"context_line":"                client.execute(query)"},{"line_number":664,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":17,"id":"da20952f_50798492","line":661,"updated":"2015-08-26 22:42:06.000000000","message":"this may be debug code, as with the commented line above. Maybe some cleanup required here.","commit_id":"378f854cbfdb4db9f5ce9eea1671e91c313108f2"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"ffc8439e122616ebe1ab717bab7949596aa6f290","unresolved":false,"context_lines":[{"line_number":658,"context_line":"        self.start_mysql()"},{"line_number":659,"context_line":"        # self.start_mysql(update_db\u003dFalse)"},{"line_number":660,"context_line":"        try:"},{"line_number":661,"context_line":"            with LocalSqlClient(engine) as client:"},{"line_number":662,"context_line":"                query \u003d text(\"select Host, User from mysql.user;\")"},{"line_number":663,"context_line":"                client.execute(query)"},{"line_number":664,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":17,"id":"da20952f_71852a05","line":661,"in_reply_to":"da20952f_50798492","updated":"2015-08-29 06:47:35.000000000","message":"agreed i\u0027ll add something to remind me.","commit_id":"378f854cbfdb4db9f5ce9eea1671e91c313108f2"}],"trove/tests/api/pxc.py":[{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"aa3c53389b40310302bc51aa78a1b1bbefa31727","unresolved":false,"context_lines":[{"line_number":41,"context_line":"PXC_GROUP \u003d \"dbaas.api.pxc\""},{"line_number":42,"context_line":"TIMEOUT \u003d 2300"},{"line_number":43,"context_line":"SLEEP_TIME \u003d 60"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"@test(depends_on_groups\u003d[GROUP_START_SIMPLE], groups\u003d[PXC_GROUP],"},{"line_number":47,"context_line":"      runs_after\u003d[WaitForGuestInstallationToFinish])"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_9ba69e0d","line":44,"updated":"2015-08-12 19:00:51.000000000","message":"this complete module is very similar to Vertica integration tests except test_cluster_communication\n\nIt would be a good idea to reuse the Vertica tests and adding new tests","commit_id":"741063e9aceeedd16fc658b16b88074d5b50a75f"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"0960ede480a0c51b7e497628bbbdd39f3a50163c","unresolved":false,"context_lines":[{"line_number":41,"context_line":"PXC_GROUP \u003d \"dbaas.api.pxc\""},{"line_number":42,"context_line":"TIMEOUT \u003d 2300"},{"line_number":43,"context_line":"SLEEP_TIME \u003d 60"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"@test(depends_on_groups\u003d[GROUP_START_SIMPLE], groups\u003d[PXC_GROUP],"},{"line_number":47,"context_line":"      runs_after\u003d[WaitForGuestInstallationToFinish])"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_40869517","line":44,"in_reply_to":"1a4dcd0f_6afacb44","updated":"2015-08-14 06:05:38.000000000","message":"the suggested patch is making it completely different, but u can still make use of earlier written code, instead of copying it\n\ni am leaving it for other reviewers to also decide on this one.\n\ni am not gonna -1 for this reason","commit_id":"741063e9aceeedd16fc658b16b88074d5b50a75f"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"9252ef93c3cb91ab336ddd35ba017e7fee880092","unresolved":false,"context_lines":[{"line_number":41,"context_line":"PXC_GROUP \u003d \"dbaas.api.pxc\""},{"line_number":42,"context_line":"TIMEOUT \u003d 2300"},{"line_number":43,"context_line":"SLEEP_TIME \u003d 60"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"@test(depends_on_groups\u003d[GROUP_START_SIMPLE], groups\u003d[PXC_GROUP],"},{"line_number":47,"context_line":"      runs_after\u003d[WaitForGuestInstallationToFinish])"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_6afacb44","line":44,"in_reply_to":"1a4dcd0f_9ba69e0d","updated":"2015-08-13 05:30:32.000000000","message":"I think this will be easier after this patch is added.\n\nhttps://review.openstack.org/#/c/203274/\n\nwe can make a bug that mentions this so that we dont forget to make this change later.","commit_id":"741063e9aceeedd16fc658b16b88074d5b50a75f"}],"trove/tests/unittests/guestagent/test_dbaas.py":[{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"3e2df05f2b7e7f0b903e3c6dc9ce15a1cf3c2a8f","unresolved":false,"context_lines":[{"line_number":1282,"context_line":"                         \"Sql statements are not the same\")"},{"line_number":1283,"context_line":""},{"line_number":1284,"context_line":""},{"line_number":1285,"context_line":"class MySqlAppInstallTest(MySqlAppTest):"},{"line_number":1286,"context_line":""},{"line_number":1287,"context_line":"    def setUp(self):"},{"line_number":1288,"context_line":"        super(MySqlAppInstallTest, self).setUp()"}],"source_content_type":"text/x-python","patch_set":16,"id":"fa1b9901_c518f920","side":"PARENT","line":1285,"updated":"2015-08-19 18:28:52.000000000","message":"by removing this class we cut down i think 31 tests that were running 2 times. No need to run them over again.","commit_id":"5daa2d6aa06c56482c3e65d52469743cfcf54535"}]}
