public HostNicVfsConfig(HostNicVfsConfig vfsConfig) { setId(vfsConfig.getId()); setNicId(vfsConfig.getNicId()); setMaxNumOfVfs(vfsConfig.getMaxNumOfVfs()); setNumOfVfs(vfsConfig.getNumOfVfs()); setNumOfFreeVfs(vfsConfig.getNumOfFreeVfs()); setAllNetworksAllowed(vfsConfig.isAllNetworksAllowed()); Set<Guid> networks = new HashSet<>(); networks.addAll(vfsConfig.getNetworks()); setNetworks(networks); Set<String> labels = new HashSet<>(); labels.addAll(vfsConfig.getNetworkLabels()); setNetworkLabels(labels); }
public HostNicVfsConfig(Guid id, Guid nicId, boolean allNetworksAllowed) { setId(id); setNicId(nicId); setAllNetworksAllowed(allNetworksAllowed); }
private boolean shouldUpdateVfsConfig(HostNicVfsConfig originalVfsConfig, HostNicVfsConfig updateVfsConfig) { return updateVfsConfig.getNumOfVfs() != originalVfsConfig.getNumOfVfs() || updateVfsConfig.isAllNetworksAllowed() != originalVfsConfig.isAllNetworksAllowed(); }
@Override public String toString() { return ToStringBuilder.forInstance(this) .append("id", getId()) .append("nicId", getNicId()) .append("allNetworksAllowed", isAllNetworksAllowed()) .append("maxNumOfVfs", getMaxNumOfVfs()) .append("numOfVfs", getNumOfVfs()) .append("networks", getNetworks()) .append("networkLabels", getNetworkLabels()) .append("NumOfFreeVfs", getNumOfFreeVfs()) .build(); }
private void commonUpdate(Guid vfsConfigId, boolean allNetworksAllowed) { HostNicVfsConfig before = dao.get(vfsConfigId); before.setNicId(FixturesTool.VDS_NETWORK_INTERFACE_WITHOUT_QOS); before.setMaxNumOfVfs(before.getMaxNumOfVfs() + 1); before.setNumOfVfs(before.getNumOfVfs() + 1); before.setAllNetworksAllowed(allNetworksAllowed); if (allNetworksAllowed) { before.setNetworks(new HashSet<>()); before.setNetworkLabels(new HashSet<>()); } else { addNetworks(before); addLabels(before); } dao.update(before); HostNicVfsConfig after = dao.get(vfsConfigId); assertNotNull(after); assertHostNicVfsConfigEquals(before, after); }
private void assertHostNicVfsConfigEquals(HostNicVfsConfig config1, HostNicVfsConfig config2) { assertEquals(config1.getId(), config2.getId(), "id"); assertEquals(config1.getNicId(), config2.getNicId(), "nic_id"); assertEquals(config1.isAllNetworksAllowed(), config2.isAllNetworksAllowed(), "all_networks_allowed"); assertEquals(config1.getNetworks(), config2.getNetworks(), "networks"); assertEquals(config1.getNetworkLabels(), config2.getNetworkLabels(), "labels"); }
public VfsConfigModel(HostNicVfsConfig vfsConfig, List<Network> allClusterNetworks, SortedSet<String> dcLabels) { setEntity(vfsConfig); maxNumOfVfs.setEntity(vfsConfig.getMaxNumOfVfs()); numOfVfs.setEntity(vfsConfig.getNumOfVfs()); allNetworksAllowed.setItems(Arrays.asList(AllNetworksSelector.values())); allNetworksAllowed.setSelectedItem(vfsConfig.isAllNetworksAllowed() ? AllNetworksSelector.allNetworkAllowed : AllNetworksSelector.specificNetworks); labelsModel = new VfsNicLabelModel(new ArrayList<>(vfsConfig.getNetworkLabels()), dcLabels); initNetworks(allClusterNetworks); }
private void initUpdateVfsConfigParams(HostNicVfsConfig originalVfsConfig, HostNicVfsConfig updatedVfsConfig) { if (shouldUpdateVfsConfig(originalVfsConfig, updatedVfsConfig)) { UpdateHostNicVfsConfigParameters param = new UpdateHostNicVfsConfigParameters(updatedVfsConfig.getNicId(), updatedVfsConfig.getNumOfVfs(), updatedVfsConfig.isAllNetworksAllowed()); updatedVfsConfigsParams.add(param); } }
private void saveNetworksAndLabels(HostNicVfsConfig entity) { massNetworksUpdate(entity.getId(), entity.getNetworks()); massLabelsUpdate(entity.getId(), entity.getNetworkLabels()); }
@Override protected MapSqlParameterSource createFullParametersMapper(HostNicVfsConfig hostNicVfsConfig) { return createIdParameterMapper(hostNicVfsConfig.getId()) .addValue("nic_id", hostNicVfsConfig.getNicId()) .addValue("is_all_networks_allowed", hostNicVfsConfig.isAllNetworksAllowed()); }
@Mapping(from = HostNicVfsConfig.class, to = HostNicVirtualFunctionsConfiguration.class) public static HostNicVirtualFunctionsConfiguration map(HostNicVfsConfig entity, HostNicVirtualFunctionsConfiguration apiModel) { apiModel.setAllNetworksAllowed(entity.isAllNetworksAllowed()); apiModel.setMaxNumberOfVirtualFunctions(entity.getMaxNumOfVfs()); apiModel.setNumberOfVirtualFunctions(entity.getNumOfVfs()); return apiModel; }
private void commitVfsConfigChanges(final HostNicVfsConfig hostNicVfsConfig, final VfsConfigModel vfsConfigModel) { if (hostNicVfsConfig != null) { // Num of vfs hostNicVfsConfig.setNumOfVfs(vfsConfigModel.getNumOfVfs().getEntity()); // Networks hostNicVfsConfig.setAllNetworksAllowed(vfsConfigModel .getAllNetworksAllowed().getSelectedItem() == AllNetworksSelector.allNetworkAllowed); Set<Guid> networks = new HashSet<>(); for (VfsConfigNetwork vfsConfigNetwork : vfsConfigModel.getNetworks().getItems()) { if (vfsConfigNetwork.isAttached() && vfsConfigNetwork.getLabelViaAttached() == null) { networks.add(vfsConfigNetwork.getEntity().getId()); } } hostNicVfsConfig.setNetworks(networks); // Labels hostNicVfsConfig.setNetworkLabels(vfsConfigModel.getLabelsModel().computeSelectedLabels()); } }
private void initRemovedNetworksParams(HostNicVfsConfig originalVfsConfig, HostNicVfsConfig updateVfsConfig) { for (Guid networkId : originalVfsConfig.getNetworks()) { if (!updateVfsConfig.getNetworks().contains(networkId)) { removedNetworksParams.add(new VfsConfigNetworkParameters(originalVfsConfig.getNicId(), networkId)); } } }
private void initRemovedLabelsParams(HostNicVfsConfig originalVfsConfig, HostNicVfsConfig updateVfsConfig) { for (String label : originalVfsConfig.getNetworkLabels()) { if (!updateVfsConfig.getNetworkLabels().contains(label)) { removedLabelsParams.add(new VfsConfigLabelParameters(originalVfsConfig.getNicId(), label)); } } }
private void fillNetworksAndLabelsDataOnConfig(HostNicVfsConfig vfsConfig) { Guid id = vfsConfig.getId(); vfsConfig.setNetworks(getNetworksByVfsConfigId(id)); vfsConfig.setNetworkLabels(getLabelsByVfsConfigId(id)); }
private void commonSave(boolean allNetworksAllowed) { HostNicVfsConfig newConfig = new HostNicVfsConfig(); newConfig.setId(Guid.newGuid()); newConfig.setNicId(FixturesTool.VDS_NETWORK_INTERFACE_WITHOUT_QOS); newConfig.setAllNetworksAllowed(allNetworksAllowed); if (!allNetworksAllowed) { addNetworks(newConfig); addLabels(newConfig); } dao.save(newConfig); HostNicVfsConfig result = dao.get(newConfig.getId()); assertNotNull(result); assertHostNicVfsConfigEquals(newConfig, result); }
@Override protected void onActionExecute() { for (HostNicVfsConfig originalVfsConfig : originalVfsConfigs) { HostNicVfsConfig updatedVfsConfig = updatedNicToVfsConfig.get(originalVfsConfig.getNicId()); if (!updatedVfsConfig.isAllNetworksAllowed()) { initAddedNetworksParams(originalVfsConfig, updatedVfsConfig); initRemovedNetworksParams(originalVfsConfig, updatedVfsConfig);
private Set<Guid> loadVfAllowedNetworks() { final BackendHostNicsResource hostNicsResource = getParent(); final HostNicVfsConfig vfsConfig = hostNicsResource.findVfsConfig(nicId); if (vfsConfig == null) { return Collections.emptySet(); } final Set<Guid> networkIds = vfsConfig.getNetworks(); return networkIds; }
@Override protected List<NetworkLabel> getHostNicLabels(Guid hostNicId) { final BackendHostNicsResource hostNicsResource = inject(new BackendHostNicsResource(hostId)); final HostNicVfsConfig vfsConfig = hostNicsResource.findVfsConfig(hostNicId); if (vfsConfig == null) { return Collections.emptyList(); } final Set<String> networkLabelIds = vfsConfig.getNetworkLabels(); return networkLabelIds.stream().map(NetworkLabel::new).collect(toList()); }
private void queryVfsConfig() { // query for vfsConfigs VDS vds = getEntity(); IdQueryParameters params = new IdQueryParameters(vds.getId()); Frontend.getInstance().runQuery(QueryType.GetAllVfsConfigByHostId, params, new AsyncQuery<QueryReturnValue>(returnValueObj -> { Object returnValue = returnValueObj.getReturnValue(); List<HostNicVfsConfig> allHostVfs = (List<HostNicVfsConfig>) returnValue; for (HostNicVfsConfig vfsConfig : allHostVfs) { originalVfsConfigs.add(vfsConfig); nicToVfsConfig.put(vfsConfig.getNicId(), new HostNicVfsConfig(vfsConfig)); } queryVfMap(); })); }