Hello Shmuel Melamud,
I'd like you to do a code review. Please visit
https://gerrit.ovirt.org/40557
to review the following change.
Change subject: engine: Removal of VM pool with VMs
......................................................................
engine: Removal of VM pool with VMs
Rewritten RemoveVmPoolCommand to support removal of VM pools with VMs in
it. The following operations are performed:
1. Execute StopVm for each running VM in the pool.
2. Wait until all VMs in the pool are down.
3. Execute RemoveVmFromPool for each VM in the pool to detach it and
RemoveVm to remove it completely.
4. After detaching all VMs, remove the pool.
Change-Id: I58b0f37903447b49edf74bea5a51108818701698
Signed-off-by: Shmuel Melamud <[email protected]>
---
M
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmPoolCommand.java
A
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmPoolCommandCallback.java
M
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java
M
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/job/StepEnum.java
M backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
M backend/manager/modules/dal/src/main/resources/bundles/AppErrors_de.properties
M backend/manager/modules/dal/src/main/resources/bundles/AppErrors_it.properties
M backend/manager/modules/dal/src/main/resources/bundles/AppErrors_nl.properties
M
backend/manager/modules/dal/src/main/resources/bundles/ExecutionMessages.properties
M
frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
M
frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
M
frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_de_DE.properties
M
frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_es_ES.properties
M
frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_fr_FR.properties
M
frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_ja_JP.properties
M
frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_ko_KR.properties
M
frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_pt_BR.properties
M
frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_zh_CN.properties
18 files changed, 206 insertions(+), 71 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/57/40557/1
diff --git
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmPoolCommand.java
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmPoolCommand.java
index 0c28e6e..0054cfc 100644
---
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmPoolCommand.java
+++
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmPoolCommand.java
@@ -1,17 +1,38 @@
package org.ovirt.engine.core.bll;
-import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
import java.util.Map;
import org.ovirt.engine.core.bll.context.CommandContext;
+import org.ovirt.engine.core.bll.job.ExecutionContext;
+import org.ovirt.engine.core.bll.job.ExecutionHandler;
+import org.ovirt.engine.core.bll.tasks.CommandCoordinatorUtil;
+import org.ovirt.engine.core.bll.tasks.interfaces.CommandCallback;
import org.ovirt.engine.core.common.AuditLogType;
import org.ovirt.engine.core.common.VdcObjectType;
+import org.ovirt.engine.core.common.action.RemoveVmFromPoolParameters;
+import org.ovirt.engine.core.common.action.RemoveVmParameters;
+import org.ovirt.engine.core.common.action.StopVmParameters;
+import org.ovirt.engine.core.common.action.StopVmTypeEnum;
+import org.ovirt.engine.core.common.action.VdcActionType;
+import org.ovirt.engine.core.common.action.VdcReturnValueBase;
import org.ovirt.engine.core.common.action.VmPoolParametersBase;
+import org.ovirt.engine.core.common.businessentities.VM;
+import org.ovirt.engine.core.common.businessentities.VmPool;
import org.ovirt.engine.core.common.errors.VdcBllMessages;
+import org.ovirt.engine.core.common.job.Step;
+import org.ovirt.engine.core.common.job.StepEnum;
import org.ovirt.engine.core.compat.Guid;
import org.ovirt.engine.core.dal.dbbroker.DbFacade;
+import org.ovirt.engine.core.dal.job.ExecutionMessageDirector;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class RemoveVmPoolCommand<T extends VmPoolParametersBase> extends
VmPoolCommandBase<T> {
+
+ private static final Logger log =
LoggerFactory.getLogger(RemoveVmPoolCommand.class);
+
public RemoveVmPoolCommand(T parameters) {
this(parameters, null);
}
@@ -26,34 +47,127 @@
@Override
protected boolean canDoAction() {
- return canRemoveVmPool(getParameters().getVmPoolId(),
getReturnValue().getCanDoActionMessages());
+ if (getVmPool() == null) {
+ return failCanDoAction(VdcBllMessages.VM_POOL_NOT_FOUND);
+ }
+ return true;
}
@Override
protected void executeCommand() {
- if (getVmPoolId() != null &&
canRemoveVmPoolWithoutReasons(getVmPoolId())) {
- DbFacade.getInstance().getVmPoolDao().remove(getVmPoolId());
- setSucceeded(true);
+ setPrestartedToZero();
+ stopVms();
+ setCommandShouldBeLogged(false);
+ setSucceeded(true);
+ }
+
+ private void setPrestartedToZero() {
+ VmPool vmPool = getVmPool();
+ if (vmPool.getPrestartedVms() > 0) {
+ vmPool.setPrestartedVms(0);
+ getVmPoolDAO().update(vmPool);
}
+ }
+
+ private void stopVms() {
+ List<VM> vmsInPool =
DbFacade.getInstance().getVmDao().getAllForVmPool(getVmPoolId());
+
+ for (VM vm : vmsInPool) {
+ if (!vm.isDown()) {
+ CommandCoordinatorUtil.executeAsyncCommand(
+ VdcActionType.StopVm,
+ withRootCommandInfo(new StopVmParameters(vm.getId(),
StopVmTypeEnum.NORMAL), getActionType()),
+ cloneContextAndDetachFromParent());
+ }
+ }
+ }
+
+
+ private boolean removeVmsInPool() {
+ List<VM> vmsInPool =
DbFacade.getInstance().getVmDao().getAllForVmPool(getVmPoolId());
+ VdcReturnValueBase result;
+ for (VM vm : vmsInPool) {
+ if (!vm.isDown()) {
+ return false;
+ }
+
+ result = runInternalActionWithTasksContext(
+ VdcActionType.RemoveVmFromPool,
+ new RemoveVmFromPoolParameters(vm.getId()));
+ if (!result.getSucceeded()) {
+ return false;
+ }
+
+ result = runInternalAction(
+ VdcActionType.RemoveVm,
+ withRootCommandInfo(new RemoveVmParameters(vm.getId(),
false), getActionType()),
+ createRemoveVmStepContext(vm.getName()));
+ if (!result.getSucceeded()) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ private static boolean canRemoveVmPool(Guid vmPoolId) {
+ return getListOfVmsInPool(vmPoolId).size() == 0;
+ }
+
+ private boolean removeVmPool() {
+ if (getVmPoolId() != null && canRemoveVmPool(getVmPoolId())) {
+ getVmPoolDAO().remove(getVmPoolId());
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ public void onSucceeded() {
+ setSucceeded(removeVmsInPool() && removeVmPool());
+ log();
+ }
+
+ public void onFailed() {
+ setSucceeded(false);
+ log();
+ }
+
+ private CommandContext createRemoveVmStepContext(String vmName) {
+ CommandContext commandCtx = null;
+
+ try {
+ Map<String, String> values =
Collections.singletonMap(VdcObjectType.VM.name().toLowerCase(), vmName);
+
+ Step removeVmStep =
ExecutionHandler.addSubStep(getExecutionContext(),
+ getExecutionContext().getJob().getStep(StepEnum.EXECUTING),
+ StepEnum.REMOVING_VM,
+
ExecutionMessageDirector.resolveStepMessage(StepEnum.REMOVING_VM, values));
+
+ ExecutionContext ctx = new ExecutionContext();
+ ctx.setStep(removeVmStep);
+ ctx.setMonitored(true);
+
+ commandCtx =
cloneContextAndDetachFromParent().withExecutionContext(ctx);
+ } catch (RuntimeException e) {
+ log.error("Failed to create command context of removing VM '{}'
from Pool '{}': {}",
+ vmName,
+ getVmPoolName(),
+ e.getMessage());
+ log.debug("Exception", e);
+ }
+
+ return commandCtx;
+ }
+
+ @Override
+ public CommandCallback getCallback() {
+ return new RemoveVmPoolCommandCallback();
}
@Override
public AuditLogType getAuditLogTypeValue() {
return getSucceeded() ? AuditLogType.USER_REMOVE_VM_POOL :
AuditLogType.USER_REMOVE_VM_POOL_FAILED;
- }
-
- public static boolean canRemoveVmPoolWithoutReasons(Guid vmPoolId) {
- ArrayList<String> reasons = new ArrayList<String>();
- return (canRemoveVmPool(vmPoolId, reasons));
- }
-
- public static boolean canRemoveVmPool(Guid vmPoolId, ArrayList<String>
reasons) {
- boolean returnValue = true;
- if
(DbFacade.getInstance().getVmPoolDao().getVmPoolsMapByVmPoolId(vmPoolId).size()
!= 0) {
- returnValue = false;
-
reasons.add(VdcBllMessages.VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_VMS.toString());
- }
- return returnValue;
}
@Override
diff --git
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmPoolCommandCallback.java
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmPoolCommandCallback.java
new file mode 100644
index 0000000..bfb494e
--- /dev/null
+++
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmPoolCommandCallback.java
@@ -0,0 +1,65 @@
+package org.ovirt.engine.core.bll;
+
+import org.ovirt.engine.core.bll.tasks.CommandCoordinatorUtil;
+import org.ovirt.engine.core.bll.tasks.interfaces.CommandCallback;
+import org.ovirt.engine.core.common.action.VmPoolParametersBase;
+import org.ovirt.engine.core.common.businessentities.CommandEntity;
+import org.ovirt.engine.core.common.businessentities.VmPool;
+import org.ovirt.engine.core.compat.CommandStatus;
+import org.ovirt.engine.core.compat.Guid;
+import org.ovirt.engine.core.dal.dbbroker.DbFacade;
+
+import java.util.List;
+
+public class RemoveVmPoolCommandCallback extends CommandCallback {
+
+ @Override
+ public void doPolling(Guid cmdId, List<Guid> childCmdIds) {
+ RemoveVmPoolCommand<? extends VmPoolParametersBase> command =
getCommand(cmdId);
+
+ boolean anyFailed = false;
+ for (Guid childCmdId : childCmdIds) {
+ CommandEntity entity =
CommandCoordinatorUtil.getCommandEntity(childCmdId);
+ switch (entity.getCommandStatus()) {
+ case FAILED:
+ case FAILED_RESTARTED:
+ case UNKNOWN:
+ anyFailed = true;
+ break;
+
+ default:
+ break;
+ }
+
+ if (entity.isExecuted() &&
!entity.getReturnValue().getSucceeded()) {
+ anyFailed = true;
+ }
+ }
+
+ if (anyFailed) {
+ command.setCommandStatus(CommandStatus.FAILED);
+ } else {
+ VmPool pool =
DbFacade.getInstance().getVmPoolDao().get(command.getVmPoolId());
+ if (pool.getRunningVmsCount() == 0) {
+ command.setCommandStatus(CommandStatus.SUCCEEDED);
+ }
+ }
+ }
+
+ @Override
+ public void onFailed(Guid cmdId, List<Guid> childCmdIds) {
+ getCommand(cmdId).onFailed();
+ CommandCoordinatorUtil.removeAllCommandsInHierarchy(cmdId);
+ }
+
+ @Override
+ public void onSucceeded(Guid cmdId, List<Guid> childCmdIds) {
+ getCommand(cmdId).onSucceeded();
+ CommandCoordinatorUtil.removeAllCommandsInHierarchy(cmdId);
+ }
+
+ private RemoveVmPoolCommand<? extends VmPoolParametersBase>
getCommand(Guid cmdId) {
+ return CommandCoordinatorUtil.retrieveCommand(cmdId);
+ }
+
+}
diff --git
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java
index 27f326c..e886a8c 100644
---
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java
+++
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java
@@ -482,7 +482,7 @@
USER_CANNOT_REMOVE_ADMIN_USER(ErrorType.NO_PERMISSION),
USB_NATIVE_SUPPORT_ONLY_AVAILABLE_ON_CLUSTER_LEVEL(ErrorType.CONFLICT),
USB_LEGACY_NOT_SUPPORTED_ON_LINUX_VMS(ErrorType.CONFLICT),
- VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_VMS(ErrorType.CONFLICT),
+ VM_POOL_NOT_FOUND(ErrorType.BAD_PARAMETERS),
VM_POOL_CANNOT_REMOVE_RUNNING_VM_FROM_POOL(ErrorType.CONFLICT),
VM_POOL_CANNOT_ADD_RUNNING_VM_TO_POOL(ErrorType.CONFLICT),
ACTION_TYPE_FAILED_USER_ATTACHED_TO_POOL(ErrorType.CONFLICT),
diff --git
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/job/StepEnum.java
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/job/StepEnum.java
index f982e84..d72ea6b 100644
---
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/job/StepEnum.java
+++
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/job/StepEnum.java
@@ -19,6 +19,7 @@
CREATING_SNAPSHOTS,
RUN_STATELESS_VM,
TAKING_VM_FROM_POOL,
+ REMOVING_VM,
// Gluster
SETTING_GLUSTER_OPTION,
diff --git
a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
index 437d597..7f38ba0 100644
---
a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
+++
b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
@@ -132,14 +132,12 @@
VMT_CANNOT_REMOVE_VDS_GROUP_VMTS_DETECTED=Cannot ${action} ${type}. One or
more Template(s) are still associated with it
VDS_GROUP_CANNOT_REMOVE_HAS_VM_POOLS=Cannot ${action} ${type}.One or more
VM-Pools are still associated with it
VM_IMAGE_LOCKED=Cannot run VM. The disk image is being copied. Please wait for
the copy operation to complete.
+VM_POOL_NOT_FOUND=VM-Pool not found
VM_POOL_CANNOT_ADD_VM_WITH_USERS_ATTACHED_TO_POOL=Cannot attach VM to VM-Pool.
VM-Pool is already attached to a User.
VM_POOL_CANNOT_ATTACH_TO_MORE_VMS_FROM_POOL=User is already attached to
maximum number of VMs from this VM-Pool.
VM_POOL_CANNOT_ADD_VM_ATTACHED_TO_POOL=Cannot attach VM to pool. VM is already
attached to another VM-Pool.
VM_POOL_CANNOT_DETACH_VM_NOT_ATTACHED_TO_POOL=Cannot detach VM from pool. VM
is not attached to the VM-Pool.
VM_POOL_CANNOT_ADD_VM_DIFFERENT_CLUSTER=Cannot attach VM to VM-Pool. VM
resides on different Host Cluster than VM-Pool.
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_DIRECTORY_GROUPS=Cannot remove
VM-Pool. Detach Directory Groups from VM-Pool first.
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_USERS=Cannot remove VM-Pool.
Detach Users from VM-Pool first.
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_VMS=Cannot remove VM-Pool. Detach VMs from
VM-Pool first.
VM_POOL_CANNOT_REMOVE_RUNNING_VM_FROM_POOL=Cannot detach VM from VM-Pool. VM
is running.
VM_POOL_CANNOT_ADD_RUNNING_VM_TO_POOL=Cannot attach VM to VM-Pool. VM is
running.
VM_INVALID_SERVER_CLUSTER_ID=Invalid Host Cluster id.
diff --git
a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors_de.properties
b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors_de.properties
index 969d032..95ac51d 100644
---
a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors_de.properties
+++
b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors_de.properties
@@ -20,7 +20,6 @@
VDS_RESPONSE_ERROR=Interner Fehler (Serverantwortfehler)
USER_CANNOT_REMOVE_USER_ATTACHED_POOL=Einem Desktop-Pool zugewiesene Benutzer
können nicht entfernt werden. Entfernen Sie zuerst den Benutzer aus dem
Desktop-Pool: Wählen Sie den Pool im Fenster „Desktop-Pools“ aus und klicken
Sie in der Menüleiste auf „Poolbenutzer verwalten“.
VM_POOL_CANNOT_CREATE_DUPLICATE_NAME=Kann Desktop-Pool nicht ${action}. Es ist
bereits ein gleichnamiger Desktop-Pool vorhanden.
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_DIRECTORY_GROUPS=Der Desktop-Pool
kann nicht gelöscht werden. Entfernen Sie zuerst alle Benutzergruppen aus dem
Pool (mit der Funktion „Benutzer verwalten“).
VM_CANNOT_CREATE_IMAGE_NOT_EXIST=Image nicht gefunden
VDS_CANNOT_REMOVE_VDS_DETECTED_RUNNING_VM=Auf dem Server wird mindestens ein
Desktop ausgeführt.
VM_TEMPLATE_CANT_LOCATE_DISKS_IN_DB=Interner Fehler (Die Vorlagenquelle wurde
in der Datenbank nicht gefunden.)
@@ -49,7 +48,6 @@
VM_POOL_CANNOT_ADD_VM_WITH_USERS_ATTACHED_TO_POOL=Kann den Desktop dem
Desktop-Pool nicht hinzufügen, da er bereits einem Benutzer zugewiesen wurde.
VAR__ACTION__UPDATE=$action aktualisieren
LICENSE=Lizenzfehler
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_USERS=Kann den Desktop-Pool nicht
löschen. Entfernen Sie zuerst die Benutzer aus dem Pool (mit der Funktion
„Benutzer verwalten“).
ACTION_TYPE_FAILED_IMAGE_REPOSITORY_NOT_FOUND=Kann ${type} nicht ${action}:
Das Image-Repository kann nicht aufgerufen werden.
Stellen Sie sicher, dass mindestens ein Server aktiv ist.
USER_PASSWORD_EXPIRED=Anmeldung fehlgeschlagen. Das Kennwort ist abgelaufen.
Bitte ändern Sie das Kennwort.
@@ -109,7 +107,6 @@
VM_NOT_FOUND=Desktop nicht gefunden
ACTION_TYPE_FAILED_VM_ATTACHED_TO_POOL=Kann ${type} nicht ${action}. Der
Desktop gehört zu einem Desktop-Pool.
VDS_NOT_EXIST=Interner Fehler (Server ist in der Datenbank nicht vorhanden.)
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_VMS=Der Desktop-Pool kann nicht gelöscht
werden. Entfernen Sie zuerst die Desktops aus dem Pool (mit der Funktion
„Desktop verwalten“).
VM_POOL_CANNOT_ADD_VM_ATTACHED_TO_POOL=Der Desktop kann dem Pool nicht
hinzugefügt werden, da er bereits einem anderen Pool zugewiesen wurde.
MAC_POOL_NO_MACS_LEFT=Der MAC-Adresspool enthält keine MAC-Adresse mehr.
ACTION_TYPE_FAILED_CANNOT_REMOVE_IMAGE_TEMPLATE=Kann ${type} nicht ${action}.
Der Vorlagen-Snapshot darf nicht gelöscht werden.
diff --git
a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors_it.properties
b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors_it.properties
index d19b7e8..8354656 100644
---
a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors_it.properties
+++
b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors_it.properties
@@ -20,7 +20,6 @@
VDS_RESPONSE_ERROR=Errore interno (errore di risposta del server)
USER_CANNOT_REMOVE_USER_ATTACHED_POOL=Impossibile rimuovere l'utente collegato
al pool di desktop. Rimuovere prima l'utente dal pool di desktop aprendo la
finestra 'Pool di desktop', selezionando il pool di desktop appropriato, quindi
facendo clic su 'Gestione utenti pool' dalla barra dei menu.
VM_POOL_CANNOT_CREATE_DUPLICATE_NAME=Impossibile ${action} pool di desktop.
Esiste già un pool di desktop con lo stesso nome.
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_DIRECTORY_GROUPS=Impossibile
rimuovere il pool di desktop. Rimuovere prima i gruppi di utenti dal pool di
desktop (mediante il comando Gestione utente).
VM_CANNOT_CREATE_IMAGE_NOT_EXIST=Impossibile trovare l'immagine
VDS_CANNOT_REMOVE_VDS_DETECTED_RUNNING_VM=Sul server risiedono uno o più
desktop in esecuzione
VM_TEMPLATE_CANT_LOCATE_DISKS_IN_DB=Errore interno (impossibile individuare i
dischi dei modelli nel database)
@@ -49,7 +48,6 @@
VM_POOL_CANNOT_ADD_VM_WITH_USERS_ATTACHED_TO_POOL=Impossibile collegare il
desktop al pool di desktop perché è già collegato a un utente
VAR__ACTION__UPDATE=$action aggiorna
LICENSE=Errore licenza
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_USERS=Impossibile rimuovere il
pool di desktop. Rimuovere prima gli utenti dal pool di desktop (mediante il
comando Gestione utente)
ACTION_TYPE_FAILED_IMAGE_REPOSITORY_NOT_FOUND=Impossibile accedere al
repository delle immagini.
Verificare che sia in funzione almeno un server.
USER_PASSWORD_EXPIRED=Impossibile accedere. La password dell'utente è scaduta.
Scegliere un'altra password.
@@ -109,7 +107,6 @@
VM_NOT_FOUND=Impossibile trovare il desktop
ACTION_TYPE_FAILED_VM_ATTACHED_TO_POOL=Impossibile ${action} ${type}. Il
desktop è collegato a un pool di desktop.
VDS_NOT_EXIST=Errore interno (il server non esiste nel database)
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_VMS=Impossibile rimuovere il pool di
desktop. Rimuovere prima i desktop dal pool di desktop (mediante il comando
Gestione desktop)
VM_POOL_CANNOT_ADD_VM_ATTACHED_TO_POOL=
MAC_POOL_NO_MACS_LEFT=Nessun indirizzo MAC rimasto nel pool di indirizzi MAC
ACTION_TYPE_FAILED_CANNOT_REMOVE_IMAGE_TEMPLATE=Impossibile ${action} ${type}.
Non è consentito eliminare lo snapshot del modello.
diff --git
a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors_nl.properties
b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors_nl.properties
index e1831bd..763d6fc 100644
---
a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors_nl.properties
+++
b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors_nl.properties
@@ -20,7 +20,6 @@
VDS_RESPONSE_ERROR=Interne fout (Fout bij antwoord van server)
USER_CANNOT_REMOVE_USER_ATTACHED_POOL=Kan gebruiker die is verbonden is met
Bureaubladgroep is verwijderen. Verwijder gebruiker eerst uit Bureaubladgroep
door naar het venster 'Bureaubladgroep(en)' te gaan en op 'Groepgebruikers
beheren' te klikken in de menubalk
VM_POOL_CANNOT_CREATE_DUPLICATE_NAME=Kan niet ${action} bureaubladen-pool. Een
bureaubladenpool met die naam bestaat al.
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_DIRECTORY_GROUPS=Kan
Bureaublad-groep niet verwijderen. Verwijder gebruikersgroepen eerst van de
Bureaublad-groep (door middel van Gebruiker beheren)
VM_CANNOT_CREATE_IMAGE_NOT_EXIST=Afbeeldingen niet gevonden
VDS_CANNOT_REMOVE_VDS_DETECTED_RUNNING_VM=Server is host van één of meerdere
actieve bureaubladen
VM_TEMPLATE_CANT_LOCATE_DISKS_IN_DB=Interne fout (Kan de sjabloonschijven niet
vinden in de database)
@@ -49,7 +48,6 @@
VM_POOL_CANNOT_ADD_VM_WITH_USERS_ATTACHED_TO_POOL=Kan Bureaublad niet met
Bureaublad verbinden omdat het al met een gebruiker is verbonden
VAR__ACTION__UPDATE=$action bijwerken
LICENSE=Licentiefout
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_USERS=Kan Bureaubladgroep niet
verwijderen. Verwijder gebruikers eerst uit Bureaubladgroep (door middel van
Gebruiker beheren)
ACTION_TYPE_FAILED_IMAGE_REPOSITORY_NOT_FOUND=Kan ${type} niet ${action}. Geen
toegang tot afbeeldingenopslag.
Controleer of er tenminste één server in werking is.
USER_PASSWORD_EXPIRED=Kan niet aanmelden. Gebruikerswachtwoord is verlopen.
Wijzig uw wachtwoord.
@@ -109,7 +107,6 @@
VM_NOT_FOUND=Bureaublad niet gevonden
ACTION_TYPE_FAILED_VM_ATTACHED_TO_POOL=Kan ${type} niet ${action}. Bureaublad
is verbonden met een Bureaublad-groep.
VDS_NOT_EXIST=Interne fout (Server bestaat niet in database)
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_VMS=Kan Bureaubladgroep niet verwijderen.
Verwijder Bureaubladen eerst uit Bureaubladgroep (door middel van Bureaublad
beheren)
VM_POOL_CANNOT_ADD_VM_ATTACHED_TO_POOL=Kan bureaublad niet verbinden met groep
omdat het is verbonden met een andere groep
MAC_POOL_NO_MACS_LEFT=Geen MAC-adres meer in MAC-adresgroep
ACTION_TYPE_FAILED_CANNOT_REMOVE_IMAGE_TEMPLATE=Kan ${type} niet ${action}. De
sjabloon momentopname verwijderen is niet toegestaan.
diff --git
a/backend/manager/modules/dal/src/main/resources/bundles/ExecutionMessages.properties
b/backend/manager/modules/dal/src/main/resources/bundles/ExecutionMessages.properties
index bf26392..2f8263b 100644
---
a/backend/manager/modules/dal/src/main/resources/bundles/ExecutionMessages.properties
+++
b/backend/manager/modules/dal/src/main/resources/bundles/ExecutionMessages.properties
@@ -143,6 +143,7 @@
step.TAKING_VM_FROM_POOL=Taking VM ${VM} from VM pool in order to run it
step.CLONE_IMAGE_STRUCTURE=Cloning image's structure
step.SYNC_IMAGE_DATA=Synchronizing image data
+step.REMOVING_VM=Removing VM ${VM} from VM Pool
# Gluster step types
step.SETTING_GLUSTER_OPTION=Setting option ${Key}=${Value} on volume
${GlusterVolume} of cluster ${Cluster}
diff --git
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
index b6ed4e0..713b036 100644
---
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
+++
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
@@ -343,6 +343,9 @@
@DefaultStringValue("User is already attached to this VM-Pool.")
String ACTION_TYPE_FAILED_USER_ATTACHED_TO_POOL();
+ @DefaultStringValue("VM-Pool not found")
+ String VM_POOL_NOT_FOUND();
+
@DefaultStringValue("Cannot attach VM to pool. VM is already attached to
another VM-Pool.")
String VM_POOL_CANNOT_ADD_VM_ATTACHED_TO_POOL();
@@ -351,15 +354,6 @@
@DefaultStringValue("Cannot attach VM to VM-Pool. VM resides on different
Host Cluster than VM-Pool.")
String VM_POOL_CANNOT_ADD_VM_DIFFERENT_CLUSTER();
-
- @DefaultStringValue("Cannot remove VM-Pool. Detach Directory Groups from
VM-Pool first.")
- String VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_DIRECTORY_GROUPS();
-
- @DefaultStringValue("Cannot remove VM-Pool. Detach Users from VM-Pool
first.")
- String VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_USERS();
-
- @DefaultStringValue("Cannot remove VM-Pool. Detach VMs from VM-Pool
first.")
- String VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_VMS();
@DefaultStringValue("Cannot detach VM from VM-Pool. VM is running.")
String VM_POOL_CANNOT_REMOVE_RUNNING_VM_FROM_POOL();
diff --git
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
index e2f212b..608427d 100644
---
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
+++
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
@@ -131,14 +131,12 @@
VMT_CANNOT_REMOVE_VDS_GROUP_VMTS_DETECTED=Cannot ${action} ${type}. One or
more Template(s) are still associated with it
VDS_GROUP_CANNOT_REMOVE_HAS_VM_POOLS=Cannot ${action} ${type}.One or more
VM-Pools are still associated with it
VM_IMAGE_LOCKED=Cannot run VM. The disk image is being copied. Please wait for
the copy operation to complete.
+VM_POOL_NOT_FOUND=VM-Pool not found
VM_POOL_CANNOT_ADD_VM_WITH_USERS_ATTACHED_TO_POOL=Cannot attach VM to VM-Pool.
VM-Pool is already attached to a User.
ACTION_TYPE_FAILED_USER_ATTACHED_TO_POOL=User is already attached to this
VM-Pool.
VM_POOL_CANNOT_ADD_VM_ATTACHED_TO_POOL=Cannot attach VM to pool. VM is already
attached to another VM-Pool.
VM_POOL_CANNOT_DETACH_VM_NOT_ATTACHED_TO_POOL=Cannot detach VM from pool. VM
is not attached to the VM-Pool.
VM_POOL_CANNOT_ADD_VM_DIFFERENT_CLUSTER=Cannot attach VM to VM-Pool. VM
resides on different Host Cluster than VM-Pool.
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_DIRECTORY_GROUPS=Cannot remove
VM-Pool. Detach Directory Groups from VM-Pool first.
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_USERS=Cannot remove VM-Pool.
Detach Users from VM-Pool first.
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_VMS=Cannot remove VM-Pool. Detach VMs from
VM-Pool first.
VM_POOL_CANNOT_REMOVE_RUNNING_VM_FROM_POOL=Cannot detach VM from VM-Pool. VM
is running.
VM_POOL_CANNOT_ADD_RUNNING_VM_TO_POOL=Cannot attach VM to VM-Pool. VM is
running.
VM_INVALID_SERVER_CLUSTER_ID=Invalid Host Cluster id.
diff --git
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_de_DE.properties
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_de_DE.properties
index b58470b..ad8501e 100644
---
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_de_DE.properties
+++
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_de_DE.properties
@@ -107,9 +107,6 @@
VM_POOL_CANNOT_ADD_VM_ATTACHED_TO_POOL=VM kann nicht an diesen Pool
angeh\u00E4ngt werden. VM ist bereits an einen anderen VM-Pool angeh\u00E4ngt.
VM_POOL_CANNOT_DETACH_VM_NOT_ATTACHED_TO_POOL=VM kann nicht von diesem Pool
abgeh\u00E4ngt werden. VM ist an den VM-Pool angeh\u00E4ngt.
VM_POOL_CANNOT_ADD_VM_DIFFERENT_CLUSTER=VM kann nicht zum VM-Pool
angeh\u00E4ngt werden. VM befindet sich auf einem anderen Host-Cluster als der
VM-Pool.
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_DIRECTORY_GROUPS=Kann VM-Pool
nicht entfernen. Zuerst Verzeichnis-Gruppen vom VM-Pool trennen.
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_USERS=Kann VM-Pool nicht
entfernen. Zuerst Benutzer vom VM-Pool trennen.
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_VMS=Kann VM-Pool nicht entfernen. Zuerst
VMs vom VM-Pool trennen.
VM_POOL_CANNOT_REMOVE_RUNNING_VM_FROM_POOL=VM kann nicht von diesem VM-Pool
abgeh\u00E4ngt werden. VM l\u00E4uft.
VM_POOL_CANNOT_ADD_RUNNING_VM_TO_POOL=VM kann nicht an diesen VM-Pool
angeh\u00E4ngt werden. VM l\u00E4uft.
VM_INVALID_SERVER_CLUSTER_ID=Ung\u00FCltige Host-Cluster Id.
diff --git
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_es_ES.properties
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_es_ES.properties
index 9c3bcfe..6fdab10 100644
---
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_es_ES.properties
+++
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_es_ES.properties
@@ -111,9 +111,6 @@
VM_POOL_CANNOT_ADD_VM_ATTACHED_TO_POOL=No se puede adjuntar la MV al pool. MV
ya est\u00E1 adjunta a otro MV-Pool.
VM_POOL_CANNOT_DETACH_VM_NOT_ATTACHED_TO_POOL=No se puede separar la MV del
pool. MV no est\u00E1 adjunta al MV-Pool.
VM_POOL_CANNOT_ADD_VM_DIFFERENT_CLUSTER=No se puede adjuntar la MV al MV-pool.
MV reside en un cl\u00FAster de host diferente que el de la MV-Pool.
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_DIRECTORY_GROUPS=No se puede
borrar MV-Pool. Primero separe los grupos del directorio del MV-Pool.
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_USERS=No se puede borrar MV-Pool.
Primero separe los usuarios del MV-Pool.
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_VMS=No se puede borrar MV-Pool. Primero
separe las MVs del MV-Pool.
VM_POOL_CANNOT_REMOVE_RUNNING_VM_FROM_POOL=No se puede separar la MV del MV-
pool. MV est\u00E1 ejecutando.
VM_POOL_CANNOT_ADD_RUNNING_VM_TO_POOL=No se puede adjuntar la MV al MV- pool.
MV est\u00E1 ejecutando.
VM_INVALID_SERVER_CLUSTER_ID=Id de cl\u00FAster de host inv\u00E1lido.
diff --git
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_fr_FR.properties
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_fr_FR.properties
index c3ccc71..d76d7cf 100644
---
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_fr_FR.properties
+++
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_fr_FR.properties
@@ -183,12 +183,6 @@
# auto translated by TM merge
VM_POOL_CANNOT_ADD_VM_DIFFERENT_CLUSTER=Impossible d'attacher la VM au
VM-Pool. La VM se trouve dans un Cluster H\u00F4tes diff\u00E9rent de VM-Pool.
# auto translated by TM merge
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_DIRECTORY_GROUPS=Impossible de
supprimer le VM-Pool. D\u00E9tacher tout d'abord les Groupes de
r\u00E9pertoires de VM-Pool.
-# auto translated by TM merge
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_USERS=Impossible de supprimer le
VM-Pool. D\u00E9tacher tout d'abord les Utilisateurs du VM-Pool.
-# auto translated by TM merge
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_VMS=Impossible de supprimer le VM-Pool.
D\u00E9tacher tout d'abord les VM du VM-Pool.
-# auto translated by TM merge
VM_POOL_CANNOT_REMOVE_RUNNING_VM_FROM_POOL=Impossible de d\u00E9tacher la VM
du VM-Pool. La VM est en cours d'ex\u00E9cution.
# auto translated by TM merge
VM_POOL_CANNOT_ADD_RUNNING_VM_TO_POOL=Impossible d'attacher la VM du VM-Pool.
La VM est en cours d'ex\u00E9cution.
diff --git
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_ja_JP.properties
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_ja_JP.properties
index 676445a..6fc6ac9 100644
---
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_ja_JP.properties
+++
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_ja_JP.properties
@@ -108,9 +108,6 @@
VM_POOL_CANNOT_ADD_VM_ATTACHED_TO_POOL=\u4EEE\u60F3\u30DE\u30B7\u30F3\u3092\u30D7\u30FC\u30EB\u306B\u30A2\u30BF\u30C3\u30C1\u3067\u304D\u307E\u305B\u3093\u3002\u4EEE\u60F3\u30DE\u30B7\u30F3\u306F\u3059\u3067\u306B\u5225\u306E\u4EEE\u60F3\u30DE\u30B7\u30F3\u30D7\u30FC\u30EB\u306B\u30A2\u30BF\u30C3\u30C1\u3055\u308C\u3066\u3044\u307E\u3059\u3002
VM_POOL_CANNOT_DETACH_VM_NOT_ATTACHED_TO_POOL=\u4EEE\u60F3\u30DE\u30B7\u30F3\u3092\u30D7\u30FC\u30EB\u304B\u3089\u30C7\u30BF\u30C3\u30C1\u3067\u304D\u307E\u305B\u3093\u3002\u4EEE\u60F3\u30DE\u30B7\u30F3\u306F\u4EEE\u60F3\u30DE\u30B7\u30F3\u30D7\u30FC\u30EB\u306B\u30A2\u30BF\u30C3\u30C1\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
VM_POOL_CANNOT_ADD_VM_DIFFERENT_CLUSTER=\u4EEE\u60F3\u30DE\u30B7\u30F3\u3092\u4EEE\u60F3\u30DE\u30B7\u30F3\u30D7\u30FC\u30EB\u306B\u30A2\u30BF\u30C3\u30C1\u3067\u304D\u307E\u305B\u3093\u3002\u4EEE\u60F3\u30DE\u30B7\u30F3\u306F\u4EEE\u60F3\u30DE\u30B7\u30F3\u30D7\u30FC\u30EB\u3067\u306F\u306A\u304F\u3001\u5225\u306E\u30DB\u30B9\u30C8\u30AF\u30E9\u30B9\u30BF\u30FC\u306B\u6240\u5C5E\u3057\u3066\u3044\u307E\u3059\u3002
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_DIRECTORY_GROUPS=\u4EEE\u60F3\u30DE\u30B7\u30F3\u30D7\u30FC\u30EB\u3092\u524A\u9664\u3067\u304D\u307E\u305B\u3093\u3002\u6700\u521D\u306B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30FC\u30B0\u30EB\u30FC\u30D7\u3092\u4EEE\u60F3\u30DE\u30B7\u30F3\u30D7\u30FC\u30EB\u304B\u3089\u30C7\u30BF\u30C3\u30C1\u3057\u3066\u304F\u3060\u3055\u3044\u3002
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_USERS=\u4EEE\u60F3\u30DE\u30B7\u30F3\u30D7\u30FC\u30EB\u3092\u524A\u9664\u3067\u304D\u307E\u305B\u3093\u3002\u6700\u521D\u306B\u30E6\u30FC\u30B6\u30FC\u3092\u4EEE\u60F3\u30DE\u30B7\u30F3\u30D7\u30FC\u30EB\u304B\u3089\u30C7\u30BF\u30C3\u30C1\u3057\u3066\u304F\u3060\u3055\u3044\u3002
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_VMS=\u4EEE\u60F3\u30DE\u30B7\u30F3\u30D7\u30FC\u30EB\u3092\u524A\u9664\u3067\u304D\u307E\u305B\u3093\u3002\u6700\u521D\u306B\u4EEE\u60F3\u30DE\u30B7\u30F3\u3092\u4EEE\u60F3\u30DE\u30B7\u30F3\u30D7\u30FC\u30EB\u304B\u3089\u30C7\u30BF\u30C3\u30C1\u3057\u3066\u304F\u3060\u3055\u3044\u3002
VM_POOL_CANNOT_REMOVE_RUNNING_VM_FROM_POOL=\u4EEE\u60F3\u30DE\u30B7\u30F3\u3092\u4EEE\u60F3\u30DE\u30B7\u30F3\u30D7\u30FC\u30EB\u304B\u3089\u30C7\u30BF\u30C3\u30C1\u3067\u304D\u307E\u305B\u3093\u3002\u4EEE\u60F3\u30DE\u30B7\u30F3\u306F\u7A3C\u50CD\u4E2D\u3067\u3059\u3002
VM_POOL_CANNOT_ADD_RUNNING_VM_TO_POOL=\u4EEE\u60F3\u30DE\u30B7\u30F3\u3092\u4EEE\u60F3\u30DE\u30B7\u30F3\u30D7\u30FC\u30EB\u306B\u30A2\u30BF\u30C3\u30C1\u3067\u304D\u307E\u305B\u3093\u3002\u4EEE\u60F3\u30DE\u30B7\u30F3\u306F\u7A3C\u50CD\u4E2D\u3067\u3059\u3002
VM_INVALID_SERVER_CLUSTER_ID=\u30DB\u30B9\u30C8\u30AF\u30E9\u30B9\u30BF\u30FC\u306E
ID \u304C\u7121\u52B9\u3067\u3059\u3002
diff --git
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_ko_KR.properties
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_ko_KR.properties
index 8aaa3be..bcce0e9 100644
---
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_ko_KR.properties
+++
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_ko_KR.properties
@@ -76,9 +76,6 @@
VM_POOL_CANNOT_ADD_VM_ATTACHED_TO_POOL=\uAC00\uC0C1\uBA38\uC2E0 \uD480\uC5D0
\uAC00\uC0C1\uBA38\uC2E0\uC744 \uC5F0\uACB0\uD560 \uC218
\uC5C6\uC2B5\uB2C8\uB2E4. \uAC00\uC0C1\uBA38\uC2E0\uC740 \uC774\uBBF8
\uB2E4\uB978 \uAC00\uC0C1\uBA38\uC2E0 \uD480\uC5D0 \uC5F0\uACB0\uB418\uC5B4
\uC788\uC2B5\uB2C8\uB2E4.
VM_POOL_CANNOT_DETACH_VM_NOT_ATTACHED_TO_POOL=\uAC00\uC0C1\uBA38\uC2E0\uC744
\uD480\uC5D0\uC11C \uBD84\uB9AC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
\uAC00\uC0C1\uBA38\uC2E0\uC774 \uAC00\uC0C1\uBA38\uC2E0 \uD480\uC5D0
\uC5F0\uACB0\uB418\uC5B4 \uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
VM_POOL_CANNOT_ADD_VM_DIFFERENT_CLUSTER=\uAC00\uC0C1\uBA38\uC2E0\uC744
\uAC00\uC0C1\uBA38\uC2E0 \uD480\uC5D0 \uC5F0\uACB0\uD560 \uC218
\uC5C6\uC2B5\uB2C8\uB2E4. \uAC00\uC0C1\uBA38\uC2E0\uC740
\uAC00\uC0C1\uBA38\uC2E0 \uD480 \uB300\uC2E0 \uB2E4\uB978 \uD638\uC2A4\uD2B8
\uD074\uB7EC\uC2A4\uD130\uC5D0 \uC18C\uC18D\uB418\uC5B4
\uC788\uC2B5\uB2C8\uB2E4.
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_DIRECTORY_GROUPS=\uAC00\uC0C1\uBA38\uC2E0
\uD480\uC744 \uC0AD\uC81C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uBA3C\uC800
\uB514\uB809\uD1A0\uB9AC \uADF8\uB8F9\uC744 \uAC00\uC0C1\uBA38\uC2E0
\uD480\uC5D0\uC11C \uBD84\uB9AC\uD558\uC2ED\uC2DC\uC624.
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_USERS=\uAC00\uC0C1\uBA38\uC2E0
\uD480\uC744 \uC0AD\uC81C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uBA3C\uC800
\uC0AC\uC6A9\uC790\uB97C \uAC00\uC0C1\uBA38\uC2E0 \uD480\uC5D0\uC11C
\uBD84\uB9AC\uD558\uC2ED\uC2DC\uC624.
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_VMS=\uAC00\uC0C1\uBA38\uC2E0 \uD480\uC744
\uC0AD\uC81C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uBA3C\uC800
\uAC00\uC0C1\uBA38\uC2E0 \uD480\uC5D0\uC11C \uAC00\uC0C1\uBA38\uC2E0\uC744
\uBD84\uB9AC\uD558\uC2ED\uC2DC\uC624.
VM_POOL_CANNOT_REMOVE_RUNNING_VM_FROM_POOL=\uAC00\uC0C1\uBA38\uC2E0
\uD480\uC5D0\uC11C \uAC00\uC0C1\uBA38\uC2E0\uC744 \uBD84\uB9AC\uD560 \uC218
\uC5C6\uC2B5\uB2C8\uB2E4. \uAC00\uC0C1\uBA38\uC2E0\uC774 \uC2E4\uD589\uC911
\uC785\uB2C8\uB2E4.
VM_POOL_CANNOT_ADD_RUNNING_VM_TO_POOL=\uAC00\uC0C1\uBA38\uC2E0 \uD480\uC5D0
\uAC00\uC0C1\uBA38\uC2E0\uC744 \uC5F0\uACB0\uD560 \uC218
\uC5C6\uC2B5\uB2C8\uB2E4. \uAC00\uC0C1\uBA38\uC2E0\uC774 \uC2E4\uD589\uC911
\uC785\uB2C8\uB2E4.
VM_INVALID_SERVER_CLUSTER_ID=\uD638\uC2A4\uD2B8 \uD074\uB7EC\uC2A4\uD130
ID\uAC00 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
diff --git
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_pt_BR.properties
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_pt_BR.properties
index 8f010a7..ddbc8b3 100644
---
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_pt_BR.properties
+++
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_pt_BR.properties
@@ -145,9 +145,6 @@
VM_POOL_CANNOT_ADD_VM_ATTACHED_TO_POOL=N\u00E3o foi poss\u00EDvel conectar a
MV ao pool. A MV j\u00E1 foi conectada a outra MV-Pool.
VM_POOL_CANNOT_DETACH_VM_NOT_ATTACHED_TO_POOL=N\u00E3o foi poss\u00EDvel
desconectar a MV do pool. A MV n\u00E3o foi desconectada da MV-Pool.
VM_POOL_CANNOT_ADD_VM_DIFFERENT_CLUSTER=N\u00E3o foi poss\u00EDvel conectar a
MV \u00E0 MV-Pool. A MV reside em Cluster de Host diferente do que da MV-Pool.
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_DIRECTORY_GROUPS=N\u00E3o foi
poss\u00EDvel remover a MV-Pool. Desanexe primeiramente os Grupos do
Diret\u00F3rio a partir da MV-Pool.
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_USERS=N\u00E3o foi poss\u00EDvel
remover a MV-Pool. Desanexe primeiramente os Usu\u00E1rio a partir do MV-Pool.
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_VMS=N\u00E3o foi poss\u00EDvel remover a
MV-Pool. Desanexe primeiramente as MVs da MV-Pool.
# translation auto-copied from project oVirt, version master, document
frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors,
author ldelima
VM_POOL_CANNOT_REMOVE_RUNNING_VM_FROM_POOL=N\u00E3o foi poss\u00EDvel
desconectar a MV da MV-Pool. A MV est\u00E1 sendo executada.
# translation auto-copied from project oVirt, version master, document
frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors,
author ldelima
diff --git
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_zh_CN.properties
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_zh_CN.properties
index 4d61a9a..9917474 100644
---
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_zh_CN.properties
+++
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors_zh_CN.properties
@@ -174,12 +174,6 @@
# auto translated by TM merge
VM_POOL_CANNOT_ADD_VM_DIFFERENT_CLUSTER=\u65E0\u6CD5\u9644\u52A0 VM \u5230
VM-Pool\u3002VM
\u9A7B\u7559\u5728\u4E0D\u540C\u7684\u4E3B\u673A\u96C6\u7FA4\u800C\u4E0D\u662F
VM-Pool \u91CC\u3002
# auto translated by TM merge
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_DIRECTORY_GROUPS=\u65E0\u6CD5\u5220\u9664
VM-Pool\u3002\u8BF7\u5148\u4ECE VM-Pool \u5206\u79BB\u76EE\u5F55\u7EC4\u3002
-# auto translated by TM merge
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_ATTACHED_USERS=\u65E0\u6CD5\u5220\u9664
VM-Pool\u3002\u8BF7\u5148\u4ECE VM-Pool \u5206\u79BB\u7528\u6237\u3002
-# auto translated by TM merge
-VM_POOL_CANNOT_REMOVE_VM_POOL_WITH_VMS=\u65E0\u6CD5\u5220\u9664
VM-Pool\u3002\u8BF7\u5148\u4ECE VM-Pool \u5206\u79BB VM\u3002
-# auto translated by TM merge
VM_POOL_CANNOT_REMOVE_RUNNING_VM_FROM_POOL=\u65E0\u6CD5\u4ECE\u6C60\u91CC\u5206\u79BB
VM\u3002VM \u6B63\u5728\u8FD0\u884C\u3002
# auto translated by TM merge
VM_POOL_CANNOT_ADD_RUNNING_VM_TO_POOL=\u65E0\u6CD5\u9644\u52A0 VM \u5230
VM-Pool\u3002VM \u6B63\u5728\u8FD0\u884C\u3002
--
To view, visit https://gerrit.ovirt.org/40557
To unsubscribe, visit https://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I58b0f37903447b49edf74bea5a51108818701698
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Shmuel Leib Melamud <[email protected]>
Gerrit-Reviewer: Shmuel Melamud <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches