'Update with metadata for a group coordinator
Arguments:
group (str): name of group from GroupCoordinatorRequest
response (GroupCoordinatorResponse): broker response
Returns:
bool: True if metadata is updated, False on error'

def add_group_coordinator(self, group, response):

    log.debug('Updating    coordinator    for    %s:    %s', group, response)
    error_type = Errors.for_code(response.error_code)
    if (error_type is not Errors.NoError):
        log.error('GroupCoordinatorResponse    error:    %s', error_type)
        self._groups[group] = (-1)
        return False
    node_id = response.coordinator_id
    coordinator = BrokerMetadata(response.coordinator_id, response.host, response.port, None)
    if (node_id not in self._brokers):
        self._brokers[node_id] = coordinator
    else:
        node = self._brokers[node_id]
        if ((coordinator.host != node.host) or (coordinator.port != node.port)):
            log.error('GroupCoordinator    metadata    conflicts    with    existing    broker    metadata.    Coordinator:    %s,    Broker:    %s', coordinator, node)
            self._groups[group] = node_id
            return False
    log.info('Group    coordinator    for    %s    is    %s', group, coordinator)
    self._groups[group] = node_id
    return True
