)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"66d2e1338989e475a828988366ca1b48650899f4","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Gaetan Trellu \u003cgaetan.trellu@incloudus.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-02-09 11:31:14 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Unable to use MongoDB cluster feature"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"By Trove design, MongoDB cluster creates multiple instances:"},{"line_number":10,"context_line":"  - 3 replicas"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3fa0c359_21e49ddf","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":37},"updated":"2018-02-11 07:43:53.000000000","message":"Usually, this first line in commit message should summarize what have been done in this patch, but not what the problem is. Detailed explanation could follow in the rest of the commit message.","commit_id":"8954f46f29da604767fbdc1acfbafadbc4e428be"}],"trove/common/strategies/cluster/experimental/mongodb/api.py":[{"author":{"_account_id":22608,"name":"zhanggang","email":"zhanggang@cmss.chinamobile.com","username":"zhanggang"},"change_message_id":"420445d559289dcaed04227e4650d7c75c69da24","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        volume_type \u003d instances[0].get(\u0027volume_type\u0027, None)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        nics \u003d [instance.get(\u0027nics\u0027, None) for instance in instances]"},{"line_number":98,"context_line":"        nic \u003d nics[0]"},{"line_number":99,"context_line":"        for n in nics[1:]:"},{"line_number":100,"context_line":"            if n !\u003d nic:"},{"line_number":101,"context_line":"                raise ValueError(_(\u0027All cluster nics must be the same. \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_b61b0a7f","line":98,"range":{"start_line":98,"start_character":20,"end_line":98,"end_character":21},"updated":"2018-02-12 03:06:28.000000000","message":"method `validata_instance_nics` has validate the nics. If they are not the same a \"exception.ClusterNetworksNotEqual\" exception will raise.","commit_id":"8954f46f29da604767fbdc1acfbafadbc4e428be"},{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"caf0133545cd14530503f279f30ab834d0ae2b61","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        volume_type \u003d instances[0].get(\u0027volume_type\u0027, None)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        nics \u003d [instance.get(\u0027nics\u0027, None) for instance in instances]"},{"line_number":98,"context_line":"        nic \u003d nics[0]"},{"line_number":99,"context_line":"        for n in nics[1:]:"},{"line_number":100,"context_line":"            if n !\u003d nic:"},{"line_number":101,"context_line":"                raise ValueError(_(\u0027All cluster nics must be the same. \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_11ba0809","line":98,"range":{"start_line":98,"start_character":20,"end_line":98,"end_character":21},"in_reply_to":"3fa0c359_b61b0a7f","updated":"2018-02-12 03:30:31.000000000","message":"Agree, I didn\u0027t notice thart part of validating.","commit_id":"8954f46f29da604767fbdc1acfbafadbc4e428be"},{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"66d2e1338989e475a828988366ca1b48650899f4","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        volume_type \u003d instances[0].get(\u0027volume_type\u0027, None)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        nics \u003d [instance.get(\u0027nics\u0027, None) for instance in instances]"},{"line_number":98,"context_line":"        nic \u003d nics[0]"},{"line_number":99,"context_line":"        for n in nics[1:]:"},{"line_number":100,"context_line":"            if n !\u003d nic:"},{"line_number":101,"context_line":"                raise ValueError(_(\u0027All cluster nics must be the same. \u0027"},{"line_number":102,"context_line":"                                   \u0027%(nic)s !\u003d %(n)s\u0027)"},{"line_number":103,"context_line":"                                 % {\u0027nic\u0027: nic, \u0027n\u0027: n})"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        azs \u003d [instance.get(\u0027availability_zone\u0027, None)"},{"line_number":106,"context_line":"               for instance in instances]"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_a173cd15","line":103,"range":{"start_line":98,"start_character":0,"end_line":103,"end_character":56},"updated":"2018-02-11 07:43:53.000000000","message":"Currently Trove allow passing free style arguments when creating cluster instances. Users have to make sure by themselves cluster instances are able to communicating to each other with the \"nics\" the user provided when creating these instances.\n\nSo I think this is not a correct fix:\n\n1. if the \u0027nics\u0027 arguments of all cluster instances should be the same, we should asking the user to provide this argument for every instance. That means API request parameters and troveclient should be updated for this purpose, then there\u0027s no  need to make sure all \u0027nic\u0027 parameters should be the same.\n\n2. free style instance creating parameters should provide better capacity for different users needs. For example, people may (maybe this is not happening in real deployments, but I think this can be possible) create multiple subnets and place one cluster instance per subnet, subnets are connected by routers, then the \u0027nics\u0027 parameters will be different.","commit_id":"8954f46f29da604767fbdc1acfbafadbc4e428be"}]}
