Пример #1
0
 public EditNetworkModel(Network network, ListModel sourceListModel) {
   super(network, sourceListModel);
   originallyVmNetwork = network.isVmNetwork();
   getDataCenters().setIsChangeable(false);
   init();
   initManagement();
 }
Пример #2
0
 /**
  * filter networks which are not VM networks from the newtorkNames list
  *
  * @param networks logical networks
  * @param networkNames target names to match non-VM networks upon
  * @return
  */
 public static List<String> filterNonVmNetworkNames(
     List<Network> networks, Set<String> networkNames) {
   List<String> list = new ArrayList<>();
   for (Network net : networks) {
     if (!net.isVmNetwork() && networkNames.contains(net.getName())) {
       list.add(net.getName());
     }
   }
   return list;
 }
  private String getVmNetworksImplementedAsBridgeless(VDS host, List<Network> clusterNetworks) {
    Map<String, VdsNetworkInterface> interfacesByNetworkName =
        Entities.hostInterfacesByNetworkName(host.getInterfaces());
    List<String> networkNames = new ArrayList<>();

    for (Network net : clusterNetworks) {
      if (net.isVmNetwork()
          && interfacesByNetworkName.containsKey(net.getName())
          && !interfacesByNetworkName.get(net.getName()).isBridged()) {
        networkNames.add(net.getName());
      }
    }

    return StringUtils.join(networkNames, ",");
  }
Пример #4
0
 /**
  * Returns true if a given network is non-VM network with no Vlan tagging, else false.
  *
  * @param network The network to check
  */
 public static boolean isNonVmNonVlanNetwork(Network network) {
   return !network.isVmNetwork() && !isVlan(network);
 }
  private Map<String, Object> generateNetworks() {
    Map<String, Object> networks = new HashMap<String, Object>();
    NetworkQoSDao qosDao = getDbFacade().getQosDao();
    for (Network network : getParameters().getNetworks()) {
      Map<String, Object> opts = new HashMap<String, Object>();
      VdsNetworkInterface iface =
          findNetworkInterface(
              network.getName(), getParameters().getInterfaces(), getParameters().getBonds());
      String ifaceNameWithoutVlan = NetworkUtils.stripVlan(iface);
      Boolean bonded = findInterfaceByName(ifaceNameWithoutVlan).getBonded();
      String type = (bonded != null && bonded) ? "bonding" : "nic";
      opts.put(type, ifaceNameWithoutVlan);
      if (NetworkUtils.isVlan(network)) {
        opts.put("vlan", network.getVlanId().toString());
      }

      if (iface.getBootProtocol() != null) {
        addBootProtocol(opts, iface);
      }

      if (network.getMtu() == 0) {
        opts.put("mtu", NetworkUtils.getDefaultMtu().toString());
      } else {
        opts.put("mtu", String.valueOf(network.getMtu()));
      }

      opts.put("bridged", Boolean.toString(network.isVmNetwork()));
      if (network.isVmNetwork()) {
        opts.put(VdsProperties.STP, network.getStp() ? "yes" : "no");
      }

      VDS host = getDbFacade().getVdsDao().get(getParameters().getVdsId());
      Version version = host.getVdsGroupCompatibilityVersion();
      if (qosConfiguredOnInterface(iface, network) && FeatureSupported.hostNetworkQos(version)) {
        NetworkQosMapper qosMapper =
            new NetworkQosMapper(
                opts, VdsProperties.HOST_QOS_INBOUND, VdsProperties.HOST_QOS_OUTBOUND);
        qosMapper.serialize(
            iface.isQosOverridden() ? iface.getQos() : qosDao.get(network.getQosId()));
      }

      Set<Version> supportedClusterVersionsSet = host.getSupportedClusterVersionsSet();
      if (supportedClusterVersionsSet == null || supportedClusterVersionsSet.isEmpty()) {
        log.warnFormat(
            "Host {0} ({1}) doesn't contain Supported Cluster Versions, therefore 'defaultRoute'"
                + " will not be sent via the SetupNetworks",
            host.getName(), host.getId());
      } else if (FeatureSupported.defaultRoute(Collections.max(supportedClusterVersionsSet))
          && NetworkUtils.isManagementNetwork(network)
          && (iface.getBootProtocol() == NetworkBootProtocol.DHCP
              || (iface.getBootProtocol() == NetworkBootProtocol.STATIC_IP
                  && StringUtils.isNotEmpty(iface.getGateway())))) {
        opts.put(DEFAULT_ROUTE, Boolean.TRUE);
      }

      if (iface.hasCustomProperties()) {
        opts.put(VdsProperties.NETWORK_CUSTOM_PROPERTIES, iface.getCustomProperties());
      }

      networks.put(network.getName(), opts);
    }

    for (String net : getParameters().getRemovedNetworks()) {
      networks.put(net, REMOVE_OBJ);
    }

    return networks;
  }