use of org.ovirt.engine.core.common.businessentities.Label in project ovirt-engine by oVirt.
the class OvfHelper method buildMetadataDictionaryForVm.
/**
* Adds the given vm metadata to the given map
*/
private String buildMetadataDictionaryForVm(VM vm) {
List<DiskImage> allVmImages = new ArrayList<>();
List<DiskImage> filteredDisks = DisksFilter.filterImageDisks(vm.getDiskList(), ONLY_SNAPABLE, ONLY_ACTIVE);
List<LunDisk> lunDisks = DisksFilter.filterLunDisks(vm.getDiskMap().values());
List<AffinityGroup> affinityGroups = affinityGroupDao.getAllAffinityGroupsByVmId(vm.getId());
Set<DbUser> dbUsers = new HashSet<>(dbUserDao.getAllForVm(vm.getId()));
List<Label> affinityLabels = labelDao.getAllByEntityIds(Collections.singletonList(vm.getId()));
for (DiskImage diskImage : filteredDisks) {
List<DiskImage> images = diskImageDao.getAllSnapshotsForLeaf(diskImage.getImageId());
images.forEach(d -> d.setDiskVmElements(Collections.singletonList(diskImage.getDiskVmElementForVm(vm.getId()))));
allVmImages.addAll(images);
}
FullEntityOvfData fullEntityOvfData = new FullEntityOvfData(vm);
fullEntityOvfData.setDiskImages(allVmImages);
fullEntityOvfData.setLunDisks(lunDisks);
fullEntityOvfData.setAffinityGroups(affinityGroups);
fullEntityOvfData.setAffinityLabels(affinityLabels);
fullEntityOvfData.setDbUsers(dbUsers);
populateUserToRoles(fullEntityOvfData, vm.getId());
return ovfManager.exportVm(vm, fullEntityOvfData, clusterUtils.getCompatibilityVersion(vm));
}
use of org.ovirt.engine.core.common.businessentities.Label in project ovirt-engine by oVirt.
the class LabelActionParametersTest method validateValidName.
@Test
public void validateValidName() throws Exception {
Label label = createLabel("validLabelName");
validateLabelNameLength(label, true);
}
use of org.ovirt.engine.core.common.businessentities.Label in project ovirt-engine by oVirt.
the class AddLabelCommand method executeCommand.
@Override
protected void executeCommand() {
Label label = new LabelBuilder(getParameters().getLabel()).build();
labelDao.save(label);
vmStaticDao.incrementDbGenerationForVms(new ArrayList<Guid>(label.getVms()));
setSucceeded(true);
setActionReturnValue(label.getId());
}
use of org.ovirt.engine.core.common.businessentities.Label in project ovirt-engine by oVirt.
the class AddLabelCommand method validate.
@Override
protected boolean validate() {
Label label = labelDao.get(getLabelId());
if (label != null) {
addValidationMessage(EngineMessage.AFFINITY_LABEL_ID_ALREADY_EXISTS);
return false;
}
if (getParameters().getLabel().getName().isEmpty()) {
addValidationMessage(EngineMessage.AFFINITY_LABEL_BAD_NAME);
return false;
}
label = labelDao.getByName(getParameters().getLabel().getName());
if (label != null) {
addValidationMessage(EngineMessage.AFFINITY_LABEL_NAME_ALREADY_EXISTS);
return false;
}
if (getParameters().getLabel().isReadOnly() && !isInternalExecution()) {
addValidationMessage(EngineMessage.AFFINITY_LABEL_READ_ONLY);
return false;
}
return true;
}
use of org.ovirt.engine.core.common.businessentities.Label in project ovirt-engine by oVirt.
the class LabelFilterPolicyUnitTest method testSimple.
@Test
public void testSimple() throws Exception {
Label red = new LabelBuilder().entities(vm, host1).build();
List<Label> labels = Collections.singletonList(red);
doReturn(labels).when(labelDao).getAllByEntityIds(any());
assertThat(unit.filter(cluster, hosts, vm, new HashMap<>(), new PerHostMessages())).contains(host1).doesNotContain(host2);
}
Aggregations