private void registerDhcpInfo(OpenstackPort openstackPort) {
    Ip4Address ip4Address;
    Ip4Address subnetMask;
    Ip4Address dhcpServer;
    Ip4Address gatewayIPAddress;
    Ip4Address domainServer;
    OpenstackSubnet openstackSubnet;

    ip4Address = (Ip4Address) openstackPort.fixedIps().values().toArray()[0];

    openstackSubnet =
        restHandler
            .getSubnets()
            .stream()
            .filter(n -> n.networkId().equals(openstackPort.networkId()))
            .findFirst()
            .get();

    subnetMask = Ip4Address.valueOf(buildSubnetMask(openstackSubnet.cidr()));
    gatewayIPAddress = Ip4Address.valueOf(openstackSubnet.gatewayIp());
    dhcpServer = gatewayIPAddress;
    // TODO: supports multiple DNS servers
    if (openstackSubnet.dnsNameservers().isEmpty()) {
      domainServer = Ip4Address.valueOf("8.8.8.8");
    } else {
      domainServer = openstackSubnet.dnsNameservers().get(0);
    }
    List<Ip4Address> options = Lists.newArrayList();
    options.add(subnetMask);
    options.add(dhcpServer);
    options.add(gatewayIPAddress);
    options.add(domainServer);

    dhcpService.setStaticMapping(openstackPort.macAddress(), ip4Address, true, options);
  }
  @Override
  public Collection<OpenstackPort> ports(String networkId) {
    Collection<OpenstackPort> ports = restHandler.getPorts();
    List<OpenstackPort> portList =
        ports.stream().filter(p -> p.networkId().equals(networkId)).collect(Collectors.toList());

    return portList;
  }
 @Override
 public OpenstackNetwork network(String networkId) {
   Collection<OpenstackNetwork> networks = restHandler.getNetworks();
   return networks.stream().filter(n -> n.id().equals(networkId)).findFirst().orElse(null);
 }
 @Override
 public OpenstackPort port(String portId) {
   Collection<OpenstackPort> ports = restHandler.getPorts();
   return ports.stream().filter(p -> p.id().equals(portId)).findFirst().orElse(null);
 }
 @Override
 public OpenstackPort port(Port port) {
   Collection<OpenstackPort> ports = restHandler.getPorts();
   String uuid = port.annotations().value("portName").substring(3);
   return ports.stream().filter(p -> p.id().startsWith(uuid)).findFirst().orElse(null);
 }