function parseFloatingIps(vmiData, appData, lbs, callback) {
    logutils.logger.debug('parseFloatingIps');
    var reqUrlfp = null;
    var dataObjArr = [];
    var i = 0, lisLength = 0;
    var fIPRefs = [];
    if (vmiData != null && vmiData.length > 0) {
        _
                .each(
                        vmiData,
                        function(vmi) {
                            if ('floating_ip_back_refs' in vmi['virtual-machine-interface']) {
                                var floatingRefs = vmi['virtual-machine-interface']['floating_ip_back_refs'];
                                _.each(floatingRefs, function(fp) {
                                    fIPRefs.push(fp['uuid']);
                                });
                            }
                        });
    }
    _.each(fIPRefs, function(id) {
        reqUrl = '/floating-ip/' + id + '?exclude_hrefs=true';
        commonUtils.createReqObj(dataObjArr, reqUrl, global.HTTP_REQUEST_GET,
                null, null, null, appData);
    });

    if (!dataObjArr.length) {
        callback(null, lbs);
        return;
    }
    async
            .map(
                    dataObjArr,
                    commonUtils.getAPIServerResponse(configApiServer.apiGet,
                            true),
                    function(error, results) {
                        if (error) {
                            callback(error, lbs);
                            return;
                        }
                        if (results != null && results.length > 0) {
                            if (lbs['loadbalancers'].length > 0
                                    && results != null && results.length > 0) {
                                for (var lb = 0; lb < lbs['loadbalancers'].length; lb++) {
                                    var lb_vmi_refs = lbs['loadbalancers'][lb]['loadbalancer']['virtual_machine_interface_refs'];
                                    if (lb_vmi_refs != null
                                            && lb_vmi_refs.length > 0) {
                                        for (vmi = 0; vmi < lb_vmi_refs.length; vmi++) {
                                            // logutils.logger.debug("lb_vmi_refs",lb_vmi_refs[vmi]);
                                            for (var fp = 0; fp < results.length; fp++) {
                                                if (results[fp]['floating-ip'] != null) {
                                                    var vmi_ref_fip = results[fp]['floating-ip']['virtual_machine_interface_refs']
                                                    // logutils.logger.debug("vmi_ref_fip",vmi_ref_fip);
                                                    var vmi_ref_fip_len = vmi_ref_fip.length;
                                                    for (x = 0; x < vmi_ref_fip_len; x++) {
                                                        if (lb_vmi_refs[vmi]['uuid'] == vmi_ref_fip[x]['uuid']) {
                                                            lb_vmi_refs[vmi]['floating-ip'].ip = results[fp]['floating-ip']['floating_ip_address'];
                                                            lb_vmi_refs[vmi]['floating-ip'].uuid = results[fp]['floating-ip']['uuid'];
                                                            lb_vmi_refs[vmi]['floating-ip'].floating_ip_fixed_ip_address = results[fp]['floating-ip']['floating_ip_fixed_ip_address'];
                                                        }
                                                    }

                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        callback(null, lbs);
                    });
}
/**
 * @parseFloatingIps
 * @private function Return call back it parse the floating-ips.
 * @param lbs
 * @param vmiData
 * @param appData
 * @param callback
 * @returns
 */
@parseFloatingIps
@private function Return call back it parse the floating-ips.
@parseFloatingIps @private function Return call back it parse the floating - ips .
function parseFloatingIps(vmiData, appData, lbs, callback) {
    logutils.logger.debug('parseFloatingIps');
    var reqUrlfp = null;
    var dataObjArr = [];
    var i = 0, lisLength = 0;
    var fIPRefs = [];
    if (vmiData != null && vmiData.length > 0) {
        _
                .each(
                        vmiData,
                        function(vmi) {
                            if ('floating_ip_back_refs' in vmi['virtual-machine-interface']) {
                                var floatingRefs = vmi['virtual-machine-interface']['floating_ip_back_refs'];
                                _.each(floatingRefs, function(fp) {
                                    fIPRefs.push(fp['uuid']);
                                });
                            }
                        });
    }
    _.each(fIPRefs, function(id) {
        reqUrl = '/floating-ip/' + id + '?exclude_hrefs=true';
        commonUtils.createReqObj(dataObjArr, reqUrl, global.HTTP_REQUEST_GET,
                null, null, null, appData);
    });
    if (!dataObjArr.length) {
        callback(null, lbs);
        return;
    }
    async
            .map(
                    dataObjArr,
                    commonUtils.getAPIServerResponse(configApiServer.apiGet,
                            true),
                    function(error, results) {
                        if (error) {
                            callback(error, lbs);
                            return;
                        }
                        if (results != null && results.length > 0) {
                            if (lbs['loadbalancers'].length > 0
                                    && results != null && results.length > 0) {
                                for (var lb = 0; lb < lbs['loadbalancers'].length; lb++) {
                                    var lb_vmi_refs = lbs['loadbalancers'][lb]['loadbalancer']['virtual_machine_interface_refs'];
                                    if (lb_vmi_refs != null
                                            && lb_vmi_refs.length > 0) {
                                        for (vmi = 0; vmi < lb_vmi_refs.length; vmi++) {
                                            for (var fp = 0; fp < results.length; fp++) {
                                                if (results[fp]['floating-ip'] != null) {
                                                    var vmi_ref_fip = results[fp]['floating-ip']['virtual_machine_interface_refs']
                                                    var vmi_ref_fip_len = vmi_ref_fip.length;
                                                    for (x = 0; x < vmi_ref_fip_len; x++) {
                                                        if (lb_vmi_refs[vmi]['uuid'] == vmi_ref_fip[x]['uuid']) {
                                                            lb_vmi_refs[vmi]['floating-ip'].ip = results[fp]['floating-ip']['floating_ip_address'];
                                                            lb_vmi_refs[vmi]['floating-ip'].uuid = results[fp]['floating-ip']['uuid'];
                                                            lb_vmi_refs[vmi]['floating-ip'].floating_ip_fixed_ip_address = results[fp]['floating-ip']['floating_ip_fixed_ip_address'];
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        callback(null, lbs);
                    });
}
function parseFloatingIps ( vmiData , appData , lbs , callback ) { logutils . logger . debug ( 'parseFloatingIps' ) ; var reqUrlfp = null ; var dataObjArr = [ ] ; var i = 0 , lisLength = 0 ; var fIPRefs = [ ] ; if ( vmiData != null && vmiData . length > 0 ) { _ . each ( vmiData , function ( vmi ) { if ( 'floating_ip_back_refs' in vmi [ 'virtual-machine-interface' ] ) { var floatingRefs = vmi [ 'virtual-machine-interface' ] [ 'floating_ip_back_refs' ] ; _ . each ( floatingRefs , function ( fp ) { fIPRefs . push ( fp [ 'uuid' ] ) ; } ) ; } } ) ; } _ . each ( fIPRefs , function ( id ) { reqUrl = '/floating-ip/' + id + '?exclude_hrefs=true' ; commonUtils . createReqObj ( dataObjArr , reqUrl , global . HTTP_REQUEST_GET , null , null , null , appData ) ; } ) ; if ( ! dataObjArr . length ) { callback ( null , lbs ) ; return ; } async . map ( dataObjArr , commonUtils . getAPIServerResponse ( configApiServer . apiGet , true ) , function ( error , results ) { if ( error ) { callback ( error , lbs ) ; return ; } if ( results != null && results . length > 0 ) { if ( lbs [ 'loadbalancers' ] . length > 0 && results != null && results . length > 0 ) { for ( var lb = 0 ; lb < lbs [ 'loadbalancers' ] . length ; lb ++ ) { var lb_vmi_refs = lbs [ 'loadbalancers' ] [ lb ] [ 'loadbalancer' ] [ 'virtual_machine_interface_refs' ] ; if ( lb_vmi_refs != null && lb_vmi_refs . length > 0 ) { for ( vmi = 0 ; vmi < lb_vmi_refs . length ; vmi ++ ) { for ( var fp = 0 ; fp < results . length ; fp ++ ) { if ( results [ fp ] [ 'floating-ip' ] != null ) { var vmi_ref_fip = results [ fp ] [ 'floating-ip' ] [ 'virtual_machine_interface_refs' ] var vmi_ref_fip_len = vmi_ref_fip . length ; for ( x = 0 ; x < vmi_ref_fip_len ; x ++ ) { if ( lb_vmi_refs [ vmi ] [ 'uuid' ] == vmi_ref_fip [ x ] [ 'uuid' ] ) { lb_vmi_refs [ vmi ] [ 'floating-ip' ] . ip = results [ fp ] [ 'floating-ip' ] [ 'floating_ip_address' ] ; lb_vmi_refs [ vmi ] [ 'floating-ip' ] . uuid = results [ fp ] [ 'floating-ip' ] [ 'uuid' ] ; lb_vmi_refs [ vmi ] [ 'floating-ip' ] . floating_ip_fixed_ip_address = results [ fp ] [ 'floating-ip' ] [ 'floating_ip_fixed_ip_address' ] ; } } } } } } } } } callback ( null , lbs ) ; } ) ; }
@parseFloatingIps
 @private function Return call back it parse the floating-ips.
@parseFloatingIps @private function Return call back it parse the floating - ips .
// logutils.logger.debug("lb_vmi_refs",lb_vmi_refs[vmi]); // logutils.logger.debug("vmi_ref_fip",vmi_ref_fip);