)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"4775b5b12b38eb76b73a50e50c5646f787320499","unresolved":false,"context_lines":[{"line_number":9,"context_line":"In order to add management console functionality to Vertica"},{"line_number":10,"context_line":"a master node is needed in the Vertica cluster. Changes are"},{"line_number":11,"context_line":"made to rename the type of one instance is the cluster as"},{"line_number":12,"context_line":"master."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Install_cluster and root enable api are directed to go to the"},{"line_number":15,"context_line":"master node of the cluster."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a50d1a3_e1910b48","line":12,"updated":"2015-07-23 17:59:22.000000000","message":"\"in the cluster\"","commit_id":"d13c5e33eed5d445ae7f47c7b67a17d1e7cd72c8"},{"author":{"_account_id":16132,"name":"Sharika Pongubala","email":"sharika.pongubala@hp.com","username":"sharika"},"change_message_id":"881e9efeca6b03c615d5dbd17ed3811e2a64ca43","unresolved":false,"context_lines":[{"line_number":9,"context_line":"In order to add management console functionality to Vertica"},{"line_number":10,"context_line":"a master node is needed in the Vertica cluster. Changes are"},{"line_number":11,"context_line":"made to rename the type of one instance is the cluster as"},{"line_number":12,"context_line":"master."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Install_cluster and root enable api are directed to go to the"},{"line_number":15,"context_line":"master node of the cluster."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1a4dcd0f_2437264e","line":12,"in_reply_to":"3a50d1a3_e1910b48","updated":"2015-08-07 18:35:47.000000000","message":"Done","commit_id":"d13c5e33eed5d445ae7f47c7b67a17d1e7cd72c8"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"4775b5b12b38eb76b73a50e50c5646f787320499","unresolved":false,"context_lines":[{"line_number":11,"context_line":"made to rename the type of one instance is the cluster as"},{"line_number":12,"context_line":"master."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Install_cluster and root enable api are directed to go to the"},{"line_number":15,"context_line":"master node of the cluster."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I3c24531ce97e07d4b322849d7400d490ef8bd2e9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a50d1a3_61cdfb64","line":14,"updated":"2015-07-23 17:59:22.000000000","message":"i in install should be lower case.","commit_id":"d13c5e33eed5d445ae7f47c7b67a17d1e7cd72c8"},{"author":{"_account_id":16132,"name":"Sharika Pongubala","email":"sharika.pongubala@hp.com","username":"sharika"},"change_message_id":"881e9efeca6b03c615d5dbd17ed3811e2a64ca43","unresolved":false,"context_lines":[{"line_number":11,"context_line":"made to rename the type of one instance is the cluster as"},{"line_number":12,"context_line":"master."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Install_cluster and root enable api are directed to go to the"},{"line_number":15,"context_line":"master node of the cluster."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I3c24531ce97e07d4b322849d7400d490ef8bd2e9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1a4dcd0f_c44202ae","line":14,"in_reply_to":"3a50d1a3_61cdfb64","updated":"2015-08-07 18:35:47.000000000","message":"Done","commit_id":"d13c5e33eed5d445ae7f47c7b67a17d1e7cd72c8"}],"trove/common/strategies/cluster/experimental/vertica/api.py":[{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"4775b5b12b38eb76b73a50e50c5646f787320499","unresolved":false,"context_lines":[{"line_number":113,"context_line":"                member_config \u003d {\"id\": db_info.id, \"instance_type\": \"master\"}"},{"line_number":114,"context_line":"            else:"},{"line_number":115,"context_line":"                member_config \u003d {\"id\": db_info.id, \"instance_type\": \"member\"}"},{"line_number":116,"context_line":"            instance_name \u003d \"%s-member-%s\" % (name, str(i + 1))"},{"line_number":117,"context_line":"            inst_models.Instance.create(context, instance_name,"},{"line_number":118,"context_line":"                                        flavor_id,"},{"line_number":119,"context_line":"                                        datastore_version.image_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_1719d521","line":116,"updated":"2015-07-23 17:59:22.000000000","message":"name should also be updated to reflect instance_type","commit_id":"d13c5e33eed5d445ae7f47c7b67a17d1e7cd72c8"},{"author":{"_account_id":6160,"name":"Saurabh Surana","email":"saurabh.cloud@gmail.com","username":"saurabh-surana"},"change_message_id":"1c31d388e4407400d3ffb7a7e8a9335428cdc5c0","unresolved":false,"context_lines":[{"line_number":113,"context_line":"                member_config \u003d {\"id\": db_info.id, \"instance_type\": \"master\"}"},{"line_number":114,"context_line":"            else:"},{"line_number":115,"context_line":"                member_config \u003d {\"id\": db_info.id, \"instance_type\": \"member\"}"},{"line_number":116,"context_line":"            instance_name \u003d \"%s-member-%s\" % (name, str(i + 1))"},{"line_number":117,"context_line":"            inst_models.Instance.create(context, instance_name,"},{"line_number":118,"context_line":"                                        flavor_id,"},{"line_number":119,"context_line":"                                        datastore_version.image_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_9f0c7c3c","line":116,"in_reply_to":"3a50d1a3_1719d521","updated":"2015-08-06 22:47:17.000000000","message":"The instance of type master is a trove\u0027s internal implementation to be able to send all the guest APIs to one instance.\n\nVertica clusters don\u0027t really have a master node, so we would like to avoid exposing that to the end user as much as we can (although the type is still visible to the user in some places). \n\nSo will prefer if we can keep the name as is for now.","commit_id":"d13c5e33eed5d445ae7f47c7b67a17d1e7cd72c8"},{"author":{"_account_id":9782,"name":"Morgan Jones","email":"morgan@tesora.com","username":"vgnbkr"},"change_message_id":"e5ab05d48031420a0845763b8b5490bcc90ff9af","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        # Creating member instances"},{"line_number":112,"context_line":"        for i in range(0, num_instances):"},{"line_number":113,"context_line":"            if i \u003d\u003d 0:"},{"line_number":114,"context_line":"                member_config \u003d {\"id\": db_info.id, \"instance_type\": \"master\"}"},{"line_number":115,"context_line":"            else:"},{"line_number":116,"context_line":"                member_config \u003d {\"id\": db_info.id, \"instance_type\": \"member\"}"}],"source_content_type":"text/x-python","patch_set":34,"id":"7a740942_c9f0046a","line":113,"updated":"2015-12-07 19:56:49.000000000","message":"You should let the user specify which instance is the master.  They may wish to specify a different flavor for the master instance.  It\u0027s fine to just pick one if they don\u0027t nominate one, but that\u0027s up to you.","commit_id":"de8d558c0a20dbf6a1754f7916d103d23c1f4573"},{"author":{"_account_id":14991,"name":"Mayuri Ganguly","email":"mayuri.ganguly@hpe.com","username":"gangulma"},"change_message_id":"c1d4d823306d8bf9d621c5b5da6a63529fd76293","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        # Creating member instances"},{"line_number":112,"context_line":"        for i in range(0, num_instances):"},{"line_number":113,"context_line":"            if i \u003d\u003d 0:"},{"line_number":114,"context_line":"                member_config \u003d {\"id\": db_info.id, \"instance_type\": \"master\"}"},{"line_number":115,"context_line":"            else:"},{"line_number":116,"context_line":"                member_config \u003d {\"id\": db_info.id, \"instance_type\": \"member\"}"}],"source_content_type":"text/x-python","patch_set":34,"id":"7a740942_e50b9c22","line":113,"in_reply_to":"7a740942_c9f0046a","updated":"2015-12-07 21:49:14.000000000","message":"Hi Morgan,\nRight now, the user is not allowed to specify the type of instance, its the datastore which decides the type (if I am not wrong). Also the flavors for all the instances in the cluster is same for Vertica. So I feel setting the first node as the master node (since all the nodes are identical) is OK for now. \nThanks","commit_id":"de8d558c0a20dbf6a1754f7916d103d23c1f4573"},{"author":{"_account_id":9782,"name":"Morgan Jones","email":"morgan@tesora.com","username":"vgnbkr"},"change_message_id":"41cd3297cecf0adbcfb1859a1f5264b6b9cb624e","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        # Creating member instances"},{"line_number":112,"context_line":"        for i in range(0, num_instances):"},{"line_number":113,"context_line":"            if i \u003d\u003d 0:"},{"line_number":114,"context_line":"                member_config \u003d {\"id\": db_info.id, \"instance_type\": \"master\"}"},{"line_number":115,"context_line":"            else:"},{"line_number":116,"context_line":"                member_config \u003d {\"id\": db_info.id, \"instance_type\": \"member\"}"}],"source_content_type":"text/x-python","patch_set":35,"id":"7a740942_480167ae","line":113,"updated":"2015-12-07 22:25:44.000000000","message":"Right, I understand that that is the way it is now, my point is that if you\u0027re going to put extra functionality (the management console) on one of the nodes, you should give the user the option to provision extra resources for that node.","commit_id":"f875a1714405613fc0098d507846996388fb2a04"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"efe439b56f92bb745d67fe9c1c98ff9d24725d00","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        # Creating member instances"},{"line_number":112,"context_line":"        for i in range(0, num_instances):"},{"line_number":113,"context_line":"            if i \u003d\u003d 0:"},{"line_number":114,"context_line":"                member_config \u003d {\"id\": db_info.id, \"instance_type\": \"master\"}"},{"line_number":115,"context_line":"            else:"},{"line_number":116,"context_line":"                member_config \u003d {\"id\": db_info.id, \"instance_type\": \"member\"}"}],"source_content_type":"text/x-python","patch_set":35,"id":"7a740942_f97555ca","line":113,"in_reply_to":"7a740942_480167ae","updated":"2015-12-08 18:03:31.000000000","message":"@Morgan while that seems like a logical thing that a user might want to do there is no way currently to support that from the api. The vertica cluster code ensures that all the instances are the same flavor and there is no way to pass the type of the instance into the create call now, only the grow. In order to support your suggestion that i think would be a valid use case, would be outside of the scope of adding a master node to the vertica cluster. @Mayuri can we get another bug created for the scenario @Morgan is mentioning and get that done as a follow up?","commit_id":"f875a1714405613fc0098d507846996388fb2a04"},{"author":{"_account_id":14991,"name":"Mayuri Ganguly","email":"mayuri.ganguly@hpe.com","username":"gangulma"},"change_message_id":"9dc049a7ca76cfa6c9cac4cda00f2a642506de0c","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        # Creating member instances"},{"line_number":112,"context_line":"        for i in range(0, num_instances):"},{"line_number":113,"context_line":"            if i \u003d\u003d 0:"},{"line_number":114,"context_line":"                member_config \u003d {\"id\": db_info.id, \"instance_type\": \"master\"}"},{"line_number":115,"context_line":"            else:"},{"line_number":116,"context_line":"                member_config \u003d {\"id\": db_info.id, \"instance_type\": \"member\"}"}],"source_content_type":"text/x-python","patch_set":35,"id":"7a740942_ce768a05","line":113,"in_reply_to":"7a740942_f97555ca","updated":"2015-12-08 18:41:49.000000000","message":"Thanks Morgan and Craig. I created another bug for this scenario and here\u0027s the link to it: https://bugs.launchpad.net/trove/+bug/1524036.\nThanks","commit_id":"f875a1714405613fc0098d507846996388fb2a04"}],"trove/extensions/vertica/service.py":[{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"efe439b56f92bb745d67fe9c1c98ff9d24725d00","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def cluster_root_index(self, req, tenant_id, cluster_id):"},{"line_number":45,"context_line":"        LOG.info(_LI(\"Getting root enabled for cluster \u0027%s\u0027.\") % cluster_id)"},{"line_number":46,"context_line":"        instance_id, cluster_instances \u003d self._get_cluster_instance_id("},{"line_number":47,"context_line":"            tenant_id, cluster_id)"},{"line_number":48,"context_line":"        return self.instance_root_index(req, tenant_id, instance_id)"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"7a740942_4b0e0ce6","line":46,"range":{"start_line":46,"start_character":8,"end_line":46,"end_character":19},"updated":"2015-12-08 18:03:31.000000000","message":"\u0027master_instance_id\u0027","commit_id":"f875a1714405613fc0098d507846996388fb2a04"},{"author":{"_account_id":14991,"name":"Mayuri Ganguly","email":"mayuri.ganguly@hpe.com","username":"gangulma"},"change_message_id":"9dc049a7ca76cfa6c9cac4cda00f2a642506de0c","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def cluster_root_index(self, req, tenant_id, cluster_id):"},{"line_number":45,"context_line":"        LOG.info(_LI(\"Getting root enabled for cluster \u0027%s\u0027.\") % cluster_id)"},{"line_number":46,"context_line":"        instance_id, cluster_instances \u003d self._get_cluster_instance_id("},{"line_number":47,"context_line":"            tenant_id, cluster_id)"},{"line_number":48,"context_line":"        return self.instance_root_index(req, tenant_id, instance_id)"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"7a740942_0e581287","line":46,"in_reply_to":"7a740942_4b0e0ce6","updated":"2015-12-08 18:41:49.000000000","message":"Done","commit_id":"f875a1714405613fc0098d507846996388fb2a04"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"efe439b56f92bb745d67fe9c1c98ff9d24725d00","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def cluster_root_create(self, req, body, tenant_id, cluster_id):"},{"line_number":71,"context_line":"        LOG.info(_LI(\"Enabling root for cluster \u0027%s\u0027.\") % cluster_id)"},{"line_number":72,"context_line":"        instance_id, cluster_instances \u003d self._get_cluster_instance_id("},{"line_number":73,"context_line":"            tenant_id, cluster_id)"},{"line_number":74,"context_line":"        return self.instance_root_create(req, body, instance_id,"},{"line_number":75,"context_line":"                                         cluster_instances)"}],"source_content_type":"text/x-python","patch_set":35,"id":"7a740942_2b4aa026","line":72,"range":{"start_line":72,"start_character":8,"end_line":72,"end_character":19},"updated":"2015-12-08 18:03:31.000000000","message":"mind changing this to \u0027master_instance_id\u0027? it would make it easier to know.","commit_id":"f875a1714405613fc0098d507846996388fb2a04"},{"author":{"_account_id":14991,"name":"Mayuri Ganguly","email":"mayuri.ganguly@hpe.com","username":"gangulma"},"change_message_id":"9dc049a7ca76cfa6c9cac4cda00f2a642506de0c","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def cluster_root_create(self, req, body, tenant_id, cluster_id):"},{"line_number":71,"context_line":"        LOG.info(_LI(\"Enabling root for cluster \u0027%s\u0027.\") % cluster_id)"},{"line_number":72,"context_line":"        instance_id, cluster_instances \u003d self._get_cluster_instance_id("},{"line_number":73,"context_line":"            tenant_id, cluster_id)"},{"line_number":74,"context_line":"        return self.instance_root_create(req, body, instance_id,"},{"line_number":75,"context_line":"                                         cluster_instances)"}],"source_content_type":"text/x-python","patch_set":35,"id":"7a740942_ce4d2ac5","line":72,"in_reply_to":"7a740942_2b4aa026","updated":"2015-12-08 18:41:49.000000000","message":"Done","commit_id":"f875a1714405613fc0098d507846996388fb2a04"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"efe439b56f92bb745d67fe9c1c98ff9d24725d00","unresolved":false,"context_lines":[{"line_number":79,"context_line":"                \u0027type\u0027: \u0027master\u0027}"},{"line_number":80,"context_line":"        cluster_instances \u003d DBInstance.find_all(**args).all()"},{"line_number":81,"context_line":"        instance_ids \u003d [db_instance.id for db_instance in cluster_instances]"},{"line_number":82,"context_line":"        instance_id \u003d instance_ids[0]"},{"line_number":83,"context_line":"        return (instance_id, instance_ids)"}],"source_content_type":"text/x-python","patch_set":35,"id":"7a740942_8b6154ab","line":82,"range":{"start_line":82,"start_character":8,"end_line":82,"end_character":19},"updated":"2015-12-08 18:03:31.000000000","message":"\u0027master_instance_id\u0027","commit_id":"f875a1714405613fc0098d507846996388fb2a04"},{"author":{"_account_id":14991,"name":"Mayuri Ganguly","email":"mayuri.ganguly@hpe.com","username":"gangulma"},"change_message_id":"9dc049a7ca76cfa6c9cac4cda00f2a642506de0c","unresolved":false,"context_lines":[{"line_number":79,"context_line":"                \u0027type\u0027: \u0027master\u0027}"},{"line_number":80,"context_line":"        cluster_instances \u003d DBInstance.find_all(**args).all()"},{"line_number":81,"context_line":"        instance_ids \u003d [db_instance.id for db_instance in cluster_instances]"},{"line_number":82,"context_line":"        instance_id \u003d instance_ids[0]"},{"line_number":83,"context_line":"        return (instance_id, instance_ids)"}],"source_content_type":"text/x-python","patch_set":35,"id":"7a740942_8ecac219","line":82,"in_reply_to":"7a740942_8b6154ab","updated":"2015-12-08 18:41:49.000000000","message":"Done","commit_id":"f875a1714405613fc0098d507846996388fb2a04"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"efe439b56f92bb745d67fe9c1c98ff9d24725d00","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        cluster_instances \u003d DBInstance.find_all(**args).all()"},{"line_number":81,"context_line":"        instance_ids \u003d [db_instance.id for db_instance in cluster_instances]"},{"line_number":82,"context_line":"        instance_id \u003d instance_ids[0]"},{"line_number":83,"context_line":"        return (instance_id, instance_ids)"}],"source_content_type":"text/x-python","patch_set":35,"id":"7a740942_6b5ae8f3","line":83,"range":{"start_line":83,"start_character":16,"end_line":83,"end_character":27},"updated":"2015-12-08 18:03:31.000000000","message":"\u0027master_instance_id\u0027","commit_id":"f875a1714405613fc0098d507846996388fb2a04"},{"author":{"_account_id":14991,"name":"Mayuri Ganguly","email":"mayuri.ganguly@hpe.com","username":"gangulma"},"change_message_id":"9dc049a7ca76cfa6c9cac4cda00f2a642506de0c","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        cluster_instances \u003d DBInstance.find_all(**args).all()"},{"line_number":81,"context_line":"        instance_ids \u003d [db_instance.id for db_instance in cluster_instances]"},{"line_number":82,"context_line":"        instance_id \u003d instance_ids[0]"},{"line_number":83,"context_line":"        return (instance_id, instance_ids)"}],"source_content_type":"text/x-python","patch_set":35,"id":"7a740942_4ed05ac9","line":83,"in_reply_to":"7a740942_6b5ae8f3","updated":"2015-12-08 18:41:49.000000000","message":"Done","commit_id":"f875a1714405613fc0098d507846996388fb2a04"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"e241cf76d70327790b884615a4e8cc56aed0f560","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    def _get_cluster_instance_id(self, tenant_id, cluster_id):"},{"line_number":78,"context_line":"        args \u003d {\u0027tenant_id\u0027: tenant_id, \u0027cluster_id\u0027: cluster_id,"},{"line_number":79,"context_line":"                \u0027type\u0027: \u0027master\u0027}"},{"line_number":80,"context_line":"        cluster_instances \u003d DBInstance.find_all(**args).all()"},{"line_number":81,"context_line":"        instance_ids \u003d [db_instance.id for db_instance in cluster_instances]"},{"line_number":82,"context_line":"        master_instance_id \u003d instance_ids[0]"},{"line_number":83,"context_line":"        return master_instance_id, instance_ids"}],"source_content_type":"text/x-python","patch_set":36,"id":"7a740942_2a6b8fb8","line":80,"updated":"2015-12-14 01:58:11.000000000","message":"Won\u0027t this only find the master instance now?","commit_id":"0247d52abf3f4630d179d8c4e2899e0b4d89c209"},{"author":{"_account_id":14991,"name":"Mayuri Ganguly","email":"mayuri.ganguly@hpe.com","username":"gangulma"},"change_message_id":"95b8886d91f318ffbea17d649186ea85b35aaf6f","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    def _get_cluster_instance_id(self, tenant_id, cluster_id):"},{"line_number":78,"context_line":"        args \u003d {\u0027tenant_id\u0027: tenant_id, \u0027cluster_id\u0027: cluster_id,"},{"line_number":79,"context_line":"                \u0027type\u0027: \u0027master\u0027}"},{"line_number":80,"context_line":"        cluster_instances \u003d DBInstance.find_all(**args).all()"},{"line_number":81,"context_line":"        instance_ids \u003d [db_instance.id for db_instance in cluster_instances]"},{"line_number":82,"context_line":"        master_instance_id \u003d instance_ids[0]"},{"line_number":83,"context_line":"        return master_instance_id, instance_ids"}],"source_content_type":"text/x-python","patch_set":36,"id":"5a710552_efaf8792","line":80,"in_reply_to":"7a740942_2a6b8fb8","updated":"2015-12-15 20:11:30.000000000","message":"You are right Peter, this would return just the master node. Sorry for the confusion. I think removing the constraint \u0027type\u0027: \u0027master\u0027 would solve the problem, because we always take the first node as the master node.","commit_id":"0247d52abf3f4630d179d8c4e2899e0b4d89c209"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"e241cf76d70327790b884615a4e8cc56aed0f560","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        cluster_instances \u003d DBInstance.find_all(**args).all()"},{"line_number":81,"context_line":"        instance_ids \u003d [db_instance.id for db_instance in cluster_instances]"},{"line_number":82,"context_line":"        master_instance_id \u003d instance_ids[0]"},{"line_number":83,"context_line":"        return master_instance_id, instance_ids"}],"source_content_type":"text/x-python","patch_set":36,"id":"7a740942_2ab2af4c","line":83,"updated":"2015-12-14 01:58:11.000000000","message":"I suspect that only the master id is being returned here now.  Since the instance_ids value only appears to be used as a flag (so far) the code probably works, but this may introduce bugs later on.","commit_id":"0247d52abf3f4630d179d8c4e2899e0b4d89c209"},{"author":{"_account_id":14991,"name":"Mayuri Ganguly","email":"mayuri.ganguly@hpe.com","username":"gangulma"},"change_message_id":"95b8886d91f318ffbea17d649186ea85b35aaf6f","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        cluster_instances \u003d DBInstance.find_all(**args).all()"},{"line_number":81,"context_line":"        instance_ids \u003d [db_instance.id for db_instance in cluster_instances]"},{"line_number":82,"context_line":"        master_instance_id \u003d instance_ids[0]"},{"line_number":83,"context_line":"        return master_instance_id, instance_ids"}],"source_content_type":"text/x-python","patch_set":36,"id":"5a710552_f6e8d118","line":83,"in_reply_to":"7a740942_2ab2af4c","updated":"2015-12-15 20:11:30.000000000","message":"Done","commit_id":"0247d52abf3f4630d179d8c4e2899e0b4d89c209"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"902c7eb9dea2c5acd00d0f09f750561ba4d21ee0","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        args \u003d {\u0027tenant_id\u0027: tenant_id, \u0027cluster_id\u0027: cluster_id}"},{"line_number":79,"context_line":"        cluster_instances \u003d DBInstance.find_all(**args).all()"},{"line_number":80,"context_line":"        instance_ids \u003d [db_instance.id for db_instance in cluster_instances]"},{"line_number":81,"context_line":"        master_instance_id \u003d instance_ids[0]"},{"line_number":82,"context_line":"        return master_instance_id, instance_ids"}],"source_content_type":"text/x-python","patch_set":37,"id":"5a710552_fdb62a89","line":81,"updated":"2015-12-15 20:39:57.000000000","message":"Given the change that was made how are we sure that the first instance in this list is ALWAYS the master? Or does this mean that any single instance in the Vertica cluster can be denoted as a master? I\u0027d think we might need to make another call to the db with the {\u0027type\u0027: \u0027master\u0027} like before to be sure to get the master instance.","commit_id":"fdf69871b7c01ca8c7faef286631cf6158b474f2"},{"author":{"_account_id":14991,"name":"Mayuri Ganguly","email":"mayuri.ganguly@hpe.com","username":"gangulma"},"change_message_id":"6ce30a6de3ab986b36cc5434beaac40e41ecd642","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        args \u003d {\u0027tenant_id\u0027: tenant_id, \u0027cluster_id\u0027: cluster_id}"},{"line_number":79,"context_line":"        cluster_instances \u003d DBInstance.find_all(**args).all()"},{"line_number":80,"context_line":"        instance_ids \u003d [db_instance.id for db_instance in cluster_instances]"},{"line_number":81,"context_line":"        master_instance_id \u003d instance_ids[0]"},{"line_number":82,"context_line":"        return master_instance_id, instance_ids"}],"source_content_type":"text/x-python","patch_set":37,"id":"5a710552_f30c1b96","line":81,"in_reply_to":"5a710552_fdb62a89","updated":"2015-12-15 21:27:02.000000000","message":"When we create the vertica cluster, we specify the type of the first instance to be master (in tis patch: trove/common/strategies/cluster/experimental/vertica/api.py)\nThanks","commit_id":"fdf69871b7c01ca8c7faef286631cf6158b474f2"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"fc5d9aee39f0745857da8afef31ad03d110aedac","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        args \u003d {\u0027tenant_id\u0027: tenant_id, \u0027cluster_id\u0027: cluster_id}"},{"line_number":79,"context_line":"        cluster_instances \u003d DBInstance.find_all(**args).all()"},{"line_number":80,"context_line":"        instance_ids \u003d [db_instance.id for db_instance in cluster_instances]"},{"line_number":81,"context_line":"        master_instance_id \u003d instance_ids[0]"},{"line_number":82,"context_line":"        return master_instance_id, instance_ids"}],"source_content_type":"text/x-python","patch_set":38,"id":"5a710552_a715e849","line":81,"updated":"2015-12-15 23:29:39.000000000","message":"@mayuri right you create the \"first\" instance thats given to you as the master. But when you are querying the database (i.e. DBInstance.find_all) this is basically doing a \"select * from instances where tenant_id\u003d\u0027\u003ctenant_id\u003e\u0027 and cluster_id\u003d\u0027\u003ccluster_id\u003e\u0027;\" There is no guarantee of order that will be returned when this query is executed to the database.\n\nThat is why i\u0027m saying its not safe to assume here that the first instance in the list is the master.","commit_id":"62423b57473630815b81291e63b0c5d59f7218c2"}],"trove/guestagent/datastore/experimental/vertica/manager.py":[{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"4775b5b12b38eb76b73a50e50c5646f787320499","unresolved":false,"context_lines":[{"line_number":75,"context_line":"                self.app.complete_install_or_restart()"},{"line_number":76,"context_line":"            elif cluster_config[\u0027instance_type\u0027] \u003d\u003d \"member\":"},{"line_number":77,"context_line":"                self.appStatus.set_status(rd_ins.ServiceStatuses.BUILD_PENDING)"},{"line_number":78,"context_line":"            elif cluster_config[\u0027instance_type\u0027] \u003d\u003d \"master\":"},{"line_number":79,"context_line":"                self.appStatus.set_status(rd_ins.ServiceStatuses.BUILD_PENDING)"},{"line_number":80,"context_line":"            else:"},{"line_number":81,"context_line":"                LOG.error(_(\"Bad cluster configuration; instance type \""}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_5a4ea43b","line":78,"updated":"2015-07-23 17:59:22.000000000","message":"use in operator because you are taking same action in both cases.","commit_id":"d13c5e33eed5d445ae7f47c7b67a17d1e7cd72c8"}],"trove/tests/unittests/cluster/test_vertica_cluster.py":[{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"5c9d76a3d6eda08f48838e9653460315bc34c367","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        super(ClusterTest, self).tearDown()"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def test_cluster_master_exists(self):"},{"line_number":78,"context_line":"        self.assertEqual(self.instances[0][\u0027instance_type\u0027], \u0027master\u0027)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    def test_create_empty_instances(self):"},{"line_number":81,"context_line":"        self.assertRaises(exception.ClusterNumInstancesNotSupported,"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a4dcd0f_6685a4ab","line":78,"updated":"2015-08-11 06:17:56.000000000","message":"I did not understand the purpose of this test, we just verified the instance_type without doing anything, and the instance_type was allocated at line number 68.\n\nDont know what this wants to achieve","commit_id":"8ec2611d25d58017fcd0c071fb92fd85ee6680da"}],"trove/tests/unittests/taskmanager/test_vertica_clusters.py":[{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"e241cf76d70327790b884615a4e8cc56aed0f560","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        cluster_instances \u003d [self.dbinst1, self.dbinst2, self.dbinst3]"},{"line_number":136,"context_line":"        for instance in cluster_instances:"},{"line_number":137,"context_line":"            if instance[\u0027type\u0027] \u003d\u003d \"master\":"},{"line_number":138,"context_line":"                mock_find_all.return_value.all.return_value \u003d [instance]"},{"line_number":139,"context_line":"        mock_ready.return_value \u003d True"},{"line_number":140,"context_line":"        mock_load.return_value \u003d BaseInstance(Mock(),"},{"line_number":141,"context_line":"                                              self.dbinst1, Mock(),"}],"source_content_type":"text/x-python","patch_set":36,"id":"7a740942_caa68bc0","line":138,"updated":"2015-12-14 01:58:11.000000000","message":"Shouldn\u0027t this return all values, not just the master node?  It looks like this test has been wrong right from the start (either that or I\u0027m not understanding it properly).","commit_id":"0247d52abf3f4630d179d8c4e2899e0b4d89c209"},{"author":{"_account_id":14991,"name":"Mayuri Ganguly","email":"mayuri.ganguly@hpe.com","username":"gangulma"},"change_message_id":"95b8886d91f318ffbea17d649186ea85b35aaf6f","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        cluster_instances \u003d [self.dbinst1, self.dbinst2, self.dbinst3]"},{"line_number":136,"context_line":"        for instance in cluster_instances:"},{"line_number":137,"context_line":"            if instance[\u0027type\u0027] \u003d\u003d \"master\":"},{"line_number":138,"context_line":"                mock_find_all.return_value.all.return_value \u003d [instance]"},{"line_number":139,"context_line":"        mock_ready.return_value \u003d True"},{"line_number":140,"context_line":"        mock_load.return_value \u003d BaseInstance(Mock(),"},{"line_number":141,"context_line":"                                              self.dbinst1, Mock(),"}],"source_content_type":"text/x-python","patch_set":36,"id":"5a710552_2f3caf92","line":138,"in_reply_to":"7a740942_caa68bc0","updated":"2015-12-15 20:11:30.000000000","message":"Rather than returning self.dbinst1 here, we return the the instance which is marked as master, which is the self.dbinst1 itself.","commit_id":"0247d52abf3f4630d179d8c4e2899e0b4d89c209"}]}
