Search in sources :

Example 1 with L3InterfaceIpv4AddressList

use of org.onap.aai.domain.yang.L3InterfaceIpv4AddressList in project so by onap.

the class HeatBridgeImpl method updateLInterfaceIps.

protected void updateLInterfaceIps(final Port port, final LInterface lIf) {
    for (IP ip : port.getFixedIps()) {
        String ipAddress = ip.getIpAddress();
        if (InetAddressValidator.getInstance().isValidInet4Address(ipAddress)) {
            Subnet subnet = osClient.getSubnetById(ip.getSubnetId());
            IPAddressString cidr = new IPAddressString(subnet.getCidr());
            L3InterfaceIpv4AddressList lInterfaceIp = new L3InterfaceIpv4AddressList();
            lInterfaceIp.setIsFloating(false);
            lInterfaceIp.setL3InterfaceIpv4Address(ipAddress);
            lInterfaceIp.setNeutronNetworkId(port.getNetworkId());
            lInterfaceIp.setNeutronSubnetId(ip.getSubnetId());
            lInterfaceIp.setL3InterfaceIpv4PrefixLength(Long.parseLong(cidr.getNetworkPrefixLength().toString()));
            transaction.createIfNotExists(AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.cloudInfrastructure().cloudRegion(cloudOwner, cloudRegionId).tenant(tenantId).vserver(port.getDeviceId()).lInterface(lIf.getInterfaceName()).l3InterfaceIpv4AddressList(ipAddress)), Optional.of(lInterfaceIp));
        } else if (InetAddressValidator.getInstance().isValidInet6Address(ipAddress)) {
            Subnet subnet = osClient.getSubnetById(ip.getSubnetId());
            IPAddressString cidr = new IPAddressString(subnet.getCidr());
            L3InterfaceIpv6AddressList ipv6 = new L3InterfaceIpv6AddressList();
            ipv6.setIsFloating(false);
            ipv6.setL3InterfaceIpv6Address(ipAddress);
            ipv6.setNeutronNetworkId(port.getNetworkId());
            ipv6.setNeutronSubnetId(ip.getSubnetId());
            ipv6.setL3InterfaceIpv6PrefixLength(Long.parseLong(cidr.getNetworkPrefixLength().toString()));
            transaction.createIfNotExists(AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.cloudInfrastructure().cloudRegion(cloudOwner, cloudRegionId).tenant(tenantId).vserver(port.getDeviceId()).lInterface(lIf.getInterfaceName()).l3InterfaceIpv6AddressList(ipAddress)), Optional.of(ipv6));
        }
    }
}
Also used : IP(org.openstack4j.model.network.IP) L3InterfaceIpv4AddressList(org.onap.aai.domain.yang.L3InterfaceIpv4AddressList) IPAddressString(inet.ipaddr.IPAddressString) Subnet(org.openstack4j.model.network.Subnet) L3InterfaceIpv6AddressList(org.onap.aai.domain.yang.L3InterfaceIpv6AddressList) IPAddressString(inet.ipaddr.IPAddressString)

Aggregations

IPAddressString (inet.ipaddr.IPAddressString)1 L3InterfaceIpv4AddressList (org.onap.aai.domain.yang.L3InterfaceIpv4AddressList)1 L3InterfaceIpv6AddressList (org.onap.aai.domain.yang.L3InterfaceIpv6AddressList)1 IP (org.openstack4j.model.network.IP)1 Subnet (org.openstack4j.model.network.Subnet)1