)]}'
{"nova/servicegroup/drivers/zk.py":[{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"cc0359f1cf872986f7831c79d5a5b45692d6d8e9","unresolved":false,"context_lines":[{"line_number":82,"context_line":"                group_cap \u003d self._coordinator.get_member_capabilities("},{"line_number":83,"context_line":"                    group_id\u003dgroup,"},{"line_number":84,"context_line":"                    member_id\u003d\u0027\u0027)"},{"line_number":85,"context_line":"                updated_group_id \u003d group_cap[\u0027id\u0027] + 1"},{"line_number":86,"context_line":"                updated_group_capabilities \u003d {\u0027id\u0027: updated_group_id}"},{"line_number":87,"context_line":"                self._coordinator.update_capabilities("},{"line_number":88,"context_line":"                    group,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_0e74f165","line":85,"updated":"2015-09-15 23:27:33.000000000","message":"Hmmm, what is this? How is it atomically updated? Is it atomically updated?","commit_id":"3d7727b7662c564a384b022d995a4a1540813fa2"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"b83336d00cb44c475c12572421ee31749993551f","unresolved":false,"context_lines":[{"line_number":86,"context_line":"                updated_group_capabilities \u003d {\u0027id\u0027: updated_group_id}"},{"line_number":87,"context_line":"                self._coordinator.update_capabilities("},{"line_number":88,"context_line":"                    group,"},{"line_number":89,"context_line":"                    updated_group_capabilities).get()"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"                # Update the id of the Member"},{"line_number":92,"context_line":"                updated_member_capabilities \u003d {\u0027id\u0027: updated_group_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_0e6f112c","line":89,"updated":"2015-09-15 23:34:33.000000000","message":"Not exactly sure what u are doing is atomic across multiple processes here, typically this ends badly...","commit_id":"3d7727b7662c564a384b022d995a4a1540813fa2"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"cc0359f1cf872986f7831c79d5a5b45692d6d8e9","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                    updated_member_capabilities).get()"},{"line_number":102,"context_line":"                break"},{"line_number":103,"context_line":"            except tooz.coordination.MemberAlreadyExist:"},{"line_number":104,"context_line":"                msg \u003d \"Error member already exist in the group\""},{"line_number":105,"context_line":"                raise exception.ServiceGroupMemberAlreadyExist(msg)"},{"line_number":106,"context_line":"            except tooz.coordination.GroupNotCreated:"},{"line_number":107,"context_line":"                # Creating new group"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_8e06c1cc","line":104,"updated":"2015-09-15 23:27:33.000000000","message":"Maybe the message should say which member already exists?","commit_id":"3d7727b7662c564a384b022d995a4a1540813fa2"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"cc0359f1cf872986f7831c79d5a5b45692d6d8e9","unresolved":false,"context_lines":[{"line_number":129,"context_line":"            return True"},{"line_number":130,"context_line":"        else:"},{"line_number":131,"context_line":"            LOG.exception(_LE(\"Service is not up\"))"},{"line_number":132,"context_line":"            return False"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    def service_get_all(self, ctxt, disabled):"},{"line_number":135,"context_line":"        \"\"\"Return all the members.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_eeff3da8","line":132,"updated":"2015-09-15 23:27:33.000000000","message":"Why is log.exception being used here, no exception is currently active","commit_id":"3d7727b7662c564a384b022d995a4a1540813fa2"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"cc0359f1cf872986f7831c79d5a5b45692d6d8e9","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        \"\"\"Return all the members.\"\"\""},{"line_number":136,"context_line":"        all_members \u003d []"},{"line_number":137,"context_line":"        if not self._coordinator:"},{"line_number":138,"context_line":"            msg \u003d \"Error unknown coordination driver\""},{"line_number":139,"context_line":"            raise exception.ServiceGroupCoordinationDriverUnknown(msg)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"        groups \u003d self._coordinator.get_groups()"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_cebfd9f9","line":138,"updated":"2015-09-15 23:27:33.000000000","message":"Is \u0027unknown\u0027 the right message here, seems known but not started?","commit_id":"3d7727b7662c564a384b022d995a4a1540813fa2"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"cc0359f1cf872986f7831c79d5a5b45692d6d8e9","unresolved":false,"context_lines":[{"line_number":138,"context_line":"            msg \u003d \"Error unknown coordination driver\""},{"line_number":139,"context_line":"            raise exception.ServiceGroupCoordinationDriverUnknown(msg)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"        groups \u003d self._coordinator.get_groups()"},{"line_number":142,"context_line":"        for group in groups:"},{"line_number":143,"context_line":"            members \u003d self._coordinator.get_members(group)"},{"line_number":144,"context_line":"            for member in members:"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_ee517dd9","line":141,"updated":"2015-09-15 23:27:33.000000000","message":"So slightly confused, why does the join() method start the coordinator, but none of these methods do? Why isn\u0027t there just an explicit start() method that is called before any of these functions?","commit_id":"3d7727b7662c564a384b022d995a4a1540813fa2"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"cc0359f1cf872986f7831c79d5a5b45692d6d8e9","unresolved":false,"context_lines":[{"line_number":172,"context_line":"                    member_info \u003d self._coordinator.get_member_info("},{"line_number":173,"context_line":"                        group,"},{"line_number":174,"context_line":"                        member).get()"},{"line_number":175,"context_line":"                except tooz.coordination.MemberNotJoined:"},{"line_number":176,"context_line":"                    raise exception.ServiceGroupMemberDoesNotExist(group,"},{"line_number":177,"context_line":"                                                                   member)"},{"line_number":178,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_0e22b152","line":175,"updated":"2015-09-15 23:27:33.000000000","message":"Is this the only tooz error that is thrown? If not then probably need to catch and raise other types?","commit_id":"3d7727b7662c564a384b022d995a4a1540813fa2"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"cc0359f1cf872986f7831c79d5a5b45692d6d8e9","unresolved":false,"context_lines":[{"line_number":204,"context_line":"                                                                   member)"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"                if (member_info[\u0027capabilities\u0027][\u0027binary\u0027] \u003d\u003d service)\\"},{"line_number":207,"context_line":"                        and (member_info[\u0027capabilities\u0027][\u0027host\u0027] \u003d\u003d host):"},{"line_number":208,"context_line":"                    member_detail.append(member_info)"},{"line_number":209,"context_line":"                    return member_detail"},{"line_number":210,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_6ee1edfd","line":207,"updated":"2015-09-15 23:27:33.000000000","message":"Why return a list with just one element in it? Why not just return the member_info element?","commit_id":"3d7727b7662c564a384b022d995a4a1540813fa2"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"cc0359f1cf872986f7831c79d5a5b45692d6d8e9","unresolved":false,"context_lines":[{"line_number":235,"context_line":"                        and (member_info[\u0027capabilities\u0027][\u0027host\u0027] \u003d\u003d host):"},{"line_number":236,"context_line":"                    member_detail.append(member_info)"},{"line_number":237,"context_line":"                    return member_detail"},{"line_number":238,"context_line":"                else:"},{"line_number":239,"context_line":"                    continue"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"        return member_detail"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_8ebb21e5","line":238,"updated":"2015-09-15 23:27:33.000000000","message":"Same question as above, not sure why a list with only one element is being used here.","commit_id":"3d7727b7662c564a384b022d995a4a1540813fa2"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"cc0359f1cf872986f7831c79d5a5b45692d6d8e9","unresolved":false,"context_lines":[{"line_number":260,"context_line":"                                                                   member)"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"                if (member_info[\u0027capabilities\u0027][\u0027host\u0027] \u003d\u003d host):"},{"line_number":263,"context_line":"                    member_detail.append(member_info)"},{"line_number":264,"context_line":"                    return member_detail"},{"line_number":265,"context_line":"                else:"},{"line_number":266,"context_line":"                    continue"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_2e921558","line":263,"updated":"2015-09-15 23:27:33.000000000","message":"Same question as above,","commit_id":"3d7727b7662c564a384b022d995a4a1540813fa2"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"b1431b5a7844f326b9444291a13a6a9ba7ed6861","unresolved":false,"context_lines":[{"line_number":269,"context_line":""},{"line_number":270,"context_line":"    def service_get_all_by_topic(self, ctxt, topic):"},{"line_number":271,"context_line":"        \"\"\"Get service details by topic\"\"\""},{"line_number":272,"context_line":"        member_detail \u003d []"},{"line_number":273,"context_line":"        if not self._coordinator:"},{"line_number":274,"context_line":"            msg \u003d \"Error unknown coordination driver\""},{"line_number":275,"context_line":"            raise exception.ServiceGroupCoordinationDriverUnknown(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_0e2871e1","line":272,"updated":"2015-09-15 23:33:51.000000000","message":"nit: \u0027member_details\u0027 because its a list?","commit_id":"3d7727b7662c564a384b022d995a4a1540813fa2"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"b1431b5a7844f326b9444291a13a6a9ba7ed6861","unresolved":false,"context_lines":[{"line_number":291,"context_line":""},{"line_number":292,"context_line":"    def service_get_all_by_binary(self, ctxt, binary):"},{"line_number":293,"context_line":"        \"\"\"Get all service details by binary\"\"\""},{"line_number":294,"context_line":"        member_detail \u003d []"},{"line_number":295,"context_line":"        if not self._coordinator:"},{"line_number":296,"context_line":"            msg \u003d \"Error unknown coordination driver\""},{"line_number":297,"context_line":"            raise exception.ServiceGroupCoordinationDriverUnknown(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_ee45fdb2","line":294,"updated":"2015-09-15 23:33:51.000000000","message":"nit: \u0027member_details\u0027 because its a list?","commit_id":"3d7727b7662c564a384b022d995a4a1540813fa2"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"9641557e5e968e9430e3b7095d9b110b09faf2ea","unresolved":false,"context_lines":[{"line_number":317,"context_line":""},{"line_number":318,"context_line":"    def service_get_all_by_host(self, ctxt, host):"},{"line_number":319,"context_line":"        \"\"\"Get all service details by host\"\"\""},{"line_number":320,"context_line":"        member_detail \u003d []"},{"line_number":321,"context_line":"        if not self._coordinator:"},{"line_number":322,"context_line":"            msg \u003d \"Error unknown coordination driver\""},{"line_number":323,"context_line":"            raise exception.ServiceGroupCoordinationDriverUnknown(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_4eb189e0","line":320,"updated":"2015-09-15 23:30:29.000000000","message":"nit: \u0027member_details\u0027 because its a list?","commit_id":"3d7727b7662c564a384b022d995a4a1540813fa2"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"cc0359f1cf872986f7831c79d5a5b45692d6d8e9","unresolved":false,"context_lines":[{"line_number":370,"context_line":"                    member_info \u003d self._coordinator.get_member_info("},{"line_number":371,"context_line":"                        group,"},{"line_number":372,"context_line":"                        member).get()"},{"line_number":373,"context_line":"                    member_detail.append(member_info)"},{"line_number":374,"context_line":"                    return member_detail"},{"line_number":375,"context_line":"                else:"},{"line_number":376,"context_line":"                    continue"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_8e89e128","line":373,"updated":"2015-09-15 23:27:33.000000000","message":"Same question as above, why return a list of one element?","commit_id":"3d7727b7662c564a384b022d995a4a1540813fa2"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"9641557e5e968e9430e3b7095d9b110b09faf2ea","unresolved":false,"context_lines":[{"line_number":393,"context_line":"                        group,"},{"line_number":394,"context_line":"                        member).get()"},{"line_number":395,"context_line":"                except tooz.coordination.MemberNotJoined:"},{"line_number":396,"context_line":"                    raise exception.ServiceGroupMemberDoesNotExist(group,"},{"line_number":397,"context_line":"                                                                   member)"},{"line_number":398,"context_line":"                if (member_info[\u0027capabilities\u0027][\u0027id\u0027] \u003d\u003d service_id):"},{"line_number":399,"context_line":"                    self._coordinator.leave_group(group)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_eed73deb","line":396,"updated":"2015-09-15 23:30:29.000000000","message":"As the other functions, what other tooz exceptions need to be thrown as nova exceptions (there are more than just this one).","commit_id":"3d7727b7662c564a384b022d995a4a1540813fa2"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"cc0359f1cf872986f7831c79d5a5b45692d6d8e9","unresolved":false,"context_lines":[{"line_number":400,"context_line":"                else:"},{"line_number":401,"context_line":"                    continue"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"        LOG.info(_LI(\u0027No service_id found %s\u0027), service_id)"},{"line_number":404,"context_line":"        raise exception.ServiceGroupMemberDoesNotExist(group, member)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_4e83c904","line":403,"updated":"2015-09-15 23:27:33.000000000","message":"Pretty sure this always blows up even if the group was left.","commit_id":"3d7727b7662c564a384b022d995a4a1540813fa2"}]}
