'Get data ip.'

def _get_data_ip(self, netconfig):

    subnet_label = self.configuration.nimble_subnet_label
    LOG.debug('subnet_label    used    %(netlabel)s,    netconfig    %(netconf)s', {'netlabel': subnet_label, 'netconf': netconfig})
    ret_data_ip = ''
    for subnet in netconfig['array_list'][0]['nic_list']:
        LOG.info('Exploring    array    subnet    label    %s', subnet['subnet_label'])
        if subnet['data_ip']:
            if (subnet_label == '*'):
                LOG.info('Data    ip    %(data_ip)s    is    used    on    data    subnet    %(net_label)s', {'data_ip': subnet['data_ip'], 'net_label': subnet['subnet_label']})
                return subnet['data_ip']
            elif (subnet_label == subnet['subnet_label']):
                LOG.info('Data    ip    %(data_ip)s    is    used    on    subnet    %(net_label)s', {'data_ip': subnet['data_ip'], 'net_label': subnet['subnet_label']})
                return subnet['data_ip']
    if ret_data_ip:
        LOG.info('Data    ip    %s    is    used    on    mgmt+data    subnet', ret_data_ip)
        return ret_data_ip
    else:
        raise NimbleDriverException(_('No    suitable    data    ip    found'))
