Merge pull request #902 from sanju1010/simulator
CLOUDSTACK-8924: Enable dynamic scaling to run test_scale_vm.py test on simulatorSimulator setup uses the config file from following location:
tools/marvin/marvin/config/setup.cfg
Added global setting parameter "enable.dynamic.scale.vm" to above config file, so that dynamic scale vm tests can be run on simulator.
* pr/902:
CLOUDSTACK-8924: Made changes based on the comments from @pvr9711
Signed-off-by: Remi Bergsma <github@remi.nl>
diff --git a/agent/conf/cloudstack-agent.logrotate b/agent/conf/cloudstack-agent.logrotate
new file mode 100644
index 0000000..202de8f
--- /dev/null
+++ b/agent/conf/cloudstack-agent.logrotate
@@ -0,0 +1,26 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+/var/log/cloudstack/agent/cloudstack-agent.out
+/var/log/cloudstack/agent/cloudstack-agent.err
+{
+ copytruncate
+ daily
+ rotate 5
+ compress
+ missingok
+}
diff --git a/agent/pom.xml b/agent/pom.xml
index 7f7ffc6..2316a9e 100644
--- a/agent/pom.xml
+++ b/agent/pom.xml
@@ -93,6 +93,12 @@
</filterreader>
</filterchain>
</copy>
+ <copy
+ todir="${basedir}/target/transformed">
+ <fileset dir="${basedir}/conf">
+ <include name="cloudstack-agent.logrotate" />
+ </fileset>
+ </copy>
</target>
</configuration>
</execution>
diff --git a/api/src/com/cloud/agent/api/to/LoadBalancerTO.java b/api/src/com/cloud/agent/api/to/LoadBalancerTO.java
index dffbc9e..4d5a2c0 100644
--- a/api/src/com/cloud/agent/api/to/LoadBalancerTO.java
+++ b/api/src/com/cloud/agent/api/to/LoadBalancerTO.java
@@ -150,6 +150,10 @@
return lbProtocol;
}
+ public void setLbProtocol(String lbProtocol) {
+ this.lbProtocol = lbProtocol;
+ }
+
public boolean isRevoked() {
return revoked;
}
diff --git a/api/src/org/apache/cloudstack/api/ApiCommandJobType.java b/api/src/org/apache/cloudstack/api/ApiCommandJobType.java
index 227fb30..ead6ce1 100644
--- a/api/src/org/apache/cloudstack/api/ApiCommandJobType.java
+++ b/api/src/org/apache/cloudstack/api/ApiCommandJobType.java
@@ -53,5 +53,6 @@
IAMPolicy,
IAMGroup,
GuestOs,
- GuestOsMapping
+ GuestOsMapping,
+ Network
}
diff --git a/api/src/org/apache/cloudstack/api/command/user/network/DeleteNetworkCmd.java b/api/src/org/apache/cloudstack/api/command/user/network/DeleteNetworkCmd.java
index 2811434..43b6633 100644
--- a/api/src/org/apache/cloudstack/api/command/user/network/DeleteNetworkCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/network/DeleteNetworkCmd.java
@@ -16,6 +16,7 @@
// under the License.
package org.apache.cloudstack.api.command.user.network;
+import org.apache.cloudstack.api.ApiCommandJobType;
import org.apache.log4j.Logger;
import org.apache.cloudstack.acl.SecurityChecker.AccessType;
@@ -106,6 +107,15 @@
}
@Override
+ public Long getInstanceId() {
+ return getId();
+ }
+
+ @Override
+ public ApiCommandJobType getInstanceType() {
+ return ApiCommandJobType.Network;
+ }
+ @Override
public long getEntityOwnerId() {
Network network = _networkService.getNetwork(id);
if (network == null) {
diff --git a/api/src/org/apache/cloudstack/api/command/user/vpn/CreateVpnCustomerGatewayCmd.java b/api/src/org/apache/cloudstack/api/command/user/vpn/CreateVpnCustomerGatewayCmd.java
index 46ad92f..8bd0646 100644
--- a/api/src/org/apache/cloudstack/api/command/user/vpn/CreateVpnCustomerGatewayCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/vpn/CreateVpnCustomerGatewayCmd.java
@@ -17,14 +17,15 @@
package org.apache.cloudstack.api.command.user.vpn;
import org.apache.log4j.Logger;
-
import org.apache.cloudstack.api.APICommand;
import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.api.ApiErrorCode;
import org.apache.cloudstack.api.BaseAsyncCmd;
import org.apache.cloudstack.api.Parameter;
import org.apache.cloudstack.api.ServerApiException;
+import org.apache.cloudstack.api.BaseCmd.CommandType;
import org.apache.cloudstack.api.response.DomainResponse;
+import org.apache.cloudstack.api.response.ProjectResponse;
import org.apache.cloudstack.api.response.Site2SiteCustomerGatewayResponse;
import org.apache.cloudstack.context.CallContext;
@@ -84,6 +85,10 @@
+ "gateway associated with the account for the specified domain.")
private Long domainId;
+ @Parameter(name = ApiConstants.PROJECT_ID, type = CommandType.UUID, entityType = ProjectResponse.class,
+ description = "create site-to-site VPN customer gateway for the project")
+ private Long projectId;
+
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
@@ -132,6 +137,10 @@
return domainId;
}
+ public Long getProjectId() {
+ return projectId;
+ }
+
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@@ -143,7 +152,7 @@
@Override
public long getEntityOwnerId() {
- Long accountId = _accountService.finalyzeAccountId(accountName, domainId, null, true);
+ Long accountId = _accountService.finalyzeAccountId(accountName, domainId, projectId, true);
if (accountId == null) {
accountId = CallContext.current().getCallingAccount().getId();
}
diff --git a/api/src/org/apache/cloudstack/context/CallContext.java b/api/src/org/apache/cloudstack/context/CallContext.java
index 2619f4a..fb83f86 100644
--- a/api/src/org/apache/cloudstack/context/CallContext.java
+++ b/api/src/org/apache/cloudstack/context/CallContext.java
@@ -89,8 +89,19 @@
context.put(key, value);
}
+ /**
+ * @param key any not null key object
+ * @return the value of the key from context map
+ * @throws NullPointerException if the specified key is nul
+ */
public Object getContextParameter(Object key) {
- return context.get(key);
+ Object value = context.get(key);
+ //check if the value is present in the toString value of the key
+ //due to a bug in the way we update the key by serializing and deserializing, it sometimes gets toString value of the key. @see com.cloud.api.ApiAsyncJobDispatcher#runJob
+ if(value == null ) {
+ value = context.get(key.toString());
+ }
+ return value;
}
public long getCallingUserId() {
diff --git a/api/test/org/apache/cloudstack/context/CallContextTest.java b/api/test/org/apache/cloudstack/context/CallContextTest.java
new file mode 100644
index 0000000..2b953a0
--- /dev/null
+++ b/api/test/org/apache/cloudstack/context/CallContextTest.java
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cloudstack.context;
+
+import java.util.UUID;
+
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.runners.MockitoJUnitRunner;
+
+import com.cloud.user.Account;
+import com.cloud.user.User;
+import com.cloud.utils.db.EntityManager;
+
+@RunWith(MockitoJUnitRunner.class)
+public class CallContextTest {
+
+ @Mock
+ EntityManager entityMgr;
+
+ @Before
+ public void setUp() {
+ CallContext.init(entityMgr);
+ CallContext.register(Mockito.mock(User.class), Mockito.mock(Account.class));
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ CallContext.unregisterAll();
+ }
+
+ @Test
+ public void testGetContextParameter() {
+ CallContext currentContext = CallContext.current();
+
+ Assert.assertEquals("There is nothing in the context. It should return null", null, currentContext.getContextParameter("key"));
+ Assert.assertTrue("There is nothing in the context. The map should be empty", currentContext.getContextParameters().isEmpty());
+
+ UUID objectUUID = UUID.randomUUID();
+ UUID stringUUID = UUID.randomUUID();
+
+ //Case1: when an entry with the object class is present
+ currentContext.putContextParameter(User.class, objectUUID);
+ Assert.assertEquals("it should return objectUUID: " + objectUUID, objectUUID, currentContext.getContextParameter(User.class));
+ Assert.assertEquals("current context map should have exactly one entry", 1, currentContext.getContextParameters().size());
+
+ //Case2: when an entry with the object class name as String is present
+ currentContext.putContextParameter(Account.class.toString(), stringUUID);
+ //object is put with key as Account.class.toString but get with key as Account.class
+ Assert.assertEquals("it should return stringUUID: " + stringUUID, stringUUID, currentContext.getContextParameter(Account.class));
+ Assert.assertEquals("current context map should have exactly two entries", 2, currentContext.getContextParameters().size());
+
+ //Case3: when an entry with both object class and object class name as String is present
+ //put an entry of account class object in the context
+ currentContext.putContextParameter(Account.class, objectUUID);
+ //since both object and string a present in the current context, it should return object value
+ Assert.assertEquals("it should return objectUUID: " + objectUUID, objectUUID, currentContext.getContextParameter(Account.class));
+ Assert.assertEquals("current context map should have exactly three entries", 3, currentContext.getContextParameters().size());
+ }
+
+}
\ No newline at end of file
diff --git a/client/WEB-INF/classes/resources/messages_de_DE.properties b/client/WEB-INF/classes/resources/messages_de_DE.properties
index e29d44c..2ad5fe5 100644
--- a/client/WEB-INF/classes/resources/messages_de_DE.properties
+++ b/client/WEB-INF/classes/resources/messages_de_DE.properties
@@ -16,22 +16,33 @@
# under the License.
changed.item.properties=Ge\u00e4nderte Eintragseigenschaften
+confirm.enable.s3=Bitte f\u00fcgen Sie die folgenden Informationen hinzu, um die Unterst\u00fctzung f\u00fcr "S3-backed Secondary Storage" hinzuzuf\u00fcgen
+confirm.enable.swift=Bitte f\u00fcgen Sie die folgenden Informationen hinzu, um die Unterst\u00fctzung f\u00fcr Swift zu erm\u00f6glichen.
+error.could.not.change.your.password.because.ldap.is.enabled=Fehler\! Ihr Passwort konnte nicht ge\u00e4ndert werden, weil LDAP konfiguriert wurde.
error.could.not.enable.zone=Zone konnte nicht aktiviert werden
-error.installWizard.message=Ein Fehler ist aufgetreten; Sie k\u00f6nnen zur\u00fcckgehen und den Fehler korregieren
+error.installWizard.message=Etwas ging schief; Sie k\u00f6nnen zur\u00fcckgehen um m\u00f6gliche Fehler zu beheben
error.invalid.username.password=Ung\u00fcltiger Benutzername oder ung\u00fcltiges Passwort
-error.login=Ihr Benutzername / Passwort stimmt nicht mit uneren unseren Aufzeichnungen \u00fcberein.
+error.login=Ihr Benutzername / Passwort stimmt nicht mit unseren Aufzeichnungen \u00fcberein.
+error.menu.select=Es ist nicht m\u00f6glich dies auszuf\u00fchren, weil nichts ausgew\u00e4hlt wurde.
+error.mgmt.server.inaccessible=Der Verwaltungsserver ist nicht erreichbar. Bitte versuche Sie es sp\u00e4ter noch einmal.
error.password.not.match=Die Passwortfelder stimmen nicht \u00fcberein
+error.please.specify.physical.network.tags=Netzwerk-Angebote sind nicht verf\u00fcgbar solange Sie keine Tags f\u00fcr dieses physische Netzwerk auff\u00fchren.
error.session.expired=Ihre Sitzung ist abgelaufen.
+error.something.went.wrong.please.correct.the.following=Etwas ging schief; bitte korrigieren Sie folgende Angaben
error.unable.to.reach.management.server=Verwaltungsserver kann nicht erreicht werden
error.unresolved.internet.name=Ihr Internetname kann nicht aufgel\u00f6st werden.
force.delete.domain.warning=Achtung\: Diese Auswahl f\u00fchrt zu einer L\u00f6schung aller untergeordneten Domains und aller angeschlossenen Konten sowie ihrer Quellen.
force.delete=Erzwinge L\u00f6schung
force.remove=Erzwinge Entfernung
force.remove.host.warning=Achtung\: Diese Auswahl wird CloudStack zum sofortigen Anhalten der virtuellen Maschine f\u00fchren, bevor der Host vom Cluster entfernt wurde.
-force.stop=Erzwinge Abbruch
-ICMP.code=ICMP Code
+force.stop=Erzwinge Stopp
+force.stop.instance.warning=Warnung\: Das erwzungene Stoppen dieser Instanz sollte Ihre letzte Option sein. Es kann zu Datenverlust und inkonsistentem Zustand der virtuellen Maschine f\u00fchren.
+hint.no.host.tags=Keine Host-Tags gefunden
+hint.no.storage.tags=Keine Speicher-Tags gefunden
+ICMP.code=ICMP-Code
ICMP.type=ICMP-Typ
image.directory=Bildverzeichnis
+inline=Inline
instances.actions.reboot.label=Instanz neu starten
label.about.app=\u00dcber CloudStack
label.about=\u00dcber
@@ -44,6 +55,7 @@
label.account.name=Benutzerkonto-Name
label.accounts=Benutzerkonten
label.account.specific=Besonderheiten des Benutzerkontos
+label.account.type=Benutzerkontotyp
label.acl=ACL
label.acl.id=ACL-Kennung
label.acl.list.rules=ACL-Listenregeln
@@ -61,6 +73,7 @@
label.action.change.password=Passwort \u00e4ndern
label.action.change.service=Dienst \u00e4ndern
label.action.change.service.processing=Dienst wird gewechselt....
+label.action.configure.samlauthorization=SAML SSO Autorisation konfigurieren
label.action.copy.ISO=ISO kopieren
label.action.copy.ISO.processing=ISO wird kopiert....
label.action.copy.template.processing=Vorlage wird kopiert....
@@ -77,8 +90,8 @@
label.action.delete.account.processing=Konto wird gel\u00f6scht....
label.action.delete.cluster=L\u00f6schen des Clusters
label.action.delete.cluster.processing=Cluster wird gel\u00f6scht....
-label.action.delete.disk.offering=Festplatten-Angebot l\u00f6schen
-label.action.delete.disk.offering.processing=Festplatten-Angebot wird gel\u00f6scht....
+label.action.delete.disk.offering=Festplattenangebot l\u00f6schen
+label.action.delete.disk.offering.processing=Festplattenangebot wird gel\u00f6scht....
label.action.delete.domain=L\u00f6schen der Domain
label.action.delete.domain.processing=Dom\u00e4ne wird gel\u00f6scht....
label.action.delete.firewall=Firewall-Regel l\u00f6schen
@@ -99,7 +112,7 @@
label.action.delete.pod=Pod l\u00f6schen
label.action.delete.pod.processing=Pod wird gel\u00f6scht....
label.action.delete.primary.storage=Hauptspeicher l\u00f6schen
-label.action.delete.primary.storage.processing=Hauptspeichers wird gel\u00f6scht....
+label.action.delete.primary.storage.processing=Hauptspeicher wird gel\u00f6scht....
label.action.delete.secondary.storage.processing=Sekund\u00e4rspeicher wird gel\u00f6scht....
label.action.delete.secondary.storage=Sekund\u00e4rspeicher l\u00f6schen
label.action.delete.security.group.processing=Sicherheitsgruppe wird gel\u00f6scht....
@@ -121,10 +134,10 @@
label.action.destroy.instance.processing=Instanz wird zerst\u00f6rt....
label.action.destroy.systemvm.processing=System-VM wird zerst\u00f6rt....
label.action.destroy.systemvm=System-VM vernichten
-label.action.detach.disk=Festplatte entfernen
-label.action.detach.disk.processing=Entfernen der Festplatte
-label.action.detach.iso=ISO entfernen
-label.action.detach.iso.processing=ISO wird abgeh\u00e4ngt....
+label.action.detach.disk=Festplatte losl\u00f6sen
+label.action.detach.disk.processing=Festplatte wird losgel\u00f6st...
+label.action.detach.iso=ISO losl\u00f6sen
+label.action.detach.iso.processing=ISO wird losgel\u00f6st....
label.action.disable.account=Benutzerkonto deaktivieren
label.action.disable.account.processing=Konto wird deaktiviert....
label.action.disable.cluster=Deaktivieren des Clusters
@@ -144,18 +157,18 @@
label.action.download.volume.processing=Volumen wird heruntergeladen....
label.action.download.volume=Volumen herunterladen
label.action.edit.account=Benutzerkonto bearbeiten
-label.action.edit.disk.offering=Bearbeiten des Festplatten-Angebots
+label.action.edit.disk.offering=Festplattenangebot bearbeiten
label.action.edit.domain=Domain bearbeiten
label.action.edit.global.setting=Globale Einstellungen bearbeiten
label.action.edit.host=Bearbeite Host
label.action.edit.instance=Instanz bearbeiten
label.action.edit.ISO=ISO bearbeiten
label.action.edit.network=Bearbeiten des Netzwerks
-label.action.edit.network.offering=Bearbeiten des Netzwerk-Angebots
+label.action.edit.network.offering=Netzwerkangebot bearbeiten
label.action.edit.network.processing=Netzwerk wird bearbeitet....
label.action.edit.pod=Bearbeiten des Pods
label.action.edit.primary.storage=Hauptspeicher bearbeiten
-label.action.edit.resource.limits=Resourcen Grenzen bearbeiten
+label.action.edit.resource.limits=Resourcenlimit bearbeiten
label.action.edit.service.offering=Dienstangebot bearbeiten
label.action.edit.template=Vorlage bearbeiten
label.action.edit.user=Benutzer bearbeiten
@@ -176,17 +189,19 @@
label.action.enable.user.processing=Benutzer wird aktiviert....
label.action.enable.zone=Aktivieren der Zone
label.action.enable.zone.processing=Zone wird aktiviert....
+label.action.expunge.instance=Instanz unwiederbringlich l\u00f6schen
+label.action.expunge.instance.processing=L\u00f6sche Instanz unwiederbringlich...
label.action.force.reconnect=Erzwinge wieder verbinden
label.action.force.reconnect.processing=Wieder verbinden....
-label.action.generate.keys.processing=Genieren der Schl\u00fcssel
+label.action.generate.keys.processing=Generiere Schl\u00fcssel...
label.action.generate.keys=Schl\u00fcssel generieren
label.action.list.nexusVswitch=Nexus 1000v auflisten
label.action.lock.account=Konto sperren
label.action.lock.account.processing=Konto wird gesperrt....
label.action.manage.cluster.processing=Cluster wird verwaltet....
label.action.manage.cluster=Verwalte Cluster
-label.action.migrate.instance=Mit einer Instanz umziehen
-label.action.migrate.instance.processing=Umziehen einer Instanz
+label.action.migrate.instance=Eine Instanz migrieren
+label.action.migrate.instance.processing=Instanz migrieren
label.action.migrate.router.processing=Router wird migriert....
label.action.migrate.router=Router migrieren
label.action.migrate.systemvm.processing=System-VM wird migriert....
@@ -197,16 +212,18 @@
label.action.reboot.router=Router neu starten
label.action.reboot.systemvm.processing=System-VM wird neu gebootet....
label.action.reboot.systemvm=System-VM neu starten
+label.action.recurring.snapshot=Wiederkehrende Schnappsch\u00fcsse
label.action.register.iso=ISO registrieren
-label.action.release.ip=IP ver\u00f6ffentlichen
-label.action.release.ip.processing=IP wird ver\u00f6ffentlicht....
+label.action.register.template=Vorlage von URL registrieren
+label.action.release.ip=IP losl\u00f6sen
+label.action.release.ip.processing=IP wird losgel\u00f6st....
label.action.remove.host=Host entfernen
label.action.remove.host.processing=Host wird entfernt....
label.action.reset.password=Passwort zur\u00fccksetzen
label.action.reset.password.processing=Passwort wird zur\u00fcckgesetzt....
label.action.resize.volume.processing=Volumengr\u00f6\u00dfe wird ge\u00e4ndert....
label.action.resize.volume=Volumengr\u00f6\u00dfe \u00e4ndern
-label.action.resource.limits=Grenzen der Ressourcen
+label.action.resource.limits=Ressourcenlimits
label.action.restore.instance=Instanz wiederherstellen
label.action.restore.instance.processing=Instanz wird wiederhergestellt....
label.action.revert.snapshot=Auf Schnappschuss zur\u00fcckkehren
@@ -243,14 +260,23 @@
label.add.account.to.project=Konto zu Projekt hinzuf\u00fcgen
label.add.ACL=ACL hinzuf\u00fcgen
label.add.acl.list=ACL-Liste hinzuf\u00fcgen
+label.add.affinity.group=Neue Affinit\u00e4tsgruppe hinzuf\u00fcgen
+label.add.baremetal.dhcp.device=Baremetal DHCP-Ger\u00e4t hinzuf\u00fcgen
+label.add.BigSwitchBcf.device=F\u00fcge BigSwitch BCF Controller hinzu
+label.add.BrocadeVcs.device=Brocade Vcs Switch hinzuf\u00fcgen
label.add.by.cidr=Hinzuf\u00fcgen durch CIDR
label.add.by.group=Hinzuf\u00fcgen durch Gruppe
+label.add.by=Hinzugef\u00fcgt von
label.add.ciscoASA1000v=CiscoASA1000v-Ressource hinzuf\u00fcgen
label.add.cluster=Cluster hinzuf\u00fcgen
-label.add.direct.iprange=Direkten Ip-Bereich hinzuf\u00fcgen
-label.add.disk.offering=Festplatten-Angebot hinzuf\u00fcgen
+label.add.compute.offering=Berechnungsangebot hinzuf\u00fcgen
+label.add.direct.iprange=Direkten IP-Bereich hinzuf\u00fcgen
+label.add.disk.offering=Festplattenangebot hinzuf\u00fcgen
label.add.domain=Domain hinzuf\u00fcgen
+label.added.brocade.vcs.switch=Neuer Brocade Vcs Switch hinzugef\u00fcgt
label.added.network.offering=Netzwerkangebot hinzugef\u00fcgt
+label.added.nicira.nvp.controller=Neuer Nicira NVP Controller hinzugef\u00fcgt
+label.add.egress.rule=Egress-Regel hinzuf\u00fcgen
label.addes.new.f5=Neues F5 hinzugef\u00fcgt
label.add.F5.device=F5-Ger\u00e4t hinzuf\u00fcgen
label.add.firewall=Firewall-Regel hinzuf\u00fcgen
@@ -268,23 +294,34 @@
label.adding.succeeded=Erfolgreich hinzugef\u00fcgt
label.adding.user=Nutzer hinzuf\u00fcgen
label.adding.zone=Hinzuf\u00fcgen der Zone
+label.add.intermediate.certificate=Intermediate Zertifikat hinzuf\u00fcgen
label.add.internal.lb=Interne LB hinzuf\u00fcgen
label.add.ip.range=IP-Bereich hinzuf\u00fcgen
label.add.isolated.guest.network=Isoliertes Gastnetzwerk hinzuf\u00fcgen
+label.add.isolated.guest.network.with.sourcenat=Isoliertes Gastnetzwerk mit Source-NAT hinzuf\u00fcgen
label.add.isolated.network=Isoliertes Netzwerk hinzuf\u00fcgen
-label.additional.networks=Zus\u00e4tzliche Networks
+label.additional.networks=Zus\u00e4tzliche Netzwerke
label.add.ldap.account=LDAP-Konto hinzuf\u00fcgen
label.add.LDAP.account=LDAP-Konto hinzuf\u00fcgen
label.add.list.name=ACL-Listename
-label.add.load.balancer=Serverlastverteilung hinzuf\u00fcgen
+label.add.load.balancer=Lastverteiler hinzuf\u00fcgen
label.add.more=Mehr hinzuf\u00fcgen
+label.add.netScaler.device=Netscaler-Ger\u00e4t hinzuf\u00fcgen
label.add.network.acl.list=Netzwerk-ACL-Liste hinzuf\u00fcgen
label.add.network.ACL=Netzwerk-ACL hinzuf\u00fcgen
label.add.network.device=Hinzuf\u00fcgen eines Netzwerkger\u00e4tes
label.add.network=Netzwerk hinzuf\u00fcgen
+label.add.network.offering=Netzwerkangebot hinzuf\u00fcgen
label.add.new.F5=Neues F5 hinzuf\u00fcgen
label.add.new.gateway=Neues Gateway hinzuf\u00fcgen
+label.add.new.NetScaler=Neuer NetScaler hinzuf\u00fcgen
label.add.new.PA=Neues Palo Alto hinzuf\u00fcgen
+label.add.new.SRX=Neuer SRX hinzuf\u00fcgen
+label.add.new.tier=Neue Ebene hinzuf\u00fcgen
+label.add.nfs.secondary.staging.store=NFS Sekund\u00e4r Staging Store hinzuf\u00fcgen
+label.add.NiciraNvp.device=Nvp Controller hinzuf\u00fcgen
+label.add.NuageVsp.device=Nuage Virtualized Services Directory (VSD) hinzuf\u00fcgen
+label.add.OpenDaylight.device=OpenDaylight Controller hinzuf\u00fcgen
label.add.PA.device=Palo Alto-Ger\u00e4t hinzuf\u00fcgen
label.add.physical.network=Physikalisches Netzwerk hinzuf\u00fcgen
label.add.pod=Pod hinzuf\u00fcgen
@@ -301,14 +338,17 @@
label.add.service.offering=Dienstangebot hinzuf\u00fcgen
label.add.SRX.device=SRX-Ger\u00e4t hinzuf\u00fcgen
label.add.static.nat.rule=Statische NAT-Regel hinzuf\u00fcgen
+label.add.static.route=F\u00fcge eine statische Route hinzu
label.add.system.service.offering=Systemdienstangebot hinzuf\u00fcgen
label.add.template=Vorlage hinzuf\u00fcgen
-label.add.to.group=Zur Gruppe hinzuf\u00fcgen
+label.add.to.group=Zu Gruppe hinzuf\u00fcgen
+label.add.ucs.manager=UCS Manager hinzuf\u00fcgen
label.add.user=Benutzer hinzuf\u00fcgen
label.add.userdata=Benutzerdaten
label.add.vlan=VLAN hinzuf\u00fcgen
label.add.vms.to.lb=VM(s) zur Lastverteilerregel hinzuf\u00fcgen
label.add.vms=VMs hinzuf\u00fcgen
+label.add.VM.to.tier=VM zur Ebene hinzuf\u00fcgen
label.add.vm=VM hinzuf\u00fcgen
label.add.vmware.datacenter=VMware-Rechenzentrum hinzuf\u00fcgen
label.add.vnmc.device=VNMC-Ger\u00e4t hinzuf\u00fcgen
@@ -316,16 +356,22 @@
label.add.volume=Volumen hinzuf\u00fcgen
label.add.vpc.offering=VPC-Angebot hinzuf\u00fcgen
label.add.vpc=VPC hinzuf\u00fcgen
+label.add.vpn.customer.gateway=VPN Customer Gateway hinzuf\u00fcgen
+label.add.VPN.gateway=VPN Gateway hinzuf\u00fcgen
label.add.vpn.user=VPN-Benutzer hinzuf\u00fcgen
label.add.vxlan=VXLAN hinzuf\u00fcgen
label.add.zone=Zone hinzuf\u00fcgen
-label.admin.accounts=Administrator-Konten
+label.admin.accounts=Administratoren-Konten
label.admin=Administrator
label.advanced.mode=Erweiterter Modus
label.advanced.search=Erweiterte Suche
label.advanced=Weitergehend
+label.affinity=Affinit\u00e4t
+label.affinity.group=Affinit\u00e4tsgruppe
+label.affinity.groups=Affinit\u00e4tsgruppen
label.agent.password=Agent-Passwort
label.agent.port=Agent-Port
+label.agent.state=Agent-Status
label.agent.username=Agent-Benutzername
label.agree=Zustimmen
label.alert.archived=Alarm archiviert
@@ -336,6 +382,9 @@
label.allocated=Zugeteilt
label.allocation.state=Belegungszustand
label.allow=Erlauben
+label.anti.affinity=Anti-Affinit\u00e4t
+label.anti.affinity.group=Anti-Affinit\u00e4tsgruppe
+label.anti.affinity.groups=Anti-Affinit\u00e4tsgruppen
label.api.key=API Schl\u00fcssel
label.api.version=API-Version
label.apply=Anwenden
@@ -343,13 +392,20 @@
label.archive.alerts=Alarme archivieren
label.archive=Archiv
label.archive.events=Ereignisse archivieren
+label.assigned.vms=Zugewiesene VMs
+label.assign.instance.another=Instanz einem anderen Benutzerkonto zuweisen
label.assign.to.load.balancer=Instanz zum Lastverteiler hinzuf\u00fcgen
+label.assign.vms=VMs zuweisen
label.assign=Zuweisen
label.associated.network.id=Assozierte Netzwerk ID
label.associated.network=Zugeh\u00f6riges Netzwerk
+label.associated.profile=Zugeh\u00f6riges Profil
+label.associate.public.ip=\u00d6ffentliche IP assoziieren
label.attached.iso=Angeh\u00e4ngte ISO
+label.author.email=Autoremail
label.author.name=Autorname
label.autoscale=Automatische Skalierung
+label.autoscale.configuration.wizard=Eingabehilfe der Autoskalierungs-Konfiguration
label.availability=Verf\u00fcgbarkeit
label.availability.zone=Verf\u00fcgbare Zone
label.availabilityZone=Verf\u00fcgbarkeitszone
@@ -357,10 +413,24 @@
label.available=Verf\u00fcgbar
label.back=Zur\u00fcck
label.bandwidth=Bandbreite
+label.baremetal.dhcp.devices=Baremetal DHCP-Ger\u00e4te
+label.baremetal.dhcp.provider=Baremetal DHCP-Provider
+label.baremetal.pxe.device=Baremetal PXE-Ger\u00e4t hinzuf\u00fcgen
+label.baremetal.pxe.devices=Baremetal PXE-Ger\u00e4te
+label.baremetal.pxe.provider=Baremetal PXE-Provider
label.basic=Basis
label.basic.mode=Grundmodus
+label.bigswitch.controller.address=Adresse des BigSwitch BCF Controllers
+label.blade.id=Blade ID
+label.blades=Blades
label.bootable=Bootbar
-label.broadcast.domain.type=Benachrichtigung an alle Nutzer \u00fcber Domain Typ
+label.broadcast.domain.range=Broadcast-Domain Bereich
+label.broadcast.domain.type=Broadcast Domain Typ
+label.broadcast.uri=Broadcast URI
+label.broadcasturi=Broadcast-URI
+label.broadcat.uri=Broadcast URI
+label.brocade.vcs.address=Vcs Switch Adresse
+label.brocade.vcs.details=Brocade Vcs Switch Details
label.by.account=Nach Benutzerkonto
label.by.alert.type=Nach Alarmtyp
label.by.availability=Nach Verf\u00fcgbarkeit
@@ -380,11 +450,17 @@
label.by.type.id=Nach Typ ID
label.by.type=Nach Typ
label.by.zone=Nach Zone
+label.cache.mode=Schreib-Cache-Typ
label.cancel=Abbrechen
+label.capacity.bytes=Kapazit\u00e4ts-Bytes
+label.capacity.iops=Kapazit\u00e4ts-IOPS
label.capacity=Kapazit\u00e4t
-label.certificate=Zertifikat
+label.certificate=Serverzertifikat
+label.change.affinity=Affinit\u00e4t \u00e4ndern
+label.change.service.offering=Dienstangebot \u00e4ndern
label.change.value=Wert \u00e4ndern
label.character=Buchstabe
+label.chassis=Chassis
label.checksum=Pr\u00fcfsumme
label.cidr.account=CIDR oder Benutzerkonto/Sicherheitsgruppe
label.cidr=CIDR
@@ -407,20 +483,28 @@
label.clvm=CLVM
label.code=Code
label.community=Gemeinschaft
+label.compute.and.storage=Berechnen und Speicher
+label.compute=Berechnen
+label.compute.offering=Berechnungsangebot
+label.compute.offerings=Berechnungsangebote
label.configuration=Konfiguration
label.configure=Konfigurieren
label.configure.ldap=LDAP konfigurieren
label.configure.network.ACLs=Netzwerk-ACLs konfigurieren
+label.configure.sticky.policy=Sticky-Richtlinie konfigurieren
label.configure.vpc=VPC konfigurieren
label.confirmation=Best\u00e4tigung
label.confirm.password=Passwort best\u00e4tigen
label.congratulations=Herzlichen Gl\u00fcckwunsch
+label.conserve.mode=Konserven-Modus
label.console.proxy=Konsolenproxy
label.console.proxy.vm=Konsolenproxy-VM
+label.continue.basic.install=Weiterfahren mit Basisinstallation
label.continue=Fortsetzen
label.copying.iso=ISO wird kopiert
label.corrections.saved=Korrekturen gespeichert
label.counter=Z\u00e4hler
+label.cpu.allocated.for.VMs=CPU alloziert f\u00fcr VMs
label.cpu.allocated=Zugeteilte CPU
label.CPU.cap=CPU Obergrenze
label.cpu=CPU
@@ -429,44 +513,74 @@
label.cpu.utilized=genutzte CPU
label.created.by.system=Vom System erstellt
label.created=Erstellt
+label.create.nfs.secondary.staging.storage=NFS sekund\u00e4rer Staging Store erstellen
+label.create.nfs.secondary.staging.store=NFS sekund\u00e4rer Staging Store erstellen
label.create.project=Projekt erstellen
+label.create.ssh.key.pair=Erstelle ein SSH-Schl\u00fcsselpaar
label.create.template=Vorlage erstellen
label.create.VPN.connection=VPN-Verbindung erstellen
label.cross.zones=\u00fcberschneidende Zonen
label.custom=Benutzerdefiniert
+label.custom.disk.iops=Benutzerspezifische IOPS
+label.custom.disk.offering=Benutzerdefiniertes Festplattenangebot
label.custom.disk.size=Benutzerdefinierte Festplattengr\u00f6sse
label.daily=T\u00e4glich
-label.data.disk.offering=Daten-Speicherplatz-Angebot
+label.data.disk.offering=Datenspeicherplatzangebot
label.date=Datum
label.day.of.month=Tag des Monats
label.day.of.week=Tag der Woche
label.day=Tag
label.dc.name=DC-Name
+label.dead.peer.detection=Dead-Peer-Erkennung
+label.decline.invitation=Einladung ablehnen
+label.dedicate.cluster=Dediziere Cluster
+label.dedicated=Dediziert
+label.dedicate=Dedizieren
+label.dedicated.vlan.vni.ranges=Dedizierte VLAN/VNI Bereiche
+label.dedicate.host=Dediziere Host
+label.dedicate.pod=Dediziere Pod
+label.dedicate.vlan.vni.range=Dedizierter VLAN/VNI Bereich
+label.dedicate.zone=Zone dedizieren
+label.default.egress.policy=Standard Egress Richtlinie
label.default=Standard
label.default.use=Standardeinstellung nutzen
label.default.view=Standardansicht
label.delete.acl.list=ACL-Liste ersetzen
+label.delete.affinity.group=Affinit\u00e4tsgruppe entfernen
label.delete.alerts=Alarme l\u00f6schen
+label.delete.BigSwitchBcf=BigSwitch BCF Controller entfernen
+label.delete.BrocadeVcs=Brocade Vcs Switch l\u00f6schen
label.delete.ciscoASA1000v=CiscoASA1000v l\u00f6schen
label.delete.ciscovnmc.resource=CiscoVNMC-Ressource l\u00f6schen
label.delete.events=Ereignisse l\u00f6schen
label.delete.F5=F5 l\u00f6schen
+label.delete.gateway=L\u00f6sche Gateway
label.delete.internal.lb=Interne LB l\u00f6schen
label.delete=L\u00f6schen
+label.delete.NetScaler=L\u00f6sche NetScaler
+label.delete.NiciraNvp=Entferne Nvp Controller
+label.delete.NuageVsp=Nuage VSD entfernen
+label.delete.OpenDaylight.device=OpenDaylight Controller l\u00f6schen
label.delete.PA=Palo Alto l\u00f6schen
label.delete.portable.ip.range=Portablen IP-Bereich l\u00f6schen
label.delete.profile=Profil l\u00f6schen
label.delete.project=Projekt l\u00f6schen
+label.delete.secondary.staging.store=Sekund\u00e4rer Staging Store l\u00f6schen
label.delete.SRX=SRX l\u00f6schen
+label.delete.ucs.manager=UCS Manager l\u00f6schen
label.delete.VPN.connection=VPN-Verbindung l\u00f6schen
+label.delete.VPN.customer.gateway=VPN Customer Gateway l\u00f6schen
label.delete.VPN.gateway=VPN-Gateway l\u00f6schen
label.delete.vpn.user=VPN-Benutzer l\u00f6schen
label.deleting.failed=L\u00f6schen fehlgeschlagen
-label.deleting.processing=L\u00f6schen....
+label.deleting.processing=L\u00f6sche....
label.deny=Verweigern
+label.deployment.planner=Deployment-Planer
label.description=Beschreibung
+label.destination.physical.network.id=Physiche Netzwerk-ID des Zielorts
label.destination.zone=Zielzone
label.destroy.router=Router zerst\u00f6ren
+label.destroy.vm.graceperiod=Gnadenfrist bis zur Zerst\u00f6rung der VM
label.destroy=Zerst\u00f6ren
label.detaching.disk=Entfernen der Festplatte
label.details=Details
@@ -474,6 +588,7 @@
label.devices=Ger\u00e4te
label.dhcp=DHCP
label.DHCP.server.type=DHCP Server Type
+label.direct.attached.public.ip=Direkt angeschlossene \u00f6ffentliche IP
label.direct.ips=Gemeinsame Netzwerk-IPs
label.disable.autoscale=Automatische Skalierung deaktivieren
label.disabled=Deaktiviert
@@ -484,14 +599,20 @@
label.disable.vpc.offering=VPC-Angebot deaktivieren
label.disable.vpn=Fernzugriff-VPN deaktivieren
label.disabling.vpn.access=Deaktivierung des VPN Zugangs
+label.disassociate.profile.blade=Verbindung vom Profil zum Blade entfernen
label.disbale.vnmc.device=VNMC-Ger\u00e4t deaktivieren
label.disk.allocated=Zugeordnete Festplatte
label.disk.bytes.read.rate=Festplatten-Leserate (BPS)
label.disk.bytes.write.rate=Festplatten-Schreibrate (BPS)
+label.disk.iops.max=Max IOPS
+label.disk.iops.min=Min IOPS
label.disk.iops.read.rate=Festplatten-Leserate (IOPS)
label.disk.iops.total=Gesamte IOPS
label.disk.iops.write.rate=Festplatten-Schreibrate (IOPS)
-label.disk.offering=Festplatten-Angebot
+label.disk.offering.details=Festplattenangebotdetails
+label.disk.offering=Festplattenangebot
+label.diskoffering=Festplattenangebot
+label.disk.provisioningtype=Provisionierungstyp
label.disk.read.bytes=Festplatte Lesen (Bytes)
label.disk.read.io=Festplatte Lesen (EA)
label.disk.size=Festplattengr\u00f6\u00dfe
@@ -506,18 +627,23 @@
label.dns.1=DNS 1
label.dns.2=DNS 2
label.dns=DNS
+label.DNS.domain.for.guest.networks=DNS Domain f\u00fcr Gast-Netzwerke
label.domain.admin=Domain Administrator
+label.domain.details=N\u00e4hrere Angaben zu Domains
label.domain=Domain
label.domain.id=Domain ID
label.domain.lower=Dom\u00e4ne
label.domain.name=Domain Name
+label.domain.router=Domain Router
label.domain.suffix=DNS Domainsuffix (z.B. xzy.com)
label.done=Fertig
label.double.quotes.are.not.allowed=Anf\u00fchrungszeichen sind nicht erlaubt
label.download.progress=Download-Fortschritt
+label.drag.new.position=Ziehe zu neuer Position
label.duration.in.sec=Dauer (in Sekunden)
label.dynamically.scalable=Dynamisch skalierbar
label.edit.acl.rule=ACL-Regel bearbeiten
+label.edit.affinity.group=Affinit\u00e4tsgruppe bearbeiten
label.edit=Bearbeiten
label.edit.lb.rule=LB-Regel bearbeiten
label.edit.network.details=Netzwerkdetails bearbeiten
@@ -528,21 +654,34 @@
label.edit.tags=Schlagw\u00f6rter bearbeiten
label.edit.traffic.type=Datenverkehrstyp bearbeiten
label.edit.vpc=VPC bearbeiten
+label.egress.default.policy=Egress Standard Richtlinie
+label.egress.rule=Egress-Regel
+label.egress.rules=Egress-Regeln
+label.elastic=Elastisch
+label.elastic.IP=Elastische IP Adresse
+label.elastic.LB=Elastischer LB
label.email=E-Mail
label.email.lower=E-Mail-Adresse
label.enable.autoscale=Automatische Skalierung aktivieren
label.enable.host=Host aktivieren
label.enable.network.offering=Netzwerkangebot aktivieren
label.enable.provider=Anbieter aktivieren
+label.enable.s3=S3-Backend Sekund\u00e4rspeicher einschalten
label.enable.swift=Swift aktivieren
label.enable.vnmc.device=VNMC-Ger\u00e4t aktivieren
label.enable.vnmc.provider=VNMC-Anbieter aktivieren
label.enable.vpc.offering=VPC-Angebot aktivieren
+label.enable.vpn=Fernzugriff-VPN einschalten
label.enabling.vpn.access=Aktivieren des VPN-Zugriffs
label.enabling.vpn=VPN aktivieren
+label.end.IP=End-IP
label.endpoint=Endpunkt
label.endpoint.or.operation=Endpunkt oder Bedienung
label.end.port=Beende Port
+label.end.reserved.system.IP=Reservierte System-End-IP
+label.end.vlan=End-VLAN
+label.end.vxlan=End-VXLAN
+label.enter.token=Token eingeben
label.error.code=Fehlercode
label.error=Fehler
label.error.upper=FEHLER
@@ -556,6 +695,7 @@
label.event=Ereignis
label.every=Jeder
label.example=Beispiel
+label.expunge=Unwiederbringlich l\u00f6schen
label.external.link=Externer Link
label.extractable=Extrahierbar
label.extractable.lower=extrahierbar
@@ -563,6 +703,7 @@
label.f5=F5
label.failed=Fehlgeschlagen
label.featured=Besonderheiten aufweisen
+label.fetch.latest=Neuste abrufen
label.filterBy=Filtern nach
label.fingerprint=FingerAbdruck
label.firewall=Firewall
@@ -586,9 +727,12 @@
label.gpu=GPU
label.group.by.account=Nach Konto gruppieren
label.group.by.cluster=Nach Cluster gruppieren
+label.group.by.pod=Gruppiert nach Pod
label.group.by.zone=Nach Zone gruppieren
label.group=Gruppe
label.group.optional=Gruppe (optional)
+label.gslb.assigned.lb.more=Mehr Lastverteilung zuweisen
+label.gslb.assigned.lb=Zugewiesene Lastverteilung
label.gslb.delete=GSLB l\u00f6schen
label.gslb.details=GSLB-Details
label.gslb.domain.name=GSLB-Dom\u00e4nenname
@@ -601,6 +745,7 @@
label.gslb.service.public.ip=GSLB-Dienst \u00d6ffentliche IP
label.gslb.servicetype=Diensttyp
label.guest.cidr=Gast CIDR
+label.guest.end.ip=Gast-End-IP
label.guest=Gast
label.guest.gateway=Gast-Schnittstelle
label.guest.ip=Gast IP-Adresse
@@ -608,28 +753,41 @@
label.guest.netmask=Gast Netzmaske
label.guest.network.details=Gastnetzwerkdetails
label.guest.networks=Gastnetzwerke
+label.guest.start.ip=Gast-Start-IP
label.guest.traffic=Gast-Datenverkehr
+label.guest.traffic.vswitch.name=Gast Datenverkehr vSwitch Name
+label.guest.traffic.vswitch.type=Gast Datenverkehr vSwitch Typ
label.guest.type=Gasttyp
label.ha.enabled=HA aktiviert
label.health.check.advanced.options=Erweiterte Optionen\:
label.health.check.configurations.options=Konfigurationsoptionen\:
+label.health.check=Heath-Check
+label.health.check.interval.in.sec=Gesundheitscheck-Interval (in Sek.)
+label.health.check.message.desc=Ihr Lastverteiler wird autmatisch Heath-Checks ausf\u00fchren auf Ihren CloudStack Instanzen und nur Datenverkehr zu denjenigen Instanzen routen, welchen den Heath-Check bestehen.
+label.health.check.wizard=Health-Check Eingabehilfe
+label.healthy.threshold=Schwellwert gesund
label.help=Hilfe
label.hide.ingress.rule=Verstecke Regeln, die den Zutritt steuern
label.hints=Hinweise
+label.home=Start
label.host.alerts=Host-Alarme
label.host=Host
label.host.MAC=Host-MAC
label.host.name=Host Name
label.hosts=Hosts
+label.host.tag=Host Tag
label.host.tags=Markierungen des Hosts
label.hourly=St\u00fcndlich
label.hvm=HVM
label.hypervisor.capabilities=Hypervisorf\u00e4higkeiten
label.hypervisor=Hypervisor
label.hypervisors=Hypervisoren
+label.hypervisor.snapshot.reserve=Hypervisor Schnappschuss-Reserve
label.hypervisor.type=Hypervisor Typ
label.hypervisor.version=Hypervisor-Version
+label.hyperv.traffic.label=HyperV Datenverkehrs-Bezeichnung
label.id=Identifikation
+label.IKE.DH=IKE DH
label.IKE.encryption=IKE-Verschl\u00fcsselung
label.IKE.hash=IKE-Pr\u00fcfsumme
label.IKE.lifetime=IKE-Lebensdauer (Sekunde)
@@ -638,28 +796,36 @@
label.info.upper=INFO
label.ingress.rule=Zutrittsregel
label.initiated.by=Initiiert durch
+label.inside.port.profile=Inside Port Profil
label.installWizard.addClusterIntro.subtitle=Was ist ein Cluster?
-label.installWizard.addClusterIntro.title=cluster hinzuf\u00fcgen
-label.installWizard.addHostIntro.subtitle=Was ist ein host?
-label.installWizard.addHostIntro.title=host hinzuf\u00fcgen
-label.installWizard.addPodIntro.subtitle=Was ist ein pod?
-label.installWizard.addPodIntro.title=pod hinzuf\u00fcgen
-label.installWizard.addPrimaryStorageIntro.subtitle=Was ist primay storage?
-label.installWizard.addPrimaryStorageIntro.title=primary storage hinzuf\u00fcgen
-label.installWizard.addSecondaryStorageIntro.subtitle=Was ist secondary storage?
-label.installWizard.addSecondaryStorageIntro.title=secondary storage
+label.installWizard.addClusterIntro.title=Cluster hinzuf\u00fcgen
+label.installWizard.addHostIntro.subtitle=Was ist ein Host?
+label.installWizard.addHostIntro.title=Host hinzuf\u00fcgen
+label.installWizard.addPodIntro.subtitle=Was ist ein Pod?
+label.installWizard.addPodIntro.title=Pod hinzuf\u00fcgen
+label.installWizard.addPrimaryStorageIntro.subtitle=Was ist Prim\u00e4rspeicher?
+label.installWizard.addPrimaryStorageIntro.title=Prim\u00e4rspeicher hinzuf\u00fcgen
+label.installWizard.addSecondaryStorageIntro.subtitle=Was ist Sekund\u00e4rspeicher?
+label.installWizard.addSecondaryStorageIntro.title=Sekund\u00e4rspeicher hinzuf\u00fcgen
label.installWizard.addZoneIntro.subtitle=Was ist eine Zone?
-label.installWizard.addZone.title=zone hinzuf\u00fcgen
-label.installWizard.click.launch=Bitte den Start Button dr\u00fccken
+label.installWizard.addZoneIntro.title=Zone hinzuf\u00fcgen
+label.installWizard.addZone.title=Zone hinzuf\u00fcgen
+label.installWizard.click.launch=Bitte den Start-Knopf dr\u00fccken
+label.installWizard.subtitle=Diese F\u00fchrung wird Ihnen beim Aufsetzen Ihrer CloudStack&\#8482 Installation behilflich sein.
label.installWizard.title=Hallo und Willkommen bei CloudStack&\#8482
label.instance=Instanz
-label.instance.limits=Instanz Grenzen
+label.instance.limits=Instanz-Limiten
label.instance.name=Name der Instanz
+label.instance.port=Instanz-Port
+label.instance.scaled.up=Instanz wurde zum gew\u00fcnschten Angebot skaliert
label.instances=Instanzen
-label.internal.dns.1=Interne DNS 1
-label.internal.dns.2=Interne DNS 2
+label.instanciate.template.associate.profile.blade=Vorlage instanzieren und Profil zu Blade assoziieren
+label.intermediate.certificate=Intermediate Zertifikat {0}
+label.internal.dns.1=Interner DNS 1
+label.internal.dns.2=Interner DNS 2
label.internal.lb.details=Interne LB-Details
label.internal.lb=Interne LB
+label.internallbvm=Interne LV VM
label.internal.name=Interner Name
label.interval.type=Interval Typ
label.introduction.to.cloudstack=Einf\u00fchrung in CloudStack&\#8482
@@ -677,6 +843,7 @@
label.ip.or.fqdn=IP oder FQDN
label.ip.range=IP-Bereich
label.ip.ranges=IP-Bereiche
+label.IPsec.preshared.key=IPsec Preshared-Schl\u00fcssel
label.ips=IPs
label.ipv4.cidr=IPv4 CIDR
label.ipv4.dns1=IPv4 DNS1
@@ -699,6 +866,7 @@
label.isolated.networks=Isolierte Netzwerke
label.isolation.method=Isolationsmethode
label.isolation.mode=Isolationsmodus
+label.isolation.uri=Isolations-URI
label.is.redundant.router=Redundant
label.is.shared=Gemeinsam
label.is.system=Ist System
@@ -709,23 +877,24 @@
label.keyboard.language=Tastatursprache
label.keyboard.type=Tastaturtyp
label.key=Schl\u00fcssel
+label.kvm.traffic.label=KVM Datenverkehrs-Bezeichnung
label.label=Bezeichnung
label.lang.arabic=Arabisch
label.lang.brportugese=Brasilianisches Portugiesisch
label.lang.catalan=Katalanisch
-label.lang.chinese=chinesisch (vereinfacht)
+label.lang.chinese=Chinesisch (vereinfacht)
label.lang.dutch=Niederl\u00e4ndisch
-label.lang.english=englisch
+label.lang.english=Englisch
label.lang.french=Franz\u00f6sisch
label.lang.german=Deutsch
label.lang.hungarian=Ungarisch
label.lang.italian=Italienisch
-label.lang.japanese=japanisch
+label.lang.japanese=Japanisch
label.lang.korean=Koreanisch
label.lang.norwegian=Norwegisch
label.lang.polish=Polnisch
label.lang.russian=Russisch
-label.lang.spanish=spanisch
+label.lang.spanish=Spanisch
label.last.disconnected=Zuletzt getrennt
label.lastname.lower=Nachname
label.last.name=Nachname
@@ -736,10 +905,14 @@
label.lb.algorithm.leastconn=Mindestverbindungen
label.lb.algorithm.roundrobin=Rundlauf-Verfahren
label.lb.algorithm.source=Quelle
+label.LB.isolation=LB-Isolation
label.ldap.configuration=LDAP-Konfiguration
label.ldap.group.name=LDAP-Gruppe
+label.ldap.link.type=Typ
label.ldap.port=LDAP-Port
label.level=Ebene
+label.link.domain.to.ldap=Verbinde Domain mit LDAP
+label.linklocal.ip=Link-Local IP-Adresse
label.load.balancer=Serverlastverteilung
label.load.balancer.type=Lastverteilungstyp
label.load.balancing=Lastverteilung
@@ -747,21 +920,31 @@
label.loading=Laden
label.local.file=Lokale Datei
label.local=Lokal
+label.local.storage.enabled=Erm\u00f6gliche lokalen Speicher f\u00fcr Benutzer VMs
+label.local.storage.enabled.system.vms=Aktiviere lokaler Speicher f\u00fcr die System-VMs
label.local.storage=Lokaler Speicher
label.login=Login
label.logout=Abmelden
label.lun=LUN
label.LUN.number=LUN \#
+label.lxc.traffic.label=LXC Datenverkehrs-Bezeichnung
+label.make.project.owner=Mache Benutzerkonto zum Projekteigent\u00fcmer
+label.make.redundant=Redundant machen
label.managed=Verwaltet
+label.management.ips=Verwaltung IP-Adressen
label.management.server=Verwaltungsserver
label.management=Verwaltung
label.manage.resources=Ressourcen verwalten
label.manage=Verwalten
label.max.cpus=Max. CPU-Kerne
+label.max.guest.limit=Maximales Limit f\u00fcr Anzahl der G\u00e4ste
label.maximum=Maximum
+label.max.instances=Max Instanzen
label.max.memory=Max. Speicher (MiB)
label.max.networks=Max. Netzwerke
+label.max.primary.storage=Max. prim\u00e4rer (GiB)
label.max.public.ips=Max. \u00f6ffentliche IPs
+label.max.secondary.storage=Max. sekund\u00e4rer (GiB)
label.max.snapshots=Max. Schnappsch\u00fcsse
label.max.templates=Max. Vorlagen
label.max.vms=Max. Benutzer-VMs
@@ -784,10 +967,11 @@
label.menu.configuration=Konfiguration
label.menu.dashboard=Dashboard
label.menu.destroyed.instances=Zerst\u00f6rte Instanzen
-label.menu.disk.offerings=Festplatten-Angebote
+label.menu.disk.offerings=Festplattenangebote
label.menu.domains=Domains
label.menu.events=Events
label.menu.featured.isos=Besondere ISOs
+label.menu.featured.templates=Hervorgehobene Vorlagen
label.menu.global.settings=Allgemeine Einstellungen
label.menu.infrastructure=Infrastruktur
label.menu.instances=Instanzen
@@ -798,7 +982,7 @@
label.menu.my.isos=Meine ISOs
label.menu.my.templates=Meine Vorlagen
label.menu.network=Netzwerk
-label.menu.network.offerings=Netzwerk-Angebote
+label.menu.network.offerings=Netzwerkangebote
label.menu.physical.resources=Technische Ressourcen
label.menu.regions=Regionen
label.menu.running.instances=Laufende Instanzen
@@ -808,21 +992,26 @@
label.menu.sshkeypair=SSH-Schl\u00fcsselpaar
label.menu.stopped.instances=Beendete Instanzen
label.menu.storage=Speicherung
+label.menu.system.service.offerings=Systemangebote
label.menu.system=System
label.menu.system.vms=System-VMs
label.menu.templates=Vorlagen
+label.menu.virtual.appliances=Virtuelle Appliances
label.menu.virtual.resources=Virtuelle Ressourcen
label.menu.volumes=Volumina
label.menu.vpc.offerings=VPC-Angebote
label.migrate.instance.to.host=Instanz auf einen anderen Host migrieren
label.migrate.instance.to=Instanz migrieren zu
-label.migrate.instance.to.ps=Instanz auf einen anderen Speicher migrieren
+label.migrate.instance.to.ps=Instanz auf einen anderen Prim\u00e4rspeicher migrieren
label.migrate.lb.vm=LB-VM migrieren
label.migrate.router.to=Router migrieren zu
label.migrate.systemvm.to=System-VM migrieren zu
label.migrate.to.host=Zu Host migrieren
+label.migrate.to.storage=Zu Speicher migrieren
+label.migrate.volume.to.primary.storage=Migriere ein Speichervolumen zu einem anderen Hauptspeicher
label.migrate.volume=Volumen migrieren
label.minimum=Minimum
+label.min.instances=Min Instanzen
label.min.past.the.hr=min seit Std. vergangen
label.minute.past.hour=Minute(n) seit der Stunde vergangen
label.minutes.past.hour=Minute(n) seit der Stunde vergangen
@@ -847,8 +1036,10 @@
label.netScaler=NetScaler
label.network.ACL=Netzwerk-ACL
label.network.ACLs=Netzwerk-ACLs
+label.network.ACL.total=Netzwerk-ACL Total
label.network.addVM=Netzwerk zur VM hinzuf\u00fcgen
label.network.cidr=Netzwerk-CIDR
+label.network.desc=Netzwerkbeschreibung
label.network.details=Netzwerkdetails
label.network.device=Netzwerkger\u00e4t
label.network.device.type=Netzwerkger\u00e4tetyp
@@ -856,15 +1047,22 @@
label.network.domain.text=Netzwerkdom\u00e4ne
label.network.id=Netzwerk-ID
label.networking.and.security=Netzwerkbetrieb und Sicherheit
+label.network.label.display.for.blank.value=Standard-Gateway verwenden
label.network.limits=Netzwerkbegrenzungen
label.network.name=Netzwerk Name
label.network=Netzwerk
-label.network.offering=Netzwerk-Angebot
+label.network.offering.details=Netzwerkangebotdetails
+label.network.offering.display.text=Netzwerkangebot-Anzeigetext
+label.network.offering.id=Netzwerkangebotskennung
+label.network.offering.name=Netzwerkangebotsname
+label.network.offering=Netzwerkangebot
label.network.rate.megabytes=Netzwerkrate (MB/s)
label.network.rate=Netzwerk-Rate
+label.network.read=Netzwerk Lesen
label.network.service.providers=Netzwerkdienstanbieter
label.networks=Netzwerke
label.network.type=Netzwerk-Typ
+label.network.write=Netzwerk Schreiben
label.new=Neu
label.new.password=Neues Passwort
label.new.project=Neues Projekt
@@ -876,7 +1074,10 @@
label.nfs.server=NFS Server
label.nfs.storage=NFS-Speicher
label.nic.adapter.type=NIC-Adaptertyp
+label.nicira.controller.address=Controller-Adresse
+label.nicira.l3gatewayserviceuuid=L3 Gateway Service Uuid
label.nicira.nvp.details=Nicira NVP-Details
+label.nicira.transportzoneuuid=Transportzone Uuid
label.nics=NICs
label.no.actions=Nicht verf\u00fcgbare Aktionen
label.no.alerts=Keine aktuellen Alarme
@@ -892,7 +1093,9 @@
label.no.thanks=Nein, danke
label.notifications=Benachrichtigungen
label.number.of.clusters=Anzahl der Cluster
+label.number.of.cpu.sockets=Die Anzahl der CPU-Sockeln
label.number.of.hosts=Anzahl an Hosts
+label.number.of.pods=Anzahl Pods
label.number.of.system.vms=Anzahl an System-VMs
label.number.of.virtual.routers=Anzahl an virtuellen Routern
label.number.of.zones=Anzahl an Zonen
@@ -902,6 +1105,9 @@
label.offer.ha=HA anbieten
label.of.month=des Monats
label.ok=OK
+label.opendaylight.controllerdetail=OpenDayight Controller Details
+label.opendaylight.controller=OpenDaylight Controller
+label.opendaylight.controllers=OpenDaylight Controller
label.openDaylight=OpenDaylight
label.operator=Betreiber
label.optional=optional
@@ -911,7 +1117,12 @@
label.other=Andere
label.override.guest.traffic=Gast-Datenverkehr \u00fcberschreiben
label.override.public.traffic=\u00d6ffentlichen Datenverkehr \u00fcberschreiben
+label.ovm3.cluster=Natives Clustering
+label.ovm3.pool=Natives Pooling
+label.ovm3.vip=Master Vip IP
+label.ovm.traffic.label=OVM Datenverkehrs-Bezeichnung
label.ovs=OVS
+label.owned.public.ips=Ihnen geh\u00f6rende \u00f6ffentliche IP-Adressen
label.owner.account=Eigent\u00fcmerkonto
label.owner.domain=Eigent\u00fcmerdom\u00e4ne
label.palo.alto.details=Palo Alto-Details
@@ -924,15 +1135,25 @@
label.password=Passwort
label.password.reset.confirm=Passwort wurde zur\u00fcckgesetzt auf
label.path=Pfad
+label.PA.threat.profile=Palo Alto Threat Profil
+label.perfect.forward.secrecy=Perfect Forward Secrecy
label.persistent=Persistent
label.physical.network.ID=Physikalisches Netzwerkkennung
+label.physical.network.name=Name des physischen Netzwerks
label.physical.network=Physikalisches Netzwerk
label.PING.CIFS.password=PING CIFS Passwort
label.PING.CIFS.username=PING CIFS Benutzername
label.PING.dir=PING-Verzeichnis
label.ping.path=Ping-Pfad
label.PING.storage.IP=IP des externen Speichers anpingen
+label.planner.mode=Planungs Modus
+label.please.complete.the.following.fields=Bitte vervollst\u00e4ndigen Sie die folgenden Felder
+label.please.specify.netscaler.info=Bitte Netscaler-Info definieren
label.please.wait=Bitte warten
+label.plugin.details=Plugindetails
+label.plugins=Plugins
+label.pod.dedicated=Pod dediziert
+label.pod.name=Podname
label.pod=Pod
label.pods=Pod
label.polling.interval.sec=Abfrageintervall (in Sekunden)
@@ -949,7 +1170,9 @@
label.prev=Vor
label.primary.allocated=Zugewiesener Hauptspeicher
label.primary.network=Hauptnetzwerk
+label.primary.storage.count=Hauptspeicher-Pools
label.primary.storage=Hauptspeicher
+label.primary.storage.limits=Hauptspeicher-Limits (GiB)
label.primary.used=Genutzter Hauptspeicher
label.private.Gateway=Privater Gateway
label.private.interface=Privates Interface
@@ -982,28 +1205,47 @@
label.public.network=\u00d6ffentliches Netzwerk
label.public.port=\u00d6ffentlicher Port
label.public.traffic=\u00d6ffentlicher Datenverkehr
+label.public.traffic.vswitch.name=\u00d6ffentlicher Datenverkehr vSwitch Name
+label.public.traffic.vswitch.type=\u00d6ffentlicher Datenverkehr vSwitch Typ
label.public=\u00d6ffentlich
label.public.zone=\u00d6ffentliche Zone
label.purpose=Zweck
label.Pxe.server.type=PXE Server Type
+label.qos.type=QoS-Typ
label.quickview=Schnellansicht
+label.quiesce.vm=VM stilllegen
label.quiet.time.sec=Ruhezeit (in Sekunden)
label.rbd.id=Cephx-Benutzer
+label.rbd.monitor=Ceph-\u00dcberwachung
+label.rbd.pool=Ceph-Pool
label.rbd=RBD
label.rbd.secret=Cephx-Geheimnis
label.reboot=Neustart
label.recent.errors=Aktuelle Fehler
label.recover.vm=VM wiederherstellen
+label.redundant.router.capability=Redundanter Router Kapazit\u00e4t
label.redundant.router=Redundanter Router
label.redundant.state=Redundanter Status
label.redundant.vpc=Redundante VPC
label.refresh=Aktualisieren
+label.refresh.blades=Blades aktualisieren
label.region.details=Regiondetails
+label.regionlevelvpc=Region Level VPC
label.region=Region
label.reinstall.vm=VM neu installieren
label.related=Verwandt
+label.release.account.lowercase=Vom Benutzerkonto losl\u00f6sen
+label.release.account=Vom Benutzerkonto losl\u00f6sen
+label.release.dedicated.cluster=Dedizierter Cluster losl\u00f6sen
+label.release.dedicated.host=Dedizierter Host losl\u00f6sen
+label.release.dedicated.pod=Dedizierter Pod freigeben
+label.release.dedicated.vlan.range=Dedizierter VLAN/VNI Bereich losl\u00f6sen
+label.release.dedicated.zone=Dedizierte Zone losl\u00f6sen
label.remind.later=Sp\u00e4ter erinnern
label.remove.ACL=ACL entfernen
+label.remove.egress.rule=Egress Regel entfernen
+label.remove.from.load.balancer=Instanz von Lastverteiler entfernen
+label.remove.ingress.rule=Ingress Regel entfernen
label.remove.ip.range=IP-Bereich entfernen
label.remove.ldap=LDAP entfernen
label.remove.network.offering=Netzwerkangebot entfernen
@@ -1015,10 +1257,13 @@
label.remove.static.nat.rule=Statische NAT-Regel entfernen
label.remove.static.route=Statische Route entfernen
label.remove.this.physical.network=Dieses physikalische Netzwerk entfernen
+label.remove.tier=Ebene entfernen
+label.remove.vm.from.lb=VM von Lastverteiler-Regel entfernen
label.remove.vm.load.balancer=VM aus Lastverteiler entfernen
label.remove.vmware.datacenter=VMware-Rechenzentrum entfernen
label.remove.vpc.offering=VPC-Angebot entfernen
label.remove.vpc=VPC entfernen
+label.removing=am Entfernen
label.removing.user=Entfernen von Benutzern
label.reource.id=Ressourcenkennung
label.replace.acl=ACL ersetzen
@@ -1026,46 +1271,70 @@
label.required=Erforderlich
label.requires.upgrade=Erfordert Aktualisierung
label.reserved.ip.range=Reservierter IP-Bereich
+label.reserved.system.gateway=Reservierter System-Gateway
label.reserved.system.ip=Reservierte System-IP
+label.reserved.system.netmask=Reservierte System-Netzmaske
label.reset.ssh.key.pair.on.vm=SSH-Schl\u00fcsselpaar auf VM zur\u00fccksetzen
label.reset.ssh.key.pair=SSH-Schl\u00fcsselpaar zur\u00fccksetzen
label.resetVM=VM zur\u00fccksetzen
label.reset.VPN.connection=VPN-Verbindung zur\u00fccksetzen
label.resize.new.offering.id=Neues Angebot
label.resize.new.size=Neue Gr\u00f6\u00dfe (GB)
+label.resize.shrink.ok=Verkleinern OK
+label.resource.limit.exceeded=Ressourcenbegrenzung erreicht
label.resource.limits=Ressourcenbegrenzungen
label.resource.name=Ressourcenname
label.resource=Ressource
label.resources=Ressourcen
label.resource.state=Ressourcenstatus
+label.response.timeout.in.sec=Zeit\u00fcberschreitung der Antworkt (in Sek.)
label.restart.network=Netzwerk neu starten
label.restart.required=Neustart erforderlich
label.restart.vpc=VPC neu starten
label.restore=Wiederherstellen
+label.retry.interval=Wiederversuchs-Interval
+label.review=Nachpr\u00fcfung
+label.revoke.project.invite=Einladung widerrufen
label.role=Rolle
label.root.certificate=Root-Zertifikat
+label.root.disk.controller=Root-Festplatten-Controller
+label.root.disk.offering=Root-Festplattenangebot
label.root.disk.size=Root-Festplattengr\u00f6\u00dfe
+label.router.vm.scaled.up=Router VM hochskaliert
+label.routing.host=Routing Host
+label.routing=Routing
label.rule.number=Regelnummer
label.rules=Regeln
label.running.vms=Laufende VMs
label.s3.access_key=Zugriffsschl\u00fcssel
+label.s3.bucket=Bucket
label.s3.connection_timeout=Verbindungszeit\u00fcberschreitung
label.s3.endpoint=Endpunkt
+label.s3.max_error_retry=Maximale Fehlerwiederholungen
label.s3.nfs.path=S3 NFS-Pfad
label.s3.nfs.server=S3 NFS-Server
label.s3.secret_key=Secret Key
label.s3.socket_timeout=Socket-Zeit\u00fcberschreitung
label.s3.use_https=HTTPS verwenden
+label.saml.enable=Autorisiere SAML SSO
label.saml.entity=Identit\u00e4tsanbieter
label.saturday=Samstag
label.save.and.continue=Speichern und fortsetzen
label.save.changes=\u00c4nderungen speichern
label.save=Sichern
label.saving.processing=Speichern....
+label.scaledown.policy=Herunterskalierungs-Richtlinie
+label.scale.up.policy=HOCHSKALIERUNGSRICHTLINIE
+label.scaleup.policy=Hochskalierungs-Richtlinie
label.scope=Geltungsbereich
label.search=Suche
label.secondary.ips=Sekund\u00e4re IPs
+label.secondary.isolated.vlan.id=Sekund\u00e4re isolierte VLAN ID
+label.secondary.staging.store.details=Sekund\u00e4rer Staging Store Details
+label.secondary.staging.store=Sekund\u00e4rer Staging Store
+label.secondary.storage.count=Sekund\u00e4respeicher-Pools
label.secondary.storage.details=Sekund\u00e4rspeicherdetails
+label.secondary.storage.limits=Sekund\u00e4rspeicherbegrenzungen (GiB)
label.secondary.storage=Sekund\u00e4rspeicher
label.secondary.storage.vm=Sekund\u00e4rspeicher-VM
label.secondary.used=Genutzter Sekund\u00e4rspeicher
@@ -1078,15 +1347,19 @@
label.select=Ausw\u00e4hlen
label.select.a.zone=Zone ausw\u00e4hlen
label.select.instance=Instanz ausw\u00e4hlen
+label.select.instance.to.attach.volume.to=Instanz w\u00e4hlen an welche das Volumen angef\u00fcgt wird
label.select.iso.or.template=ISO oder Vorlage ausw\u00e4hlen
label.select.offering=Angebot ausw\u00e4hlen
label.select.project=Projekt ausw\u00e4hlen
label.select.region=Region ausw\u00e4hlen
label.select.template=Vorlage ausw\u00e4hlen
+label.select.tier=Ebene ausw\u00e4hlen
label.select-view=Ansicht ausw\u00e4hlen
+label.select.vm.for.static.nat=VM f\u00fcr statisches NAT ausw\u00e4hlen
label.sent=Versendet
label.server=Server
label.service.capabilities=Dienstf\u00e4higkeiten
+label.service.offering.details=Dienstangebotdetails
label.service.offering=Dienstangebot
label.services=Dienste
label.service.state=Dienststatus
@@ -1101,21 +1374,31 @@
label.SharedMountPoint=Geteilter Einh\u00e4ngepunkt
label.show.advanced.settings=Erweiterte Einstellungen anzeigen
label.show.ingress.rule=Zeige Regeln, die den Zutritt steuern
+label.shutdown.provider=Herunterfahrungs-Anbieter
label.simplified.chinese.keyboard=Vereinfachte Chinesische Tastatur
+label.site.to.site.VPN=Site-to-site VPN
label.size=Gr\u00f6\u00dfe
+label.skip.guide=Ich habe CloudStack bereits vorher benutzt, diese Hilfe \u00fcberspringen
label.smb.domain=SMB-Dom\u00e4ne
label.smb.password=SMB-Passwort
label.smb.username=SMB-Benutzername
label.snapshot.limits=Schnappschuss Grenzen
label.snapshot.name=Schnappschuss Name
+label.snapshot.schedule=Wiederkehrende Schnappsch\u00fcsse einrichten
label.snapshot=Schnappschuss
label.snapshot.s=Schnappsch\u00fcsse
label.snapshots=Schnappsch\u00fcsse
+label.SNMP.community=SNMP Gemeinschaft
label.SNMP.port=SNMP-Port
label.sockets=CPU-Sockets
+label.source.ip.address=Quell IP-Adresse
+label.source.nat=Source NAT
+label.source.nat.supported=SourceNAT unterst\u00fctzt
+label.source.port=Port der Quelle
label.specify.IP.ranges=IP-Bereiche angeben
label.specify.vlan=VLAN angeben
label.specify.vxlan=VXLAN angeben
+label.SR.name=SR Name-Bezeichnung
label.srx.details=SRX-Details
label.srx=SRX
label.ssh.key.pair.details=SSH-Schl\u00fcsselpaardetails
@@ -1126,9 +1409,13 @@
label.start.lb.vm=LB-VM starten
label.start.port=Startport
label.start.reserved.system.IP=Reservierte System-IP starten
+label.start.vlan=Start VLAN
label.start.vxlan=VXLAN starten
label.state=Status
+label.static.nat.enabled=Statisches NAT eingeschaltet
label.static.nat=Statische NAT
+label.static.nat.to=Statisches NAT nach
+label.static.nat.vm.details=Statisches NAT VM Details
label.static.routes=Statische Routen
label.statistics=Statistiken
label.status=Status
@@ -1137,34 +1424,52 @@
label.step.2=Schritt 2
label.step.2.title=Schritt 2\: <strong>Dienstangebot</strong>
label.step.3=Schritt 3
+label.step.3.title=Schritt 3\: <strong id\="step3_label">W\u00e4hlen Sie ein Festplattenangebot aus</strong>
label.step.4=Schritt 4
label.step.4.title=Schritt 4\: <strong>Netzwerk</strong>
label.step.5=Schritt 5
+label.step.5.title=Schritt 5\: <strong>\u00dcberpr\u00fcfung</strong>
+label.stickiness=Klebrigkeit
+label.stickiness.method=Stickness-Methode
label.sticky.cookie-name=Cookiename
label.sticky.domain=Domain
label.sticky.expire=L\u00e4uft ab
+label.sticky.holdtime=Haltezeit
label.sticky.indirect=Indirekt
label.sticky.length=L\u00e4nge
label.sticky.mode=Modus
+label.sticky.name=Sticky-Name
label.sticky.nocache=Kein Cache
+label.sticky.postonly=nur Post
label.sticky.prefix=Pr\u00e4fix
+label.sticky.request-learn=Verlange zu lernen
label.sticky.tablesize=Tabellengr\u00f6\u00dfe
label.stop.lb.vm=LB-VM stoppen
label.stopped.vms=Gestoppte VMs
label.stop=Stopp
+label.storage.pool=Speicher-Pool
label.storage=Speicherung
label.storage.tags=Datenspeicher-Markierung
label.storage.traffic=Datenspeicherverkehr
label.storage.type=Speichertyp
+label.subdomain.access=Subdomain-Zugriff
label.submit=Absenden
label.submitted.by=[Eingereicht von\: <span id\="submitted_by"></span>]
label.succeeded=Erfolgreich
label.sunday=Sonntag
+label.super.cidr.for.guest.networks=Super CIDR f\u00fcr Gast-Netzwerke
label.supported.services=Unterst\u00fctzte Dienste
+label.supported.source.NAT.type=Unterst\u00fctzter Source-NAT-Typ
+label.supportsstrechedl2subnet=Unters\u00fctzt Streched L2 Subnet
+label.suspend.project=Projekt suspendieren
+label.switch.type=Switch Typ
label.system.capacity=Systemkapazit\u00e4t
+label.system.offering.for.router=Systemangebot f\u00fcr Router
label.system.offering=Systemangebot
+label.system.service.offering.details=Systemdienstangebotdetails
label.system.service.offering=Systemdienstangebot
label.system.vm.details=System-VM-Details
+label.system.vm.scaled.up=System-VM hochskaliert
label.system.vms=System-VMs
label.system.vm=System-VM
label.system.vm.type=System-VM-Typ
@@ -1178,11 +1483,14 @@
label.template.limits=Vorlagenbegrenzungen
label.template=Vorlage
label.TFTP.dir=TFTP-Verzeichnis
+label.tftp.root.directory=Tftp root-Verzeichnis
label.theme.default=Motiv-Standardeinstellung
label.theme.grey=Benutzerdefiniert - Grau
label.theme.lightblue=Benutzerdefiniert - Hellblau
label.threshold=Schwellenwert
label.thursday=Donnerstag
+label.tier.details=Ebenendetails
+label.tier=Ebene
label.time.colon=Zeit\:
label.timeout.in.second = Zeit\u00fcberschreitung (Sekunden)
label.timeout=Zeit\u00fcberschreitung
@@ -1198,7 +1506,10 @@
label.total.of.ip=Gesamtzahl der IP-Adressen
label.total.of.vm=Gesamtanzahl VMs
label.total.storage=Gesamter Speicher
+label.total.virtual.routers=Total an virtuellen Routern
+label.total.virtual.routers.upgrade=Total an virtuellen Routern, welche ein Softwareupgrade ben\u00f6tigen
label.total.vms=Gesamtanzahl VMs
+label.traffic.label=Datenverkehrsbezeichnung
label.traffic.type=Datenverkehrstyp
label.traffic.types=Datenverkehrstypen
label.tuesday=Dienstag
@@ -1208,6 +1519,7 @@
label.ucs=UCS
label.uk.keyboard=UK-Tastatur
label.unavailable=Nicht verf\u00fcgbar
+label.unhealthy.threshold=Schwellwert ungesund
label.unlimited=Unbegrenzt
label.untagged=Unmarkiert
label.update.project.resources=Projektressourcen aktualisieren
@@ -1215,10 +1527,16 @@
label.update.ssl= SSL-Zertifikat
label.updating=Aktualisierungsvorgang
label.upgrade.required=Aktualisierung ist erforderlich
+label.upgrade.router.newer.template=Router upgraden um neuere Vorlage zu verwenden
+label.upload.from.local=Von lokal hochladen
label.upload=Hochladen
+label.upload.template.from.local=Vorlage von lokal hochladen
+label.upload.volume.from.local=Volumen von lokal hochladen
+label.upload.volume.from.url=Volumen von URL hochladen
label.upload.volume=Volumen hochladen
label.url=URL
label.usage.interface=Auslastungsoberfl\u00e4che
+label.usage.sanity.result=Usage Sanity Resultat
label.usage.server=Auslastungsserver
label.used=Gebraucht
label.user=Benutzer
@@ -1231,6 +1549,7 @@
label.use.vm.ips=VM-IPs verwenden
label.use.vm.ip=VM-IP verwenden\:
label.value=Wert
+label.vcdcname=vCenter RZ-Name
label.vcenter.cluster=vCenter-Cluster
label.vcenter.datacenter=vCenter-Rechenzentrum
label.vcenter.datastore=vCenter-Datenspeicher
@@ -1249,11 +1568,20 @@
label.view.all=Alle ansehen
label.view=Ansicht
label.view.console=Konsole ansehen
+label.viewing=Ansehen
label.view.more=Weitere ansehen
label.view.secondary.ips=Sekund\u00e4re IPs ansehen
+label.virtual.appliance.details=Virtuelle Appliance Details
+label.virtual.appliances=Virtuelle Appliances
+label.virtual.appliance=Virtuelle Applicance
label.virtual.machines=Virtuelle Maschinen
label.virtual.machine=Virtuelle Maschine
+label.virtual.networking=Virtuelle Netzwerkverbindung
label.virtual.network=Virtuelles Netzwerk
+label.virtual.routers.group.account=Virtuelle Router gruppiert nach Benutzerkonto
+label.virtual.routers.group.cluster=Virtuelle Router gruppiert nach Cluster
+label.virtual.routers.group.pod=Virtuelle Router gruppiert nach Pod
+label.virtual.routers.group.zone=Virtuelle Router gruppiert nach Zone
label.virtual.routers=Virtuelle Router
label.virtual.router=Virtueller Router
label.vlan.id=VLAN/VNI-Kennung
@@ -1274,6 +1602,8 @@
label.vm.name=VM-Name
label.vm.password=Passwort der VM ist
label.vm.reboot=Neustart
+label.VMs.in.tier=VMs in Ebene
+label.vmsnapshot.current=istAktuell
label.vmsnapshot.memory=Schnappschussspeicher
label.vmsnapshot.parentname=\u00dcbergeordnet
label.vmsnapshot.type=Typ
@@ -1284,10 +1614,13 @@
label.vms=VMs
label.vmware.datacenter.id=VMware-Rechenzentrumskennung
label.vmware.datacenter.name=VMware-Rechenzentrumsname
+label.vmware.datacenter.vcenter=VMware Rechenzentrum-vCenter
+label.vmware.traffic.label=VMware Datenverkehrs-Bezeichnung
label.vnet.id=VLAN/VNI-Kennung
label.vnet=VLAN/VNI
label.vnmc.devices=VNMC-Ger\u00e4te
label.vnmc=VNMC
+label.volatile=Verg\u00e4nglich
label.volgroup=Volumengruppe
label.volume.details=Volumendetails
label.volume.limits=Volumenbegrenzungen
@@ -1298,17 +1631,22 @@
label.vpc.distributedvpcrouter=Verteilter VPC-Router
label.vpc.id=VPC-Kennung
label.VPC.limits=VPC-Begrenzungen
-label.vpc.offering.details=Details des VPC-Angebots
+label.vpc.offering.details=VPC-Angebotdetails
label.vpc.offering=VPC-Angebot
+label.vpc.router.details=VPC-Routerdetails
label.VPC.router.details=VPC-Routerdetails
+label.vpc.supportsregionlevelvpc=Unterst\u00fctzt Region Level VPC
label.vpc.virtual.router=VPC Virtueller Router
label.vpc=VPC
label.VPN.connection=VPN-Verbindung
+label.vpn.customer.gateway=VPN Customer Gateway
+label.VPN.customer.gateway=VPN Customer Gateway
label.VPN.gateway=VPN-Gateway
label.vpn=VPN
label.vsmctrlvlanid=Steuerungs-VLAN-Kennung
label.vsmpktvlanid=Paket-VLAN-Kennung
label.vsmstoragevlanid=Speicher-VLAN-Kennung
+label.vsphere.managed=vSphere verwaltet
label.vswitch.name=vSwitch-Name
label.vSwitch.type=vSwitch-Typ
label.vxlan.id=VXLAN-Kennung
@@ -1325,31 +1663,45 @@
label.what.is.cloudstack=Was ist CloudStack&\#8482?
label.xenserver.tools.version.61.plus=Originale XS-Version ist 6.1\\+
label.Xenserver.Tools.Version61plus=Originale XS-Version ist 6.1\\+
+label.xenserver.traffic.label=XenServer Datenverkehrs-Bezeichnung
label.yes=Ja
+label.zone.dedicated=Zone dediziert
label.zone.details=Zonendetails
label.zone.id=Zone ID
label.zone.lower=Zone
label.zone.name=Zonenname
label.zone.step.1.title=Schritt 1\: <strong>W\u00e4hlen Sie ein Netzwerk aus</strong>
label.zone.step.2.title=Schritt 2\: <strong>F\u00fcgen Sie eine Zone hinzu</strong>
+label.zone.step.3.title=Schritt 3\: <strong>Pod hinzuf\u00fcgen</strong>
label.zone.step.4.title=Schritt 4\: <strong>F\u00fcgen Sie einen IP-Bereich hinzu</strong>
label.zones=Zonen
label.zone.type=Zonentyp
label.zone.wide=Zonenweit
label.zoneWizard.trafficType.guest=Gast\: Datenverkehr zwischen den virtuellen Maschinen der Endbenutzer
+label.zoneWizard.trafficType.management=Management\: Datenverkehr zwischen den CloudStack internen Ressourcen, inklusive aller Komponenten, die mit dem Management Server kommunizieren, wie Hosts und CloudStack System VMs
+label.zoneWizard.trafficType.public=\u00d6ffentlich\: Datenverkehr zwischen dem Internet und virtuellen Maschinen in der Cloud.
+label.zoneWizard.trafficType.storage=Speicherung\: Datenverkehr zwischen Haupt- und Sekund\u00e4rspeicherserver, wie VM-Vorlagen und Schnappsch\u00fcsse.
label.zone=Zone
+managed.state=Verwalteter Status
+message.acquire.ip.nic=Bitte best\u00e4tigen Sie, dass Sie eine neue, sekund\u00e4re IP-Adresse f\u00fcr dieses Netzwerk-Schnittstelle ben\u00f6tigen.<br/>HINWEIS\: Sie m\u00fcssen diese neue sekund\u00e4re IP-Adresse manuell in der virtuellen Maschine hinzuf\u00fcgen.
+message.acquire.new.ip=Bitte best\u00e4tigen Sie, dass sie eine neue IP Adresse f\u00fcr dieses Netzwerk haben m\u00f6chten.
+message.acquire.new.ip.vpc=Bitte best\u00e4tigen Sie, dass sie eine neue IP Adresse f\u00fcr diesen VPC ben\u00f6tigen.
message.acquire.public.ip=Bitte w\u00e4hlen Sie eine Zone, von der Sie Ihre neue IP erlangen m\u00f6chten.
message.action.cancel.maintenance=Ihr Host ist erfolgreich f\u00fcr die Wartung abgebrochen. Dieser Prozess kann ein paar Minuten dauern.
message.action.cancel.maintenance.mode=Bitte best\u00e4tigen Sie, dass Sie die Wartung abbrechen m\u00f6chten.
message.action.change.service.warning.for.instance=Ihre Instanz muss zuerst unterbrochen werden, bevor Sie Ihr derzeitiges Dienstangebot \u00e4ndern k\u00f6nnen.
message.action.change.service.warning.for.router=Ihr Router muss zuerst unterbrochen werden, bevor Sie Ihr derzeitiges Dienstangebot \u00e4ndern k\u00f6nnen.
message.action.delete.cluster=Bitte best\u00e4tigen Sie, dass Sie dieses Cluster l\u00f6schen m\u00f6chten.
-message.action.delete.disk.offering=Bitte best\u00e4tigen Sie, dass Sie dieses Festplatten-Angebot l\u00f6schen m\u00f6chten.
+message.action.delete.disk.offering=Bitte best\u00e4tigen Sie, dass Sie dieses Festplattenangebot l\u00f6schen m\u00f6chten.
message.action.delete.domain=Bitte best\u00e4tigen Sie, dass Sie diese Domain l\u00f6schen m\u00f6chten.
+message.action.delete.external.firewall=Bitte best\u00e4tigen Sie, dass Sie die externe Firewall entfernen m\u00f6chten. Warnung\: Wenn Sie planen dieselbe exterene Firewall wieder hinzuzuf\u00fcgen, m\u00fcssen Sie s\u00e4mtliche Nutzungsdaten auf diesem Ger\u00e4t zur\u00fccksetzen
+message.action.delete.external.load.balancer=Bitte best\u00e4tigen Sie, dass Sie diesen externen Loadbalancer entfernen m\u00f6chten. Warnung\: Wenn Sie planen denselben exterenen Loadbalancer wieder hinzuzuf\u00fcgen, m\u00fcssen Sie s\u00e4mtliche Nutzungsdaten auf diesem Ger\u00e4t zur\u00fccksetzen
message.action.delete.ingress.rule=Bitte best\u00e4tigen Sie, dass Sie diese Zutrittsregel l\u00f6schen wollen.
message.action.delete.ISO=Bitte best\u00e4tigen Sie, dass Sie diese ISO l\u00f6schen m\u00f6chten.
message.action.delete.ISO.for.all.zones=Die ISO gilt f\u00fcr alle Zonen. Bitte best\u00e4tigen Sie, dass Sie diese aus allen Zonen l\u00f6schen m\u00f6chten.
message.action.delete.network=Bitte best\u00e4tigen Sie, dass Sie dieses Netzwerk l\u00f6schen m\u00f6chten.
+message.action.delete.nexusVswitch=Bitte best\u00e4tigen Sie, dass Sie diesen nexus 1000v l\u00f6schen m\u00f6chten.
+message.action.delete.nic=Bitte best\u00e4tigen Sie die L\u00f6schung dieser NIC, da dies auch zur L\u00f6schung des zugeh\u00f6rigen Netzwerks von der VM f\u00fchrt.
message.action.delete.physical.network=Bitte best\u00e4tigen Sie, dass Sie dieses physikalische Netzwerk l\u00f6schen m\u00f6chten
message.action.delete.pod=Bitte best\u00e4tigen Sie, dass Sie dieses pod l\u00f6schen m\u00f6chten.
message.action.delete.primary.storage=Bitte best\u00e4tigen Sie, dass Sie diese Hauptspeicher l\u00f6schen m\u00f6chten.
@@ -1357,6 +1709,7 @@
message.action.delete.security.group=Bitte best\u00e4tigen Sie, dass Sie diese Sicherheitsgruppe l\u00f6schen m\u00f6chten.
message.action.delete.service.offering=Bitte best\u00e4tigen Sie, dass Sie dieses Dienstangebot l\u00f6schen m\u00f6chten.
message.action.delete.snapshot=Bitte best\u00e4tigen Sie, dass Sie diesen Schnappschuss l\u00f6schen m\u00f6chten.
+message.action.delete.system.service.offering=Bitte best\u00e4tigen Sie, dass Sie dieses Dienstangebot des Systems l\u00f6schen m\u00f6chten
message.action.delete.template=Bitte best\u00e4tigen Sie, dass Sie diese Vorlage l\u00f6schen m\u00f6chten.
message.action.delete.template.for.all.zones=Die Vorlage wird f\u00fcr alle Zonen genutzt. Bitte best\u00e4tigen Sie, dass Sie diese f\u00fcr alle Zonen l\u00f6schen m\u00f6chten.
message.action.delete.volume=Bitte best\u00e4tigen Sie, dass Sie dieses Volumen l\u00f6schen m\u00f6chten.
@@ -1364,79 +1717,198 @@
message.action.destroy.instance=Bitte best\u00e4tigen Sie, dass Sie diese Instanz l\u00f6schen m\u00f6chten.
message.action.destroy.systemvm=Bitte best\u00e4tigen Sie, dass Sie diese System-VM zerst\u00f6ren m\u00f6chten.
message.action.disable.cluster=Bitte best\u00e4tigen Sie, dass Sie diesen Cluster deaktivieren m\u00f6chten.
+message.action.disable.nexusVswitch=Bitte best\u00e4tigen Sie, dass sie diesen nexus 1000v deaktivieren m\u00f6chten.
message.action.disable.physical.network=Bitte best\u00e4tigen Sie, dass Sie dieses physikalische Netzwerk deaktivieren m\u00f6chten.
message.action.disable.pod=Bitte best\u00e4tigen Sie, dass Sie diesen Pod deaktivieren m\u00f6chten.
message.action.disable.static.NAT=Bitte best\u00e4tigen Sie, dass Sie die statische NAT deaktivieren m\u00f6chten.
message.action.disable.zone=Bitte best\u00e4tigen Sie, dass Sie diese Zone deaktivieren m\u00f6chten.
message.action.downloading.template=Vorlage wird heruntergeladen.
message.action.download.iso=Bitte best\u00e4tigen Sie, dass Sie dieses ISO herunterladen m\u00f6chten.
+message.action.download.template=Bitte best\u00e4tigen Sie, dass Sie dieses Template herunterladen m\u00f6chten.
message.action.enable.cluster=Bitte best\u00e4tigen Sie, dass Sie diesen Cluster aktivieren m\u00f6chten.
+message.action.enable.maintenance=Ihr Host wurde erfolgreich f\u00fcr die Wartung vorbereitet. Dieser Prozess kann einige Minuten, oder abh\u00e4nig von der jetzigen Anzahl VMs auf diesem Host auch l\u00e4nger, in Anspruch nehmen.
+message.action.enable.nexusVswitch=Bitte best\u00e4tigen Sie, dass sie diesen nexus 1000v aktivieren m\u00f6chten.
message.action.enable.physical.network=Bitte best\u00e4tigen Sie, dass Sie dieses physikalische Netzwerk aktivieren m\u00f6chten.
message.action.enable.pod=Bitte best\u00e4tigen Sie, dass Sie diesen Pod aktivieren m\u00f6chten.
message.action.enable.zone=Bitte best\u00e4tigen Sie, dass Sie diese Zone aktivieren m\u00f6chten.
+message.action.expunge.instance=Bitte best\u00e4tigen Sie, dasss Sie diese Instanz unwiederbringlich l\u00f6schen m\u00f6chten.
+message.action.force.reconnect=Ihr Host wurde erfolgreich gewzungen wiederzuverbinden. Dieser Prozess kann einige Minuten beanspruchen.
+message.action.host.enable.maintenance.mode=Die Aktivierung des Wartungsmodus verursacht eine Livemigration aller laufenden Instanzen auf diesem Host zu einem anderen verf\u00fcgbaren Host.
message.action.instance.reset.password=Bitte best\u00e4tigen Sie, dass Sie das ROOT Passwort f\u00fcr diese virtuelle Maschine \u00e4ndern m\u00f6chten.
message.action.manage.cluster=Bitte best\u00e4tigen Sie, dass das Cluster bearbeitet werden soll.
+message.action.primarystorage.enable.maintenance.mode=Warnung\: den Hauptspeicher in den Wartungsmodus zu stellen, wird alle VMs stoppen, welche noch Volumen auf demjenigen haben. M\u00f6chten Sie fortfahren?
message.action.reboot.instance=Bitte best\u00e4tigen Sie, dass Sie diese Instanz neu starten m\u00f6chten.
+message.action.reboot.router=Alle angebotenen Dienste dieses Routers werden unterbrochen. Bitte best\u00e4tigen Sie, dass Sie den Router neu starten m\u00f6chten.
message.action.reboot.systemvm=Bitte best\u00e4tigen Sie, dass Sie diese System-VM neu starten m\u00f6chten.
message.action.release.ip=Bitte best\u00e4tigen Sie, dass Sie diese IP freigeben m\u00f6chten.
message.action.remove.host=Bitte best\u00e4tigen Sie, dass Sie diesen Host entfernen m\u00f6chten.
message.action.reset.password.off=Ihre Instanz untersch\u00fctzt derzeitig nicht dieses Feature.
message.action.reset.password.warning=Ihre Instanz muss zuerst unterbrochen werden, bevor Sie Ihr derzeitiges Passwort \u00e4ndern k\u00f6nnen.
message.action.restore.instance=Bitte best\u00e4tigen Sie, dass Sie diese Instanz wiederherstellen m\u00f6chten.
+message.action.revert.snapshot=Bitte best\u00e4tigen Sie, dass Sie das dazugeh\u00f6rige Volumen zu diesen Schnappschuss zur\u00fccksetzten m\u00f6chten.
message.action.start.instance=Bitte best\u00e4tigen Sie, dass Sie diese Instanz starten m\u00f6chten.
message.action.start.router=Bitte best\u00e4tigen Sie, dass Sie diesen Router starten m\u00f6chten.
message.action.start.systemvm=Bitte best\u00e4tigen Sie, dass Sie diese System-VM starten m\u00f6chten.
message.action.stop.instance=Bitte best\u00e4tigen Sie, dass Sie diese Instanz anhalten m\u00f6chten.
+message.action.stop.router=Alle von diesem Router angebotenen Dienste werden unterbrochen. Bitte best\u00e4tigen Sie, dass Sie diesen Router stoppen m\u00f6chten.
message.action.stop.systemvm=Bitte best\u00e4tigen Sie, dass Sie diese System-VM stoppen m\u00f6chten.
+message.action.take.snapshot=Bitte best\u00e4tigen Sie, dass Sie einen Schnappschuss von diesem Volumen sichern m\u00f6chten.
message.action.unmanage.cluster=Bitte best\u00e4tigen Sie, dass Sie das Cluster vernachl\u00e4ssigen m\u00f6chten.
+message.action.vmsnapshot.delete=Bitte best\u00e4tigen Sie, dass Sie diesen VM Schnappschuss l\u00f6schen wollen.
message.action.vmsnapshot.revert=VM-Schnappschuss zur\u00fccksetzen
+message.activate.project=Sind Sie sicher, dass Sie dieses Projekt aktivieren wollen?
+message.add.cluster=Hinzuf\u00fcgen eines vom Hypervisor verwaltender Clusters f\u00fcr Zone <b><span id\="zone_name"></span></b>, Pod <b><span id\="pod_name"></span></b>
+message.add.cluster.zone=Ein Hypervisor verwalteter Cluster f\u00fcr Zone <b><span id\="zone_name"></span></b> hinzuf\u00fcgen
+message.add.disk.offering=Bitte spezifizieren Sie die folgenden Parameter, um ein neues Festplattenangebot hinzuzuf\u00fcgen.
+message.add.domain=Bitte spezifizieren Sie die Subdomain, die Sie unter dieser Domain erstellen wollen.
message.added.vpc.offering=VPC-Angebot hinzugef\u00fcgt
message.add.firewall=Eine Firewall zur Zone hinzuf\u00fcgen
+message.add.guest.network=Bitte best\u00e4tigen Sie, dass Sie ein Gast-Netzwerk hinzuf\u00fcgen m\u00f6chten.
message.add.host=Bitte spezifizieren Sie die folgenden Parameter, um einen neuen Host hinzuzuf\u00fcgen.
message.adding.host=Host wird hinzugef\u00fcgt
+message.adding.Netscaler.device=Hinzuf\u00fcgen eines Netscaler Ger\u00e4tes
+message.adding.Netscaler.provider=Hinzuf\u00fcgen eines Netscaler Provider
+message.add.ip.range.direct.network=Einen IP-Bereich zum direkten Netzwerk<b><span id\="directnetwork_name"></span></b> in Zone hinzuf\u00fcgen <b><span id\="zone_name"></span></b>
+message.add.ip.range=IP-Bereich zu \u00f6ffentlichem Netzwerk in Zone hinzuf\u00fcgen
+message.add.ip.range.to.pod=<p>Einen IP-Bereich zum Pod hinzuf\u00fcgen <b><span id\="pod_name_label"></span></b></p>
message.additional.networks.desc=Bitte w\u00e4hlen Sie ein oder mehrere Netzwerke aus, an die Ihre virtuelle Instanz verbunden wird.
message.add.load.balancer=Einen Lastverteiler zur Zone hinzuf\u00fcgen
+message.add.load.balancer.under.ip=Die Lasterverteiler-Regel wurde hinzugef\u00fcgt zu IP\:
+message.add.network=Eine neues Netzwerk f\u00fcr Zone hinzuf\u00fcgen\: <b><span id\="zone_name"></span></b>
+message.add.new.gateway.to.vpc=Bitte spezifizieren Sie Informationen um ein neues Gateway f\u00fcr dieses VPC hinzuzuf\u00fcgen.
+message.add.pod=Ein neuer Pod f\u00fcr Zone <b><span id\="add_pod_zone_name"></span></b> hinzuf\u00fcgen
message.add.primary=Bitte spezifizieren Sie die folgenden Parameter, um einen neuen Hauptspeicher hinzuzuf\u00fcgen
+message.add.primary.storage=Bitte f\u00fcgen Sie einen neuen prim\u00e4ren Speicher f\u00fcr Zone <b><span id\="zone_name"></span></b>, und Pod <b><span id\="pod_name"></span></b> hinzu.
+message.add.region=Bitte geben Sie die ben\u00f6tigten Informationen ein um eine neue Region hinzuzuf\u00fcgen
+message.add.secondary.storage=Bitte f\u00fcgen Sie einen neuen Speicher f\u00fcr die Zone <b><span id\="zone_name"></span></b> hinzu.
+message.add.service.offering=Bitte geben Sie die folgenden Daten ein, um ein neues Berechnungsangebot hinzuzuf\u00fcgen.
+message.add.system.service.offering=Bitte geben Sie die folgenden Daten ein, um ein neues Systemdienstangebot hinzuzuf\u00fcgen.
message.add.template=Bitte geben Sie die folgende Daten ein, um Ihre neue Vorlage zu erstellen
message.add.volume=Bitte geben Sie die folgende Daten ein, um ein neues Volumen hinzuzuf\u00fcgen.
+message.add.VPN.gateway=Bitte best\u00e4tigen Sie, dass sie ein VPN Gateway hinzuf\u00fcgen wollen.
+message.admin.guide.read=F\u00fcr VMware basierte VMs, lesen Sie bitte den Abschnitt \u00fcber das dynamische Skalieren in dem Administrations-Leitfaden bevor Sie hochskalieren. M\u00f6chten Sie fortfahren?
+message.advanced.mode.desc=W\u00e4hlen Sie dieses Netzwerkmodell aus, wenn Sie VLAN-Unterst\u00fctzung aktivieren m\u00f6chten. Dieses Netzwerkmodell bietet die gr\u00f6\u00dfte Flexibilit\u00e4t um Administratoren kundenspezifische Netzwerkangebote zu erm\u00f6glichen, wie das Anbieten von Firewall, VPN oder Lastverteilerunterst\u00fctzung wie auch aktivieren direkten gegen virtuellen Netzwerkverkehr.
+message.advanced.security.group=W\u00e4hlen Sie dies, wenn Sie Sicherheits Gruppen verwenden wollen, um eine Isolation f\u00fcr Gast VMs anzubieten.
+message.advanced.virtual=W\u00e4hlen Sie dies, wenn Sie Zonen-weite VLANs verwenden wollen, um eine Isolation f\u00fcr Gast VMs anzubieten.
+message.after.enable.s3=S3-gest\u00fctzter zweiter Speicher konfiguriert. Hinweis\: Wenn Sie dieses Seite verlassen, k\u00f6nnen Sie S3 nicht mehr umkonfigurieren.
+message.after.enable.swift=Swift ist konfiguriert. Bemerkung\: Wenn Sie diese Seite verlassen, werden Sie nicht mehr in der Lage sein Swift um zu konfigurieren.
message.alert.state.detected=Alarmstatus erkannt
message.allow.vpn.access=Bitte geben Sie einen Benutzernamen und ein Kennwort f\u00fcr den Benutzer ein, f\u00fcr den Sie VPN-Zugang m\u00f6chten.
message.apply.snapshot.policy=Sie haben Ihre derzeitige Schnappschuss Richtlinie erfolgreich aktualisiert.
message.attach.iso.confirm=Bitte best\u00e4tigen Sie, dass sie die ISO zu Ihrer virtuellen Instanz hinzuf\u00fcgen m\u00f6chten.
+message.attach.volume=Bitte f\u00fcllen Sie die folgenden Daten aus um neue Volumen anzubinden. Falls Sie das Festplattenvolumen zu einer Windows-basierten virtuellen Maschine anbinden, m\u00fcssen Sie die Instanz neu starten um die angebundene Festplatte verwenden zu k\u00f6nnen.
+message.basic.mode.desc=W\u00e4hlen Sie dieses Netzwerk-Modell falls Sie <b>*<u>keine</u>*</b> VLAN-Unterst\u00fctzung aktivieren m\u00f6chten. Allen virtuellen Instanzen unter diesem Netzwerk-Modell erhalten eine IP direkt von Netzwerk, Sicherheitsgruppen werden verwendet um Sicherheit und Trennung zu gew\u00e4hrleisten.
message.change.offering.confirm=Bitte best\u00e4tigen Sie, dass Sie das Dienstangebot dieser virtuellen Instanz \u00e4ndern m\u00f6chten.
message.change.password=Bitte \u00e4ndern Sie Ihre Passwort.
+message.cluster.dedicated=Cluster dediziert
+message.cluster.dedication.released=Cluster-Dedizierung aufgehoben
+message.configure.all.traffic.types=Sie haben mehrere physikalische Netzwerke; bitte konfigurieren Sie f\u00fcr jeden Datenverkehrstyp Bezeichnungen indem Sie auf den Bearbeiten-Knopf klicken
+message.configure.firewall.rules.allow.traffic=Konfigurieren Sie die Regeln um Datenverkehr zu erlauben
+message.configure.firewall.rules.block.traffic=Konfigurieren Sie die Regeln um den Datenverkehr zu blockieren
+message.configure.ldap=Bitte best\u00e4tigen Sie, dass Sie LDAP konfigurieren m\u00f6chten.
message.configuring.guest.traffic=Gast-Datenverkehr wird konfiguriert
message.configuring.physical.networks=Physikalische Netzwerke werden konfiguriert
message.configuring.public.traffic=\u00d6ffentlicher Datenverkehr wird konfiguriert
message.configuring.storage.traffic=Speicherungsdatenverkehr wird konfiguriert
+message.confirm.action.force.reconnect=Bitte best\u00e4tigen Sie, dass Sie f\u00fcr diesen Host das Wiederverbinden erzwingen m\u00f6chten.
+message.confirm.add.vnmc.provider=Bitte best\u00e4tigen Sie, dass Sie den VNMC-Provider hinzuf\u00fcgen m\u00f6chten.
+message.confirm.archive.alert=Bitte best\u00e4tigen Sie, dass Sie diesen Alarm archivieren m\u00f6chten.
message.confirm.archive.event=Bitte best\u00e4tigen Sie, dass Sie dieses Ereignis archivieren m\u00f6chten.
message.confirm.archive.selected.alerts=Bitte best\u00e4tigen Sie, dass Sie die ausgew\u00e4hlten Alarme archivieren m\u00f6chten
+message.confirm.archive.selected.events=Bitte best\u00e4tigen Sie, dass Sie die ausgew\u00e4hlten Vorg\u00e4nge archivieren m\u00f6chten
+message.confirm.attach.disk=Sind Sie sicher, dass Sie eine Platte hinzuf\u00fcgen m\u00f6chten?
message.confirm.create.volume=Sind Sie sicher, dass Sie ein Volumen erstellen m\u00f6chten?
+message.confirm.current.guest.CIDR.unchanged=M\u00f6chten Sie den aktuellen Gastnetzwerk CIDR unver\u00e4ndert lassen?
+message.confirm.dedicate.cluster.domain.account=M\u00f6chten Sie diesen Cluster wirklich f\u00fcr diese Domain / dieses Benutzerkonto dedizieren?
+message.confirm.dedicate.host.domain.account=M\u00f6chten Sie diesen Host wirklich f\u00fcr diese Domain / dieses Benutzerkonto dedizieren?
+message.confirm.dedicate.pod.domain.account=M\u00f6chten Sie diesen Pod wirklich f\u00fcr diese Domain / dieses Benutzerkonto dedizieren?
+message.confirm.dedicate.zone=M\u00f6chten Sie diese Zone wirklich f\u00fcr diese Domain / dieses Benutzerkonto dedizieren?
message.confirm.delete.acl.list=Sind Sie sicher, dass Sie diese ACL-Liste l\u00f6schen m\u00f6chten?
message.confirm.delete.alert=Sind Sie sicher, dass Sie diesen Alarm l\u00f6schen m\u00f6chten?
+message.confirm.delete.BigSwitchBcf=Bitte best\u00e4tigen Sie, dass Sie diesen BigSwitch BCF Controller l\u00f6schen m\u00f6chten
+message.confirm.delete.BrocadeVcs=Bitte best\u00e4tigen Sie, dass Sie Brocade Vcs Switch l\u00f6schen m\u00f6chten
message.confirm.delete.ciscoASA1000v=Bitte best\u00e4tigen Sie, dass Sie CiscoASA1000v l\u00f6schen m\u00f6chten
+message.confirm.delete.ciscovnmc.resource=Bitte best\u00e4tigen Sie, dass Sie die CiscoVNMC Ressource l\u00f6schen m\u00f6chten
+message.confirm.delete.F5=Bitte best\u00e4tigen Sie, dass Sie F5 l\u00f6schen m\u00f6chten
+message.confirm.delete.internal.lb=Bitte best\u00e4tigen Sie, dass Sie den internen Loadbalancer l\u00f6schen m\u00f6chten
+message.confirm.delete.NetScaler=Bitte best\u00e4tigen Sie, dass Sie NetScaler l\u00f6schen m\u00f6chten
+message.confirm.delete.NuageVsp=Bitte best\u00e4tigen Sie, dass Sie das Nuage Virtulazierte Dienste Verzeichnis l\u00f6schen m\u00f6chten
+message.confirm.delete.PA=Bitte best\u00e4tigen Sie, dass Sie Palo Alto l\u00f6schen m\u00f6chten
+message.confirm.delete.secondary.staging.store=Bitte best\u00e4tigen Sie, dass Sie diesen Sekund\u00e4r-Staging-Store l\u00f6schen m\u00f6chten.
+message.confirm.delete.SRX=Bitte best\u00e4tigen Sie, dass Sie SRX l\u00f6schen m\u00f6chten
+message.confirm.delete.ucs.manager=Bitte best\u00e4tigen Sie, dass Sie UCS-Manager l\u00f6schen m\u00f6chten
message.confirm.destroy.router=Bitte best\u00e4tigen Sie, dass Sie diesen Router zerst\u00f6ren m\u00f6chten
message.confirm.disable.host=Bitte best\u00e4tigen Sie, dass Sie den Host deaktivieren m\u00f6chten
+message.confirm.disable.network.offering=Sind Sie sicher, dass Sie dieses Netzwerkangebot deaktivieren m\u00f6chten?
+message.confirm.disable.provider=Bitte best\u00e4tigen Sie, dass Sie diesen Anbieter l\u00f6schen m\u00f6chten
+message.confirm.disable.vnmc.provider=Bitte best\u00e4tigen Sie, dass Sie den VNMC-Provider deaktivieren m\u00f6chten.
+message.confirm.disable.vpc.offering=Sind Sie sicher, dass Sie dieses VPC-Angebot deaktivieren m\u00f6chten?
message.confirm.enable.host=Bitte best\u00e4tigen Sie, dass Sie den Host aktivieren m\u00f6chten
+message.confirm.enable.network.offering=Sind Sie sicher, dass Sie dieses Netzwerkangebot aktivieren m\u00f6chten?
+message.confirm.enable.provider=Bitte best\u00e4tigen Sie, dass Sie diesen Anbieter hinzuf\u00fcgen m\u00f6chten
+message.confirm.enable.vnmc.provider=Bitte best\u00e4tigen Sie, dass Sie den VNMC-Provider aktivieren m\u00f6chten.
+message.confirm.enable.vpc.offering=Sind Sie sicher, dass Sie dieses VPC-Angebot aktivieren m\u00f6chten?
+message.confirm.join.project=Bitte best\u00e4tigen Sie, dass Sie diesem Projekt beitreten m\u00f6chten.
message.confirm.migrate.volume=M\u00f6chten Sie dieses Volumen migrieren?
+message.confirm.refresh.blades=Bitte best\u00e4tigen Sie, dass Sie die Blades aktuallisieren m\u00f6chten.
+message.confirm.release.dedicated.cluster=M\u00f6chten Sie diesen dedizierten Cluster freigeben?
+message.confirm.release.dedicated.host=M\u00f6chten Sie diesen dedizierten Host freigeben?
+message.confirm.release.dedicated.pod=M\u00f6chten Sie diesen dedizierten Pod freigeben?
+message.confirm.release.dedicated.zone=M\u00f6chten Sie diese dedizierte Zone freigeben?
+message.confirm.release.dedicate.vlan.range=Bitte best\u00e4tigen Sie, dass Sie ein dedizierten VLAN-Bereich losl\u00f6sen m\u00f6chten
message.confirm.remove.event=Sind Sie sicher, dass Sie dieses Ereignis entfernen m\u00f6chten?
+message.confirm.remove.IP.range=Bitte best\u00e4tigen Sie, dass sie diesen IP Adressbereich l\u00f6schen m\u00f6chten.
+message.confirm.remove.load.balancer=Bitte best\u00e4tigen Sie, dass Sie die VM vom Lastverteiler zur\u00fcckziehen m\u00f6chten
+message.confirm.remove.network.offering=Sind Sie sicher, dass Sie dieses Netzwerkangebot entfernen m\u00f6chten?
message.confirm.remove.selected.alerts=Bitte best\u00e4tigen Sie, dass Sie die ausgew\u00e4hlten Alarme entfernen m\u00f6chten
message.confirm.remove.selected.events=Bitte best\u00e4tigen Sie, dass Sie die ausgew\u00e4hlten Ereignisse entfernen m\u00f6chten
+message.confirm.remove.vmware.datacenter=Bitte best\u00e4tigen Sie, dass Sie das VMware Rechenzentrum entfernen m\u00f6chten
+message.confirm.remove.vpc.offering=Sind Sie sicher, dass Sie dieses VPC-Angebot entfernen m\u00f6chten?
message.confirm.replace.acl.new.one=M\u00f6chten Sie die ACL durch die neue ersetzen?
+message.confirm.scale.up.router.vm=M\u00f6chten Sie die Router-VM wirklich hochskalieren?
+message.confirm.scale.up.system.vm=M\u00f6chten Sie die System-VM wirklich hochskalieren?
+message.confirm.shutdown.provider=Bitte best\u00e4tigen Sie, dass sie diesen Anbieter herunterfahren m\u00f6chten.
+message.confirm.start.lb.vm=Bitte best\u00e4tigen Sie, dass Sie die LB VM starten m\u00f6chten
+message.confirm.stop.lb.vm=Bitte best\u00e4tigen Sie, dass Sie die LB VM stoppen m\u00f6chten
+message.confirm.upgrade.router.newer.template=Bitte best\u00e4tigen Sie, dass Sie den Router aktuallisieren m\u00f6chten, so dass er die neue Vorlage verwendet.
+message.confirm.upgrade.routers.account.newtemplate=Bitte best\u00e4tigen Sie, dass Sie alle Router zu dieser Benutzerkonto aktuallisieren m\u00f6chten, so dass sie die neue Vorlage verwenden.
+message.confirm.upgrade.routers.cluster.newtemplate=Bitte best\u00e4tigen Sie, dass Sie alle Router in diesem Cluster aktuallisieren m\u00f6chten, so dass sie die neue Vorlage verwenden.
+message.confirm.upgrade.routers.newtemplate=Bitte best\u00e4tigen Sie, dass Sie alle Router in dieser Zone aktuallisieren m\u00f6chten, so dass sie die neue Vorlage verwenden.
+message.confirm.upgrade.routers.pod.newtemplate=Bitte best\u00e4tigen Sie, dass Sie alle Router in diesem Pod aktuallisieren m\u00f6chten, so dass sie die neue Vorlage verwenden.
message.copy.iso.confirm=Bitte best\u00e4tigen Sie, dass Sie Ihre ISO kopieren m\u00f6chten und zwar nach
+message.copy.template.confirm=Sind Sie sicher, dass Sie die Vorlage kopieren m\u00f6chten?
+message.copy.template=Kopiere Vorlage <b id\="copy_template_name_text">XXX</b> von Zone <b id\="copy_template_source_zone_text"></b> nach
message.create.template=Sind Sie sicher, dass Sie eine Vorlage erstellen m\u00f6chten?
message.create.template.vm=VM aus Vorlage <b id\="p_name"></b> erstellen
message.creating.cluster=Cluster wird erstellt
message.creating.guest.network=Gastnetzwerk wird erstellt
message.creating.physical.networks=Physikalische Netzwerke werden erstellt
+message.creating.pod=Erstelle einen Pod
message.creating.primary.storage=Hauptspeicher wird erstellt
message.creating.secondary.storage=Sekund\u00e4rspeicher wird erstellt
+message.creating.systemVM=Erstellung von System VMs (das kann eine Weile dauern)
message.creating.zone=Zone wird erstellt
+message.decline.invitation=Sind Sie sicher, dass Sie diese Einladung zu dem Projekt ablehnen m\u00f6chten?
+message.dedicated.zone.released=Zonen-Dedizierung freigegeben
+message.dedicate.zone=Dediziere Zone
message.delete.account=Bitte best\u00e4tigen Sie, dass Sie dieses Benutzerkonto l\u00f6schen m\u00f6chten.
+message.delete.affinity.group=Bitte best\u00e4tigen Sie, dass Sie diese Affinit\u00e4tsgruppe l\u00f6schen m\u00f6chten.
+message.delete.gateway=Bitte best\u00e4tigen Sie, dass Sie dieses Gateway l\u00f6schen m\u00f6chten
message.delete.project=Sind Sie sicher, dass Sie dieses Projekt l\u00f6schen m\u00f6chten?
message.delete.user=Bitte best\u00e4tigen Sie, dass Sie diesen Benutzer l\u00f6schen m\u00f6chten.
message.delete.VPN.connection=Bitte best\u00e4tigen Sie, dass Sie die VPN-Verbindung l\u00f6schen m\u00f6chten
+message.delete.VPN.customer.gateway=Bitte best\u00e4tigen Sie, dass Sie dieses Kunden VPN Gateway l\u00f6schen m\u00f6chten
+message.delete.VPN.gateway=Bitte best\u00e4tigen Sie, dass Sie dieses VPN Gateway l\u00f6schen m\u00f6chten
+message.desc.add.new.lb.sticky.rule=Neue Lastverteiler Sticky Regel hinzuf\u00fcgen
+message.desc.basic.zone=Biete ein einzelnes Netzwerk an, in dem alle VM-Instanzen direkt mit IP vom Netzwerk verbunden sind. G\u00e4steisolation kann durch Layer-3 wie Sicherheitsgruppen angeboten werden (IP-Adressen Source Filtering)
+message.desc.cluster=Jeder Pod muss einen oder mehrere Clusters enthalten, und wir werden jetzt den ersten Cluster hinzuf\u00fcgen. Ein Cluster bietet die M\u00f6glichkeit Hosts zu gruppieren. Die Hosts in einem Cluster haben alle identische Hardware, betreiben den selben Hypervisor, sind im selben Subnetz und greiffen auf den selben geteilten Speicher zu. Jeder Cluster besteht aus einem oder mehreren Hosts und einem oder mehreren Hauptspeicher-Server.
message.desc.created.ssh.key.pair=Erstellte ein SSH-Schl\u00fcsselpaar.
+message.desc.host=Jeder Cluster muss mindestens ein Host (Computer) beinhalten damit Gast-VMs darauf laufen und wir werden nun den ersten Host erstellen. Damit ein Host funktioniert in CloudStack muss eine Hypervisor-Software auf dem Host installiert sein, eine IP-Adressse zugewiesen sein und es muss sichergestellt sein, dass der Host mit dem CloudStack Verwaltungs-Server ko
+message.desc.primary.storage=Jeder Cluster muss einen oder mehrere Hauptspeicher-Server enthalten, und wir werden nun den ersten erfassen. Hauptspeicher enth\u00e4lt die Festplatten-Volumen aller VMs, welche auf den Hosts in dem Cluster befinden. Benutzen Sie irgend ein standardkonformes Protokoll, welches vom darunterliegenden Hypervisor unterst\u00fctzt wird.
+message.desc.reset.ssh.key.pair=Bitte definieren Sie ein SSH-Schl\u00fcsselpaar welches Sie zu dieser VM hinzuf\u00fcgen m\u00f6chten. Bitte beachten Sie, dass das Root-Passwort dabei ge\u00e4ndert wird falls es aktiviert ist.
+message.desc.secondary.storage=Jede Zone muss mindestens ein NFS oder Sekund\u00e4rspeicher-Server haben und wir werden nun den ersten hinzuf\u00fcgen. Sekund\u00e4rspeicher speichert VM-Vorlagen, ISO-Abbilder und VM-Festplatten-Schnappsch\u00fcsse. Dieser Server muss f\u00fcr alle Host in der Zone erreichbar sein.<br/><br/>Geben Sie die IP und den exportierten Pfad an.
+message.desc.zone=Eine Zone ist die gr\u00f6\u00dfte organisatorische Einheit in CloudStack und entspricht typischerweise eines einzelnen Rechenzentrum. Zonen bieten physikalische Isolation und Redundanz. Eine Zone beinhaltet einen oder mehrere Pods (jeder von Ihnen beinhaltet Hosts und Hauptspeicher-Server) und ein Sekund\u00e4rspeicher-Server, welcher von allen Pods in der Zone geteilt wird.
+message.detach.disk=Sind Sie sicher, dass Sie diese Festplatte losl\u00f6sen m\u00f6chten?
message.detach.iso.confirm=Bitte best\u00e4tigen Sie, dass Sie die ISO von der virtuellen Instanz trennen m\u00f6chten.
message.disable.account=Bitte best\u00e4tigen Sie, dass Sie Ihr Benutzerkonto deaktivieren m\u00f6chten. Kein Nutzer dieses Kontos wird mehr Zugriff auf die Cloud Ressourcen haben. Alle laufenden virtuellen Maschinen werden sofort abgestellt.
message.disable.snapshot.policy=Sie haben Ihre derzeitige Schnappschuss Richtlinie erfolgreich deaktiviert.
@@ -1450,68 +1922,165 @@
message.download.template=Bitte klicken Sie auf <a href\="\#">00000</a>, um die Vorlage herunterzuladen
message.download.volume=Bitte klicken Sie auf <a href\="\#">00000</a>, um das Volumen herunterzuladen
message.download.volume.confirm=Bitte best\u00e4tigen Sie, dass Sie dieses Volumen herunterladen m\u00f6chten.
+message.edit.account=Bearbeiten ("-1" bedeutet keine Begrenzung der Anzahl Ressourcen)
+message.edit.confirm=Bitte best\u00e4tigen Sie Ihre \u00c4nderungen bevor Sie "Speichern" klicken.
+message.edit.limits=Bitte definieren Sie Begrenzungen f\u00fcr die folgenden Ressourcen. Ein "-1" bedeutet keine Begrenzung f\u00fcr die Ressourcen-Erstellung.
+message.edit.traffic.type=Bitte definieren Sie die Datenverkehrs-Bezeichnung, welche Sie mit diesem Datenverkehrs-Typ verbunden haben m\u00f6chten.
message.enable.account=Bitte best\u00e4tigen Sie, dass Sie dieses Konto aktivieren m\u00f6chten.
message.enabled.vpn=Ihr VPN Zugriff ist zurzeit aktiv und via IP k\u00f6nnen Sie darauf zugreifen
+message.enabled.vpn.ip.sec=Ihr IPSec Preshared-Schl\u00fcssel ist
+message.enable.user=Bitte best\u00e4tigen Sie, dass sie diesen Benutzer aktivieren m\u00f6chten.
message.enable.vpn.access=VPN ist zurzeit nicht f\u00fcr diese IP Addresse aktiviert. M\u00f6chten Sie den VPN Zugriff aktivieren?
+message.enable.vpn=Bitte best\u00e4tigen Sie, dass Sie f\u00fcr diese IP-Adresse das Remote Access VPN aktivieren m\u00f6chten.
message.enabling.network.offering=Netzwerkangebot wird aktiviert
message.enabling.security.group.provider=Sicherheitsgruppenanbieter wird aktiviert
message.enabling.vpc.offering=VPC-Angebot wird aktiviert
message.enabling.zone.dots=Zone wird aktiviert...
message.enabling.zone=Zone wird aktiviert
+message.enter.seperated.list.multiple.cidrs=Bitte geben Sie eine Komma separierte Liste von CIDRs ein, sofern es mehrere sind.
+message.enter.token=Bitte geben Sie dasjenige Merkmal ein, welches Ihnen in Ihrem Einladungsemail mitgeteilt wurde.
+message.generate.keys=Bitte best\u00e4tigen Sie, dass Sie f\u00fcr diesen Benutzer neue Schl\u00fcssel generieren m\u00f6chten.
+message.gslb.delete.confirm=Bitte best\u00e4tigen Sie, dass Sie diesen GSLB l\u00f6schen m\u00f6chten.
+message.gslb.lb.remove.confirm=Bitte best\u00e4tigen Sie, dass Sie die Lastverteilung vom GSLB entfernen m\u00f6chten
+message.guest.traffic.in.advanced.zone=Gastnetzwerk-Datenverkehr ist die kommunikation zwischen virtuellen Maschinen des Endbenutzers. Definieren Sie einen Bereich von VLAN IDs um den Gast-Datenverkehr jedes physikalischen Netzwerks zuzustellen.
+message.guest.traffic.in.basic.zone=Gastnetzwerk-Datenverkehr ist die kommunikation zwischen virtuellen Maschinen des Endbenutzers. Definieren Sie einen Bereich von IP-Adressen welche CloudStack Gast-VMs zuweisen kann. Stellen Sie sicher, dass dieser Bereich sich nicht mit dem reservierten IP-Bereich des Systems \u00fcberlappt.
+message.host.dedicated=Host dediziert
+message.host.dedication.released=Host-Dedizierung freigegeben
message.installWizard.click.retry=Bitte den Start Button f\u00fcr einen neuen Versuch dr\u00fccken
+message.installWizard.copy.whatIsACluster=Ein Cluster bietet die M\u00f6glichkeit Hosts zu gruppieren. Die Hosts in einem Cluster haben alle identische Hardware, laufen mit dem selben Hypervisor, sind im selben Subnetz und greifen auf den selben Speicher zu. Instanzen von virtuellen Maschinen (VMs) k\u00f6nnen von einem Host zum anderen innerhalb des Clusters live-migriert werden, ohne Unterbrechung des Dienstes f\u00fcr den Endbenutzer. Ein Cluster ist die drittgr\u00f6\u00dfte organisatorische Einheit innerhalb einer CloudStack&\#8482; Installation. Cluster sind geschlossen innerhalb Pods und Pods sind geschlossen innerhalb Zonen. <br/><br/>CloudStack&\#8482; erlaubt mehrere Cluster in einer Cloudinstallation, aber f\u00fcr eine Basisinstallation ben\u00f6tigen wir nur ein Cluster.
+message.installWizard.copy.whatIsAPod=Ein Pod steht h\u00e4ufig f\u00fcr ein einzelnes Rack. Host im selben Pod sind im selben Subnetz.<br/><br/>Ein Pod ist die zweitgr\u00f6\u00dfte Einheit innerhalb einer CloudStack&\#8482; Installation. Pods sind geschlossen innerhalb der Zonen. Jede Zone kann eine oder mehrere Pods enthalten; in der Basisinstallation werden Sie nur ein Pod in Ihrer Zone haben.
+message.installWizard.copy.whatIsAZone=Eine Zone ist die gr\u00f6\u00dfte organisatorische Einheit innerhalb einer CloudStack&\#8482; Installation. Eine Zone steht typischerweise f\u00fcr ein einzelnes Rechenzentrum, obwohl es nat\u00fcrlich erlaubt ist, mehrere Zonen in einem Rechenzentrum zu haben. Der Vorteil einer Unterteilung der Infrastruktur in Zonen besteht im Anbieten einer physikalischen Isolierung und Redundanz. Zum Beispiel kann jede Zone ihre eigene Stromversorgung und ihr eigener Netzwerk-Uplink haben und geographisch weit auseinanderliegen (obschon dies nicht zwingend ist).
+message.installWizard.now.building=Ihre Cloud wird erstellt...
message.installWizard.tooltip.addCluster.name=Der Name des Clusters. Der Name kann frei gew\u00e4hlt werden und wird von Cloudstack nicht genutzt.
message.installWizard.tooltip.addHost.hostname=Der DNS-Name oder die IP-Adresse des hosts
message.installWizard.tooltip.addHost.password=Dies ist das Passwort des o.a. Users (von der XenServer Installation)
message.installWizard.tooltip.addHost.username=\u00fcberlicherweise root
message.installWizard.tooltip.addPod.name=Der Name f\u00fcr den pod
+message.installWizard.tooltip.addPod.reservedSystemEndIp=Dies ist der IP-Bereich im privaten Netzwerk, welches CloudStack verwendet um Sekund\u00e4rspeicher-VMs und Konsolen-Proxies zu verwalten. Diese IP-Adressen werden vom selben Subnetz genommen wie Computing-Server.
message.installWizard.tooltip.addPod.reservedSystemGateway=Das Gateways f\u00fcr die Hosts des pod
message.installWizard.tooltip.addPod.reservedSystemNetmask=Die Subnetzmaske des Gast-Netzwerks
+message.installWizard.tooltip.addPod.reservedSystemStartIp=Dies ist der IP-Bereich im privaten Netzwerk, welches CloudStack verwendet um Sekund\u00e4rspeicher-VMs und Konsolen-Proxies zu verwalten. Diese IP-Adressen werden vom selben Subnetz genommen wie Computing-Server.
message.installWizard.tooltip.addPrimaryStorage.name=Der Name der Storage Devices
message.installWizard.tooltip.addPrimaryStorage.path=(f\u00fcr NFS) Bei NFS wird hier der exportierte Pfad (Shared Mount Point) angegeben. F\u00fcr KVM wird hier der Pfad angegeben, wo auf jedem Host das primary storage gemountet wurde. Z.B. "/mnt/primary"
message.installWizard.tooltip.addPrimaryStorage.server=(f\u00fcr NFS, iSCSI oder PreSetup) Die IP-Adresse oder der DNS-Name des storage devices.
message.installWizard.tooltip.addSecondaryStorage.nfsServer=Die IP-Adresse des NFS-Servers, der den Secondary Storage bereitstellt.
message.installWizard.tooltip.addSecondaryStorage.path=Der exportierte Pfad, der auf dem o.a. Server liegt.
+message.installWizard.tooltip.addZone.dns1=Dies sind die DNS Server f\u00fcr die G\u00e4ste VMs in dieser Zone. Diese DNS Server werden \u00fcber das Interface f\u00fcr das private Netzwerk der System VMs erreicht. Die private IP Adresse, die Sie angeben muss eine Route zu dem hier benannten DNS Server haben.
+message.installWizard.tooltip.addZone.dns2=Dies sind die DNS Server f\u00fcr die G\u00e4ste VMs in dieser Zone. Diese DNS Server werden \u00fcber das Interface f\u00fcr das private Netzwerk der System VMs erreicht. Die private IP Adresse, die Sie angeben muss eine Route zu dem hier benannten DNS Server haben.
+message.installWizard.tooltip.addZone.internaldns1=Dies sind die DNS Server f\u00fcr die System VMs in dieser Zone. Diese DNS Server werden \u00fcber das Interface f\u00fcr das private Netzwerk der System VMs erreicht. Die private IP Adresse, die Sie angeben muss eine Route zu dem hier benannten DNS Server haben.
+message.installWizard.tooltip.addZone.internaldns2=Dies sind die DNS Server f\u00fcr die System VMs in dieser Zone. Diese DNS Server werden \u00fcber das Interface f\u00fcr das private Netzwerk der System VMs erreicht. Die private IP Adresse, die Sie angeben muss eine Route zu dem hier benannten DNS Server haben.
message.installWizard.tooltip.addZone.name=Der Name f\u00fcr die zone
message.installWizard.tooltip.configureGuestTraffic.description=Eine Beschreibung des Netzwerkes.
+message.installWizard.tooltip.configureGuestTraffic.guestEndIp=Der Bereich der IP Adressen die f\u00fcr die Verwendung durch G\u00e4ster in dieser Zone verf\u00fcgbar sind. Wenn nur ein NIC verwendet wird, sollten die IP Adressen in demselben CIDR seind wie der CIDR des Pods.
message.installWizard.tooltip.configureGuestTraffic.guestGateway=Das gateway, welches der Gast benutzen soll.
message.installWizard.tooltip.configureGuestTraffic.guestNetmask=Die Subnetzmaske des Gast-Netzwerks
+message.installWizard.tooltip.configureGuestTraffic.guestStartIp=Der Bereich der IP Adressen die f\u00fcr die Verwendung durch G\u00e4ster in dieser Zone verf\u00fcgbar sind. Wenn nur ein NIC verwendet wird, sollten die IP Adressen in demselben CIDR seind wie der CIDR des Pods.
message.installWizard.tooltip.configureGuestTraffic.name=Der Name f\u00fcr das Netzwerk
+message.instance.scaled.up.confirm=M\u00f6chten Sie Ihre Instanz wirklich hochskalieren?
+message.instanceWizard.noTemplates=Sie haben keine Vorlagen verf\u00fcgbar; bitte f\u00fcgen Sie kompatible Vorlagen hinzu, und starten Sie den Instanz-Installationsassistent neu.
+message.ip.address.changed=Ihre IP Adresse kann sich ge\u00e4ndert haben; m\u00f6chten Sie die Liste aktualisieren lassen? Bitte beachten Sie, dass sich in diesem Fall die Ansicht der Details schlie\u00dfen wird.
+message.iso.desc=Dieses Disk Image enth\u00e4lt Daten oder ein bootf\u00e4higes Medium f\u00fcr das Betriebssystem.
+message.join.project=Sie sind jetzt einem Projekt beigetreten. Bitte wechseln Sie in die Ansicht \u00fcber die Projekte um das Projekt zu sehen.
+message.launch.vm.on.private.network=W\u00fcnschen Sie Ihre Instanze in Ihren eigenen privaten dedizierten Netzwerk zu starten?
+message.launch.zone=Die Zone kann gestartet werden; bitte fahren sie mit dem n\u00e4chsten Schritt fort.
+message.link.domain.to.ldap=Autosync f\u00fcr diese Domain mit LDAP einstellen
message.listView.subselect.multi=(Strg/Cmd-Klick)
+message.lock.account=Bitte best\u00e4tigen Sie, dass Sie dieses Benutzerkonto sperren m\u00f6chten. Nach dem Sperren ist es Benutzer dieses Benutzerkontos nicht mehr m\u00f6glich, ihre Cloud Ressourcen zu verwalten. Auf bestehende Ressourcen kann aber weiterhin zugegriffen werden.
+message.migrate.instance.confirm=Bitte best\u00e4tigen Sie den Host auf den Sie die virtuelle Instanz migrieren wollen.
message.migrate.instance.to.host=Bitte best\u00e4tigen sie, dass die Instanz auf einen anderen Host migriert werden soll
message.migrate.instance.to.ps=Bitte best\u00e4tigen sie, dass sie die Instanz auf einen anderen prim\u00e4ren Speicher migrieren wollen.
+message.migrate.router.confirm=Bitte best\u00e4tigen Sie den Host, auf welchen Sie den Router migrieren m\u00f6chten\:
+message.migrate.systemvm.confirm=Bitte best\u00e4tigen Sie den Host, auf welchen Sie die System-VM migrieren m\u00f6chten\:
+message.migrate.volume=Bitte best\u00e4tigen sie, dass sie dieses Volume auf einen anderen prim\u00e4ren Speicher migrieren wollen.
+message.network.addVM.desc=Bitte definieren Sie das Netzwerk, zu welchen Sie die VM hinzuf\u00fcgen m\u00f6chten. Eine neue NIC wird zu diesem Netzwerk hinzugef\u00fcgt.
+message.network.addVMNIC=Bitte best\u00e4tigen Sie, dass sie eine neue VM NIC zu dieses Netzwerk hinzuf\u00fcgen m\u00f6chten.
message.new.user=Spezifieren Sie das folgende um einen neuen Nutzer dem Benutzerkonto hinzuzuf\u00fcgen
+message.no.affinity.groups=Sie haben keine Affinit\u00e4ts-Gruppen. Bitte fahren Sie fort zum n\u00e4chsten Schritt.
+message.no.host.available=Es ist kein Host f\u00fcr eine Migration verf\u00fcgbar
+message.no.network.support.configuration.not.true=Sie haben keine Zone die eine aktivierte Sicherheitsgruppe hat. Deswegen gibt es keine zus\u00e4tzlichen Netzwerk Merkmale. Bitte fahren Sie mit Schritt 5 fort.
+message.no.network.support=Ihr ausgew\u00e4hlter Hypervisor vSphere hat keine zus\u00e4tzlichen Netzwerk Merkmale. Bitte fahren Sie mit Schritt 5 fort.
+message.no.projects.adminOnly=Sie haben keine Projekt.<br/>Bitte fragen Sie Ihren Administrator damit er ein neues Projekt anlegt.
+message.no.projects=Sie haben keine Projekte.<br/>Bitte erzeugen Sie ein neues aus dem Projekt Bereich.
message.number.clusters=<h2><span> \# of </span> Cluster</h2>
message.number.hosts=<h2><span> \# of </span> Hosts</h2>
+message.number.pods=<h2><span>Anzahl der</span>Pods</h2>
message.number.storage=<h2><span> \# von </span> Hauptspeichervolumina</h2>
message.number.zones=<h2><span> \# of </span> Zonen</h2>
message.password.has.been.reset.to=Passwort wurde zur\u00fcckgesetzt auf
message.password.of.the.vm.has.been.reset.to=Passwort der VM wurde zur\u00fcckgesetzt auf
message.pending.projects.1=Sie haben ausstehende Projekteinladungen\:
+message.pending.projects.2=F\u00fcr die Ansicht wechseln Sie bitte in den Projekt Bereich und w\u00e4hlen die Einladungen aus dem Drop-down-Men\u00fc
+message.please.add.at.lease.one.traffic.range=Bitte f\u00fcgen Sie mindestens einen Datenverkehrsbereich hinzu.
+message.please.confirm.remove.ssh.key.pair=Bitte best\u00e4tigen Sie, dass Sie dieses SSH-Schl\u00fcsselpaar entfernen m\u00f6chten
+message.please.proceed=Bitte fahren Sie mit dem n\u00e4chsten Schritt fort.
message.please.select.a.configuration.for.your.zone=Bitte w\u00e4hlen Sie eine Konfiguration f\u00fcr Ihre Zone aus.
+message.please.select.a.different.public.and.management.network.before.removing=Bitte w\u00e4hlen Sie ein anderes \u00f6ffentliches und Management Netzwerk bevor Sie es l\u00f6schen
message.please.select.networks=Bitte w\u00e4hlen Sie Netzwerke f\u00fcr Ihre virtuelle Maschine aus.
+message.please.select.ssh.key.pair.use.with.this.vm=Bitte ein SSH Schl\u00fcsselpaar ausw\u00e4hlen, welches Sie mit dieser VM verwenden m\u00f6chten\:
+message.please.wait.while.zone.is.being.created=Bitte warten Sie solange Ihre Zone erstellt wird; dies kann einige Zeit in Anspruch nehmen...
+message.pod.dedication.released=Pod-Dedizierung freigegeben
+message.portable.ip.delete.confirm=Bitte best\u00e4tigen Sie, dass Sie ein portablen IP-Bereich l\u00f6schen m\u00f6chten
+message.project.invite.sent=Einladung an Benutzer verschickt; sie werden zum Projekt hinzugef\u00fcgt sobald sie Einladung akzeptiert haben
+message.question.are.you.sure.you.want.to.add=Sind Sie sicher, dass Sie hinzuf\u00fcgen m\u00f6chten
+message.read.admin.guide.scaling.up=Bitte lesen Sie den Abschnitt \u00fcber das dynamische Skalieren in dem Administrations-Leitfaden bevor Sie hochskalieren.
message.recover.vm=Bitte best\u00e4tigen Sie, dass Sie diese VM wiederherstellen m\u00f6chten.
message.redirecting.region=Weiterleitung zu Region...
+message.reinstall.vm=Hinweis\: Mit Vorsicht verwenden. Dies wird dazu f\u00fchren, dass die VM von der Vorlage neu installiert wird; Daten auf der Root-Ferstplatte werden dadruch gel\u00f6scht. Extra Daten-Volumen, falls vorhanden, bleiben jedoch unber\u00fchrt.
message.removed.ssh.key.pair=Hat ein SSH-Schl\u00fcsselpaar entfernt
+message.remove.ldap=Sind Sie sicher, dass Sie die LDAP-Konfiguration l\u00f6schen m\u00f6chten?
+message.remove.region=Sind Sie sicher, dass Sie diese Region vom Verwaltungsserver entfernen m\u00f6chten?
+message.remove.vpc=Bitte best\u00e4tigen Sie, dass Sie das VPC l\u00f6schen m\u00f6chten
message.remove.vpn.access=Bitte best\u00e4tigen Sie, dass Sie den VPN-Zugriff vom folgenden Benutzer entfernen m\u00f6chten.
+message.reset.password.warning.notPasswordEnabled=Das Template dieser Instanz wurde erstellt ohne dass ein Passwort erforderlich ist
+message.reset.password.warning.notStopped=Ihre Instanz muss gestoppt werden bevor Sie versuchen k\u00f6nnen das Passwort zu \u00e4ndern
message.reset.VPN.connection=Bitte best\u00e4tigen Sie, dass Sie die VPN-Verbindung zur\u00fccksetzen m\u00f6chten
+message.restart.mgmt.server=Bitte starten Sie Ihre(n) Management Server durch, damit Ihre neuen Einstellungen aktiviert werden.
+message.restart.mgmt.usage.server=Bitte starten Sie Ihre(n) Management- und Usage Server durch, damit Ihre neuen Einstellungen aktiviert werden.
+message.restart.network=Alle angebotenen Dienste in diesem Netzwerk werden unterbrochen. Bitte best\u00e4tigen Sie, dass Sie dieses Netzwerk neu starten m\u00f6chten.
message.restart.vpc=Bitte best\u00e4tigen Sie, dass Sie den VPC neu starten m\u00f6chten
+message.restart.vpc.remark=Bitte best\u00e4tigen Sie, dass Sie die VPC neu starten m\u00f6chten <p>small><i>Hinweis\: Ein nicht-redundante VPC redundant zu machen wird eine Bereinigung erzwingen. Die Netzwerke werden dadurch einige Minuten nicht verf\u00fcgbar sein</i>.</small></p>
message.restoreVM=M\u00f6chten Sie die VM wiederherstellen?
+message.security.group.usage=(Verwenden Sie <strong>Ctrl-click</strong> um alle passenden Sicherheits Gruppen auszuw\u00e4hlen)
+message.select.affinity.groups=Bitte w\u00e4hlen Sie beliebige Affinit\u00e4tsgruppen, zu denen diese VM geh\u00f6ren soll\:
+message.select.a.zone=Eine Zone steht typischerweise f\u00fcr ein einzelnes Rechenzentrum. Mehrere Zonen helfen dabei, die Cloud zuverl\u00e4ssiger zu machen durch physikalische Isolation und Redundanz.
message.select.instance=Bitte w\u00e4hlen Sie eine Instanz aus.
message.select.iso=Bitte w\u00e4hlen Sie ein ISO f\u00fcr Ihre neue virtuelle Instanz aus.
message.select.item=Bitte w\u00e4hlen Sie ein Element aus.
message.select.security.groups=Bitte w\u00e4hlen Sie (eine) Sicherheitsgruppe(n) f\u00fcr Ihre neue VM aus
message.select.template=Bitte w\u00e4hlen Sie eine Vorlage f\u00fcr Ihre neue virtuelle Instanz aus.
+message.select.tier=Bitte Ebene ausw\u00e4hlen
+message.set.default.NIC=Bitte best\u00e4tigen Sie, dass Sie f\u00fcr die VM diese NIC zur Standard-NIC m\u00f6chten.
+message.set.default.NIC.manual=Bitte aktuallisieren Sie die Standard-NIC auf der VM jetzt manuell.
+message.setup.physical.network.during.zone.creation.basic=Wenn Sie eine Basiszone hinzuf\u00fcgen, k\u00f6nnen Sie ein einzelnes physikalisches Netzwerk einrichten, welches einer NIC auf dem Hypervisor entspricht. Das Netzwerk behandelt mehrere Arten von Datenverkehr.<br/><br/>Sie k\u00f6nnen auch weitere Datenverkehrsarten zum pysikalische Netzwerk hinzuf\u00fcgen, durch <strong>Ziehen und Loslassen</strong>.
+message.setup.physical.network.during.zone.creation=Wenn Sie eine erweiterte Zone hinzuf\u00fcgen, m\u00fcssen Sie ein oder mehrere physikalische Netzweke einrichten. Jedes Netzwerk entspricht einer NIC auf dem Hypervisor. Jedes physikalische Netzwerk kann eine oder mehere Arten von Datenverkehr behandeln, mit gewissen Beschr\u00e4nkungen wie diese kombiniert werden k\u00f6nnen. <br/><br/><strong>Durch Ziehen und Loslassen eines oder mehreren Datenverkehrsarten auf jedes einzelne physikalische Netzwerk.
message.setup.successful=Cloud setup erfolgreich
+message.specifiy.tag.key.value=Bitte geben Sie einen Ettikettnamen und -wert an
message.specify.url=Bitte geben Sie eine URL an
message.step.1.continue=Bitte w\u00e4hlen Sie eine Vorlage oder ISO, um fortzufahren
+message.step.1.desc=Bitte w\u00e4hlen Sie eine Vorlage f\u00fcr Ihre neue virtuelle Instanz aus. Sie k\u00f6nnen auch ein leeres Template ausw\u00e4hlen, von welchen aus dann ein ISO-Abbild instaliert werden kann.
message.step.2.continue=Bitte w\u00e4hlen Sie ein Dienstangebot zum Fortfahren aus
-message.step.3.continue=Bitte w\u00e4hlen Sie ein Festplatten-Angebot, um fortzufahren
+message.step.3.continue=Bitte w\u00e4hlen Sie ein Festplattenangebot zum Fortfahren aus
message.step.4.continue=Bitte w\u00e4hlen Sie mindestens ein Netzwerk, um fortzufahren
message.step.4.desc=Bitte w\u00e4hlen Sie Ihr Hauptnetzwerk zu dem Ihre virtuelle Instanz verbunden sein wird.
+message.storage.traffic=Datenverkehr zwischen den CloudStack internen Ressourcen, inklusive aller Komponenten, die mit dem Verwaltugns-Server kommunizieren, wie Hosts und CloudStack System VMs. Bitte konfigurieren Sie Speicherdatenverkehr hier.
+message.suspend.project=Sind Sie sicher, dass sie die Ausf\u00fchrung dieses Projektes unterbrechen m\u00f6chten?
message.systems.vms.ready=System-VMs bereit.
message.template.copying=Vorlage wird kopiert.
+message.template.desc=Betriebssystem Abbild das zum starten von VMs verwendet werden kann
+message.tier.required=Ebene ist zwingend
+message.tooltip.dns.1=Name eines DNS Servers zur Verwendung von VMs in der Zone. Die \u00f6ffentlichen IP Adressen m\u00fcssen eine Route zu diesem Server haben.
+message.tooltip.dns.2=Ein zweiter Name eines DNS Servers zur Verwendung von VMs in der Zone. Die \u00f6ffentlichen IP Adressen m\u00fcssen eine Route zu diesem Server haben.
+message.tooltip.internal.dns.1=Ein Name eines DNS Servers zur Verwendung von CloudStack internen System VMs in der Zone. Die \u00f6ffentlichen IP Adressen m\u00fcssen eine Route zu diesem Server haben.
+message.tooltip.internal.dns.2=Ein Name eines DNS Servers zur Verwendung von CloudStack internen System VMs in der Zone. Die \u00f6ffentlichen IP Adressen m\u00fcssen eine Route zu diesem Server haben.
+message.tooltip.network.domain=Ein DNS Suffix zur Erstellung eines Kunden Domain Namens f\u00fcr das Netzwerk das von Gast VMs verwendet wird.
+message.tooltip.pod.name=Ein Name f\u00fcr diesen Pod.
+message.tooltip.reserved.system.gateway=Das Gateway f\u00fcr die Hosts des pods.
+message.tooltip.reserved.system.netmask=Das Netzwerk Prefix welches das Pod Subnetz definiert. Es verwendet CIDR Notation.
message.tooltip.zone.name=Einen Namen f\u00fcr die Zone.
+message.update.os.preference=Bitte geben Sie eine Betriebssystem-Pr\u00e4ferenz f\u00fcr diesen Host an, Alle virtuellen Instanzen mit gleichen Pr\u00e4ferenzen werden zuerst zu diesem Host zugewiesen bevor andere gew\u00e4hlt werden.
+message.update.resource.count=Bitte best\u00e4tigen Sie, dass Sie die Anzahl der Ressourcen f\u00fcr dieses Benutzerkonto aktualisieren m\u00f6chten.
message.update.ssl.failed=Fehler beim Aktualisieren des SSL-Zertifikats.
+message.update.ssl.succeeded=Aktualisierung der SSL Zertifikate erfolgreich durchgef\u00fchrt
message.validate.accept=Bitte geben Sie einen Wert mit einer g\u00fcltigen Erweiterung ein.
message.validate.creditcard=Bitte geben Sie eine g\u00fcltige Kreditkartennummer ein.
message.validate.date=Bitte geben Sie ein g\u00fcltiges Datum ein.
@@ -1521,36 +2090,50 @@
message.validate.equalto=Bitte geben Sie den gleichen Wert erneut ein.
message.validate.fieldrequired=Dieses Feld wird ben\u00f6tigt
message.validate.fixfield=Bitte korrigieren Sie dieses Feld.
+message.validate.instance.name=Der Name der Instanz kann nicht l\u00e4nger als 63 Zeichen sein. Nur ASCII Zeichen wie a~z, A~Z, Zahlen 0~9 und Bindestriche sind erlaubt. Er mu\u00df mit einem Buchstaben starten und mit einem Buchstaben oder einer Zahl enden.
message.validate.invalid.characters=Ung\u00fcltige Zeichen gefunden; bitte korrigieren.
+message.validate.max=Bitte geben sie einen Wert kleiner oder gleich {0} ein.
message.validate.maxlength=Bitte geben Sie nicht mehr als {0} Zeichen ein.
message.validate.minlength=Bitte geben Sie mindestens {0} Zeichen ein.
message.validate.number=Bitte geben Sie eine g\u00fcltige Nummer ein.
message.validate.range=Bitte geben Sie einen Wert zwischen {0} und {1} ein.
+message.validate.range.length=Bitte geben Sie einen Wert zwischen {0} und {1} Zeichen land ein.
message.validate.URL=Bitte geben Sie eine g\u00fcltige URL ein.
message.vm.create.template.confirm=Das Erstellen einer Vorlage f\u00fchrt automatisch zu einem Neustart der VM.
+message.vm.review.launch=Bitte \u00fcberpr\u00fcfen Sie die folgenden Informationen und best\u00e4tigen Sie, dass Ihre virtuelle Instanz korrekt ist, bevor Sie sie starten.
+message.vnmc.available.list=VNMC ist nicht verf\u00fcgbar aus der Providerliste.
+message.vnmc.not.available.list=VNMC ist nicht verf\u00fcgbar aus der Providerliste.
+message.volume.create.template.confirm=Bitte best\u00e4tigen Sie, dass Sie eine Vorlage aus diesem Festplatten-Volumen erstellen m\u00f6chten. Das Erstellen der Vorlage kann wenige Minuten oder auch l\u00e4nger dauern abh\u00e4ngig von der Gr\u00f6\u00dfe des Volumen.
message.you.must.have.at.least.one.physical.network=Sie m\u00fcssen mindestens ein physikalisches Netzwerk haben
message.your.cloudstack.is.ready=Ihr CloudStack ist bereit\!
+message.zone.creation.complete.would.you.like.to.enable.this.zone=Die Erstellung der Zone ist komplett. M\u00f6chten Sie diese Zone aktivieren?
message.Zone.creation.complete=Zonenerstellung abgeschlossen
+message.zone.no.network.selection=Die von Ihnen gew\u00e4hlte Zone bietet keine Alternativen f\u00fcr die Auswahl eines Netzwerks.
message.zone.step.1.desc=Bitte w\u00e4hlen Sie ein Netzwerk-Modell f\u00fcr Ihre Zone.
message.zone.step.2.desc=Bitte geben Sie die folgende Information ein, um eine neue Zone hinzuzuf\u00fcgen
message.zone.step.3.desc=Bitte geben Sie die folgende Information ein, um einen neuen pod hinzuzuf\u00fcgen
+messgae.validate.min=Bitte geben sie einen Wert gr\u00f6\u00dfer oder gleich {0} ein.
mode=Modus
network.rate=Netzwerk-Rate
notification.reboot.instance=Instanz neu starten
notification.start.instance=Instanz starten
notification.stop.instance=Instanz stoppen
side.by.side=Nebeneinander
+state.Accepted=Angenommen
state.Active=Aktiv
state.Allocated=Zugeteilt
+state.Allocating=Zugeteilt
state.BackedUp=Daten gesichert
state.BackingUp=Daten werden gesichert
state.Completed=Fertiggestellt
state.Creating=Erstellung
state.Declined=Abgelehnt
state.Destroyed=Zerst\u00f6rt
+state.detached=Losgel\u00f6st
state.Disabled=Deaktiviert
state.Enabled=Aktiviert
state.Error=Fehler
+state.Expunging=Unwiederbringlich gel\u00f6scht
state.Migrating=Migration
state.Pending=Ausstehend
state.Ready=Bereit
@@ -1558,5 +2141,7 @@
state.Starting=Startet
state.Stopped=Gestoppt
state.Stopping=Stoppt
+state.Suspended=Suspendiert
title.upload.volume=Volumen hochladen
ui.listView.filters.all=Alle
+ui.listView.filters.mine=Meine
diff --git a/client/WEB-INF/classes/resources/messages_es.properties b/client/WEB-INF/classes/resources/messages_es.properties
index 7aa149f..a0cf0e1 100644
--- a/client/WEB-INF/classes/resources/messages_es.properties
+++ b/client/WEB-INF/classes/resources/messages_es.properties
@@ -241,6 +241,7 @@
label.adding.zone=Agregar la zona
label.add.ip.range=A\u00c3\u00b1adir Rango de IP
label.additional.networks=Redes adicional
+label.add.ldap.account=Agregar cuenta LDAP
label.add.load.balancer=A\u00c3\u00b1adir equilibrador de carga
label.add.more=A\u00c3\u00b1adir m\u00c3\u00a1s
label.add.netScaler.device=Agregar dispositivo Netscaler
@@ -490,6 +491,8 @@
label.info=Informaci\u00c3\u00b3n
label.ingress.rule=ingreso Regla
label.initiated.by=Iniciado por
+label.installWizard.addPodIntro.subtitle=\u00bfQu\u00e9 es un Pod?
+label.installWizard.addPodIntro.title=Agreguemos un Pod
label.installWizard.addSecondaryStorageIntro.subtitle=Que es almacenamiento secundario?
label.installWizard.addSecondaryStorageIntro.title=A\u00f1adir almacenamiento secundario
label.installWizard.addZone.title=Agregar zona
@@ -523,6 +526,7 @@
label.is.default=Es por defecto
label.iso.boot=ISO de arranque
label.iso=ISO
+label.isolated.networks=Redes Aisladas
label.isolation.method=M\u00e9todo de aislamiento
label.isolation.mode=modo de aislamiento
label.is.redundant.router=redundante
@@ -534,8 +538,16 @@
label.key=Llave
label.label=Etiqueta
label.lang.chinese=Chino (simplificado)
+label.lang.dutch=Holand\u00e9s
label.lang.english=Ingl\u00c3\u00a9s
+label.lang.french=Franc\u00e9s
+label.lang.german=Alem\u00e1n
+label.lang.italian=Italiano
label.lang.japanese=japon\u00c3\u00a9s
+label.lang.korean=Coreano
+label.lang.norwegian=Noruego
+label.lang.polish=Polaco
+label.lang.russian=Ruso
label.lang.spanish=Espa\u00c3\u00b1ol
label.last.disconnected=\u00c3\u009altima Desconectado
label.last.name=Apellido
@@ -545,6 +557,7 @@
label.lb.algorithm.roundrobin=Round-robin
label.lb.algorithm.source=Fuente
label.ldap.configuration=Configuraci\u00f3n de LADP
+label.ldap.link.type=Tipo
label.ldap.port=Puerto de LDAP
label.level=Nivel
label.load.balancer=equilibrador de carga
@@ -694,6 +707,7 @@
label.PING.dir=PING Directorio
label.PING.storage.IP=PING almacenamiento IP
label.please.wait=Por favor espere
+label.pod.name=Nombre del Pod
label.pod=Pod
label.pods=Pod
label.port.forwarding.policies=Pol\u00edticas de Port forwarding
@@ -1078,7 +1092,6 @@
message.disable.vpn=Esta seguro que usted quiere deshabilitar la VPN?
message.download.volume=Por favor, haga clic <a href\="\#">00000</a> para bajar el volumen
message.edit.account=Editar ("-1" indica que no hay limite a la cantidad de recursos creados)
-message.edit.confirm=Por favor confirmar los cambios antes de hacer clic en "Guardar"
message.edit.limits=Por favor, especifique los l\u00c3\u00admites de los recursos siguientes. A "-1" indica que no hay l\u00c3\u00admite a la cantidad de los recursos de crear.
message.enable.account=Por favor, confirme que desea habilitar esta cuenta.
message.enabled.vpn.ip.sec=La clave pre-compartida IPSec es
diff --git a/client/WEB-INF/classes/resources/messages_fr_FR.properties b/client/WEB-INF/classes/resources/messages_fr_FR.properties
index 3bb751b..560c55b 100644
--- a/client/WEB-INF/classes/resources/messages_fr_FR.properties
+++ b/client/WEB-INF/classes/resources/messages_fr_FR.properties
@@ -57,6 +57,7 @@
label.account.name=Nom de compte
label.accounts=Comptes
label.account.specific=Sp\u00e9cifique au compte
+label.account.type=Type Compte
label.acl=ACL
label.acl.id=ID ACL
label.acl.list.rules=Liste r\u00e8gles ACL
@@ -528,7 +529,7 @@
label.cross.zones=Multi Zones
label.custom.disk.iops=IOPS personnalis\u00e9
label.custom.disk.offering=Offre de disque personnalis\u00e9e
-label.custom.disk.size=Taille de disque personnalis\u00e9e
+label.custom.disk.size=Personalisable
label.custom=Personnalis\u00e9
label.daily=Quotidien
label.data.disk.offering=Offre de disque de donn\u00e9es
@@ -622,8 +623,8 @@
label.disk.provisioningtype=Type de provisionnement
label.disk.read.bytes=Lecture Disque (Octets)
label.disk.read.io=Lecture Disque (IO)
-label.disk.size.gb=Taille du disque (en Go)
-label.disk.size=Taille du disque
+label.disk.size=Capacit\u00e9 disque
+label.disk.size.gb=Capacit\u00e9 disque (Go)
label.disk.total=Espace disque total
label.disk.volume=Volume disque
label.disk.write.bytes=\u00c9criture Disque (Octets)
@@ -915,8 +916,10 @@
label.LB.isolation=R\u00e9partition de charge isol\u00e9e
label.ldap.configuration=Configuration LDAP
label.ldap.group.name=Groupe LDAP
+label.ldap.link.type=Type
label.ldap.port=Port LDAP
label.level=Niveau
+label.link.domain.to.ldap=Lien Domaine vers LDAP
label.linklocal.ip=Adresse IP lien local
label.load.balancer=R\u00e9partiteur de charge
label.load.balancer.type=Type R\u00e9partiteur de charge
@@ -1125,7 +1128,6 @@
label.ovm3.cluster=Cluster natif
label.ovm3.pool=Pool natif
label.ovm3.vip=IP Ma\u00eetre Vip
-label.ovm3.traffic.label=Libell\u00e9 trafic OVM3
label.ovm.traffic.label=Libell\u00e9 trafic OVM
label.ovs=OVS
label.owned.public.ips=Adresses IP Publiques d\u00e9tenues
@@ -1305,7 +1307,7 @@
label.root.certificate=Certificat racine
label.root.disk.controller=Contr\u00f4leur de disque racine
label.root.disk.offering=Offre de disque racine
-label.root.disk.size=Taille disque racine
+label.root.disk.size=Capacit\u00e9 disque principal
label.router.vm.scaled.up=VM Routeur agrandi
label.routing.host=H\u00f4te de routage
label.routing=Routage
@@ -1383,7 +1385,7 @@
label.shutdown.provider=\u00c9teindre ce fournisseur
label.simplified.chinese.keyboard=Clavier chinois simplifi\u00e9
label.site.to.site.VPN=VPN Site-\u00e0-Site
-label.size=Taille
+label.size=Capacit\u00e9
label.skip.guide=J\\'ai d\u00e9j\u00e0 utilis\u00e9 CloudStack avant, passer ce tutoriel
label.smb.domain=Domaine SMB
label.smb.password=Mot de passe SMB
@@ -1449,7 +1451,7 @@
label.sticky.postonly=Apr\u00e8s seulement
label.sticky.prefix=Pr\u00e9fixe
label.sticky.request-learn=Apprendre la requ\u00eate
-label.sticky.tablesize=Taille du tableau
+label.sticky.tablesize=Dimension tableau
label.stop=Arr\u00eater
label.stop.lb.vm=Arr\u00eater LB VM
label.stopped.vms=VMs arr\u00eat\u00e9es
@@ -1811,6 +1813,8 @@
message.cluster.dedicated=Cluster d\u00e9di\u00e9e
message.cluster.dedication.released=Lib\u00e9ration de cluster d\u00e9di\u00e9
message.configure.all.traffic.types=Vous avez de multiples r\u00e9seaux physiques ; veuillez configurer les libell\u00e9s pour chaque type de trafic en cliquant sur le bouton Modifier.
+message.configure.firewall.rules.allow.traffic=Configurer les r\u00e8gles autorisant le trafic
+message.configure.firewall.rules.block.traffic=Configurer les r\u00e8gles bloquant le trafic
message.configure.ldap=Confirmer la configuration LDAP
message.configuring.guest.traffic=Configuration du r\u00e9seau VM
message.configuring.physical.networks=Configuration des r\u00e9seaux physiques
@@ -1933,7 +1937,7 @@
message.download.volume=Cliquer sur <a href\="\#">00000</a> pour t\u00e9l\u00e9charger le volume
message.download.volume.confirm=Veuillez confirmer que vous voulez t\u00e9l\u00e9charger ce volume.
message.edit.account=Modifier ("-1" signifie pas de limite de ressources)
-message.edit.confirm=Confirmer les changements avant de cliquer sur "Enregistrer".
+message.edit.confirm=V\u00e9rifier vos changements avant de cliquer sur "Enregistrer".
message.edit.limits=Renseignez les limites pour les ressources suivantes. "-1" indique qu\\'il n\\'y a pas de limites pour la cr\u00e9ation de ressources.
message.edit.traffic.type=Sp\u00e9cifier le libell\u00e9 de trafic associ\u00e9 avec ce type de trafic.
message.enable.account=Activer ce compte ?
@@ -1997,6 +2001,7 @@
message.join.project=Vous avez rejoint un projet. S\u00e9lectionnez la vue Projet pour le voir.
message.launch.vm.on.private.network=Souhaitez vous d\u00e9marrer cette instance sur votre propre r\u00e9seau priv\u00e9 ?
message.launch.zone=La zone est pr\u00eate \u00e0 d\u00e9marrer ; passer \u00e0 l\\'\u00e9tape suivante.
+message.link.domain.to.ldap=Activer autosync pour ce domaine dans le LDAP
message.listView.subselect.multi=(Ctrl/Cmd-clic)
message.lock.account=Verrouiller ce compte ? En le verrouillant, les utilisateurs de ce compte ne seront plus capables de g\u00e9rer leurs ressources. Les ressources existantes resteront toutefois accessibles.
message.migrate.instance.confirm=Confirmez l\\'h\u00f4te vers lequel vous souhaitez migrer cette instance
diff --git a/client/WEB-INF/classes/resources/messages_hu.properties b/client/WEB-INF/classes/resources/messages_hu.properties
index ec41c45..468551c 100644
--- a/client/WEB-INF/classes/resources/messages_hu.properties
+++ b/client/WEB-INF/classes/resources/messages_hu.properties
@@ -50,12 +50,14 @@
label.about=N\u00e9vjegy
label.accept.project.invitation=Project-megh\u00edv\u00f3 elfogad\u00e1sa
label.account.and.security.group=Sz\u00e1mla, biztons\u00e1gi csoport
+label.account.details=Sz\u00e1mla r\u00e9szletei
label.account.id=Sz\u00e1mla azonos\u00edt\u00f3
label.account.lower=sz\u00e1mla
label.account.name=Sz\u00e1mla n\u00e9v
label.account.specific=Sz\u00e1mla-specifikus
label.accounts=Sz\u00e1ml\u00e1k
label.account=Sz\u00e1mla
+label.account.type=Sz\u00e1mla t\u00edpus
label.acl=ACL
label.acl.id=ACL ID
label.acl.name=ACL n\u00e9v
@@ -404,6 +406,7 @@
label.author.email=Szerz\u0151 e-mail
label.author.name=Szerz\u0151 n\u00e9v
label.autoscale=AutoScale
+label.autoscale.configuration.wizard=AutoScale konfigur\u00e1ci\u00f3 var\u00e1zsl\u00f3
label.availability=El\u00e9rhet\u0151s\u00e9g
label.availability.zone=El\u00e9rhet\u0151s\u00e9gi z\u00f3na
label.availabilityZone=El\u00e9rhet\u0151s\u00e9gi z\u00f3na
@@ -525,7 +528,7 @@
label.custom.disk.size=Egyedi merevlemez m\u00e9ret
label.custom=Egyedi
label.daily=Napi
-label.data.disk.offering=Data Disk Offering
+label.data.disk.offering=Adat merevlemez aj\u00e1nlat
label.date=D\u00e1tum
label.day=Nap
label.day.of.month=H\u00f3nap napja
@@ -610,6 +613,7 @@
label.disk.iops.read.rate=Olvas\u00e1si r\u00e1ta (IOPS)
label.disk.iops.total=IOPS \u00f6sszesen
label.disk.iops.write.rate=\u00cdr\u00e1si r\u00e1ta (IOPS)
+label.disk.offering.details=Merevlemez aj\u00e1nlat r\u00e9szletei
label.disk.offering=Merevlemez aj\u00e1nlat
label.disk.provisioningtype=L\u00e9trehoz\u00e1s t\u00edpusa
label.disk.read.bytes=Merevlemez olvas\u00e1s (Byte)
@@ -761,6 +765,7 @@
label.health.check.configurations.options=Beall\u00edt\u00e1sok\:
label.health.check=Ellen\u0151rz\u00e9s
label.health.check.interval.in.sec=Ellen\u0151rz\u00e9s id\u0151k\u00f6z (mp)
+label.health.check.message.desc=A terhel\u00e9seloszt\u00f3d aut\u00f3matikusan fog elen\u0151rz\u00e9seket v\u00e9grehajtani a cloudstack p\u00e9ld\u00e1nyokon \u00e9s a forgalmat a m\u0171k\u00f6d\u0151 p\u00e9ld\u00e1nyokhoz \u00edr\u00e1ny\u00edtja
label.healthy.threshold=Eg\u00e9szs\u00e9ges k\u00fcsz\u00f6b
label.help=Seg\u00edts\u00e9g
label.hide.ingress.rule=Ingress szab\u00e1ly rejt\u00e9se
@@ -771,6 +776,7 @@
label.host.MAC=Kiszolg\u00e1l\u00f3 MAC
label.host.name=Kiszolg\u00e1l\u00f3 n\u00e9v
label.hosts=Kiszolg\u00e1l\u00f3k
+label.host.tag=Kiszolg\u00e1l\u00f3 c\u00edmke
label.host.tags=Kiszolg\u00e1l\u00f3 c\u00edmk\u00e9k
label.hourly=\u00d3r\u00e1nk\u00e9nt
label.hvm=HVM
@@ -818,6 +824,7 @@
label.intermediate.certificate=K\u00f6zb\u00fcls\u0151 tan\u00fas\u00edtv\u00e1ny {0}
label.internal.dns.1=1. bels\u0151 DNS
label.internal.dns.2=2. bels\u0151 DNS
+label.internal.lb=Bels\u0151 LB
label.internal.lb.details=Bels\u0151 LB r\u00e9szletek
label.internallbvm=InternalLbVm
label.internal.name=Bels\u0151 n\u00e9v
@@ -866,6 +873,7 @@
label.is.system=Rendszer
label.item.listing=Lista
label.japanese.keyboard=Jap\u00e1n billenty\u0171zet
+label.keep.colon=Megtart\:
label.keep=Megtart\u00e1s
label.keyboard.language=Billenty\u0171zet kioszt\u00e1s
label.keyboard.type=Billenty\u0171zet t\u00edpus
@@ -901,6 +909,7 @@
label.LB.isolation=Terhel\u00e9seloszt\u00f3 izol\u00e1ci\u00f3
label.ldap.configuration=LDAP konfigur\u00e1ci\u00f3
label.ldap.group.name=LDAP csoport
+label.ldap.link.type=T\u00edpus
label.ldap.port=LDAP port
label.level=Szint
label.linklocal.ip=Link Local IP Address
@@ -1031,6 +1040,7 @@
label.network.addVM=H\u00e1l\u00f3zat felv\u00e9tele a VM-hez
label.network.cidr=H\u00e1l\u00f3zat CIDR
label.network.desc=H\u00e1l\u00f3zat le\u00edr\u00e1s
+label.network.details=H\u00e1l\u00f3zat r\u00e9szletei
label.network.device=H\u00e1l\u00f3zati eszk\u00f6z
label.network.device.type=H\u00e1l\u00f3zati eszk\u00f6z t\u00edpus
label.network.domain=Network Domain
@@ -1041,6 +1051,7 @@
label.network.label.display.for.blank.value=Alap\u00e9rtelmezett \u00e1tj\u00e1r\u00f3 haszn\u00e1lata
label.network.limits=H\u00e1l\u00f3zat korl\u00e1tok
label.network.name=H\u00e1l\u00f3zat n\u00e9v
+label.network.offering.details=H\u00e1l\u00f3zat aj\u00e1nlat r\u00e9szletei
label.network.offering.display.text=H\u00e1l\u00f3zat aj\u00e1nlat megjelen\u00edtend\u0151 sz\u00f6veg
label.network.offering=H\u00e1l\u00f3zat aj\u00e1nlat
label.network.offering.id=H\u00e1l\u00f3zat aj\u00e1nlat ID
@@ -1092,6 +1103,7 @@
label.numretries=\u00dajrapr\u00f3b\u00e1lkoz\u00e1sok sz\u00e1ma
label.ocfs2=OCFS2
label.offer.ha=Offer HA
+label.of.month=h\u00f3nap
label.ok=Rendben
label.opendaylight.controllerdetail=OpenDaylight vez\u00e9rl\u0151 r\u00e9szletek
label.opendaylight.controller=OpenDaylight vez\u00e9rl\u0151
@@ -1133,6 +1145,7 @@
label.ping.path=Ping \u00fatvonal
label.PING.storage.IP=PING t\u00e1r IP
label.planner.mode=Tervez\u0151 m\u00f3d
+label.please.complete.the.following.fields=K\u00e9rlek t\u00f6ltsd ki ki a k\u00f6vetkez\u0151 mez\u0151ket
label.please.specify.netscaler.info=Please specify Netscaler info
label.please.wait=K\u00e9rlek v\u00e1rj\!
label.plugin.details=Plugin r\u00e9szletek
@@ -1185,6 +1198,7 @@
label.public.ip=Publikus IP c\u00edm
label.public.ips=Publikus IP c\u00edmek
label.public.key=Publikus kulcs
+label.public.lb=Publikus LB
label.public.load.balancer.provider=Publikus terhel\u00e9seloszt\u00f3 szolg\u00e1ltat\u00f3
label.public.network=Publikus h\u00e1l\u00f3zat
label.public.port=Publikus port
@@ -1305,7 +1319,9 @@
label.save.changes=V\u00e1ltoz\u00e1sok ment\u00e9se
label.save=Ment\u00e9s
label.saving.processing=Ment\u00e9s...
+label.scaledown.policy=ScaleDown szab\u00e1lyzat
label.scale.up.policy=SCALE UP POLICY
+label.scaleup.policy=ScaleUp szab\u00e1lyzat
label.scope=Hat\u00e1ly
label.search=Keres\u00e9s
label.secondary.ips=M\u00e1sodlagos IP c\u00edmek
@@ -1339,6 +1355,7 @@
label.sent=Elk\u00fcld\u00f6tt
label.server=Szerver
label.service.capabilities=Szolg\u00e1ltat\u00e1s k\u00e9pess\u00e9gek
+label.service.offering.details=Szolg\u00e1ltat\u00e1s aj\u00e1nlat r\u00e9szletei
label.service.offering=Szolg\u00e1ltat\u00e1s aj\u00e1nlat
label.services=Szolg\u00e1ltat\u00e1sok
label.service.state=Szolg\u00e1ltat\u00e1s \u00e1llapot
@@ -1394,6 +1411,7 @@
label.static.nat=Statikus NAT
label.static.nat.to=Statikus NAT c\u00e9lpont
label.static.nat.vm.details=Static NAT VM Details
+label.static.routes=Statikus \u00fatvonalak
label.statistics=Statisztika
label.status=\u00c1llapot
label.step.1=1. l\u00e9p\u00e9s
@@ -1443,6 +1461,7 @@
label.system.capacity=Rendszer kapac\u00edt\u00e1s
label.system.offering.for.router=Rendszer aj\u00e1nlat router-re
label.system.offering=Rendszer aj\u00e1nlat
+label.system.service.offering.details=Rendszer szolg\u00e1ltat\u00e1s aj\u00e1nlat r\u00e9szletei
label.system.service.offering=Rendszer szolg\u00e1ltat\u00e1s aj\u00e1nlat
label.system.vm.details=Rendszer VM r\u00e9szletek
label.system.vm=Rendszer VM
@@ -1516,6 +1535,7 @@
label.usage.server=Usage Server
label.used=Haszn\u00e1lt
label.user.data=Felhaszn\u00e1l\u00f3i adat
+label.user.details=Felhaszn\u00e1l\u00f3 adatai
label.user=Felhaszn\u00e1l\u00f3
label.username=Felhaszn\u00e1l\u00f3n\u00e9v
label.username.lower=felhaszn\u00e1l\u00f3n\u00e9v
@@ -1779,6 +1799,8 @@
message.cluster.dedicated=F\u00fcrt dedik\u00e1lva
message.cluster.dedication.released=F\u00fcrt dedik\u00e1l\u00e1s elengedve
message.configure.all.traffic.types=T\u00f6bb fizikai h\u00e1l\u00f3zatod van. Kattints a \\'Szerkeszt\u00e9s\\' gombra \u00e9s \u00e1ll\u00edts be c\u00edmk\u00e9ket minden egyes forgalom t\u00edpushoz\!
+message.configure.firewall.rules.allow.traffic=Hat\u00e1rozz meg szab\u00e1lyokat forgalom enged\u00e9lyez\u00e9s\u00e9hez
+message.configure.firewall.rules.block.traffic=Hat\u00e1rozz meg szab\u00e1lyokat forgalom sz\u0171r\u00e9s\u00e9hez
message.configure.ldap=Er\u0151s\u00edtsd meg, hogy szeretn\u00e9l LDAP-t konfigur\u00e1lni\!
message.configuring.guest.traffic=Vend\u00e9g forgalom konfigur\u00e1l\u00e1sa
message.configuring.physical.networks=Fizikai h\u00e1l\u00f3zatok konfigur\u00e1l\u00e1sa
@@ -1847,9 +1869,9 @@
message.confirm.stop.lb.vm=Er\u0151s\u00edtsd meg, hogy le akarod \u00e1ll\u00edtani az LB VM-et\!
message.confirm.upgrade.router.newer.template=Er\u0151s\u00edtsd meg, hogy a routert \u00faj sablonnal akarod friss\u00edteni\!
message.confirm.upgrade.routers.account.newtemplate=Er\u0151s\u00edtsd meg, hogy minden a sz\u00e1mla minden router\u00e9t friss\u00edteni akarod az \u00faj sablonnal\!
-message.confirm.upgrade.routers.cluster.newtemplate=Please confirm that you want to upgrade all routers in this cluster to use newer template
+message.confirm.upgrade.routers.cluster.newtemplate=Er\u0151s\u00edtsd meg, hogy minden a f\u00fcrt minden router\u00e9t friss\u00edteni akarod az \u00faj sablonnal\!
message.confirm.upgrade.routers.newtemplate=Er\u0151s\u00edtsd meg, hogy a z\u00f3na minden router\u00e9t friss\u00edteni akarod \u00faj sablonnal\!
-message.confirm.upgrade.routers.pod.newtemplate=Please confirm that you want to upgrade all routers in this pod to use newer template
+message.confirm.upgrade.routers.pod.newtemplate=Er\u0151s\u00edtsd meg, hogy a pod minden router\u00e9t friss\u00edteni akarod \u00faj sablonnal\!
message.copy.iso.confirm=Er\u0151s\u00edtsd meg, hogy az ISO-t m\u00e1solni akarod\:
message.copy.template=A <b id\="copy_template_name_text">XXX</b> sablon m\u00e1sol\u00e1sa a <b id\="copy_template_source_zone_text"></b> z\u00f3n\u00e1b\u00f3l a
message.copy.template.confirm=Biztos vagy benne, hogy le akarod m\u00e1solni a sablont?
@@ -1900,7 +1922,7 @@
message.download.volume=A k\u00f6tet let\u00f6lt\u00e9s\u00e9hez kattints href\="\#">00000</a>
message.download.volume.confirm=Er\u0151s\u00edtsd meg, hogy le akarod t\u00f6lteni ezt a k\u00f6tetet\!
message.edit.account=Szerkeszt\u00e9s ("-1" jelzi az er\u0151forr\u00e1s haszn\u00e1lat\u00e1nak korl\u00e1tlans\u00e1g\u00e1t)
-message.edit.confirm=Er\u0151s\u00edtsd meg a v\u00e1ltoztat\u00e1sokat miel\u00f6tt a ment\u00e9sre kattintassz\!
+message.edit.confirm=K\u00e9rlek er\u0151s\u00edtsd meg a v\u00e1ltoztat\u00e1sokat miel\u00f6tt elmented\!
message.edit.limits=Hat\u00e1rozz meg korl\u00e1tokat a k\u00f6vetkez\u0151 er\u0151forr\u00e1sokhoz\! A "-1" jelzi a korl\u00e1tlanan felhaszn\u00e1l\u00e1st.
message.edit.traffic.type=Please specify the traffic label you want associated with this traffic type.
message.enable.account=Er\u0151s\u00edtsd meg, hogy be akarod kapcsolni ezt a sz\u00e1ml\u00e1t\!
@@ -1996,6 +2018,7 @@
message.please.select.a.configuration.for.your.zone=V\u00e1lassz konfigur\u00e1ci\u00f3t a z\u00f3n\u00e1dnak\!
message.please.select.a.different.public.and.management.network.before.removing=Please select a different public and management network before removing
message.please.select.networks=V\u00e1lassz h\u00e1l\u00f3zatokat a virtu\u00e1lis g\u00e9pedhez\!
+message.please.select.ssh.key.pair.use.with.this.vm=V\u00e1lassz ki egy SSH kulcsp\u00e1rt, amelyet ezzel a VM-mel haszn\u00e1lni szeretn\u00e9l\!
message.please.wait.while.zone.is.being.created=K\u00e9rlek v\u00e1rj, am\u00edg a z\u00f3n\u00e1d l\u00e9trej\u00f6n. Ez eltarthat egy ideig...
message.pod.dedication.released=Pod dedik\u00e1ci\u00f3 elengedve
message.portable.ip.delete.confirm=Er\u0151s\u00edtsd meg, hogy t\u00f6r\u00f6lni akarod a hordozhat\u00f3 IP tartom\u00e1nyt\!
@@ -2006,6 +2029,7 @@
message.recover.vm=Er\u0151s\u00edtsd meg, hogy helyre akarod \u00e1ll\u00edtani a VM-et.
message.redirecting.region=\u00c1tir\u00e1ny\u00edt\u00e1s r\u00e9gi\u00f3ba...
message.reinstall.vm=Figyelmeztet\u00e9s\: \u00d3vatosan\! Ha folytatod, a VM \u00fajra lesz telep\u00edtve a sablon alapj\u00e1n, a f\u0151 lemez\u00e9n tal\u00e1lhat\u00f3 adat elveszik. Amennyiben vannak tov\u00e1bbi merevlemezek, azok \u00e9rintetlenek maradnak.
+message.removed.ssh.key.pair=SSH kulcsp\u00e1r elt\u00e1vol\u00edtva
message.remove.ldap=Biztosan t\u00f6r\u00f6lni akarod az LDAP konfigur\u00e1ci\u00f3t?
message.remove.region=Biztosan t\u00f6r\u00f6lni akarod ezt a r\u00e9gi\u00f3t err\u0151l a vez\u00e9rl\u0151 szerverr\u0151l?
message.remove.vpc=Er\u0151s\u00edtsd meg, hoy el akarod t\u00e1vol\u00edtani ezt a VPC-t\!
@@ -2050,7 +2074,7 @@
message.tooltip.dns.1=Name of a DNS server for use by VMs in the zone. The public IP addresses for the zone must have a route to this server.
message.tooltip.dns.2=A second DNS server name for use by VMs in the zone. The public IP addresses for the zone must have a route to this server.
message.tooltip.internal.dns.1=Name of a DNS server for use by CloudStack internal system VMs in the zone. The private IP address for the pods must have a route to this server.
-message.tooltip.internal.dns.2=Name of a DNS server for use by CloudStack internal system VMs in the zone. The private IP address for the pods must have a route to this server.
+message.tooltip.internal.dns.2=Egy DNS szerver neve, a z\u00f3na bels\u0151 rendszer VM-einek kiszolg\u00e1l\u00e1s\u00e1ra. A pod-ok priv\u00e1t IP c\u00edmeinek sz\u00fcks\u00e9ge van egy \u00fatvonalhoz ehhez a c\u00edmhez.
message.tooltip.network.domain=A DNS suffix that will create a custom domain name for the network that is accessed by guest VMs.
message.tooltip.pod.name=N\u00e9v a pod-nak
message.tooltip.reserved.system.gateway=Az \u00e1tj\u00e1r\u00f3 a pod kiszolg\u00e1l\u00f3i sz\u00e1m\u00e1ra
diff --git a/client/WEB-INF/classes/resources/messages_it_IT.properties b/client/WEB-INF/classes/resources/messages_it_IT.properties
index 7100c63..fd41964 100644
--- a/client/WEB-INF/classes/resources/messages_it_IT.properties
+++ b/client/WEB-INF/classes/resources/messages_it_IT.properties
@@ -18,6 +18,7 @@
changed.item.properties=Elementi delle propriet\u00e0 modificati
confirm.enable.s3=Si prega di inserire i valori richiesti per abilitare il supporto per il Secondary Storage di tipo S3
confirm.enable.swift=Si prega di inserire i valori richiesti per abilitare il supporto per Swift
+error.could.not.change.your.password.because.ldap.is.enabled=Errore non \u00e8 possibile cambiare la tua password perch\u00e8 LDAP \u00e8 abilitato.
error.could.not.enable.zone=Impossibile abilitare la zona
error.installWizard.message=E\\' stato rilevato un errore\: tornare agli step precedenti e correggere gli errori
error.invalid.username.password=Username o Password non valida
@@ -31,12 +32,18 @@
error.unable.to.reach.management.server=Impossibile raggiungere il Management Server
error.unresolved.internet.name=Il tuo nome internet non pu\u00f2 essere risolto.
force.delete.domain.warning=Attenzione\: La scelta di questa opzione provocher\u00e0 la rimozione di tutti i sotto domini e agli account associati e alle loro risorse.
+force.delete=Forza la Cancellazione
+force.remove=Forza la Rimozione
force.remove.host.warning=Attenzione\: La scelta di questa opzione provocher\u00e0 l\\'arresto forzato di tutte le virtual machine da parte di CloudStack prima di rimuovere questo host dal cluster.
+force.stop=Forza l\\'Arresto
force.stop.instance.warning=Attenzione\: Forzare un arresto su questa instanza dovrebbe essere l\\'ultima opzione. C\\'\u00e8 il rischio di perdita di dati e di un comportamento inconsistente dello stato della virtual machine.
ICMP.code=Codice ICMP
ICMP.type=Tipo ICMP
image.directory=Directory Immagine
+inline=Inline
instances.actions.reboot.label=Riavviare una instanza
+label.about=About
+label.about.app=About CloudStack
label.accept.project.invitation=Accettare un invito ad un progetto
label.account=Account
label.account.and.security.group=Account, Security group
@@ -45,6 +52,7 @@
label.account.specific=Specifico dell\\'Account
label.accounts=Utenti
label.acquire.new.ip=Acquisizione nuovo indirizzo IP
+label.acquire.new.secondary.ip=Acquisizione nuovo IP secondario
label.action.attach.disk=Collegamento di un Disco
label.action.attach.disk.processing=Collegamento Disco in corso...
label.action.attach.iso=Collegamento di una immagine ISO
@@ -55,7 +63,9 @@
label.action.change.service=Modificare Servizio
label.action.change.service.processing=Modifica del Servizio in corso...
label.action.copy.ISO=Copia della immagine ISO
+label.action.copy.ISO.processing=Copia immagine ISO in corso...
label.action.copy.template=Copia di un Template
+label.action.copy.template.processing=Copia di un Template in corso...
label.action.create.template=Creazione Template
label.action.create.template.from.vm=Creazione Template da una VM
label.action.create.template.from.volume=Creazione Template da un Volume
@@ -74,6 +84,8 @@
label.action.delete.domain.processing=Cancellazione Dominio in corso....
label.action.delete.firewall=Cancellazione regola firewall
label.action.delete.firewall.processing=Cancellazione Firewall in corso....
+label.action.delete.ingress.rule=Cancella Regola in Ingresso
+label.action.delete.ingress.rule.processing=Cancellazione della Regola in Ingresso in corso...
label.action.delete.IP.range=Cancellazione intervallo indirizzi IP
label.action.delete.IP.range.processing=Cancellazione intervallo indirizzi IP in corso....
label.action.delete.ISO=Cancellazione immagine ISO
@@ -83,6 +95,7 @@
label.action.delete.network=Cancellazione Rete
label.action.delete.network.processing=Cancellazione Rete in corso....
label.action.delete.nexusVswitch=Cancellare Nexus 1000v
+label.action.delete.nic=Rimuovi NIC
label.action.delete.physical.network=Cancellazione di una rete fisica
label.action.delete.pod=Cancellazione Pod
label.action.delete.pod.processing=Cancellazione Pod in corso....
@@ -164,6 +177,9 @@
label.action.enable.user.processing=Abilitazione Utente in corso....
label.action.enable.zone=Abilitazione Zona
label.action.enable.zone.processing=Abilitazione Zona in corso....
+label.action.expunge.instance=Cancellare l\\'Istanza
+label.action.expunge.instance.processing=Cancellazione dell\\'Istanza in corso...
+label.action.force.reconnect=Forza la Riconnessione
label.action.force.reconnect.processing=Riconnessione in corso....
label.action.generate.keys=Generazione Chiavi
label.action.generate.keys.processing=Generazione Chiavi in corso....
@@ -184,7 +200,9 @@
label.action.reboot.router=Riavvio Router
label.action.reboot.systemvm.processing=Riavvio VM di Sistema in corso....
label.action.reboot.systemvm=Riavvio VM di Sistema
+label.action.recurring.snapshot=Snapshot Ricorrenti
label.action.register.iso=Registrare una ISO
+label.action.register.template=Registra un Template da URL
label.action.release.ip.processing=Rilascio indirizzo IP in corso....
label.action.release.ip=Rilascio indirizzo IP
label.action.remove.host.processing=Rimozione Host in corso....
@@ -193,8 +211,11 @@
label.action.reset.password=Reset Password
label.action.resize.volume.processing=Ridimensionamento Volume in corso....
label.action.resize.volume=Ridimensionamento Volume
+label.action.resource.limits=Limiti delle Risorse
label.action.restore.instance.processing=Restore dell\\'Instanza in corso....
label.action.restore.instance=Restore Instanza
+label.action.revert.snapshot.processing=Ripristino dello Snapshot in corso...
+label.action.revert.snapshot=Ripristinare lo Snapshot
label.actions=Azioni
label.action.start.instance=Avvio Instanza
label.action.start.instance.processing=Avvio Instanza in corso....
@@ -208,70 +229,141 @@
label.action.stop.router.processing=Arresto Router in corso....
label.action.stop.systemvm=Arresto VM di Sistema
label.action.stop.systemvm.processing=Arresto VM di Sistema in corso....
+label.action.take.snapshot=Cattura uno Snapshot
label.action.take.snapshot.processing=Esecuzione di Snapshot in corso....
label.action.update.OS.preference=Aggiornamento Preferenze OS
label.action.update.OS.preference.processing=Aggiornamento preferenze OS in corso....
+label.action.update.resource.count=Aggiornare il conteggio delle Risorse
+label.action.update.resource.count.processing=Aggiornamento del conteggio delle Risorse in corso...
+label.action.vmsnapshot.create=Cattura uno Snapshot della VM
+label.action.vmsnapshot.delete=Cancella lo Snapshot della VM
+label.action.vmsnapshot.revert=Ripristinare lo snapshot della VM
label.activate.project=Attivare il Progetto
label.active.sessions=Sessioni Attive
+label.add.account=Aggiungi un Account
label.add.accounts=Aggiungere utenti
label.add.accounts.to=Aggiungere utenti a
label.add.account.to.project=Aggiungere account al progetto
label.add.ACL=Aggiungere ACL
+label.add.affinity.group=Aggiungere un nuovo gruppo di affinit\u00e0
+label.add.BigSwitchBcf.device=Aggiungere Controller BigSwitch BCF
+label.add.BrocadeVcs.device=Aggiungere Switch Brocade Vcs
label.add.cluster=Aggiunta Cluster
label.add.compute.offering=Aggiungere una offerta computazionale
+label.add.disk.offering=Aggiungere Offerta Disco
label.add.domain=Aggiunta Dominio
label.add.egress.rule=Aggiungere una regola d\\'uscita
label.add.F5.device=Aggiungere device F5
label.add.firewall=Aggiunta regola firewall
label.add.guest.network=Aggiungere una rete guest
label.add.host=Aggiunta Host
+label.adding=Aggiunta
+label.adding.cluster=Aggiunta del Cluster
+label.adding.failed=Aggiunta Fallita
+label.adding.pod=Aggiuta del Pod
+label.adding.processing=Aggiunta in corso...
+label.adding.succeeded=Aggiunta avvenuta
+label.adding.user=Aggiunta dell\\'Utente
+label.adding.zone=Aggiunta della Zona
+label.add.intermediate.certificate=Aggiungere un certificato intermedio
+label.add.ip.range=Aggiungere un IP Range
label.additional.networks=Network Aggiuntivi
+label.add.ldap.account=Aggiungi un account LDAP
+label.add.load.balancer=Aggiungere un Load Balancer
label.add.netScaler.device=Aggiungere device Netscaler
label.add.network.ACL=Aggiungere le ACL di rete
+label.add.network=Aggiungere una Rete
+label.add.network.device=Aggiungere un Dispositivo di Rete
label.add.network.offering=Aggiungere offerta di rete
label.add.new.F5=Aggiungere nuovo F5
label.add.new.gateway=Aggiungere un nuovo gateway
label.add.new.NetScaler=Aggiungere nuovo NetScaler
+label.add.new.PA=Aggiungere un nuovo Palo Alto
label.add.new.SRX=Aggiungere nuovo SRX
label.add.new.tier=Aggiungere un nuovo livello
+label.add.NiciraNvp.device=Aggiungere Controller Nvp
+label.add.PA.device=Aggiungere un device Palo Alto
label.add.physical.network=Aggiungere rete fisica
+label.add.pod=Aggiungere un Pod
label.add.port.forwarding.rule=Aggiungere una regola di port forwarding
+label.add.primary.storage=Aggiungere uno Storage Primario
+label.add.region=Aggiungere una Regione
label.add.resources=Aggiungere Risorse
label.add.route=Aggiungere una rotta
label.add.rule=Aggiungere regola
+label.add.secondary.storage=Aggiungere uno Storage Secondario
+label.add.security.group=Aggiungere un Gruppo di Sicurezza
+label.add.service.offering=Aggiungere un\\'Offerta di Servizio
label.add.SRX.device=Aggiungere device SRX
label.add.static.nat.rule=Aggiungere regola di NAT statico
label.add.static.route=Aggiungere una rotta statica
label.add.system.service.offering=Aggiungere Offerte di Servizio di Sistema
+label.add.template=Aggiungere un Template
label.add.to.group=Aggiungere al gruppo
+label.add.user=Aggiungere un Utente
+label.add.vlan=Aggiungere una VLAN
label.add.vm=Aggiungere VM
label.add.vms=Aggiunvere VM
label.add.vms.to.lb=Aggiungere VM a regola di bilanciamento di carico
label.add.VM.to.tier=Aggiungere una VM al livello
+label.add.volume=Aggiungere un Volume
label.add.vpc=Aggiungere VPC
label.add.vpn.customer.gateway=Aggiungere Gateway VPN del Cliente
label.add.VPN.gateway=Aggiungere un Gateway VPN
label.add.vpn.user=Aggiungere utente VPN
+label.add.vxlan=Aggiungere una VXLAN
+label.add.zone=Aggiungere una Zona
+label.admin.accounts=Account Amministrativi
+label.admin=Amministratore
label.advanced=Avanzato
+label.advanced.mode=Modalit\u00e0 Avanzata
label.advanced.search=Ricerca Avanzata
+label.affinity=Affinit\u00e0
+label.affinity.group=Gruppo di Affinit\u00e0
+label.affinity.groups=Gruppi di Affinit\u00e0
label.agent.password=Password per l\\'Agent
label.agent.username=Username per l\\'Agent
+label.alert=Allarme
+label.algorithm=Algoritmo
label.allocated=Allocato
+label.anti.affinity=Anti-affinit\u00e0
+label.api.key=Chiave API
+label.api.version=Versione API
label.apply=Applicare
+label.app.name=CloudStack
+label.archive.alerts=Archivia allarmi
+label.archive.events=Archivia eventi
label.associated.network=Rete Associata
+label.attached.iso=ISO Collegata
+label.available=Disponibile
label.available.public.ips=Indirizzi IP Pubblici Disponibili
+label.back=Indietro
label.bandwidth=Capacit\u00e0 della banda (Bandwidth)
label.basic=Basic
+label.basic.mode=Modalit\u00e0 Base
+label.bigswitch.controller.address=Indirizzo Controller BigSwitch BCF
+label.bootable=Avviabile
label.broadcast.uri=URI di Broadcast
label.broadcat.uri=URI di Broadcast
+label.by.alert.type=Per tipo di allarme
+label.by.date.end=Per data (fino a)
+label.by.date.start=Per data (da)
+label.by.event.type=Per tipo di evento
+label.bytes.received=Byte Ricevuti
+label.bytes.sent=Byte Inviati
label.cancel=Annulla
+label.capacity.bytes=Capacit\u00e0 Byte
+label.capacity=Capacit\u00e0
+label.capacity.iops=Capacit\u00e0 IOPS
label.certificate=Certificato
label.change.service.offering=Modificare offerta di servizio
+label.change.value=Modifica il valore
label.character=Carattere
label.cidr=CIDR
label.CIDR.list=Lista CIDR
label.CIDR.of.destination.network=Valore CIDR della rete di destinazione
label.clear.list=Pulizia dell\\'elenco
+label.close=Chiudi
label.cloud.console=Console di Gestione Cloud
label.cluster=Cluster
label.cluster.name=Nome del Cluster
@@ -281,64 +373,112 @@
label.code=Codice
label.community=Community
label.compute.and.storage=Computazione e Storage
-label.compute=Compute
+label.compute=Computazionale
label.compute.offering=Offerta computazionale
label.configuration=Configurazione
label.configure=Configurare
+label.configure.ldap=Configura LDAP
label.configure.network.ACLs=Configurare le ACL di rete
label.configure.vpc=Configurare VPC
+label.confirmation=Conferma
label.confirm.password=Confermare la password
label.congratulations=Congratulazioni\!
label.console.proxy=Proxy di Console
label.continue.basic.install=Proseguire con l\\'installazione di base
label.continue=Continuare
label.corrections.saved=Salvataggio correzioni effettuato
+label.cpu.allocated=CPU Allocate
+label.cpu.allocated.for.VMs=CPU Allocate per VM
+label.CPU.cap=Limite CPU
label.cpu=CPU
+label.cpu.limits=Limiti CPU
label.cpu.mhz=CPU (in MHz)
+label.cpu.utilized=CPU Utilizzata
label.created.by.system=Creato dal sistema
+label.created=Creato
label.create.project=Creare un progetto
label.create.template=Creare un template
label.create.VPN.connection=Creare una Connessione VPN
+label.custom.disk.size=Dimensione Disco Personalizzata
+label.daily=Quotidiano
+label.date=Data
+label.day.of.month=Giorno del Mese
+label.day.of.week=Giorno della Settimana
label.decline.invitation=Declinare un invito
label.dedicated=Dedicato
label.default=Default
label.default.view=Vista di default
+label.delete.affinity.group=Cancellare Gruppo di Affinit\u00e0
+label.delete.alerts=Cancella allarmi
+label.delete.BigSwitchBcf=Rimuovere Controller BigSwitch BCF
+label.delete=Cancellare
+label.delete.events=Cancella eventi
label.delete.F5=Rimozione F5
-label.delete.gateway=rimuovere il gateway
+label.delete.gateway=Rimuovere il gateway
label.delete.NetScaler=Rimozione NetScaler
+label.delete.NiciraNvp=Rimuovere Controller Nvp
+label.delete.PA=Cancellare Palo Alto
label.delete.project=Cancellare progetto
label.delete.SRX=Rimozione SRX
label.delete.VPN.connection=cancellare la connessione VPN
label.delete.VPN.customer.gateway=cancellare il Gateway VPN del Cliente
label.delete.VPN.gateway=cancellare un Gateway VPN
label.delete.vpn.user=Cancellare utente VPN
+label.deleting.failed=Cancellazione Fallita
+label.deleting.processing=Cancellazione in corso...
+label.description=Descrizione
label.destination.physical.network.id=ID della rete fisica di destinazione
label.destination.zone=Zona di destinazione
-label.destroy=Destroy
+label.destroy=Distruggere
+label.destroy.router=Distruggere il router
+label.detaching.disk=Scollegamento Disco
+label.details=Dettagli
+label.device.id=ID Dispositivo
label.devices=Device
label.dhcp=DHCP
+label.DHCP.server.type=Tipo di DHCP Server
label.direct.ips=Indirizzi IP di Rete condivisi
label.disabled=Disabilitato
label.disable.provider=Disabilitare il provider
label.disable.vpn=Disabilitare VPN
+label.disabling.vpn.access=Disabilitare VPN
+label.disk.iops.max=Max IOPS
+label.disk.iops.min=Min IOPS
+label.disk.iops.total=IOPS Totali
+label.disk.offering=Offerta Disco
+label.disk.provisioningtype=Tipo di Provisioning
+label.dns.1=DNS 1
+label.dns.2=DNS 2
label.dns=DNS
label.DNS.domain.for.guest.networks=Dominio DNS per Reti Guest
+label.domain.admin=Amministratore di Dominio
label.domain=Dominio
+label.domain.id=ID del Dominio
+label.domain.name=Nome del Dominio
label.domain.router=Router di Dominio
+label.domain.suffix=Suffisso DNS (es. xyz.com)
label.done=Fatto
+label.double.quotes.are.not.allowed=Doppi apici non consentiti
+label.download.progress=Avanzamento del Download
label.drag.new.position=Trascina nella nuova posizione
label.edit.lb.rule=Modifica regola LB
+label.edit=Modifica
label.edit.network.details=Modificare le impostazioni di rete
label.edit.project.details=Modificare i dettagli del progetto
+label.edit.secondary.ips=Modifica IP Secondari
label.edit.tags=Modifica dei tag
label.edit.traffic.type=Modifica del tipo di traffico
label.edit.vpc=Modificare VPC
+label.egress.default.policy=Egress Default Policy
label.egress.rule=Regola d\\'uscita
label.egress.rules=Regole d\\'uscita
+label.email=Email
label.enable.provider=Abilitare il provider
label.enable.s3=Abilitare il Secondary Storage di tipo S3
label.enable.swift=Abilitare Swift
label.enable.vpn=Abilitare VPN
+label.enabling.vpn=Abilitazione della VPN
+label.enabling.vpn.access=Abilitazione dell\\'Accesso VPN
label.end.IP=Indirizzo IP finale
label.endpoint=Dispositivo
label.end.reserved.system.IP=Indirizzo IP finale riservato di sistema
@@ -347,9 +487,16 @@
label.ESP.encryption=Encryption di ESP
label.ESP.hash=Hash di ESP
label.ESP.policy=Policy di ESP
+label.example=Esempio
+label.external.link=Link Esterno
label.extractable=Estraibile
label.f5=F5
label.failed=Errore
+label.firewall=Firewall
+label.first.name=Nome
+label.format=Formato
+label.friday=Venerd\u00ec
+label.full=Completo
label.full.path=Path completo
label.gpu=CPU
label.guest.end.ip=Indirizzo IP guest finale
@@ -359,10 +506,14 @@
label.guest.traffic=Traffico della rete Guest
label.guest.type=Tipo di Guest
label.hints=Suggerimenti
+label.home=Home
label.host.MAC=MAC del sistema host
+label.hvm=HVM
label.hypervisor.capabilities=Funzionalit\u00e0 del Hypervisor
label.hypervisor=Hypervisor
+label.hypervisors=Hypervisor
label.hypervisor.version=Versione hypervisor
+label.id=ID
label.IKE.DH=DH di IKE
label.IKE.encryption=Encryption di IKE
label.IKE.hash=Hash di IKE
@@ -383,6 +534,12 @@
label.installWizard.click.launch=Fare click sul pulsante di avvio.
label.installWizard.subtitle=Questa guida fornisce supporto nelle attivit\u00e0 di configurazione di una installazione CloudStack&\#8482
label.installWizard.title=Ciao e Benvenuti nel mondo di CloudStack&\#8482
+label.instance=Istanza
+label.instance.limits=Limiti dell\\'Istanza
+label.instance.name=Nome dell\\'Istanza
+label.instances=Istanze
+label.internal.dns.1=DNS 1 Interno
+label.internal.dns.2=DNS2 Interno
label.internal.name=Nome Interno
label.introduction.to.cloudstack=Introduzione a CloudStack&\#8482
label.invitations=Inviti
@@ -391,25 +548,37 @@
label.invite.to=Invito a
label.ip.address=Indirizzo IP
label.ipaddress=Indirizzo IP
+label.ip=Indirizzo IP
+label.ip.or.fqdn=IP o FQDN
label.ip.ranges=Intervalli di indirizzi IP
label.IPsec.preshared.key=Preshared-Key di IPsec
+label.ips=Indirizzi IP
+label.is.default=E\\' Default
label.isolated.networks=Reti isolate
label.isolation.method=Metodo di isolamento
+label.isolation.mode=Modalit\u00e0 di Isolamento
label.isolation.uri=URI di isolamento
+label.is.shared=E\\' Condiviso
label.keyboard.type=Tipo di tastiera
label.key=Key
label.kvm.traffic.label=Etichetta del traffico via KVM
label.label=Label
+label.lang.arabic=Arabo
+label.lang.english=Inglese
label.latest.events=Ultimi eventi
label.launch=Avvio
label.launch.vm=Avviare una VM
label.lb.algorithm.roundrobin=Round-robin
label.lb.algorithm.source=Sorgente
label.LB.isolation=Isolamento di LB
+label.ldap.configuration=Configurazione LDAP
+label.ldap.port=Porta LDAP
+label.level=Livello
label.load.balancing=Bilanciamento di Carico
label.load.balancing.policies=Politiche di Bilanciamento di Carico
label.local.storage=Storage locale
label.LUN.number=LUN \#
+label.make.redundant=Rendi ridondante
label.management=Gestione
label.management.ips=Indirizzo IP di Management
label.manage.resources=Gestione Risorse
@@ -427,6 +596,7 @@
label.menu.accounts=Utenti
label.menu.configuration=Configurazione
label.menu.infrastructure=Infrastruttura
+label.menu.instances=Istanze
label.menu.system.service.offerings=Offerte di Sistema
label.menu.templates=Template
label.migrate.instance.to.host=Migrare instance verso un altro host
@@ -469,14 +639,13 @@
label.number.of.zones=Numero di Zone
label.ok=OK
label.order=Ordine
-label.ovm.traffic.label=Etichetta del traffico via OVM
-label.ovm3.traffic.label=Etichetta del traffico via OVM3
label.perfect.forward.secrecy=Segretezza di Forward perfetta
label.physical.network.ID=ID della rete fisica
label.please.specify.netscaler.info=Si prega di specificare le informazioni per Netscaler
label.pod.name=Nome del Pod
label.pods=Pod
label.port.forwarding.policies=Politiche di Port Forwarding
+label.port=Porta
label.previous=Precedente
label.primary.storage.count=Pool del Primary Storage
label.primary.storage=Storage Primario
@@ -493,12 +662,18 @@
label.public.network=Rete pubblica
label.purpose=Scopo
label.quickview=Panoramica rapida
+label.rbd.monitor=Ceph monitor
+label.rbd.pool=Ceph pool
+label.rbd=RBD
label.reboot=Reboot
+label.recover.vm=Recupera la VM
label.redundant.router.capability=Capacit\u00e0 di ridondanza del router
+label.reinstall.vm=Reinstalla la VM
label.remind.later=Ricordami in seguito
label.remove.ACL=Rimuovere ACL
label.remove.egress.rule=Rimuovere una regola d\\'uscita
label.remove.ip.range=Rimuovere intervallo di indirizzi IP
+label.remove.ldap=Rimuovi LDAP
label.remove.pf=Rimuovere regola di port forwarding
label.remove.rule=Rimuovere regola
label.remove.static.nat.rule=Rimuovere regola di NAT statico
@@ -518,15 +693,20 @@
label.review=Riesaminare
label.revoke.project.invite=Revocare un invit
label.root.disk.controller=Controller del disco root
+label.root.disk.size=Dimensione disco Root
+label.routing=Routing
label.rules=Regole
label.s3.access_key=Access Key
label.s3.connection_timeout=Tempo di scadenza connessione
label.s3.endpoint=Dispositivo
label.s3.max_error_retry=Numero massimo di tentativi a seguito di errore
+label.s3.nfs.path=Percorso S3 NFS
+label.s3.nfs.server=S3 NFS Server
label.s3.secret_key=Secret Key
label.s3.socket_timeout=Tempo di scadenza del Socket
label.s3.use_https=Utilizzare HTTPS
label.save.and.continue=Salvare e proseguire
+label.secondary.ips=IP Secondari
label.secondary.storage.count=Pool del Secondary Storage
label.secondary.storage=Storage Secondario
label.secondary.storage.vm=VM di Secondary Storage
@@ -543,11 +723,16 @@
label.select-view=Selezionare la vista
label.select.vm.for.static.nat=Selezionare una VM per il NAT statico
label.service.capabilities=Capacit\u00e0 di Servizio
+label.service.state=Stato del Servizio
label.setup=Installazione
label.set.up.zone.type=Configurazione del tipo di Zona
label.shutdown.provider=Arresto del provider
label.site.to.site.VPN=Site-to-site VPN
label.skip.guide=Se si ha familiarit\u00e0 con CloudStack per utilizzi precedenti, si pu\u00f2 saltare questa guida
+label.smb.domain=Dominio SMB
+label.smb.password=Password SMB
+label.smb.username=Username SMB
+label.sockets=CPU Socket
label.specify.IP.ranges=Specificare intervallo di indirizzi IP
label.srx=SRX
label.start.IP=Indirizzo IP iniziale
@@ -585,9 +770,11 @@
label.update.project.resources=Aggiornare le risorse di progetto
label.upload=Upload
label.upload.volume=Volume di upload
+label.use.vm.ips=Usa Indirizzo IP della VM
label.vcdcname=Nome DC del vCenter
label.vcipaddress=Indirizzo IP del vCenter
label.viewing=Visualizzazione
+label.view.secondary.ips=Vedi IP Secondari
label.view=Vista
label.virtual.routers=Router Virtuali
label.virtual.router=Virtual Router
@@ -595,6 +782,7 @@
label.vlan=VLAN
label.vm.destroy=Destroy
label.vm.display.name=Nome visualizzato della VM
+label.vm.ip=Indirizzo IP della VM
label.vm.name=Nome VM
label.vm.reboot=Reboot
label.VMs.in.tier=VM nei livelli
@@ -623,9 +811,11 @@
label.zoneWizard.trafficType.management=Management\: Traffico di rete tra le risorse interne di CloudStack, incluso qualsiasi componente che comunichi con il Management Server, come ad esempio gli host e le VM di Sistema di CloudStack
label.zoneWizard.trafficType.public=Public\: Traffico di rete tra la rete internet e le virtual machine nell\\'infrastruttura cloud.
label.zoneWizard.trafficType.storage=Storage\: Traffico di rete tra i server di primary e secondary storage, come ad esempio i template delle VM e le operazioni di snapshot
+message.acquire.ip.nic=Prego confermare che si vuole acquisire un nuovo IP secondario per questa NIC.<br/>NOTA\: Deve essere configurato manualmente il nuovo IP secondario acquisito all\\'interno della virtual machine.
message.acquire.new.ip=Si prega di confermare di voler acquisire un nuovo indirizzo IP per questa rete.
message.acquire.new.ip.vpc=Si prega di confermare di voler acquisire un nuovo indirizzo IP per questo VPC.
message.action.delete.nexusVswitch=Si prega di confermare di voler cancellare questo nexus 1000v
+message.action.delete.nic=Prego conferma che si vuole rimuovere questa NIC, questo rimuover\u00e0 anche le reti associate dalla VM.
message.action.delete.physical.network=Si prega di confermare di voler cancellare questa rete fisica
message.action.delete.system.service.offering=Si prega di confermare di voler cancellare questa offerta di servizio di sistema.
message.action.disable.nexusVswitch=Si prega di confermare di voler disabilitare questo nexus 1000v
@@ -728,10 +918,12 @@
message.iso.desc=Immagine disco contenente dati o supporto avviabile di boot per il SO
message.join.project=Ora appartieni al progetto. Si prega di passare alla vista Progetto per accedere.
message.launch.zone=La Zona \u00e8 pronta per l\\'avvio; si prega di procedere al passo successivo.
+message.listView.subselect.multi=(Ctrl/Cmd-click)
message.migrate.instance.to.host=Si prega di confermare di voler migrare instance verso un altro host.
message.migrate.instance.to.ps=Si prega di confermare di voler migrare instance verso un altro primary storage.
message.migrate.router.confirm=Si prega di confermare l\\'host a cui si intende migrare il router\:
message.migrate.volume=Si prega di confermare di voler migrare il volume verso un altro primary storage.
+message.no.affinity.groups=Non \u00e8 presente alcun gruppo di affinit\u00e0. Prego proseguire al prossimo passaggio.
message.no.projects.adminOnly=Non si dispone di alcun progetto.<br/>Si prega di chiedere la creazione di un nuovo progetto al proprio amministratore.
message.no.projects=Non si possiedono progetti.<br/>Si prega di creare un nuovo progetto dalla sezione progetti.
message.pending.projects.1=Ci sono inviti a progetti in attesa di risposta\:
@@ -742,12 +934,15 @@
message.please.select.networks=Si prega di selezionare le reti per la virtual machine.
message.please.wait.while.zone.is.being.created=Si prega di attendere la creazione della zona; pu\u00f2 richiedere tempo...
message.project.invite.sent=L\\'invito \u00e8 stato spedito all\\'utente; l\\'utente sar\u00e0 aggiunto al progetto solo dopo aver accettato l\\'invito
+message.recover.vm=Prego confermare che si vuole recuperare questa VM.
+message.reinstall.vm=NOTA\: Attenzione. Questo causer\u00e0 la reinstallazione della VM partendo dal template; i dati nel disco principale verranno persi. I dati nei volumi aggiuntivi, se esistenti, non verranno toccati.
message.remove.vpc=Si prega di confermare di voler rimuovere VPC
message.reset.password.warning.notPasswordEnabled=L\\'immagine template di questa instanza \u00e8 stata creata senza l\\'abilitazione della password
message.reset.password.warning.notStopped=L\\'instanza deve essere arrestata prima di poter modificare la password
message.reset.VPN.connection=Si prega di confermare di voler effettuare il reset della connessione VPN
message.restart.network=Tutti i servizi forniti da questa rete saranno interrotti. Si prega di confermare di voler riavviare questa rete.
message.restart.vpc=Si prega di confermare di voler riavviare VPC
+message.select.affinity.groups=Prego selezionare un gruppo di affinit\u00e0 a cui si vuole far appartenere questa VM\:
message.select.a.zone=Una zona corrisponde tipicamente ad un singolo datacenter. Zone multiple consentono di aumentare l\\'affidabilit\u00e0 creando isolamento fisico e ridondanza.
message.select.instance=Si prega di selezionare una instanza.
message.select.iso=Si prega di selezionare una immagine ISO per la nuova instanza virtuale.
@@ -770,6 +965,7 @@
message.tooltip.zone.name=Un nome per la zona.
message.update.resource.count=Si prega di confermare di voler aggiornare il valore delle risorse per questo account.
message.validate.instance.name=Il nome dell\\'instanza non pu\u00f2 avere lunghezza superiore a 63 caratteri. Sono consentite solo lettere ASCII a-z, A-Z, numeri 0-9, segni \\'-\\'. Il primo carattere deve essere una lettera, e l\\'ultimo una lettera o un numero.
+message.validate.invalid.characters=Rilevati caratteri non validi; prego correggere.
message.vm.review.launch=Si prega di riesaminare le informazioni e confermare l\\'instance virtuale scelta sia corretta prima di avviarla.
message.you.must.have.at.least.one.physical.network=E\\' necessario disporre di almeno una rete fisica
message.Zone.creation.complete=Creazione zona completata
diff --git a/client/WEB-INF/classes/resources/messages_ja_JP.properties b/client/WEB-INF/classes/resources/messages_ja_JP.properties
index 64841d0..f3304f8 100644
--- a/client/WEB-INF/classes/resources/messages_ja_JP.properties
+++ b/client/WEB-INF/classes/resources/messages_ja_JP.properties
@@ -50,14 +50,17 @@
label.about=\u30d0\u30fc\u30b8\u30e7\u30f3\u60c5\u5831
label.accept.project.invitation=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3078\u306e\u62db\u5f85\u306e\u627f\u8afe
label.account.and.security.group=\u30a2\u30ab\u30a6\u30f3\u30c8\u3001\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 \u30b0\u30eb\u30fc\u30d7
+label.account.details=\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u8a73\u7d30
label.account.id=\u30a2\u30ab\u30a6\u30f3\u30c8 ID
label.account.lower=\u30a2\u30ab\u30a6\u30f3\u30c8
label.account.name=\u30a2\u30ab\u30a6\u30f3\u30c8\u540d
label.account.specific=\u30a2\u30ab\u30a6\u30f3\u30c8\u56fa\u6709
label.accounts=\u30a2\u30ab\u30a6\u30f3\u30c8
+label.account.type=\u30a2\u30ab\u30a6\u30f3\u30c8\u30bf\u30a4\u30d7
label.account=\u30a2\u30ab\u30a6\u30f3\u30c8
label.acl=ACL
label.acl.id=ACL ID
+label.acl.list.rules=ACL \u30eb\u30fc\u30eb\u306e\u30ea\u30b9\u30c8
label.acl.name=ACL \u540d
label.acl.replaced=ACL \u304c\u7f6e\u304d\u63db\u3048\u3089\u308c\u307e\u3057\u305f
label.acquire.new.ip=\u65b0\u3057\u3044 IP \u30a2\u30c9\u30ec\u30b9\u306e\u53d6\u5f97
@@ -71,6 +74,7 @@
label.action.change.password=\u30d1\u30b9\u30ef\u30fc\u30c9\u306e\u5909\u66f4
label.action.change.service.processing=\u30b5\u30fc\u30d3\u30b9\u3092\u5909\u66f4\u3057\u3066\u3044\u307e\u3059...
label.action.change.service=\u30b5\u30fc\u30d3\u30b9\u306e\u5909\u66f4
+label.action.configure.samlauthorization=SAML SSO \u8a8d\u8a3c\u3092\u8a2d\u5b9a\u3059\u308b
label.action.copy.ISO=ISO \u306e\u30b3\u30d4\u30fc
label.action.copy.ISO.processing=ISO \u3092\u30b3\u30d4\u30fc\u3057\u3066\u3044\u307e\u3059....
label.action.copy.template.processing=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u30b3\u30d4\u30fc\u3057\u3066\u3044\u307e\u3059....
@@ -211,6 +215,7 @@
label.action.reboot.systemvm=\u30b7\u30b9\u30c6\u30e0 VM \u306e\u518d\u8d77\u52d5
label.action.recurring.snapshot=\u5b9a\u671f\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8
label.action.register.iso=ISO \u306e\u767b\u9332
+label.action.register.template=URL \u304b\u3089\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u767b\u9332
label.action.release.ip=IP \u30a2\u30c9\u30ec\u30b9\u306e\u89e3\u653e
label.action.release.ip.processing=IP \u30a2\u30c9\u30ec\u30b9\u3092\u89e3\u653e\u3057\u3066\u3044\u307e\u3059...
label.action.remove.host.processing=\u30db\u30b9\u30c8\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059...
@@ -296,9 +301,11 @@
label.add.internal.lb=\u5185\u90e8 LB \u306e\u8ffd\u52a0
label.add.ip.range=IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u306e\u8ffd\u52a0
label.add.isolated.guest.network=\u5206\u96e2\u30b2\u30b9\u30c8\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u8ffd\u52a0
+label.add.isolated.guest.network.with.sourcenat=\u5206\u96e2\u30b2\u30b9\u30c8\u30cd\u30c3\u30c8\u30ef\u30fc\u30af(\u9001\u4fe1\u5143NAT)\u306e\u8ffd\u52a0
label.add.isolated.network=\u5206\u96e2\u3055\u308c\u305f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u8ffd\u52a0
label.additional.networks=\u8ffd\u52a0\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af
label.add.ldap.account=LDAP \u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u8ffd\u52a0
+label.add.LDAP.account=LDAP \u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u8ffd\u52a0
label.add.list.name=ACL \u4e00\u89a7\u540d
label.add.load.balancer=\u30ed\u30fc\u30c9 \u30d0\u30e9\u30f3\u30b5\u30fc\u306e\u8ffd\u52a0
label.add.more=\u305d\u306e\u307b\u304b\u306e\u9805\u76ee\u306e\u8ffd\u52a0
@@ -401,6 +408,7 @@
label.attached.iso=\u30a2\u30bf\u30c3\u30c1\u3055\u308c\u305f ISO
label.author.email=\u4f5c\u6210\u8005\u306e\u96fb\u5b50\u30e1\u30fc\u30eb
label.author.name=\u4f5c\u6210\u8005\u306e\u540d\u524d
+label.autoscale.configuration.wizard=\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30eb\u8a2d\u5b9a\u30a6\u30a3\u30b6\u30fc\u30c9
label.autoscale=\u81ea\u52d5\u30b5\u30a4\u30ba\u8a2d\u5b9a
label.availability=\u53ef\u7528\u6027
label.availability.zone=\u30a2\u30d9\u30a4\u30e9\u30d3\u30ea\u30c6\u30a3 \u30be\u30fc\u30f3
@@ -489,6 +497,7 @@
label.configuration=\u69cb\u6210
label.configure.ldap=LDAP \u306e\u69cb\u6210
label.configure.network.ACLs=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af ACL \u306e\u69cb\u6210
+label.configure.sticky.policy=\u30b9\u30c6\u30a3\u30c3\u30ad\u30fc\u30dd\u30ea\u30b7\u30fc\u306e\u8a2d\u5b9a
label.configure=\u69cb\u6210
label.configure.vpc=VPC \u306e\u69cb\u6210
label.confirmation=\u78ba\u8a8d
@@ -514,10 +523,12 @@
label.create.nfs.secondary.staging.storage=NFS \u30bb\u30ab\u30f3\u30c0\u30ea \u30b9\u30c6\u30fc\u30b8\u30f3\u30b0 \u30b9\u30c8\u30a2\u3092\u4f5c\u6210\u3059\u308b
label.create.nfs.secondary.staging.store=NFS \u30bb\u30ab\u30f3\u30c0\u30ea \u30b9\u30c6\u30fc\u30b8\u30f3\u30b0 \u30b9\u30c8\u30a2\u3092\u4f5c\u6210\u3059\u308b
label.create.project=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u4f5c\u6210
+label.create.ssh.key.pair=SSH \u306e\u30ad\u30fc\u30da\u30a2\u3092\u4f5c\u6210
label.create.template=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u4f5c\u6210
label.create.VPN.connection=VPN \u63a5\u7d9a\u306e\u4f5c\u6210
label.cross.zones=\u30af\u30ed\u30b9 \u30be\u30fc\u30f3
label.custom.disk.iops=\u30ab\u30b9\u30bf\u30e0 IOPS
+label.custom.disk.offering=\u30ab\u30b9\u30bf\u30e0\u30c7\u30a3\u30b9\u30af\u30aa\u30d5\u30a1\u30ea\u30f3\u30b0
label.custom.disk.size=\u30ab\u30b9\u30bf\u30e0 \u30c7\u30a3\u30b9\u30af \u30b5\u30a4\u30ba
label.custom=\u30ab\u30b9\u30bf\u30e0
label.daily=\u6bce\u65e5
@@ -606,6 +617,7 @@
label.disk.iops.read.rate=\u30c7\u30a3\u30b9\u30af\u8aad\u307f\u53d6\u308a\u901f\u5ea6 (IOPS)
label.disk.iops.total=IOPS \u5408\u8a08
label.disk.iops.write.rate=\u30c7\u30a3\u30b9\u30af\u66f8\u304d\u8fbc\u307f\u901f\u5ea6 (IOPS)
+label.disk.offering.details=\u30c7\u30a3\u30b9\u30af\u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u306e\u8a73\u7d30
label.disk.offering=\u30c7\u30a3\u30b9\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0
label.diskoffering=\u30c7\u30a3\u30b9\u30af\u30aa\u30d5\u30a1\u30ea\u30f3\u30b0
label.disk.provisioningtype=\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u306e\u7a2e\u985e
@@ -625,6 +637,7 @@
label.dns=DNS
label.DNS.domain.for.guest.networks=\u30b2\u30b9\u30c8 \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e DNS \u30c9\u30e1\u30a4\u30f3
label.domain.admin=\u30c9\u30e1\u30a4\u30f3\u7ba1\u7406\u8005
+label.domain.details=\u30c9\u30e1\u30a4\u30f3\u306e\u8a73\u7d30
label.domain.id=\u30c9\u30e1\u30a4\u30f3 ID
label.domain.lower=\u30c9\u30e1\u30a4\u30f3
label.domain.name=\u30c9\u30e1\u30a4\u30f3\u540d
@@ -643,6 +656,7 @@
label.edit.network.details=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u8a73\u7d30\u306e\u7de8\u96c6
label.edit.project.details=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u8a73\u7d30\u306e\u7de8\u96c6
label.edit.region=\u30ea\u30fc\u30b8\u30e7\u30f3\u306e\u7de8\u96c6
+label.edit.rule=\u30eb\u30fc\u30eb\u306e\u7de8\u96c6
label.edit.secondary.ips=\u30bb\u30ab\u30f3\u30c0\u30ea IP \u306e\u7de8\u96c6
label.edit.tags=\u30bf\u30b0\u306e\u7de8\u96c6
label.edit.traffic.type=\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u7a2e\u985e\u306e\u7de8\u96c6
@@ -699,6 +713,7 @@
label.featured=\u304a\u3059\u3059\u3081
label.fetch.latest=\u6700\u65b0\u60c5\u5831\u306e\u53d6\u5f97
label.filterBy=\u30d5\u30a3\u30eb\u30bf\u30fc
+label.fingerprint=\u30d5\u30a3\u30f3\u30ac\u30fc\u30d7\u30ea\u30f3\u30c8
label.firewall=\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb
label.firstname.lower=\u540d
label.first.name=\u540d
@@ -752,8 +767,12 @@
label.guest.type=\u30b2\u30b9\u30c8\u306e\u7a2e\u985e
label.guest=\u30b2\u30b9\u30c8
label.ha.enabled=\u9ad8\u53ef\u7528\u6027\u6709\u52b9
+label.health.check.advanced.options=\u62e1\u5f35\u30aa\u30d7\u30b7\u30e7\u30f3\:
+label.health.check.configurations.options=\u8a2d\u5b9a\u30aa\u30d7\u30b7\u30e7\u30f3\:
label.health.check.interval.in.sec=\u30d8\u30eb\u30b9 \u30c1\u30a7\u30c3\u30af\u9593\u9694 (\u79d2)
+label.health.check.message.desc=\u30ed\u30fc\u30c9\u30d0\u30e9\u30f3\u30b5\u30fc\u306f\u81ea\u52d5\u7684\u306b\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u30d8\u30eb\u30b9\u30c1\u30a7\u30c3\u30af\u3092\u884c\u3044\u3001\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3078\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306f\u30d8\u30eb\u30b9\u30c1\u30a7\u30c3\u30af\u304c\u3055\u308c\u307e\u305b\u3093
label.health.check=\u30d8\u30eb\u30b9 \u30c1\u30a7\u30c3\u30af
+label.health.check.wizard=\u30d8\u30eb\u30b9\u30c1\u30a7\u30c3\u30af \u30a6\u30a3\u30b6\u30fc\u30c9
label.healthy.threshold=\u6b63\u5e38\u3057\u304d\u3044\u5024
label.help=\u30d8\u30eb\u30d7
label.hide.ingress.rule=\u53d7\u4fe1\u898f\u5247\u3092\u96a0\u3059
@@ -764,6 +783,7 @@
label.host.name=\u30db\u30b9\u30c8\u540d
label.hosts=\u30db\u30b9\u30c8
label.host.tags=\u30db\u30b9\u30c8 \u30bf\u30b0
+label.host.tag=\u30db\u30b9\u30c8\u30bf\u30b0
label.host=\u30db\u30b9\u30c8
label.hourly=\u6bce\u6642
label.hvm=HVM
@@ -812,6 +832,7 @@
label.internal.dns.1=\u5185\u90e8 DNS 1
label.internal.dns.2=\u5185\u90e8 DNS 2
label.internal.lb.details=\u5185\u90e8 LB \u306e\u8a73\u7d30
+label.internal.lb=\u5185\u90e8 LB
label.internallbvm=InternalLbVm
label.internal.name=\u5185\u90e8\u540d
label.interval.type=\u9593\u9694\u306e\u7a2e\u985e
@@ -874,6 +895,7 @@
label.lang.english=\u82f1\u8a9e
label.lang.french=\u30d5\u30e9\u30f3\u30b9\u8a9e
label.lang.german=\u30c9\u30a4\u30c4\u8a9e
+label.lang.hungarian=\u30cf\u30f3\u30ac\u30ea\u30fc\u8a9e
label.lang.italian=\u30a4\u30bf\u30ea\u30a2\u8a9e
label.lang.japanese=\u65e5\u672c\u8a9e
label.lang.korean=\u97d3\u56fd\u8a9e
@@ -894,14 +916,19 @@
label.LB.isolation=LB \u5206\u96e2
label.ldap.configuration=LDAP \u69cb\u6210
label.ldap.group.name=LDAP \u30b0\u30eb\u30fc\u30d7
+label.ldap.link.type=\u7a2e\u985e
label.ldap.port=LDAP \u30dd\u30fc\u30c8
label.level=\u30ec\u30d9\u30eb
+label.link.domain.to.ldap=\u30c9\u30e1\u30a4\u30f3\u3092 LDAP \u306b\u30ea\u30f3\u30af\u3059\u308b
label.linklocal.ip=\u30ea\u30f3\u30af \u30ed\u30fc\u30ab\u30eb IP \u30a2\u30c9\u30ec\u30b9
label.load.balancer.type=\u30ed\u30fc\u30c9 \u30d0\u30e9\u30f3\u30b5\u30fc\u306e\u7a2e\u985e
label.load.balancer=\u30ed\u30fc\u30c9 \u30d0\u30e9\u30f3\u30b5\u30fc
label.load.balancing.policies=\u8ca0\u8377\u5206\u6563\u30dd\u30ea\u30b7\u30fc
label.load.balancing=\u8ca0\u8377\u5206\u6563
label.loading=\u30ed\u30fc\u30c9\u3057\u3066\u3044\u307e\u3059
+label.local.file=\u30ed\u30fc\u30ab\u30eb\u30d5\u30a1\u30a4\u30eb
+label.local.storage.enabled.system.vms=\u30b7\u30b9\u30c6\u30e0 VM \u306b\u5bfe\u3057\u30ed\u30fc\u30ab\u30eb\u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u6709\u52b9\u5316\u3059\u308b
+label.local.storage.enabled=\u30e6\u30fc\u30b6\u30fc VM \u306b\u5bfe\u3057\u30ed\u30fc\u30ab\u30eb\u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u6709\u52b9\u5316\u3059\u308b
label.local.storage=\u30ed\u30fc\u30ab\u30eb \u30b9\u30c8\u30ec\u30fc\u30b8
label.local=\u30ed\u30fc\u30ab\u30eb
label.login=\u30ed\u30b0\u30aa\u30f3
@@ -1021,6 +1048,7 @@
label.network.addVM=VM \u3078\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u8ffd\u52a0
label.network.cidr=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af CIDR
label.network.desc=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u8aac\u660e
+label.network.details=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u8a73\u7d30
label.network.device.type=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30c7\u30d0\u30a4\u30b9\u306e\u7a2e\u985e
label.network.device=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30c7\u30d0\u30a4\u30b9
label.network.domain.text=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30c9\u30e1\u30a4\u30f3
@@ -1030,6 +1058,7 @@
label.network.label.display.for.blank.value=\u30c7\u30d5\u30a9\u30eb\u30c8 \u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u3092\u4f7f\u7528
label.network.limits=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5236\u9650
label.network.name=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u540d
+label.network.offering.details=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u306e\u8a73\u7d30
label.network.offering.display.text=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u8868\u793a\u30c6\u30ad\u30b9\u30c8
label.network.offering.id=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0 ID
label.network.offering.name=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u540d
@@ -1044,6 +1073,7 @@
label.network.write=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u66f8\u304d\u8fbc\u307f
label.new.password=\u65b0\u3057\u3044\u30d1\u30b9\u30ef\u30fc\u30c9
label.new.project=\u65b0\u3057\u3044\u30d7\u30ed\u30b8\u30a7\u30af\u30c8
+label.new.ssh.key.pair=\u65b0\u3057\u3044 SSH \u30ad\u30fc\u30da\u30a2
label.new=\u65b0\u898f
label.new.vm=\u65b0\u3057\u3044 VM
label.next=\u6b21\u3078
@@ -1098,7 +1128,6 @@
label.ovm3.cluster=\u30cd\u30a4\u30c6\u30a3\u30d6\u30af\u30e9\u30b9\u30bf\u30fc
label.ovm3.pool=\u30cd\u30a4\u30c6\u30a3\u30d6\u30d7\u30fc\u30eb
label.ovm3.vip=\u30de\u30b9\u30bf\u30fc VIP IP
-label.ovm3.traffic.label=OVM3 \u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af \u30e9\u30d9\u30eb
label.ovm.traffic.label=OVM \u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af \u30e9\u30d9\u30eb
label.ovs=OVS
label.owned.public.ips=\u6240\u6709\u3059\u308b\u30d1\u30d6\u30ea\u30c3\u30af IP \u30a2\u30c9\u30ec\u30b9
@@ -1118,6 +1147,7 @@
label.perfect.forward.secrecy=Perfect Forward Secrecy
label.persistent=\u6c38\u7d9a
label.physical.network.ID=\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af ID
+label.physical.network.name=\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u540d
label.physical.network=\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af
label.PING.CIFS.password=PING CIFS \u30d1\u30b9\u30ef\u30fc\u30c9
label.PING.CIFS.username=PING CIFS \u30e6\u30fc\u30b6\u30fc\u540d
@@ -1125,6 +1155,7 @@
label.ping.path=Ping \u30d1\u30b9
label.PING.storage.IP=PING \u5bfe\u8c61\u306e\u30b9\u30c8\u30ec\u30fc\u30b8 IP \u30a2\u30c9\u30ec\u30b9
label.planner.mode=\u30d7\u30e9\u30f3\u30ca\u30fc \u30e2\u30fc\u30c9
+label.please.complete.the.following.fields=\u4e0b\u8a18\u9805\u76ee\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044
label.please.specify.netscaler.info=NetScaler \u60c5\u5831\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044
label.please.wait=\u304a\u5f85\u3061\u304f\u3060\u3055\u3044
label.plugin.details=\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u8a73\u7d30
@@ -1157,6 +1188,7 @@
label.private.ips=\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8 IP \u30a2\u30c9\u30ec\u30b9
label.private.ip=\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8 IP \u30a2\u30c9\u30ec\u30b9
label.privatekey=PKCS\#8 \u79d8\u5bc6\u30ad\u30fc
+label.private.key=\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u30ad\u30fc
label.private.network=\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8 \u30cd\u30c3\u30c8\u30ef\u30fc\u30af
label.private.port=\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8 \u30dd\u30fc\u30c8
label.private.zone=\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8 \u30be\u30fc\u30f3
@@ -1175,6 +1207,8 @@
label.public.interface=\u30d1\u30d6\u30ea\u30c3\u30af \u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9
label.public.ips=\u30d1\u30d6\u30ea\u30c3\u30af IP \u30a2\u30c9\u30ec\u30b9
label.public.ip=\u30d1\u30d6\u30ea\u30c3\u30af IP \u30a2\u30c9\u30ec\u30b9
+label.public.key=\u516c\u958b\u9375
+label.public.lb=\u30d1\u30d6\u30ea\u30c3\u30af LB
label.public.load.balancer.provider=\u30d1\u30d6\u30ea\u30c3\u30af \u30ed\u30fc\u30c9 \u30d0\u30e9\u30f3\u30b5\u30fc \u30d7\u30ed\u30d0\u30a4\u30c0\u30fc
label.public.network=\u30d1\u30d6\u30ea\u30c3\u30af \u30cd\u30c3\u30c8\u30ef\u30fc\u30af
label.public.port=\u30d1\u30d6\u30ea\u30c3\u30af \u30dd\u30fc\u30c8
@@ -1227,8 +1261,10 @@
label.remove.project.account=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u304b\u3089\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u524a\u9664
label.remove.region=\u30ea\u30fc\u30b8\u30e7\u30f3\u306e\u524a\u9664
label.remove.rule=\u898f\u5247\u306e\u524a\u9664
+label.remove.ssh.key.pair=SSH \u30ad\u30fc\u30da\u30a2\u306e\u524a\u9664
label.remove.static.nat.rule=\u9759\u7684 NAT \u898f\u5247\u306e\u524a\u9664
label.remove.static.route=\u9759\u7684\u30eb\u30fc\u30c8\u306e\u524a\u9664
+label.remove.this.physical.network=\u3053\u306e\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u524a\u9664\u3059\u308b
label.remove.tier=\u968e\u5c64\u306e\u524a\u9664
label.remove.vm.from.lb=\u30ed\u30fc\u30c9 \u30d0\u30e9\u30f3\u30b5\u30fc\u898f\u5247\u304b\u3089\u306e VM \u306e\u524a\u9664
label.remove.vm.load.balancer=\u30ed\u30fc\u30c9 \u30d0\u30e9\u30f3\u30b5\u30fc\u304b\u3089\u306e VM \u306e\u524a\u9664
@@ -1246,6 +1282,8 @@
label.reserved.system.gateway=\u4e88\u7d04\u6e08\u307f\u30b7\u30b9\u30c6\u30e0 \u30b2\u30fc\u30c8\u30a6\u30a7\u30a4
label.reserved.system.ip=\u4e88\u7d04\u6e08\u307f\u30b7\u30b9\u30c6\u30e0 IP \u30a2\u30c9\u30ec\u30b9
label.reserved.system.netmask=\u4e88\u7d04\u6e08\u307f\u30b7\u30b9\u30c6\u30e0 \u30cd\u30c3\u30c8\u30de\u30b9\u30af
+label.reset.ssh.key.pair.on.vm=VM \u4e0a\u306e SSH \u30ad\u30fc\u30da\u30a2\u3092\u30ea\u30bb\u30c3\u30c8
+label.reset.ssh.key.pair=SSH \u30ad\u30fc\u30da\u30a2\u306e\u30ea\u30bb\u30c3\u30c8
label.resetVM=VM \u306e\u30ea\u30bb\u30c3\u30c8
label.reset.VPN.connection=VPN \u63a5\u7d9a\u306e\u30ea\u30bb\u30c3\u30c8
label.resize.new.offering.id=\u65b0\u3057\u3044\u30aa\u30d5\u30a1\u30ea\u30f3\u30b0
@@ -1286,11 +1324,16 @@
label.s3.secret_key=\u79d8\u5bc6\u30ad\u30fc
label.s3.socket_timeout=\u30bd\u30b1\u30c3\u30c8 \u30bf\u30a4\u30e0\u30a2\u30a6\u30c8
label.s3.use_https=HTTPS \u3092\u4f7f\u7528\u3059\u308b
+label.saml.enable=SAML SSO \u8a8d\u8a3c
+label.saml.entity=\u8a8d\u8a3c\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc
label.saturday=\u571f\u66dc\u65e5
label.save.and.continue=\u4fdd\u5b58\u3057\u3066\u7d9a\u884c
+label.save.changes=\u5909\u66f4\u3092\u4fdd\u5b58\u3059\u308b
label.save=\u4fdd\u5b58
label.saving.processing=\u4fdd\u5b58\u3057\u3066\u3044\u307e\u3059...
+label.scaledown.policy=\u30b9\u30b1\u30fc\u30eb\u30c0\u30a6\u30f3 \u30dd\u30ea\u30b7\u30fc
label.scale.up.policy=\u30b5\u30a4\u30ba\u62e1\u5927\u30dd\u30ea\u30b7\u30fc
+label.scaleup.policy=\u30b9\u30b1\u30fc\u30eb\u30a2\u30c3\u30d7 \u30dd\u30ea\u30b7\u30fc
label.scope=\u30b9\u30b3\u30fc\u30d7
label.search=\u691c\u7d22
label.secondary.ips=\u30bb\u30ab\u30f3\u30c0\u30ea IP
@@ -1324,14 +1367,17 @@
label.sent=\u9001\u4fe1\u6e08\u307f
label.server=\u30b5\u30fc\u30d0\u30fc
label.service.capabilities=\u30b5\u30fc\u30d3\u30b9\u306e\u6a5f\u80fd
+label.service.offering.details=\u30b5\u30fc\u30d3\u30b9\u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u306e\u8a73\u7d30
label.service.offering=\u30b5\u30fc\u30d3\u30b9 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0
label.service.state=\u30b5\u30fc\u30d3\u30b9\u306e\u72b6\u614b
label.services=\u30b5\u30fc\u30d3\u30b9
label.session.expired=\u30bb\u30c3\u30b7\u30e7\u30f3\u306e\u6709\u52b9\u671f\u9650\u304c\u5207\u308c\u307e\u3057\u305f
label.set.default.NIC=\u30c7\u30d5\u30a9\u30eb\u30c8 NIC \u306e\u8a2d\u5b9a
label.settings=\u8a2d\u5b9a
+label.setup.network=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u8a2d\u5b9a\u3059\u308b
label.setup=\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7
label.set.up.zone.type=\u30be\u30fc\u30f3\u306e\u7a2e\u985e\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7
+label.setup.zone=\u30be\u30fc\u30f3\u3092\u8a2d\u5b9a\u3059\u308b
label.SharedMountPoint=SharedMountPoint
label.shared=\u5171\u6709
label.show.advanced.settings=\u8a73\u7d30\u8a2d\u5b9a\u306e\u8868\u793a
@@ -1346,6 +1392,7 @@
label.smb.username=SMB \u30e6\u30fc\u30b6\u30fc\u540d
label.snapshot.limits=\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u5236\u9650
label.snapshot.name=\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u540d
+label.snapshot.schedule=\u9023\u7d9a\u3057\u305f\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u3092\u8a2d\u5b9a\u3059\u308b
label.snapshot.s=\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8
label.snapshots=\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8
label.snapshot=\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8
@@ -1362,6 +1409,9 @@
label.SR.name=SR \u540d\u30e9\u30d9\u30eb
label.srx.details=SRX \u306e\u8a73\u7d30
label.srx=SRX
+label.ssh.key.pair.details=SSH \u30ad\u30fc\u30da\u30a2\u306e\u8a73\u7d30
+label.ssh.key.pair=SSH \u30ad\u30fc\u30da\u30a2
+label.ssh.key.pairs=SSH \u30ad\u30fc\u30da\u30a2
label.standard.us.keyboard=\u6a19\u6e96(US) \u30ad\u30fc\u30dc\u30fc\u30c9
label.start.IP=\u958b\u59cb IP \u30a2\u30c9\u30ec\u30b9
label.start.lb.vm=LB VM \u306e\u8d77\u52d5
@@ -1374,6 +1424,7 @@
label.static.nat.to=\u9759\u7684 NAT \u306e\u8a2d\u5b9a\u5148\:
label.static.nat=\u9759\u7684 NAT
label.static.nat.vm.details=\u9759\u7684 NAT VM \u306e\u8a73\u7d30
+label.static.routes=\u9759\u7684\u30eb\u30fc\u30c8
label.statistics=\u7d71\u8a08
label.status=\u72b6\u6cc1
label.step.1.title=\u624b\u9806 1\: <strong>\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u9078\u629e</strong>
@@ -1423,6 +1474,7 @@
label.system.capacity=\u30b7\u30b9\u30c6\u30e0\u306e\u51e6\u7406\u80fd\u529b
label.system.offering.for.router=\u30eb\u30fc\u30bf\u30fc\u7528\u30b7\u30b9\u30c6\u30e0 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0
label.system.offering=\u30b7\u30b9\u30c6\u30e0 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0
+label.system.service.offering.details=\u30b7\u30b9\u30c6\u30e0\u30b5\u30fc\u30d3\u30b9\u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u306e\u8a73\u7d30
label.system.service.offering=\u30b7\u30b9\u30c6\u30e0 \u30b5\u30fc\u30d3\u30b9 \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0
label.system.vm.details=\u30b7\u30b9\u30c6\u30e0 VM \u306e\u8a73\u7d30
label.system.vm.scaled.up=\u30b7\u30b9\u30c6\u30e0 VM \u306e\u30b5\u30a4\u30ba\u304c\u62e1\u5927\u3055\u308c\u307e\u3057\u305f
@@ -1484,7 +1536,11 @@
label.updating=\u66f4\u65b0\u3057\u3066\u3044\u307e\u3059
label.upgrade.required=\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u304c\u5fc5\u8981\u3067\u3059
label.upgrade.router.newer.template=\u30eb\u30fc\u30bf\u30fc\u3092\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3057\u3066\u65b0\u3057\u3044\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u4f7f\u7528\u3059\u308b
+label.upload.from.local=\u30ed\u30fc\u30ab\u30eb\u304b\u3089\u306e\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9
+label.upload.template.from.local=\u30ed\u30fc\u30ab\u30eb\u304b\u3089\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9
label.upload=\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9
+label.upload.volume.from.local=\u30ed\u30fc\u30ab\u30eb\u304b\u3089\u306e\u30dc\u30ea\u30e5\u30fc\u30e0\u306e\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9
+label.upload.volume.from.url=URL \u304b\u3089\u306e\u30dc\u30ea\u30e5\u30fc\u30e0\u306e\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9
label.upload.volume=\u30dc\u30ea\u30e5\u30fc\u30e0\u306e\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9
label.url=URL
label.usage.interface=\u4f7f\u7528\u72b6\u6cc1\u6e2c\u5b9a\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9
@@ -1492,6 +1548,7 @@
label.usage.server=\u4f7f\u7528\u72b6\u6cc1\u6e2c\u5b9a\u30b5\u30fc\u30d0\u30fc
label.used=\u4f7f\u7528\u4e2d
label.user.data=\u30e6\u30fc\u30b6\u30fc \u30c7\u30fc\u30bf
+label.user.details=\u30e6\u30fc\u30b6\u30fc\u306e\u8a73\u7d30
label.username.lower=\u30e6\u30fc\u30b6\u30fc\u540d
label.username=\u30e6\u30fc\u30b6\u30fc\u540d
label.users=\u30e6\u30fc\u30b6\u30fc
@@ -1584,6 +1641,7 @@
label.VPC.limits=VPC \u5236\u9650
label.vpc.offering.details=VPC \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u306e\u8a73\u7d30
label.vpc.offering=VPC \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0
+label.vpc.router.details=VPC \u30eb\u30fc\u30bf\u30fc\u306e\u8a73\u7d30
label.VPC.router.details=VPC \u30eb\u30fc\u30bf\u30fc\u306e\u8a73\u7d30
label.vpc.supportsregionlevelvpc=\u30ea\u30fc\u30b8\u30e7\u30f3\u30ec\u30d9\u30eb\u306e VPC \u3092\u30b5\u30dd\u30fc\u30c8\u3059\u308b
label.vpc.virtual.router=VPC \u4eee\u60f3\u30eb\u30fc\u30bf\u30fc
@@ -1755,6 +1813,8 @@
message.cluster.dedicated=\u30af\u30e9\u30b9\u30bf\u30fc\u3092\u5c02\u7528\u306b\u8a2d\u5b9a\u3057\u307e\u3057\u305f
message.cluster.dedication.released=\u5c02\u7528\u30af\u30e9\u30b9\u30bf\u30fc\u304c\u89e3\u653e\u3055\u308c\u307e\u3057\u305f
message.configure.all.traffic.types=\u8907\u6570\u306e\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304c\u3042\u308a\u307e\u3059\u3002[\u7de8\u96c6] \u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u7a2e\u985e\u3054\u3068\u306b\u30e9\u30d9\u30eb\u3092\u69cb\u6210\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+message.configure.firewall.rules.allow.traffic=\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u8a31\u53ef\u3059\u308b\u3088\u3046\u30eb\u30fc\u30eb\u3092\u8a2d\u5b9a\u3059\u308b
+message.configure.firewall.rules.block.traffic=\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u30d6\u30ed\u30c3\u30af\u3059\u308b\u3088\u3046\u30eb\u30fc\u30eb\u3092\u8a2d\u5b9a\u3059\u308b
message.configure.ldap=LDAP \u3092\u69cb\u6210\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?
message.configuring.guest.traffic=\u30b2\u30b9\u30c8 \u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u69cb\u6210\u3057\u3066\u3044\u307e\u3059
message.configuring.physical.networks=\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u69cb\u6210\u3057\u3066\u3044\u307e\u3059
@@ -1851,11 +1911,15 @@
message.delete.VPN.connection=VPN \u63a5\u7d9a\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?
message.delete.VPN.customer.gateway=\u3053\u306e VPN \u30ab\u30b9\u30bf\u30de\u30fc \u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?
message.delete.VPN.gateway=\u3053\u306e VPN \u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?
+message.desc.add.new.lb.sticky.rule=\u65b0\u3057\u3044 LB \u30b9\u30c6\u30a3\u30c3\u30ad\u30fc\u30eb\u30fc\u30eb\u3092\u8ffd\u52a0
message.desc.advanced.zone=\u3088\u308a\u6d17\u7df4\u3055\u308c\u305f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u6280\u8853\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u307e\u3059\u3002\u3053\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30e2\u30c7\u30eb\u3092\u9078\u629e\u3059\u308b\u3068\u3001\u3088\u308a\u67d4\u8edf\u306b\u30b2\u30b9\u30c8\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u5b9a\u7fa9\u3057\u3001\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u3001VPN\u3001\u30ed\u30fc\u30c9 \u30d0\u30e9\u30f3\u30b5\u30fc\u306e\u30b5\u30dd\u30fc\u30c8\u306e\u3088\u3046\u306a\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3057\u305f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0\u3092\u63d0\u4f9b\u3067\u304d\u307e\u3059\u3002
message.desc.basic.zone=\u5404 VM \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b IP \u30a2\u30c9\u30ec\u30b9\u304c\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304b\u3089\u76f4\u63a5\u5272\u308a\u5f53\u3066\u3089\u308c\u308b\u3001\u5358\u4e00\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 \u30b0\u30eb\u30fc\u30d7 (\u9001\u4fe1\u5143 IP \u30a2\u30c9\u30ec\u30b9\u306e\u30d5\u30a3\u30eb\u30bf\u30fc) \u306e\u3088\u3046\u306a\u30ec\u30a4\u30e4\u30fc 3 \u30ec\u30d9\u30eb\u306e\u65b9\u6cd5\u3067\u30b2\u30b9\u30c8\u3092\u5206\u96e2\u3067\u304d\u307e\u3059\u3002
message.desc.cluster=\u5404\u30dd\u30c3\u30c9\u306b\u306f 1 \u3064\u4ee5\u4e0a\u306e\u30af\u30e9\u30b9\u30bf\u30fc\u304c\u5fc5\u8981\u3067\u3059\u3002\u4eca\u3053\u3053\u3067\u6700\u521d\u306e\u30af\u30e9\u30b9\u30bf\u30fc\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\u30af\u30e9\u30b9\u30bf\u30fc\u306f\u30db\u30b9\u30c8\u3092\u30b0\u30eb\u30fc\u30d7\u5316\u3059\u308b\u65b9\u6cd5\u3067\u3059\u30021 \u3064\u306e\u30af\u30e9\u30b9\u30bf\u30fc\u5185\u306e\u30db\u30b9\u30c8\u306f\u3059\u3079\u3066\u540c\u4e00\u306e\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u304b\u3089\u69cb\u6210\u3055\u308c\u3001\u540c\u3058\u30cf\u30a4\u30d1\u30fc\u30d0\u30a4\u30b6\u30fc\u3092\u5b9f\u884c\u3057\u3001\u540c\u3058\u30b5\u30d6\u30cd\u30c3\u30c8\u4e0a\u306b\u3042\u308a\u3001\u540c\u3058\u5171\u6709\u30b9\u30c8\u30ec\u30fc\u30b8\u306b\u30a2\u30af\u30bb\u30b9\u3057\u307e\u3059\u3002\u5404\u30af\u30e9\u30b9\u30bf\u30fc\u306f 1 \u3064\u4ee5\u4e0a\u306e\u30db\u30b9\u30c8\u3068 1 \u3064\u4ee5\u4e0a\u306e\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 \u30b5\u30fc\u30d0\u30fc\u304b\u3089\u69cb\u6210\u3055\u308c\u307e\u3059\u3002
+message.desc.created.ssh.key.pair=\u4f5c\u6210\u3055\u308c\u305f SSH \u30ad\u30fc\u30da\u30a2
+message.desc.create.ssh.key.pair=SSH \u30ad\u30fc\u30da\u30a2\u306e\u751f\u6210\u304a\u3088\u3073\u767b\u9332\u306e\u305f\u3081\u306b\u4ee5\u4e0b\u306e\u30c7\u30fc\u30bf\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044<br><br>(1) \u516c\u958b\u9375\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b\u5834\u5408\u3001CloudStack \u3067\u306f\u305d\u306e\u516c\u958b\u9375\u3092\u767b\u9332\u3057\u3001\u5bfe\u5fdc\u3059\u308b\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u30ad\u30fc\u3092\u4f7f\u3063\u3066\u30a2\u30af\u30bb\u30b9\u3057\u307e\u3059<br><br>(2) \u516c\u958b\u9375\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u3001CloudStack \u3067\u306f\u65b0\u3057\u3044 SSH \u30ad\u30fc\u30da\u30a2 \u3092\u751f\u6210\u3057\u307e\u3059\u3001\u305d\u306e\u6642 CloudStack \u3067\u306f\u79d8\u5bc6\u9375\u3092\u4fdd\u6301\u3057\u306a\u3044\u305f\u3081\u30e6\u30fc\u30b6\u30fc\u3067\u30b3\u30d4\u30fc\u304a\u3088\u3073\u4fdd\u5b58\u3057\u3066\u304f\u3060\u3055\u3044<br>
message.desc.host=\u5404\u30af\u30e9\u30b9\u30bf\u30fc\u306b\u306f\u5c11\u306a\u304f\u3068\u3082 1 \u3064\u3001\u30b2\u30b9\u30c8 VM \u3092\u5b9f\u884c\u3059\u308b\u305f\u3081\u306e\u30db\u30b9\u30c8 (\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u30fc) \u304c\u5fc5\u8981\u3067\u3059\u3002\u4eca\u3053\u3053\u3067\u6700\u521d\u306e\u30db\u30b9\u30c8\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002CloudStack \u3067\u30db\u30b9\u30c8\u3092\u6a5f\u80fd\u3055\u305b\u308b\u306b\u306f\u3001\u30db\u30b9\u30c8\u306b\u30cf\u30a4\u30d1\u30fc\u30d0\u30a4\u30b6\u30fc\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066 IP \u30a2\u30c9\u30ec\u30b9\u3092\u5272\u308a\u5f53\u3066\u3001\u30db\u30b9\u30c8\u304c CloudStack \u7ba1\u7406\u30b5\u30fc\u30d0\u30fc\u306b\u63a5\u7d9a\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<br/><br/>\u30db\u30b9\u30c8\u306e DNS \u540d\u307e\u305f\u306f IP \u30a2\u30c9\u30ec\u30b9\u3001\u30e6\u30fc\u30b6\u30fc\u540d (\u901a\u5e38\u306f root) \u3068\u30d1\u30b9\u30ef\u30fc\u30c9\u3001\u304a\u3088\u3073\u30db\u30b9\u30c8\u306e\u5206\u985e\u306b\u4f7f\u7528\u3059\u308b\u30e9\u30d9\u30eb\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
message.desc.primary.storage=\u5404\u30af\u30e9\u30b9\u30bf\u30fc\u306b\u306f\u5c11\u306a\u304f\u3068\u3082 1 \u3064\u3001\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 \u30b5\u30fc\u30d0\u30fc\u304c\u5fc5\u8981\u3067\u3059\u3002\u4eca\u3053\u3053\u3067\u6700\u521d\u306e\u30b5\u30fc\u30d0\u30fc\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u306f\u3001\u30af\u30e9\u30b9\u30bf\u30fc\u5185\u306e\u30db\u30b9\u30c8\u4e0a\u3067\u52d5\u4f5c\u3059\u308b\u3059\u3079\u3066\u306e VM \u306e\u30c7\u30a3\u30b9\u30af \u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u683c\u7d0d\u3057\u307e\u3059\u3002\u57fa\u790e\u3068\u306a\u308b\u30cf\u30a4\u30d1\u30fc\u30d0\u30a4\u30b6\u30fc\u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u308b\u3001\u6a19\u6e96\u306b\u6e96\u62e0\u3057\u305f\u30d7\u30ed\u30c8\u30b3\u30eb\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+message.desc.reset.ssh.key.pair=\u3053\u306e VM \u306b\u8ffd\u52a0\u3059\u308b SSH \u30ad\u30fc\u30da\u30a2\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3001\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u6709\u52b9\u306b\u306a\u3063\u3066\u3044\u308b\u5834\u5408 root \u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u306f\u5909\u66f4\u3055\u308c\u308b\u70b9\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044
message.desc.secondary.storage=\u5404\u30be\u30fc\u30f3\u306b\u306f\u5c11\u306a\u304f\u3068\u3082 1 \u3064\u3001NFS \u3064\u307e\u308a\u30bb\u30ab\u30f3\u30c0\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 \u30b5\u30fc\u30d0\u30fc\u304c\u5fc5\u8981\u3067\u3059\u3002\u4eca\u3053\u3053\u3067\u6700\u521d\u306e\u30b5\u30fc\u30d0\u30fc\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\u30bb\u30ab\u30f3\u30c0\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u306f VM \u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3001ISO \u30a4\u30e1\u30fc\u30b8\u3001\u304a\u3088\u3073VM \u30c7\u30a3\u30b9\u30af \u30dc\u30ea\u30e5\u30fc\u30e0\u306e\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u3092\u683c\u7d0d\u3057\u307e\u3059\u3002\u3053\u306e\u30b5\u30fc\u30d0\u30fc\u306f\u30be\u30fc\u30f3\u5185\u306e\u3059\u3079\u3066\u306e\u30db\u30b9\u30c8\u3067\u4f7f\u7528\u3067\u304d\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<br/><br/>IP \u30a2\u30c9\u30ec\u30b9\u3068\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3055\u308c\u305f\u30d1\u30b9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
message.desc.zone=\u30be\u30fc\u30f3\u306f CloudStack \u74b0\u5883\u5185\u306e\u6700\u5927\u306e\u7d44\u7e54\u5358\u4f4d\u3067\u3001\u901a\u5e38\u3001\u5358\u4e00\u306e\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u306b\u76f8\u5f53\u3057\u307e\u3059\u3002\u30be\u30fc\u30f3\u306b\u3088\u3063\u3066\u7269\u7406\u7684\u306a\u5206\u96e2\u3068\u5197\u9577\u6027\u304c\u63d0\u4f9b\u3055\u308c\u307e\u3059\u3002\u30be\u30fc\u30f3\u306f 1 \u3064\u4ee5\u4e0a\u306e\u30dd\u30c3\u30c9 (\u5404\u30dd\u30c3\u30c9\u306f\u30db\u30b9\u30c8\u3068\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 \u30b5\u30fc\u30d0\u30fc\u304b\u3089\u69cb\u6210\u3055\u308c\u307e\u3059) \u3068\u3001\u30be\u30fc\u30f3\u5185\u306e\u3059\u3079\u3066\u306e\u30dd\u30c3\u30c9\u3067\u5171\u6709\u3055\u308c\u308b\u30bb\u30ab\u30f3\u30c0\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 \u30b5\u30fc\u30d0\u30fc\u304b\u3089\u69cb\u6210\u3055\u308c\u307e\u3059\u3002
message.detach.disk=\u3053\u306e\u30c7\u30a3\u30b9\u30af\u3092\u30c7\u30bf\u30c3\u30c1\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?
@@ -1873,7 +1937,7 @@
message.download.volume.confirm=\u3053\u306e\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?
message.download.volume=\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b\u306b\u306f <a href\="\#">00000</a> \u3092\u30af\u30ea\u30c3\u30af\u3057\u307e\u3059
message.edit.account=\u7de8\u96c6 (\u300c-1\u300d\u306f\u3001\u30ea\u30bd\u30fc\u30b9\u4f5c\u6210\u306e\u91cf\u306b\u5236\u9650\u304c\u306a\u3044\u3053\u3068\u3092\u793a\u3057\u307e\u3059)
-message.edit.confirm=[\u4fdd\u5b58] \u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u524d\u306b\u5909\u66f4\u5185\u5bb9\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+message.edit.confirm=\u4fdd\u5b58\u3059\u308b\u524d\u306b\u5909\u66f4\u5185\u5bb9\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044
message.edit.limits=\u6b21\u306e\u30ea\u30bd\u30fc\u30b9\u306b\u5236\u9650\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u300c-1\u300d\u306f\u3001\u30ea\u30bd\u30fc\u30b9\u4f5c\u6210\u306b\u5236\u9650\u304c\u306a\u3044\u3053\u3068\u3092\u793a\u3057\u307e\u3059\u3002
message.edit.traffic.type=\u3053\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u7a2e\u985e\u306b\u95a2\u9023\u4ed8\u3051\u308b\u30c8\u30e9\u30d5\u30a3\u30c3\u30af \u30e9\u30d9\u30eb\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
message.enable.account=\u3053\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u6709\u52b9\u306b\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?
@@ -1937,6 +2001,7 @@
message.join.project=\u3053\u308c\u3067\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u53c2\u52a0\u3057\u307e\u3057\u305f\u3002\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u53c2\u7167\u3059\u308b\u306b\u306f\u30d7\u30ed\u30b8\u30a7\u30af\u30c8 \u30d3\u30e5\u30fc\u306b\u5207\u308a\u66ff\u3048\u3066\u304f\u3060\u3055\u3044\u3002
message.launch.vm.on.private.network=\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u306a\u5c02\u7528\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3067\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u8d77\u52d5\u3057\u307e\u3059\u304b?
message.launch.zone=\u30be\u30fc\u30f3\u3092\u8d77\u52d5\u3059\u308b\u6e96\u5099\u304c\u3067\u304d\u307e\u3057\u305f\u3002\u6b21\u306e\u624b\u9806\u306b\u9032\u3093\u3067\u304f\u3060\u3055\u3044\u3002
+message.link.domain.to.ldap=\u3053\u306e\u30c9\u30e1\u30a4\u30f3\u3068 LDAP \u306e\u81ea\u52d5\u540c\u671f\u3092\u6709\u52b9\u5316\u3059\u308b
message.listView.subselect.multi=(Ctrl/Cmd \u30ad\u30fc\u3092\u62bc\u3057\u306a\u304c\u3089\u30af\u30ea\u30c3\u30af)
message.lock.account=\u3053\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u30ed\u30c3\u30af\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b? \u3053\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u3059\u3079\u3066\u306e\u30e6\u30fc\u30b6\u30fc\u304c\u30af\u30e9\u30a6\u30c9 \u30ea\u30bd\u30fc\u30b9\u3092\u7ba1\u7406\u3067\u304d\u306a\u304f\u306a\u308a\u307e\u3059\u3002\u305d\u306e\u5f8c\u3082\u65e2\u5b58\u306e\u30ea\u30bd\u30fc\u30b9\u306b\u306f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u3059\u3002
message.migrate.instance.confirm=\u4eee\u60f3\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u79fb\u884c\u5148\u306f\u6b21\u306e\u30db\u30b9\u30c8\u3067\u3088\u308d\u3057\u3044\u3067\u3059\u304b?
@@ -1947,6 +2012,7 @@
message.migrate.volume=\u5225\u306e\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8\u306b\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u79fb\u884c\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?
message.network.addVM.desc=\u3053\u306e VM \u3092\u8ffd\u52a0\u3059\u308b\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3053\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u305f\u3081\u306e\u65b0\u3057\u3044 NIC \u304c\u8ffd\u52a0\u3055\u308c\u307e\u3059\u3002
message.network.addVMNIC=\u3053\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u65b0\u3057\u3044 VM NIC \u3092\u8ffd\u52a0\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?
+message.network.remote.access.vpn.configuration=\u30ea\u30e2\u30fc\u30c8\u30a2\u30af\u30bb\u30b9 VPN \u306e\u8a2d\u5b9a\u306f\u751f\u6210\u3055\u308c\u307e\u3057\u305f\u304c\u9069\u7528\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u63a5\u7d9a\u6027\u3092\u78ba\u8a8d\u3057\u3082\u3046\u4e00\u5ea6\u8a66\u3057\u3066\u304f\u3060\u3055\u3044
message.new.user=\u30a2\u30ab\u30a6\u30f3\u30c8\u306b\u65b0\u3057\u3044\u30e6\u30fc\u30b6\u30fc\u3092\u8ffd\u52a0\u3059\u308b\u305f\u3081\u306b\u3001\u6b21\u306e\u60c5\u5831\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
message.no.affinity.groups=\u30a2\u30d5\u30a3\u30cb\u30c6\u30a3 \u30b0\u30eb\u30fc\u30d7\u304c\u3042\u308a\u307e\u305b\u3093\u3002\u6b21\u306e\u624b\u9806\u306b\u9032\u3093\u3067\u304f\u3060\u3055\u3044\u3002
message.no.host.available=\u79fb\u884c\u306b\u4f7f\u7528\u3067\u304d\u308b\u30db\u30b9\u30c8\u306f\u3042\u308a\u307e\u305b\u3093
@@ -1959,23 +2025,29 @@
message.number.pods=<h2>\u30dd\u30c3\u30c9<span>\u6570</span></h2>
message.number.storage=<h2>\u30d7\u30e9\u30a4\u30de\u30ea \u30b9\u30c8\u30ec\u30fc\u30b8 \u30dc\u30ea\u30e5\u30fc\u30e0<span>\u6570</span></h2>
message.number.zones=<h2>\u30be\u30fc\u30f3<span>\u6570</span></h2>
+message.password.has.been.reset.to=\u6b21\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u306b\u30ea\u30bb\u30c3\u30c8\u3055\u308c\u307e\u3057\u305f\:
+message.password.of.the.vm.has.been.reset.to=VM \u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u306f\u6b21\u306e\u3088\u3046\u306b\u30ea\u30bb\u30c3\u30c8\u3055\u308c\u307e\u3057\u305f\:
message.pending.projects.1=\u4fdd\u7559\u4e2d\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u62db\u5f85\u72b6\u304c\u3042\u308a\u307e\u3059\u3002
message.pending.projects.2=\u8868\u793a\u3059\u308b\u306b\u306f\u30d7\u30ed\u30b8\u30a7\u30af\u30c8 \u30bb\u30af\u30b7\u30e7\u30f3\u306b\u79fb\u52d5\u3057\u3066\u3001\u4e00\u89a7\u304b\u3089\u62db\u5f85\u72b6\u3092\u9078\u629e\u3057\u307e\u3059\u3002
message.please.add.at.lease.one.traffic.range=\u5c11\u306a\u304f\u3068\u3082 1 \u3064\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u7bc4\u56f2\u3092\u8ffd\u52a0\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+message.please.confirm.remove.ssh.key.pair=\u3053\u306e SSH \u30ad\u30fc\u30da\u30a2\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?
message.please.proceed=\u6b21\u306e\u624b\u9806\u306b\u9032\u3093\u3067\u304f\u3060\u3055\u3044\u3002
message.please.select.a.configuration.for.your.zone=\u30be\u30fc\u30f3\u306e\u69cb\u6210\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
message.please.select.a.different.public.and.management.network.before.removing=\u524a\u9664\u306e\u524d\u306b\u7570\u306a\u308b\u30d1\u30d6\u30ea\u30c3\u30af\u304a\u3088\u3073\u7ba1\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
message.please.select.networks=\u4eee\u60f3\u30de\u30b7\u30f3\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+message.please.select.ssh.key.pair.use.with.this.vm=\u3053\u306e VM \u306b\u4f7f\u7528\u3059\u308b SSH \u30ad\u30fc\u30da\u30a2\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044
message.please.wait.while.zone.is.being.created=\u30be\u30fc\u30f3\u304c\u4f5c\u6210\u3055\u308c\u308b\u307e\u3067\u3057\u3070\u3089\u304f\u304a\u5f85\u3061\u304f\u3060\u3055\u3044...
message.pod.dedication.released=\u5c02\u7528\u30dd\u30c3\u30c9\u304c\u89e3\u653e\u3055\u308c\u307e\u3057\u305f
message.portable.ip.delete.confirm=\u3053\u306e\u30dd\u30fc\u30bf\u30d6\u30eb IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?
message.project.invite.sent=\u30e6\u30fc\u30b6\u30fc\u306b\u62db\u5f85\u72b6\u304c\u9001\u4fe1\u3055\u308c\u307e\u3057\u305f\u3002\u30e6\u30fc\u30b6\u30fc\u304c\u62db\u5f85\u3092\u627f\u8afe\u3059\u308b\u3068\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u8ffd\u52a0\u3055\u308c\u307e\u3059\u3002
message.public.traffic.in.advanced.zone=\u30af\u30e9\u30a6\u30c9\u5185\u306e VM \u304c\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3068\u3001\u30d1\u30d6\u30ea\u30c3\u30af \u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u304c\u751f\u6210\u3055\u308c\u307e\u3059\u3002\u3053\u306e\u305f\u3081\u306b\u3001\u4e00\u822c\u306b\u30a2\u30af\u30bb\u30b9\u53ef\u80fd\u306a IP \u30a2\u30c9\u30ec\u30b9\u3092\u5272\u308a\u5f53\u3066\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u30a8\u30f3\u30c9 \u30e6\u30fc\u30b6\u30fc\u306f CloudStack \u306e\u30e6\u30fc\u30b6\u30fc \u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u3092\u4f7f\u7528\u3057\u3066\u3053\u308c\u3089\u306e IP \u30a2\u30c9\u30ec\u30b9\u3092\u53d6\u5f97\u3057\u3001\u30b2\u30b9\u30c8 \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3068\u30d1\u30d6\u30ea\u30c3\u30af \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u9593\u306b NAT \u3092\u5b9f\u88c5\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<br/><br/>\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8 \u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u305f\u3081\u306b\u3001\u5c11\u306a\u304f\u3068\u3082 1 \u3064 IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
message.public.traffic.in.basic.zone=\u30af\u30e9\u30a6\u30c9\u5185\u306e VM \u304c\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u304b\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u7d4c\u7531\u3067\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306b\u30b5\u30fc\u30d3\u30b9\u3092\u63d0\u4f9b\u3059\u308b\u3068\u3001\u30d1\u30d6\u30ea\u30c3\u30af \u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u304c\u751f\u6210\u3055\u308c\u307e\u3059\u3002\u3053\u306e\u305f\u3081\u306b\u3001\u4e00\u822c\u306b\u30a2\u30af\u30bb\u30b9\u53ef\u80fd\u306a IP \u30a2\u30c9\u30ec\u30b9\u3092\u5272\u308a\u5f53\u3066\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u4f5c\u6210\u3059\u308b\u3068\u3001\u30b2\u30b9\u30c8 IP \u30a2\u30c9\u30ec\u30b9\u306e\u307b\u304b\u306b\u3053\u306e\u30d1\u30d6\u30ea\u30c3\u30af IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u304b\u3089\u30a2\u30c9\u30ec\u30b9\u304c 1 \u3064\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u5272\u308a\u5f53\u3066\u3089\u308c\u307e\u3059\u3002\u30d1\u30d6\u30ea\u30c3\u30af IP \u30a2\u30c9\u30ec\u30b9\u3068\u30b2\u30b9\u30c8 IP \u30a2\u30c9\u30ec\u30b9\u306e\u9593\u306b\u3001\u9759\u7684\u306a 1 \u5bfe 1 \u306e NAT \u304c\u81ea\u52d5\u7684\u306b\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3055\u308c\u307e\u3059\u3002\u30a8\u30f3\u30c9 \u30e6\u30fc\u30b6\u30fc\u306f CloudStack \u306e\u30e6\u30fc\u30b6\u30fc \u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u3092\u4f7f\u7528\u3057\u3066\u8ffd\u52a0\u306e IP \u30a2\u30c9\u30ec\u30b9\u3092\u53d6\u5f97\u3057\u3001\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3068\u30d1\u30d6\u30ea\u30c3\u30af IP \u30a2\u30c9\u30ec\u30b9\u306e\u9593\u306b\u9759\u7684 NAT \u3092\u5b9f\u88c5\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002
+message.question.are.you.sure.you.want.to.add=\u8ffd\u52a0\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?
message.read.admin.guide.scaling.up=\u30b5\u30a4\u30ba\u3092\u62e1\u5927\u3059\u308b\u524d\u306b\u7ba1\u7406\u8005\u30ac\u30a4\u30c9\u306e\u52d5\u7684\u306a\u30b5\u30a4\u30ba\u5909\u66f4\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3092\u304a\u8aad\u307f\u304f\u3060\u3055\u3044\u3002
message.recover.vm=\u3053\u306e VM \u3092\u5fa9\u5143\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?
message.redirecting.region=\u30ea\u30fc\u30b8\u30e7\u30f3\u306b\u30ea\u30c0\u30a4\u30ec\u30af\u30c8\u3057\u3066\u3044\u307e\u3059...
message.reinstall.vm=\u6ce8\: \u6ce8\u610f\u3057\u3066\u7d9a\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3053\u308c\u306b\u3088\u308a VM \u304c\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u304b\u3089\u518d\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u307e\u3059\u3002\u30eb\u30fc\u30c8 \u30c7\u30a3\u30b9\u30af\u4e0a\u306e\u30c7\u30fc\u30bf\u306f\u5931\u308f\u308c\u307e\u3059\u3002\u8ffd\u52a0\u306e\u30c7\u30fc\u30bf \u30dc\u30ea\u30e5\u30fc\u30e0\u304c\u3042\u308b\u5834\u5408\u306f\u3001\u305d\u306e\u30dc\u30ea\u30e5\u30fc\u30e0\u306b\u5f71\u97ff\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+message.removed.ssh.key.pair=\u524a\u9664\u3055\u308c\u305f SSH \u30ad\u30fc\u30da\u30a2
message.remove.ldap=LDAP \u69cb\u6210\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?
message.remove.region=\u3053\u306e\u7ba1\u7406\u30b5\u30fc\u30d0\u30fc\u304b\u3089\u3053\u306e\u30ea\u30fc\u30b8\u30e7\u30f3\u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?
message.remove.vpc=VPC \u3092\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?
@@ -2003,6 +2075,7 @@
message.setup.physical.network.during.zone.creation.basic=\u57fa\u672c\u30be\u30fc\u30f3\u3092\u8ffd\u52a0\u3059\u308b\u3068\u304d\u306f\u3001\u30cf\u30a4\u30d1\u30fc\u30d0\u30a4\u30b6\u30fc\u4e0a\u306e NIC \u306b\u5bfe\u5fdc\u3059\u308b 1 \u3064\u306e\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3067\u304d\u307e\u3059\u3002\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306f\u3044\u304f\u3064\u304b\u306e\u7a2e\u985e\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u4f1d\u9001\u3057\u307e\u3059\u3002<br/><br/>\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u307b\u304b\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u7a2e\u985e\u3092<strong>\u30c9\u30e9\u30c3\u30b0 \u30a2\u30f3\u30c9 \u30c9\u30ed\u30c3\u30d7</strong>\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002
message.setup.physical.network.during.zone.creation=\u62e1\u5f35\u30be\u30fc\u30f3\u3092\u8ffd\u52a0\u3059\u308b\u3068\u304d\u306f\u30011 \u3064\u4ee5\u4e0a\u306e\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u5404\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306f\u30cf\u30a4\u30d1\u30fc\u30d0\u30a4\u30b6\u30fc\u4e0a\u306e 1 \u3064\u306e NIC \u306b\u5bfe\u5fdc\u3057\u307e\u3059\u3002\u5404\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3067\u306f\u3001\u7d44\u307f\u5408\u308f\u305b\u306b\u5236\u9650\u304c\u3042\u308a\u307e\u3059\u304c\u30011 \u3064\u4ee5\u4e0a\u306e\u7a2e\u985e\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u901a\u4fe1\u3067\u304d\u307e\u3059\u3002<br/><br/>\u5404\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u5bfe\u3057\u3066<strong>\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u7a2e\u985e\u3092\u30c9\u30e9\u30c3\u30b0 \u30a2\u30f3\u30c9 \u30c9\u30ed\u30c3\u30d7</strong>\u3057\u3066\u304f\u3060\u3055\u3044\u3002
message.setup.successful=\u30af\u30e9\u30a6\u30c9\u304c\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3055\u308c\u307e\u3057\u305f\u3002
+message.snapshot.schedule=\u4ee5\u4e0b\u306e\u5229\u7528\u53ef\u80fd\u306a\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u9078\u629e\u3057\u30dd\u30ea\u30b7\u30fc\u53c2\u7167\u3092\u9069\u7528\u3059\u308b\u3053\u3068\u3067\u30b9\u30b1\u30b8\u30e5\u30fc\u30ea\u30f3\u30b0\u306b\u3088\u308b\u9023\u7d9a\u3057\u305f\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u3059
message.specifiy.tag.key.value=\u30bf\u30b0 \u30ad\u30fc\u304a\u3088\u3073\u5024\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044
message.specify.url=URL \u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044
message.step.1.continue=\u7d9a\u884c\u3059\u308b\u306b\u306f\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u307e\u305f\u306f ISO \u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044
diff --git a/client/WEB-INF/classes/resources/messages_ko_KR.properties b/client/WEB-INF/classes/resources/messages_ko_KR.properties
index 5559146..344f41b 100644
--- a/client/WEB-INF/classes/resources/messages_ko_KR.properties
+++ b/client/WEB-INF/classes/resources/messages_ko_KR.properties
@@ -634,6 +634,7 @@
label.lb.algorithm.roundrobin=\ub77c\uc6b4\ub4dc \ub85c\ube48
label.lb.algorithm.source=\uc2dc\uc791 \uc704\uce58
label.LB.isolation=\ub124\ud2b8\uc6cc\ud06c \ub85c\ub4dc \uacf5\uc720 \ubd84\ub9ac
+label.ldap.link.type=\uc885\ub958
label.level=\ub808\ubca8
label.load.balancer=\ub124\ud2b8\uc6cc\ud06c \ub85c\ub4dc \uacf5\uc720 \uc7a5\uce58
label.load.balancing.policies=\ub124\ud2b8\uc6cc\ud06c \ub85c\ub4dc \uacf5\uc720 \uc815\ucc45
@@ -785,8 +786,6 @@
label.numretries=\uc7ac\uc2dc\ud589 \ud68c\uc218
label.ocfs2=OCFS2
label.offer.ha=\uace0\uac00\uc6a9\uc131 \uc81c\uacf5
-label.ovm.traffic.label=OVM \ud2b8\ub798\ud53d \ub77c\ubca8
-label.ovm3.traffic.label=OVM3 \ud2b8\ub798\ud53d \ub77c\ubca8
label.ok=\ud655\uc778
label.optional=\uc635\uc158
label.order=\uc21c\uc11c
@@ -1295,7 +1294,6 @@
message.download.template=\ud15c\ud50c\ub9bf\uc744 \ub2e4\uc6b4\ub85c\ub4dc\ud558\ub824\uba74 <a href\="\#">00000</a>\uc744 \ud074\ub9ad\ud569\ub2c8\ub2e4.
message.download.volume=\ubcfc\ub968\uc744 \ub2e4\uc6b4\ub85c\ub4dc\ud558\ub824\uba74 <a href\="\#">00000</a>\uc744 \ud074\ub9ad\ud569\ub2c8\ub2e4.
message.edit.account=\ud3b8\uc9d1 ("-1"\ub294 \uc790\uc6d0 \ub9cc\ub4e4\uae30 \uc22b\uc790\uc5d0 \uc81c\ud55c\uc774 \uc5c6\ub294 \uac12\uc785\ub2c8\ub2e4.)
-message.edit.confirm=[\uc800\uc7a5]\uc744 \ud074\ub9ad\ud558\uae30 \uc804\uc73c\ub85c \ubcc0\uacbd \ub0b4\uc6a9\uc744 \ud655\uc778\ud574 \uc8fc\uc2ed\uc2dc\uc624.
message.edit.limits=\ub2e4\uc74c \uc790\uc6d0\uc5d0 \uc81c\ud55c\uc744 \uc9c0\uc815\ud574 \uc8fc\uc2ed\uc2dc\uc624.\u300c-1\u300d\uc740 \uc790\uc6d0 \ub9cc\ub4e4\uae30\uc5d0 \uc81c\ud55c\uc774 \uc5c6\ub2e4\ub294 \uc758\ubbf8\uc785\ub2c8\ub2e4.
message.edit.traffic.type=\ud604\uc7ac \ud2b8\ub798\ud53d\uc758 \uc885\ub958\uc5d0 \uad00\ub828 \ud2b8\ub798\ud53d \ub77c\ubca8\uc744 \uc9c0\uc815\ud574 \uc8fc\uc2ed\uc2dc\uc624.
message.enable.account=\ud604\uc7ac \uacc4\uc815 \uc815\ubcf4\ub97c \uc0ac\uc6a9 \ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
diff --git a/client/WEB-INF/classes/resources/messages_nb_NO.properties b/client/WEB-INF/classes/resources/messages_nb_NO.properties
index c2f79b0..99d0dd6 100644
--- a/client/WEB-INF/classes/resources/messages_nb_NO.properties
+++ b/client/WEB-INF/classes/resources/messages_nb_NO.properties
@@ -16,20 +16,26 @@
# under the License.
changed.item.properties=Endrede egenskaper
+confirm.enable.s3=Vennligst fyll inn f\u00f8lgende informasjon for \u00e5 aktivere st\u00f8tte for S3-st\u00f8ttet sekund\u00e6rlagring
confirm.enable.swift=Vennligst fyll inn f\u00f8lgende informasjon for \u00e5 aktivere st\u00f8tte for Swift
error.could.not.change.your.password.because.ldap.is.enabled=Feil kunne ikke bytte ditt passord fordi LDAP er aktivert.
error.could.not.enable.zone=Kunne ikke aktivere sonen
error.installWizard.message=Noe gikk galt. G\u00e5 tilbake og korriger feilene.
error.invalid.username.password=Ugyldig brukernavn eller passord
error.login=Ditt brukernavn/passord stemmer ikke overens med v\u00e5re opplysninger.
+error.menu.select=Kan ikke utf\u00f8re handlingen grunnet ingen valgte elementer.
error.mgmt.server.inaccessible=Administrasjonsserver er utilgjengelig. Vennligst pr\u00f8v igjen senere.
error.password.not.match=Passordfeltene sammensvarer ikke
+error.please.specify.physical.network.tags=Nettverkstilbud er ikke tilgjengelig f\u00f8r du spesifiserer knagger for dette fysiske nettverket.
error.session.expired=Din sesjon har utl\u00f8pt.
error.something.went.wrong.please.correct.the.following=Noe gikk galt. Vennligst korrig\u00e9r f\u00f8lgende
error.unable.to.reach.management.server=Kan ikke oppn\u00e5 kontakt med administrasjonsserveren
error.unresolved.internet.name=Ditt internettnavn kan ikke l\u00f8ses.
+force.delete.domain.warning=Advarsel\: dette alternativet vil medf\u00f8re at alle underdomener og alle assosierte kontoer og dere resurser blir slettet.
force.delete=Tving sletting
+force.remove.host.warning=Advarsel\: ved valg av dette alternativet vil CloudStack stoppe alle kj\u00f8rende virtuelle maskiner, f\u00f8r verten blir fjernet fra klyngen.
force.remove=Tving fjerning
+force.stop.instance.warning=Advarsel\: \u00c5 tvinge en stopp av denne instansen b\u00f8r v\u00e6re siste utvei. Det kan f\u00f8re til tap av data og ukonsistent oppf\u00f8rsel av virtuell maskinstatus.
force.stop=Tving stopp
hint.no.host.tags=Ingen hosttagger funnet
hint.no.storage.tags=Ingen lagringstagger funnet
@@ -38,21 +44,27 @@
ICMP.code=ICMP-kode
ICMP.type=ICMP-type
image.directory=Bilde-katalog
+inline=I Rekke
instances.actions.reboot.label=Omstart av instans
label.about.app=Om CloudStack
label.about=Om
label.accept.project.invitation=Aksepter prosjektinvitasjon
label.account.and.security.group=Konto, Sikkerhetsgruppe
+label.account.details=Kontodetaljer
label.account.id=Konto ID
label.account=Konto
label.account.lower=konto
label.account.name=Kontonavn
label.accounts=Kontoer
+label.account.specific=Kontospesifikk
+label.account.type=Kontotype
label.acl=ACL
label.acl.id=ACL ID
+label.acl.list.rules=ACL Liste Regler
label.acl.name=ACL Navn
label.acl.replaced=ACL erstattet
label.acquire.new.ip=Tilegne ny IP
+label.acquire.new.secondary.ip=Tilegne ny sekund\u00e6r IP
label.action.attach.disk.processing=Tilknytter Disk....
label.action.attach.disk=Tilknytt Disk
label.action.attach.iso.processing=Tilknytter ISO....
@@ -62,6 +74,7 @@
label.action.change.password=Endre passord
label.action.change.service=Endre Tjeneste
label.action.change.service.processing=Endrer Tjeneste....
+label.action.configure.samlauthorization=Konfigurer SAML SSO-autorisering
label.action.copy.ISO=Kopier ISO
label.action.copy.ISO.processing=Kopierer ISO....
label.action.copy.template=Kopier mal
@@ -118,11 +131,12 @@
label.action.delete.volume=Slett volum
label.action.delete.zone.processing=Sletter sone....
label.action.delete.zone=Slett sone
-label.action.destroy.instance.processing=\u00d8delegge instans....
+label.action.destroy.instance.processing=\u00d8delegger instans....
label.action.destroy.instance=\u00d8delegg Instans
label.action.destroy.systemvm.processing=Sletter system VM....
label.action.destroy.systemvm=Slett system VM
label.action.detach.disk=Frakoble disk
+label.action.detach.disk.processing=Kobler fra disk....
label.action.detach.iso=Frakoble ISO
label.action.detach.iso.processing=Frakobler ISO....
label.action.disable.account=Deaktiver konto
@@ -155,6 +169,7 @@
label.action.edit.network.processing=Editerer Nettverk....
label.action.edit.pod=Editer Pod
label.action.edit.primary.storage=Editer Prim\u00e6rlagring
+label.action.edit.resource.limits=Rediger ressursbegrensninger
label.action.edit.service.offering=Editer tjenestetilbud
label.action.edit.template=Editer mal
label.action.edit.user=Rediger bruker
@@ -175,6 +190,10 @@
label.action.enable.user.processing=Aktiverer Bruker....
label.action.enable.zone=Aktiver sone
label.action.enable.zone.processing=Aktiverer sone...
+label.action.expunge.instance.processing=Sletter instans....
+label.action.expunge.instance=Slett Instans Permanent
+label.action.force.reconnect.processing=Kobler til p\u00e5 nytt....
+label.action.force.reconnect=Tving ny tilkobling
label.action.generate.keys=Generer n\u00f8kler
label.action.generate.keys.processing=Genererer n\u00f8kler....
label.action=Handling
@@ -195,9 +214,13 @@
label.action.reboot.router.processing=Omstaer Instans....
label.action.reboot.systemvm=Omstart System VM
label.action.reboot.systemvm.processing=Omstarter System VM
+label.action.recurring.snapshot=Gjentagende \u00f8yeblikksbilder
label.action.register.iso=Registrer ISO
+label.action.register.template=Registrer mal fra en URL
+label.action.release.ip=Frigj\u00f8r IP
+label.action.release.ip.processing=Frigj\u00f8r IP-adresse....
label.action.remove.host=Fjern Vert
-label.action.remove.host.processing=Fjerner Vest....
+label.action.remove.host.processing=Fjerner Vert....
label.action.reset.password.processing=Tilbakestiller passord....
label.action.reset.password=Tilbakestill passord
label.action.resize.volume=Endre st\u00f8rrelse p\u00e5 volum
@@ -205,6 +228,8 @@
label.action.resource.limits=Ressursbegrensninger
label.action.restore.instance=Gjenopprett Instans
label.action.restore.instance.processing=Gjenoppretter Instans....
+label.action.revert.snapshot.processing=Tilbakestiller til \u00f8yeblikksbilde....
+label.action.revert.snapshot=Tilbakestill til \u00f8yeblikksbilde
label.actions=Handlinger
label.action.start.instance.processing=Starter instans....
label.action.start.instance=Start instans
@@ -220,9 +245,15 @@
label.action.stop.systemvm=Stopp System VM
label.action.take.snapshot.processing=Tar \u00f8yeblikksbilde....
label.action.take.snapshot=Ta \u00f8yeblikksbilde
+label.action.unmanage.cluster=Fjern administrasjon av klynge
label.action.unmanage.cluster.processing=Fjerner administrasjon av klynge...
+label.action.update.OS.preference=Oppdater OS-preferanser
+label.action.update.OS.preference.processing=Oppdaterer OS-preferanser.....
+label.action.update.resource.count=Oppdater resurs oversikt
+label.action.update.resource.count.processing=Oppdaterer resurs oversikt
label.action.vmsnapshot.create=Ta VM \u00f8yeblikksbilde
label.action.vmsnapshot.delete=Slett VM \u00f8yeblikksbilde
+label.action.vmsnapshot.revert=Tilbakestill til maskin\u00f8yeblikksbilde
label.activate.project=Aktiver prosjekt
label.active.sessions=Aktive sesjoner
label.add.account=Legg til konto
@@ -231,13 +262,24 @@
label.add.account.to.project=Legg kontoen til prosjektet
label.add.ACL=Legg til ACL
label.add.acl.list=Legg til ACL liste
+label.add.affinity.group=Legg til affinitetsgruppe
+label.add.baremetal.dhcp.device=Legg Til Barmetall DHCP Enhet
+label.add.baremetal.rack.configuration=Legg Til Barmetall Rack Konfigurering
label.add.BigSwitchBcf.device=Legg til BigSwitch BCF kontroller
+label.add.BrocadeVcs.device=Legg til Brocade VCS Svitsj
+label.add.by.cidr=Legg til med CIDR
+label.add.by.group=Legg til med gruppe
label.add.by=Legg til ved
+label.add.ciscoASA1000v=Legg til CiscoASA1000v Resurs
label.add.cluster=Legg til klynge
label.add.compute.offering=Legg til systemtilbud
+label.add.direct.iprange=Legg til direkte IP-rekke
+label.add.disk.offering=Legg til disktilbud
label.add.domain=Legg til domene
+label.added.brocade.vcs.switch=Ny Brocade Vcs svitsj lagt til
label.added.network.offering=La til nettverkstilbud
label.added.new.bigswitch.bcf.controller=La til ny BigSwitch BCF kontroller
+label.added.nicira.nvp.controller=La til ny Nicira NVP-kontroller
label.add.egress.rule=Legg til egress regel
label.addes.new.f5=La til ny F5
label.add.F5.device=Legg til F5 enhet
@@ -258,7 +300,12 @@
label.add.intermediate.certificate=Legg til intermediate sertifikat
label.add.internal.lb=Legg til intern LB
label.add.ip.range=Legg til IP-rekke
+label.add.isolated.guest.network=Legg til Isolert gjestenettverk
+label.add.isolated.guest.network.with.sourcenat=Legg til isolert gjestenettverk med kilde-NAT
+label.add.isolated.network=Legg Til Isolert Nettverk
+label.additional.networks=Ekstra nettverk
label.add.ldap.account=Legg til LDAP-konto
+label.add.LDAP.account=Legg til LDAP-konto
label.add=Legg til
label.add.list.name=ACL listenavn
label.add.load.balancer=Legg til lastbalanserer
@@ -274,11 +321,15 @@
label.add.new.NetScaler=Legg til ny NetScaler
label.add.new.PA=Legg til ny Palo Alto
label.add.new.SRX=Legg til ny SRX
+label.add.new.tier=Legg til ny gren
+label.add.nfs.secondary.staging.store=Legg Til NFS sekund\u00e6rmellomlagringsomr\u00e5de
label.add.NiciraNvp.device=Legg til Nvp kontroller
+label.add.NuageVsp.device=Legg til Nuage Virtualized Services Directory (VSD)
label.add.OpenDaylight.device=Legg til OpenDayLight kontroller
label.add.PA.device=Legg til Palo Alto enhet
label.add.physical.network=Legg til fysisk nettverk
label.add.pod=Legg til pod
+label.add.portable.ip.range=Legg til portabel IP-rekke
label.add.port.forwarding.rule=Legg til portvideresendingsregel
label.add.primary.storage=Legg til prim\u00e6rlagring
label.add.private.gateway=Legg til privat gateway
@@ -295,18 +346,21 @@
label.add.system.service.offering=Legg til et systemtilbud
label.add.template=Legg til mal
label.add.to.group=Legg til gruppe
+label.add.ucs.manager=Legg Til UCS Manager
label.add.userdata=Brukerdata
label.add.user=Legg til bruker
label.add.vlan=Legg til VLAN
label.add.vm=Legg til VM
label.add.vms=Legg til VMer
label.add.vms.to.lb=Legg til VM(er) til lastbalanseringsregel
+label.add.VM.to.tier=Legg VM til VPC-gren
label.add.vmware.datacenter=Legg til VMware datasenter
label.add.vnmc.device=Legg til VNMC enhet
label.add.vnmc.provider=Legg til VNMC tilbyder
label.add.volume=Legg til volum
label.add.vpc=Legg til VPC
label.add.vpc.offering=Legg til VPC tilbud
+label.add.vpn.customer.gateway=Legg til VPN Kundegateway
label.add.VPN.gateway=Legg til VPN Gateway
label.add.vpn.user=Legg til VPN-bruker
label.add.vxlan=Legg til VXLAN
@@ -316,6 +370,9 @@
label.advanced=Avansert
label.advanced.mode=Avansermodus
label.advanced.search=Avansert s\u00f8k
+label.affinity=Affinitet
+label.affinity.group=Affinitetsgruppe
+label.affinity.groups=Affinitetsgrupper
label.agent.password=Agentpassord
label.agent.port=Agentport
label.agent.state=Agentstatus
@@ -329,6 +386,9 @@
label.allocated=Allokert
label.allocation.state=Allokeringsstatus
label.allow=Tillat
+label.anti.affinity=Anti-affinitet
+label.anti.affinity.group=Anti-affinitetsgruppe
+label.anti.affinity.groups=Anti-affinitetsgrupper
label.api.key=API-n\u00f8kkel
label.api.version=API Versjon
label.apply=Bruk
@@ -336,19 +396,33 @@
label.archive.alerts=Arkiver varsler
label.archive=Arkiv
label.archive.events=Arkiver hendelser
+label.assigned.vms=Tildelte VMer
label.assign.instance.another=Tildel instans til en annen konto
label.assign=Tildel
+label.assign.to.load.balancer=Legg til instans til lastbalanserer
label.assign.vms=Tildel VMer
+label.associated.network=Assosiert nettverk
+label.associated.network.id=Assosiert nettverksid
+label.associated.profile=Assosiert Profil
+label.associate.public.ip=Assosiert Offentlig IP-adresse
label.attached.iso=Tilknyttet ISO
label.author.email=Forfatter e-post
label.author.name=Forfatternavn
label.autoscale=Autoskaler
+label.autoscale.configuration.wizard=Autoskalering konfigurasjonsveiviser
label.availability=Tilgjengelighet
label.availability.zone=Tilgjengelighetssone
+label.availabilityZone=tilgjengelighetssone
label.available.public.ips=Tilgjengelig offentlige IP-adresser
label.available=Tilgjengelig
label.back=Tilbake
label.bandwidth=B\u00e5ndbredde
+label.baremetal.dhcp.devices=Barmetall DHCP Enheter
+label.baremetal.dhcp.provider=Barmetall DHCP Tilbyder
+label.baremetal.pxe.device=Legg Til Barmetall PXE Enhet
+label.baremetal.pxe.devices=Barmetall PXE Enheter
+label.baremetal.pxe.provider=Barmetall PXE Tilbyder
+label.baremetal.rack.configuration=Barmetall Rack Konfigurering
label.basic=Basis
label.basic.mode=Basismodus
label.bigswitch.bcf.details=BigSwitch BCF detaljer
@@ -357,35 +431,49 @@
label.blade.id=Blad-ID
label.blades=Blad
label.bootable=Botbar
+label.broadcast.domain.range=Kringkastings domene rekke
+label.broadcast.domain.type=Kringkastings Domene Type
+label.broadcast.uri=Kringkastings URI
+label.broadcasturi=kringkastinguri
+label.broadcat.uri=Kringkastings URI
+label.brocade.vcs.address=Vcs Switch Addresse
+label.brocade.vcs.details=Brocade Vcs svitsj detaljer
label.by.account=Etter Konto
label.by.alert.type=Etter varseltype
label.by.availability=Etter Tilgjengelighet
label.by.date.end=Etter dato (slutt)
label.by.date.start=Etter dato (start)
label.by.domain=Etter Domene
+label.by.end.date=Etter sluttdato
label.by.event.type=Etter hendelsestype
+label.by.level=Etter niv\u00e5
label.by.pod=Etter Pod
label.by.role=Etter Rolle
label.by.start.date=Etter Startdato
+label.by.state=Etter tilstand
label.bytes.received=Bytes Mottatt
label.bytes.sent=Bytes sendt
label.by.traffic.type=Etter Trafikktype
label.by.type=Etter Type
label.by.type.id=Etter Type ID
label.by.zone=Etter Sone
+label.cache.mode=Write-cache Type
label.cancel=Avbryt
label.capacity.bytes=Kapasitet Bytes
label.capacity.iops=Kapasitet IOPS
label.capacity=Kapasitet
label.certificate=Sertifikat
+label.change.affinity=Endre affinitet
label.change.service.offering=Endre tjenestetilbud
label.change.value=Endre verdi
label.character=Karakter
label.chassis=Kasse
label.checksum=sjekksum
+label.cidr.account=CIDR eller konto/sikkerhetsgruppe
label.cidr=CIDR
label.CIDR.list=CIDR liste
label.cidr.list=Kilde-CIDR
+label.CIDR.of.destination.network=CIDR for destinasjonsnettverk
label.cisco.nexus1000v.ip.address=Nexus 1000v IP Addresse
label.cisco.nexus1000v.password=Nexus 1000v Passord
label.cisco.nexus1000v.username=Nexus 1000v Brukernavn
@@ -394,6 +482,7 @@
label.clear.list=T\u00f8m liste
label.close=Lukk
label.cloud.console=Cloud
+label.cloud.managed=Forvaltet Av Cloud.com
label.cluster=Klynge
label.cluster.name=Klyngenavn
label.clusters=Klynger
@@ -409,6 +498,7 @@
label.configure=Konfigurer
label.configure.ldap=Konfigurer LDAP
label.configure.network.ACLs=Konfigurer Nettverksaksesslister
+label.configure.sticky.policy=Konfigurer Sticky Policy
label.configure.vpc=Konfigurer VPC
label.confirmation=Bekreftelse
label.confirm.password=Bekreft passord
@@ -420,6 +510,7 @@
label.continue=Fortsett
label.copying.iso=Kopierer ISO
label.corrections.saved=Endringer lagret
+label.counter=Teller
label.cpu.allocated=CPU allokert
label.cpu.allocated.for.VMs=CPU Allokert for VMer
label.CPU.cap=CPU begrensning
@@ -429,26 +520,44 @@
label.cpu.utilized=CPU-utnyttelse
label.created.by.system=Opprettet av systemet
label.created=Opprettet
+label.create.nfs.secondary.staging.storage=Legg Til NFS sekund\u00e6rmellomlagringsomr\u00e5de
+label.create.nfs.secondary.staging.store=Opprett NFS sekund\u00e6rmellomlagringsomr\u00e5de
label.create.project=Opprett prosjekt
+label.create.ssh.key.pair=Lag SSH-n\u00f8kkelpar
label.create.template=Opprett mal
label.create.VPN.connection=Opprett VPN-tilkobling
label.cross.zones=Kryssoner
+label.custom.disk.iops=Tilpasset IOPS
+label.custom.disk.offering=Brukertilpasset disktilbud
label.custom.disk.size=Tilpasset Diskst\u00f8rrelse
+label.custom=Tilpasset
label.daily=Daglig
label.data.disk.offering=Datadisktilbud
label.date=Dato
label.day=Dag
+label.day.of.month=Dag i m\u00e5ned
+label.day.of.week=Dag i uke
+label.dc.name=Datasenter Navn
+label.dead.peer.detection=D\u00f8d endepunkt-deteksjon
label.decline.invitation=Avvis invitasjon
label.dedicate.cluster=Dediker kluster
label.dedicated=Dedikert
label.dedicate=Dediker
+label.dedicated.vlan.vni.ranges=Dedikerte VLAN/VNI Rekker
label.dedicate.host=Dediker host
+label.dedicate.pod=Dedikert pod
+label.dedicate.vlan.vni.range=Dedikert VLAN/VNI Rekke
label.dedicate.zone=Dediker sone
+label.default.egress.policy=Egress standard policy
label.default=Standardverdi
label.default.use=Standard bruk
label.default.view=Standardvisning
label.delete.acl.list=Slett ACL liste
+label.delete.affinity.group=Slett affinitetsgruppe
label.delete.alerts=Slette varsler
+label.delete.baremetal.rack.configuration=Slett Barmetall Rack Konfigurering
+label.delete.BigSwitchBcf=Fjern BigSwitch BCF-kontroller
+label.delete.BrocadeVcs=Fjern Brocade VCS-svitsj
label.delete.ciscoASA1000v=Slett CiscoASA1000v
label.delete.ciscovnmc.resource=Slett CiscoVNMC ressurs
label.delete.events=Slett hendelser
@@ -456,41 +565,59 @@
label.delete.gateway=slett gateway
label.delete.internal.lb=Slett intern LB
label.delete.NetScaler=Slett Netscaler
+label.delete.NiciraNvp=Fjern Nvp-kontroller
+label.delete.NuageVsp=Fjern Nuage VSD
label.delete.OpenDaylight.device=Fjern OpenDaylight kontroller
label.delete.PA=Slett Palo Alto
+label.delete.portable.ip.range=Slett portabel IP-rekke
label.delete.profile=Slett Profil
label.delete.project=Slett prosjekt
+label.delete.secondary.staging.store=Slett NFS sekund\u00e6rmellomlagringsomr\u00e5de
label.delete=Slett
label.delete.SRX=Slett SRX
+label.delete.ucs.manager=Slett UCS Manager
label.delete.VPN.connection=Slett VPN-tilkobling
+label.delete.VPN.customer.gateway=Slett VPN-kundegateway
label.delete.VPN.gateway=Slett VPN-gateway
label.delete.vpn.user=Slett VPN-bruker
label.deleting.failed=Sletting feilet
label.deleting.processing=Sletter....
label.deny=Nekt
+label.deployment.planner=utbyggings planlegger
label.description=Beskrivelse
label.destination.physical.network.id=Fysisk nettverksid-destinasjon
label.destination.zone=Destinasjonssone
label.destroy=Destruer
label.destroy.router=Slett ruter
+label.destroy.vm.graceperiod=\u00d8delegg VM ventetid
+label.detaching.disk=Kobler fra disk
label.details=Detaljer
label.device.id=Enhets ID
label.devices=Enheter
label.dhcp=DHCP
label.DHCP.server.type=DHCP servertype
+label.direct.attached.public.ip=Direkte Tilknyttet Offentlig IP-adresse
+label.direct.ips=Deltnettverk-IPadresser
label.disable.autoscale=Deaktiver autoskalering
label.disabled=Inaktiv
+label.disable.host=Deaktiver host
label.disable.network.offering=Deaktiver nettverkstilbud
label.disable.provider=Deaktiver tilbyder
label.disable.vnmc.provider=Deatkivert VNMC tilbyder
label.disable.vpc.offering=Deaktivert VPC tilbud
label.disable.vpn=Dekativer VPN
label.disabling.vpn.access=Deaktiverer VPN Tilgang
+label.disassociate.profile.blade=Deassosier profil fra Blade
label.disbale.vnmc.device=Deaktivert VNMC enhet
label.disk.allocated=Disk allokert
+label.disk.bytes.read.rate=Disklesehastighet (BPS)
+label.disk.bytes.write.rate=Diskskrivehastighet (BPS)
label.disk.iops.max=Maks IOPS
label.disk.iops.min=Min IOPS
+label.disk.iops.read.rate=Disklesehastighet (IOPS)
label.disk.iops.total=IOPS Totalt
+label.disk.iops.write.rate=Diskskrivehastighet (IOPS)
+label.disk.offering.details=Disktilbud detaljer
label.diskoffering=diskoffering
label.disk.offering=Disktilbud
label.disk.provisioningtype=Provisjoneringstype
@@ -510,22 +637,29 @@
label.dns=DNS
label.DNS.domain.for.guest.networks=DNS domene for gjestenettverk
label.domain.admin=Domeneadministrator
+label.domain.details=Domenedetaljer
label.domain=Domene
label.domain.id=Domene ID
label.domain.lower=domene
label.domain.name=Domenenavn
label.domain.router=Domeneruter
+label.domain.suffix=DNS domenesuffiks (f.eks, xyz.com)
label.done=Utf\u00f8rt
+label.double.quotes.are.not.allowed=Doble anf\u00f8rselstegn er ikke tillatt
+label.download.progress=Nedlastningsprogresjon
label.drag.new.position=Dra til ny posisjon
label.duration.in.sec=Varighet (i sek.)
label.dynamically.scalable=Dynamisk skalerbar
label.edit.acl.rule=Endre ACL regel
+label.edit.affinity.group=Rediger affinitetsgruppe
label.edit=Editer
label.edit.lb.rule=Endre LB-regel
label.edit.network.details=Edit\u00e9r nettverksdetaljer
label.edit.project.details=Editer prosjektdetaljer
label.edit.region=Editer region
+label.edit.rule=Endre regel
label.edit.secondary.ips=Endre sekund\u00e6re IPer
+label.edit.tags=Rediger tagger
label.edit.traffic.type=Endre trafikktype
label.edit.vpc=Rediger VPC
label.egress.default.policy=Egress standard policy
@@ -537,6 +671,7 @@
label.email=E-post
label.email.lower=epost
label.enable.autoscale=Aktivert autoskalering
+label.enable.host=Aktiver host
label.enable.network.offering=Aktiver nettverkstilbud
label.enable.provider=Aktiver tilbyder
label.enable.s3=Aktiver S3-st\u00f8ttet sekund\u00e6rlagring
@@ -548,24 +683,37 @@
label.enabling.vpn.access=Aktiverer VPN-tilgang
label.enabling.vpn=Aktiverer VPN
label.end.IP=Slutt-IP
+label.endpoint=Endepunkt
+label.endpoint.or.operation=Endepunkt eller operasjon
label.end.port=Sluttport
+label.end.reserved.system.IP=Siste reserverte system IP
label.end.vlan=Slutt VLAN
label.end.vxlan=Slutt VXLAN
label.enter.token=Skriv inn koden
label.error.code=Feilkode
label.error=Feil
label.error.upper=ERROR
+label.ESP.encryption=ESP kryptering
+label.ESP.hash=ESP hash
+label.ESP.lifetime=ESP levetid (sekund)
+label.ESP.policy=ESP policy
label.esx.host=ESX/ESXi vert
+label.event.archived=Hendelser Arkivert
+label.event.deleted=Hendelse slettet
label.event=Hendelse
label.every=Hver
label.example=Eksempel
+label.expunge=Permanent Slett
+label.external.link=Ekstern kobling
label.extractable.lower=Nedlastbar
label.extractable=Utpakkbar
label.f5.details=F5 detaljer
label.f5=F5
label.failed=Feilet
+label.featured=Fremhevet
label.fetch.latest=Hent siste
label.filterBy=Filtrer etter
+label.fingerprint=Fingeravtrykk
label.firewall=Brannmur
label.first.name=Fornavn
label.firstname.lower=fornavn
@@ -574,7 +722,9 @@
label.friday=Fredag
label.full=Full
label.full.path=Full sti
+label.gateway=Gateway
label.general.alerts=Generelle varsler
+label.generating.url=Genererer URL
label.globo.dns.configuration=GloboDNS-konfigurasjon
label.globo.dns=GloboDNS
label.gluster.volume=Volum
@@ -599,18 +749,31 @@
label.gslb.lb.remove=Fjern lastbalansering fra denne GSLB
label.gslb.lb.rule=Lastbalanseringsregel
label.gslb.service=GSLB tjeneste
+label.gslb.service.private.ip=GSLB tjeneste privat IP-adresse
+label.gslb.service.public.ip=GSLB tjeneste offentlig IP-adresse
+label.gslb.servicetype=Tjeneste Type
label.guest.cidr=Gjest CIDR
label.guest.end.ip=Gjest slutt-IP
+label.guest.gateway=Gjestegateway
label.guest=Gjest
label.guest.ip=Gjest IP-adresse
label.guest.ip.range=Gjest IP-rekke
label.guest.netmask=Gjest nettmaske
+label.guest.network.details=Gjestenettverksdetaljer
label.guest.networks=Gjestenettverk
label.guest.start.ip=Gjest start-IP
label.guest.traffic=Gjestetrafikk
+label.guest.traffic.vswitch.name=Gjestetrafikk vSwitch Navn
+label.guest.traffic.vswitch.type=Gjestetrafikk vSwitch Type
label.guest.type=Gjestetype
label.ha.enabled=HA Aktivert
+label.health.check.advanced.options=Avanserte valg\:
+label.health.check.configurations.options=Konfigureringsvalg\:
label.health.check=Helsesjekk
+label.health.check.interval.in.sec=Helsesjekk Intervall (i sekunder)
+label.health.check.message.desc=Din lastbalanserer vil automatisk utf\u00f8re helsesjekker mot dine cloudstackinstanser og kun rute trafikk til de instansene som passerer helsesjekk.
+label.health.check.wizard=Helsesjekkveiviser
+label.healthy.threshold=Sunn Terskel
label.help=Hjelp
label.hide.ingress.rule=Skjul ingressregel
label.hints=Hint
@@ -619,18 +782,29 @@
label.host.MAC=Verts MAC
label.host.name=Vertsnavn
label.hosts=Verter
+label.host.tag=Merkelapper for vert
label.host.tags=Vertsknagger
label.host=Vert
label.hourly=Hver time
label.hvm=HVM
+label.hypervisor.capabilities=Hypervisor evner
label.hypervisor=Hypervisor
label.hypervisors=Hypervisors
+label.hypervisor.snapshot.reserve=Hypervisor \u00d8yeblikks Kapasitet
label.hypervisor.type=Hypervisor type
label.hypervisor.version=Hypervisor versjon
+label.hyperv.traffic.label=HyperV Trafikk Etikett
label.id=ID
+label.IKE.DH=IKE DH
+label.IKE.encryption=IKE kryptering
+label.IKE.hash=IKE Hash
+label.IKE.lifetime=IKE livstid (sekunder)
+label.IKE.policy=IKE policy
label.info=Info
label.info.upper=INFO
label.ingress.rule=Ingressregel
+label.initiated.by=Initiert av
+label.inside.port.profile=Intern Port Profil
label.installWizard.addClusterIntro.subtitle=Hva er en klynge?
label.installWizard.addClusterIntro.title=La oss legge til en klynge
label.installWizard.addHostIntro.subtitle=Hva er en vert?
@@ -651,12 +825,20 @@
label.instance.limits=Instans Begrensninger
label.instance.name=Instans Navn
label.instance.port=Instansport
+label.instance.scaled.up=Instans skalert til forespurt tilbud
label.instances=Instanser
+label.instanciate.template.associate.profile.blade=Instansier mal og assosier malen med Blade
+label.intermediate.certificate=Intermediate sertifikat {0}
label.internal.dns.1=Intern DNS 1
label.internal.dns.2=Intern DNS 2
label.internal.lb.details=Intern LB detaljer
+label.internal.lb=Intern LB
+label.internallbvm=InternalLbVm
label.internal.name=Internt navn
+label.interval.type=Intervalltype
label.introduction.to.cloudstack=Introduksjon til CloudStack&\#8482
+label.invalid.integer=Ugyldig heltall
+label.invalid.number=Ugyldig tall
label.invitations=Invitasjoner
label.invited.accounts=Inviterte kontoer
label.invite=Inviter
@@ -665,14 +847,17 @@
label.ipaddress=IP-adresse
label.ip.allocations=IP Allokeringer
label.ip=IP
+label.ip.limits=Offentlig IP-addresse Grenser
label.ip.or.fqdn=IP eller FQDN
label.ip.range=IP-rekke
label.ip.ranges=IP-rekker
+label.IPsec.preshared.key=IPSec Delt N\u00f8kkel
label.ips=IPer
label.ipv4.cidr=IPv4 CIDR
label.ipv4.dns1=IPv4 DNS1
label.ipv4.dns2=IPv4 DNS2
label.ipv4.end.ip=IPv4 Slutt IP
+label.ipv4.gateway=IPv4 Gateway
label.ipv4.netmask=IPv4 nettmaske
label.ipv4.start.ip=IPv4 Start IP
label.ipv6.address=IPv6 IP Adresse
@@ -689,6 +874,7 @@
label.isolated.networks=Isolerte nettverk
label.isolation.method=Isolasjonsmetode
label.isolation.mode=Isolasjonsmetode
+label.isolation.uri=Isolasjons URI
label.is.redundant.router=Redundant
label.is.shared=Er delt
label.is.system=Er system
@@ -717,37 +903,49 @@
label.lang.polish=Polsk
label.lang.russian=Russisk
label.lang.spanish=Spansk
+label.last.disconnected=Siste Frakobling
label.last.name=Etternavn
label.lastname.lower=etternavn
label.latest.events=Siste hendelser
label.launch=Start
label.launch.vm=Start VM
+label.launch.zone=Start sone
label.lb.algorithm.leastconn=F\u00e6rrest tilkoblinger
label.lb.algorithm.roundrobin=Ringdistribusjon
label.lb.algorithm.source=Kilde
label.LB.isolation=LB-isolering
label.ldap.configuration=LDAP Konfigurering
label.ldap.group.name=LDAP Gruppe
+label.ldap.link.type=Type
label.ldap.port=LDAP port
+label.level=Niv\u00e5
+label.link.domain.to.ldap=Knytt domene til LDAP
+label.linklocal.ip=Link-lokal IP-adresse
label.load.balancer=Lastbalanserer
label.load.balancer.type=Lastbalanseringstype
label.load.balancing=Lastbalansering
label.load.balancing.policies=Regler for lastbalansering
label.loading=Laster
+label.local.file=Lokal fil
label.local=Lokal
+label.local.storage.enabled=Aktiver lokal lagring for bruker VMer
label.local.storage.enabled.system.vms=Aktiver lokal lagring for SystemVMer
label.local.storage=Lokal lagring
label.login=Logg inn
label.logout=Logg ut
label.lun=LUN
label.LUN.number=LUN \#
+label.lxc.traffic.label=LXC trafikk etikett
label.make.project.owner=Gj\u00f8r konto prosjekteier
label.make.redundant=Gj\u00f8r redundant
label.manage=Administrer
+label.managed=Administrert
label.management=Administrasjon
label.management.ips=Administrasjons IP-adresser
+label.management.server=Administrasjonsserver
label.manage.resources=Behandle ressurser
label.max.cpus=Maks CPU kjerner
+label.max.guest.limit=Maks antall gjester
label.maximum=Maksimum
label.max.instances=Maks Instanser
label.max.memory=Maks minne (MiB)
@@ -772,9 +970,16 @@
label.menu.alerts=Varsler
label.menu.all.accounts=Alle kontoer
label.menu.all.instances=Alle instanser
+label.menu.community.isos=Fellesskap ISO medier
+label.menu.community.templates=Felleskap Maler
label.menu.configuration=Konfigurering
+label.menu.dashboard=Dashbord
+label.menu.destroyed.instances=\u00d8delagte instanser
+label.menu.disk.offerings=Disktilbud
label.menu.domains=Domener
label.menu.events=Hendelser
+label.menu.featured.isos=Fremhevede ISOer
+label.menu.featured.templates=Fremhevde maler
label.menu.global.settings=Globale innstillinger
label.menu.infrastructure=Infrastruktur
label.menu.instances=Instanser
@@ -792,12 +997,14 @@
label.menu.security.groups=Sikkerhetsgrupper
label.menu.service.offerings=Tjenestetilbud
label.menu.snapshots=\u00d8yebliksbilder
+label.menu.sshkeypair=SSH n\u00f8kkelpar
label.menu.stopped.instances=Stoppede instanser
label.menu.storage=Lagring
label.menu.system.service.offerings=Systemtilbud
label.menu.system=System
label.menu.system.vms=System VMer
label.menu.templates=Maler
+label.menu.virtual.appliances=Virtuelle Apparater
label.menu.virtual.resources=Virtuelle ressurser
label.menu.volumes=Volumer
label.menu.vpc.offerings=VPC tilbud
@@ -814,6 +1021,7 @@
label.minimum=Minimum
label.min.instances=Min Instanser
label.min.past.the.hr=minutter etter time
+label.minute.past.hour=minutt(er) etter hel time
label.minutes.past.hour=minutt(er) etter time
label.mode=Modus
label.monday=Mandag
@@ -836,9 +1044,11 @@
label.netScaler=NetScaler
label.network.ACL=Nettverk ACL
label.network.ACLs=Nettverk ACLer
+label.network.ACL.total=Nettverk ACL Total
label.network.addVM=Legg nettverk til VM
label.network.cidr=Nettverk CIDR
label.network.desc=Nettverksbeskrivelse
+label.network.details=Nettverksdetaljer
label.network.device=Nettverksenhet
label.network.device.type=Type nettverksenhet
label.network.domain=Nettverksdomene
@@ -849,12 +1059,22 @@
label.network.limits=Nettverksbegrensninger
label.network.name=Nettverksdame
label.network=Nettverk
+label.network.offering.details=Nettverkstilbud detaljer
+label.network.offering.display.text=Nettverkstilbud Forklaring
+label.network.offering.id=Nettverkstilbud ID
+label.network.offering.name=Nettverkstilbud Navn
label.network.offering=Nettverkstilbud
+label.network.rate.megabytes=Nettverks fart (MB/s)
+label.network.rate=Nettverks fart (MB/s)
label.network.read=Nettverk les
+label.network.service.providers=Nettverktjenestetilbydere
label.networks=Nettverk
+label.network.type=Nettverkstype
+label.network.write=Nettverk skriveoperasjoner
label.new=Ny
label.new.password=Nytt passord
label.new.project=Nytt prosjekt
+label.new.ssh.key.pair=Nytt SSH-n\u00f8kkelpar
label.new.vm=Ny VM
label.next=Neste
label.nexusVswitch=Nexus 1000v
@@ -862,9 +1082,15 @@
label.nfs.server=NFS Server
label.nfs.storage=NFS Lagring
label.nic.adapter.type=NIC adaptertype
+label.nicira.controller.address=Kontrolleradresse
+label.nicira.l3gatewayserviceuuid=L3 Gateway Tjeneste Uuid
label.nicira.nvp.details=Nicira NVP detaljer
+label.nicira.transportzoneuuid=Transport sone Uuid
label.nics=NICer
+label.no.actions=Ingen tilgjengelige handlinger
+label.no.alerts=Ingen nylige alarmer
label.no.data=Ingen data \u00e5 vise
+label.no.errors=Ingen nylige feil
label.no.grouping=(ingen gruppering)
label.no.isos=Ingen tilgjengelige ISOer
label.no.items=Ingen tilgjengelige elementer
@@ -882,53 +1108,87 @@
label.number.of.virtual.routers=Antall virtuelle rutere
label.number.of.zones=Antall soner
label.num.cpu.cores=\# av CPU-kjerner
+label.numretries=Antall fors\u00f8k
label.ocfs2=OCFS2
label.offer.ha=Tilby HA
+label.of.month=av m\u00e5ned
label.ok=OK
label.opendaylight.controllerdetail=OpenDaylight kontrollerdetaljer
label.opendaylight.controller=OpenDaylight kontroller
label.opendaylight.controllers=OpenDaylight kontrollere
label.openDaylight=OpenDaylight
+label.operator=Operat\u00f8r
label.optional=Valgfritt
label.order=Rekkef\u00f8lge
+label.os.preference=OS-preferanse
label.os.type=OS-type
label.other=Andre
-label.ovm3.traffic.label=OVM3 trafikketikett
+label.override.guest.traffic=Overstyr Gjeste Trafikk
+label.override.public.traffic=Overstyr Offentlig Trafikk
+label.ovm3.cluster=Innebygd Klynge Funksjon
+label.ovm3.pool=Innebygd Pooling
+label.ovm3.vip=Hoved VIP IP
+label.ovm.traffic.label=OVM trafikk etikett
label.ovs=OVS
+label.owned.public.ips=Offentlige IP-addresser i bruk
label.owner.account=Eierkonto
label.owner.domain=Eierdomene
label.palo.alto.details=Palo Alto detaljer
+label.PA.log.profile=Palo Alto logg profil
label.PA=Palo Alto
+label.parent.domain=Foreldre domene
label.passive=Passiv
+label.password.enabled=Passord Aktivert
label.password.lower=passord
label.password=Passord
label.password.reset.confirm=Passordet har blitt resatt til
+label.PA.threat.profile=Palo Alto trussel profil
label.path=Sti
+label.perfect.forward.secrecy=Perfect Forward Secrecy
+label.persistent=Vedvarende
label.physical.network=Fysisk nettverk
label.physical.network.ID=Fysisk nettverksid
+label.physical.network.name=Fysisk nettverksnavn
label.PING.CIFS.password=PING CIFS passord
label.PING.CIFS.username=PING CIFS brukernavn
label.PING.dir=PING-mappe
+label.ping.path=Ping Sti
label.PING.storage.IP=PING lagrings-IP
+label.planner.mode=Planleggingsmodus
+label.please.complete.the.following.fields=Vennligst fullf\u00f8rt f\u00f8lgende felter
label.please.specify.netscaler.info=Vennligst spesifiser NetScaler-info
label.please.wait=Vennligst vent
+label.plugin.details=Plugin detaljer
+label.plugins=Plugins
+label.pod.dedicated=Pod Dedikert
label.pod.name=Pod navn
label.pod=Pod
label.pods=Pods
+label.polling.interval.sec=Sjekkintervall (i sekunder)
+label.portable.ip=Flyttbar IP
+label.portable.ip.range.details=Portabel IP-rekke detaljer
+label.portable.ip.ranges=Transportable IP-rekker
+label.portable.ips=Portabel IP-rekke
label.port.forwarding.policies=Regler for portvideresending
label.port.forwarding=Portvideresending
label.port=Port
label.port.range=Portrekke
+label.PreSetup=Forberedt Konfigurasjon
label.prev=Forrige
label.previous=Forrige
label.primary.allocated=Prim\u00e6rlagring allokert
label.primary.network=Prim\u00e6rnettverk
+label.primary.storage.count=Prim\u00e6rlagrings Pool
+label.primary.storage.limits=Prim\u00e6rlagring Maxgrense (GiB)
label.primary.storage=Prim\u00e6rlagring
label.primary.used=Prim\u00e6rlagring brukt
label.private.Gateway=Privat Gateway
+label.private.interface=Privat Grensesnitt
label.private.ip=Privat IP-adresse
label.private.ip.range=Privat IP-rekke
label.private.ips=Private IP-adresser
+label.privatekey=PKCS\#8 Privat N\u00f8kkel
+label.private.key=Privat n\u00f8kkel
label.private.network=Privat nettverk
label.private.port=Privat port
label.private.zone=Privat sone
@@ -940,24 +1200,36 @@
label.project=Prosjekt
label.projects=Prosjekter
label.project.view=Prosjektvisning
+label.protocol.number=Protokollnummer
label.protocol=Protokoll
label.providers=Tilbydere
label.provider=Tilbyder
+label.public.interface=Offentlig Grensesnitt
label.public.ip=Offentlig IP-adresse
label.public.ips=Offentlig IP-adresser
+label.public.key=Offentlig n\u00f8kkel
+label.public.lb=Offentlig LB
+label.public.load.balancer.provider=Offentlig Lastbalanserer Tilbyder
label.public.network=Offentlig nettverk
label.public=Offentlig
label.public.port=Offentlig port
label.public.traffic=Offentlig trafikk
+label.public.traffic.vswitch.name=Offentlig Trafikk vSwitch Navn
+label.public.traffic.vswitch.type=Offentlig Trafikk vSwitch Type
label.public.zone=Offentlig sone
label.purpose=Form\u00e5l
label.Pxe.server.type=PXE Servertype
label.qos.type=QoS Type
+label.quickview=Hurtigvisning
+label.quiesce.vm=Quiesce VM
+label.quiet.time.sec=Quiet Tid (sekunder)
label.rbd.id=Cephx user
label.rbd.monitor=Ceph monitor
label.rbd.pool=Ceph pool
label.rbd=RBD
+label.rbd.secret=Cephx hemmelighet
label.reboot=Restart
+label.recent.errors=Nylige feil
label.recover.vm=Gjenopprett VM
label.redundant.router.capability=Redundant ruter
label.redundant.router=Redundant ruter
@@ -966,11 +1238,16 @@
label.refresh.blades=Oppdater blad(er)
label.refresh=Oppfrisk
label.region.details=Regiondetaljer
+label.regionlevelvpc=Region Niv\u00e5 VPC
label.region=Region
label.reinstall.vm=Reinstaller VM
label.related=Relaterte
+label.release.account=Frigi fra Konto
+label.release.account.lowercase=Frigi fra konto
label.release.dedicated.cluster=Frigj\u00f8r dedikert kluster
label.release.dedicated.host=Frigj\u00f8r dedikert host
+label.release.dedicated.pod=Frigj\u00f8r Dedikert Pod
+label.release.dedicated.vlan.range=Frigj\u00f8r dedikerte VLAN rekke
label.release.dedicated.zone=Frigj\u00f8r dedikert sone
label.remind.later=P\u00e5minn meg senere
label.remove.ACL=Fjern ACL
@@ -984,9 +1261,13 @@
label.remove.project.account=Fjern konto fra prosjekt
label.remove.region=Fjern region
label.remove.rule=Fjern regel
+label.remove.ssh.key.pair=Fjern SSH-n\u00f8kkelpar
label.remove.static.nat.rule=Fjern statisk NAT-regel
label.remove.static.route=Fjern statisk rute
+label.remove.this.physical.network=Fjern dette fysiske nettverk
+label.remove.tier=Fjern gren
label.remove.vm.from.lb=Fjern VM fra lastbalanseringsregel
+label.remove.vm.load.balancer=Fjern VM fra lastbalanserer
label.remove.vmware.datacenter=Fjern VMware datasenter
label.remove.vpc=fjern VPC
label.remove.vpc.offering=Fjern VPC tilbud
@@ -994,21 +1275,32 @@
label.removing.user=Fjerner Bruker
label.reource.id=Ressurs ID
label.replace.acl=Erstatt ACL
+label.replace.acl.list=Erstatt ACL Liste
label.required=P\u00e5krevd
label.requires.upgrade=Krever oppgradering
+label.reserved.ip.range=Reservert IP-rekke
+label.reserved.system.gateway=Reservert System Gateway
label.reserved.system.ip=Reservert System IP
+label.reserved.system.netmask=Reservert system nettmaske
+label.reset.ssh.key.pair.on.vm=Reset SSH-n\u00f8kkelpar p\u00e5 VM
+label.reset.ssh.key.pair=Resett SSH-n\u00f8kkelpar
+label.resetVM=Resett VM
label.reset.VPN.connection=Resett VPN-tilkobling
label.resize.new.offering.id=Nytt tilbud
label.resize.new.size=Ny st\u00f8rrelse (GB)
label.resize.shrink.ok=Krympe OK
+label.resource.limit.exceeded=Ressursbegrensning Overskridet
label.resource.limits=Ressursbegrensninger
label.resource.name=Ressursnavn
label.resource=Ressurs
label.resources=Ressurser
+label.resource.state=Ressurs Status
+label.response.timeout.in.sec=Respons Tidsavbrudd (sekunder)
label.restart.network=Nettverksomstart
label.restart.required=Omstart p\u00e5krevd
label.restart.vpc=Omstart VPC
label.restore=Gjenopprett
+label.retry.interval=Nyfors\u00f8k Intervall
label.review=Gjennomg\u00e5
label.revoke.project.invite=Tilbakekall invitasjonen
label.role=Rolle
@@ -1017,25 +1309,46 @@
label.root.disk.offering=Root disktilbud
label.root.disk.size=Rotdiskst\u00f8rrelse
label.router.vm.scaled.up=RuterVM skalert opp
+label.routing.host=Ruter Vert
label.routing=Ruting
label.rule.number=Regelnummer
label.rules=Regler
label.running.vms=Kj\u00f8rende VMer
label.s3.access_key=Aksessn\u00f8kkel
+label.s3.bucket=B\u00f8tte
+label.s3.connection_timeout=Tilkoblingsavbrudd
+label.s3.endpoint=Endepunkt
+label.s3.max_error_retry=Max Nyfors\u00f8k Etter Feilmelding
label.s3.nfs.path=S3 NFS Sti
label.s3.nfs.server=S3 NFS Server
label.s3.secret_key=Hemmelig n\u00f8kkel
+label.s3.socket_timeout=Socket Tidsavbrudd
label.s3.use_https=Bruk HTTPS
+label.saml.enable=Autoriser SAML SSO
+label.saml.entity=Identitets Tilbydere
label.saturday=L\u00f8rdag
label.save.and.continue=Lagre og fortsett
+label.save.changes=Lagre endringer
label.save=Lagre
label.saving.processing=Lagrer....
+label.scaledown.policy=Nedtrappings policy
+label.scale.up.policy=Oppskalerings policy
+label.scaleup.policy=Oppskalerings policy
+label.scope=Omfang
label.search=S\u00f8k
label.secondary.ips=Sekund\u00e6re IPer
+label.secondary.isolated.vlan.id=Sekund\u00e6r Isolert VLAN ID
+label.secondary.staging.store.details=Sekund\u00e6rmellomlagringsomr\u00e5de detaljer
+label.secondary.staging.store=Sekund\u00e6rmellomlagringsomr\u00e5de
+label.secondary.storage.count=Sekund\u00e6rlagrings Pool
+label.secondary.storage.details=Sekund\u00e6rlagringsdetaljer
+label.secondary.storage.limits=Sekund\u00e6rlagringsbregrensninger (GiB)
label.secondary.storage=Sekund\u00e6rlagring
label.secondary.storage.vm=Sekund\u00e6rlagring VM
+label.secondary.used=Sekund\u00e6rlagringsplass brukt
label.secret.key=Hemmelig n\u00f8kkel
label.security.group.name=Sikkerhetsgruppenavn
+label.security.groups.enabled=Sikkerhetsgrupper Aktivert
label.security.group=Sikkerhetsgruppe
label.security.groups=Sikkerhetsgrupper
label.select.a.template=Velg en mal
@@ -1047,20 +1360,26 @@
label.select.project=Velg prosjekt
label.select.region=Velg region
label.select.template=Velg Mal
+label.select.tier=Velg gren
label.select=Velg
label.select-view=Velg visning
label.select.vm.for.static.nat=Velg instans for statisk NAT
label.sent=Sendt
label.server=Tjener
+label.service.capabilities=Tjeneste Evner
+label.service.offering.details=Tjenstetilbudsdetaljer
label.service.offering=Tjenestetilbud
label.service.state=Tjeneste Status
label.services=Tjenester
label.session.expired=Sesjon utl\u00f8pt
label.set.default.NIC=Sett som standard NIC
label.settings=Innstillinger
+label.setup.network=Sett opp nettverk
label.setup=Oppsett
+label.setup.zone=Sett opp sone
label.set.up.zone.type=Oppsett av sonetype
label.shared=Delt
+label.SharedMountPoint=SharedMountPoint
label.show.advanced.settings=VIs avanserte instillinger
label.show.ingress.rule=Vis ingressregel
label.shutdown.provider=Steng tilbyder
@@ -1071,9 +1390,13 @@
label.smb.domain=SMB Domene
label.smb.password=SMB Passord
label.smb.username=SMB Brukernavn
+label.snapshot.limits=\u00d8yeblikksbildebegrensning
+label.snapshot.name=\u00d8yeblikksbildenavn
+label.snapshot.schedule=Sett Opp Gjentagende \u00f8yeblikksbilder
label.snapshot.s=\u00d8yeblikksbilder
label.snapshots=\u00d8yeblikksbilder
label.snapshot=\u00d8yeblikksbilde
+label.SNMP.community=SNMP Community
label.SNMP.port=SNM Port
label.sockets=CPU Sokkel
label.source.ip.address=Kilde IP-adresse
@@ -1086,16 +1409,22 @@
label.SR.name=SR navnelapp
label.srx.details=SRX detaljer
label.srx=SRX
+label.ssh.key.pair.details=SSH-n\u00f8kkelpardetaljer
+label.ssh.key.pair=SSH-n\u00f8kkelpar
+label.ssh.key.pairs=SSH n\u00f8kkelpar
label.standard.us.keyboard=Standard (Amerikansk) tastatur
label.start.IP=Start-IP
label.start.lb.vm=Start LB VM
label.start.port=Start port
+label.start.reserved.system.IP=F\u00f8rste reserverte system IP
label.start.vlan=Start VLAN
label.start.vxlan=Start VXLAN
label.state=Status
label.static.nat.enabled=Statisk NAT aktivert
label.static.nat=Statistk NAT
+label.static.nat.to=Statisk NAT til
label.static.nat.vm.details=Statisk NAT VM Detaljer
+label.static.routes=Statiske ruter
label.statistics=Statistikk
label.status=Status
label.step.1=Steg 1
@@ -1109,38 +1438,69 @@
label.step.5=Steg 5
label.step.5.title=Steg 5\: <strong>Repetere</strong>
label.stickiness=Klebrighet
+label.stickiness.method=Klebrighetmetode
+label.sticky.cookie-name=Cookie navn
label.sticky.domain=Domene
label.sticky.expire=Utl\u00f8per
+label.sticky.holdtime=Oppholds tid
+label.sticky.indirect=Indirekte
label.sticky.length=Lengde
label.sticky.mode=Modus
+label.sticky.name=Sticky Navn
+label.sticky.nocache=Ingen cache
+label.sticky.postonly=Send bare
+label.sticky.prefix=Prefiks
+label.sticky.request-learn=L\u00e6r Foresp\u00f8rsel
label.sticky.tablesize=Tabellst\u00f8rrelse
label.stop.lb.vm=Stop LB VM
label.stopped.vms=Stoppede VMer
label.stop=Stopp
label.storage=Lagring
+label.storage.pool=Lagringspool
label.storage.tags=Merkelapper for lagring
label.storage.traffic=Lagringstrafikk
label.storage.type=Lagringstype
label.subdomain.access=Tilgang for underdomene
+label.submit=Send
+label.submitted.by=[Innsendt av\: <span id\="submitted_by"></span>]
label.succeeded=Vellykket
label.sunday=S\u00f8ndag
+label.super.cidr.for.guest.networks=Super CIDR for gjestenettverk
label.supported.services=St\u00f8ttede Tjenester
label.supported.source.NAT.type=Supporterte kilde-NAT typer
+label.supportsstrechedl2subnet=St\u00f8tter strekket L2 subnett
label.suspend.project=Suspender prosjekt
label.switch.type=Svitsjtype
label.system.capacity=Systemkapasistet
+label.system.offering.for.router=Systemtilbud for Rutere
label.system.offering=Systemtilbud
+label.system.service.offering.details=Systemtjenestetilbudsdetaljer
+label.system.service.offering=Systemtjenestetilbud
label.system.vm.details=SystemVM-detaljer
label.system.vm.scaled.up=SystemVM skalert opp
label.system.vms=System VMer
label.system.vm=System VM
+label.system.vm.type=SystemVM-type
+label.system.wide.capacity=Systemomfattende kapasistet
label.tagged=Tagget
+label.tag.key=Merkelapp Key
label.tags=Tagger
+label.tag.value=Tag Verdi
+label.target.iqn=M\u00e5l IQN
label.task.completed=Oppgave utf\u00f8rt
+label.template.limits=Malbegrensninger
label.template=Mal
label.TFTP.dir=TFTP-mappe
+label.tftp.root.directory=TFTP rot-mappe
+label.theme.default=Standardtema
+label.theme.grey=Tilpasset - Gr\u00e5
+label.theme.lightblue=Tilpasset - Lys Gr\u00e5
+label.threshold=Terskel
label.thursday=Torsdag
+label.tier.details=VPC-gren detaljer
+label.tier=Gren
label.time.colon=Time\:
+label.timeout.in.second = Tidsavbrudd (sekunder)
label.timeout=Tidsavbrudd
label.time=Tid
label.timezone.colon=Tidssone\:
@@ -1151,8 +1511,12 @@
label.total.CPU=Totalt CPU
label.total.hosts=Totalt Verter
label.total.memory=Totalt minne
+label.total.of.ip=Totalt IP-adresser
+label.total.of.vm=Totalt av VM
label.total.storage=Totalt lagring
+label.total.virtual.routers=Total antall virtuelle rutere
label.total.virtual.routers.upgrade=Totalt antall virtuelle routere som trenger oppgradering
+label.total.vms=Totalt VMs
label.traffic.label=Trafikketikett
label.traffic.types=Trafikktyper
label.traffic.type=Trafikktype
@@ -1163,22 +1527,33 @@
label.ucs=UCS
label.uk.keyboard=UK-tastatur
label.unavailable=Utilgjengelig
+label.unhealthy.threshold=Usunn Terskel
label.unlimited=Ubegrenset
+label.untagged=Utagget
label.update.project.resources=Oppdater prosjektressurser
label.update.ssl.cert= SSL-sertifikat
label.update.ssl= SSL-sertifikat
label.updating=Oppdaterer
label.upgrade.required=Oppgradering er p\u00e5krevd
label.upgrade.router.newer.template=Oppgrader ruter til nyere mal
+label.upload.from.local=Last opp fra lokal
label.upload=Last opp
+label.upload.template.from.local=Last opp mal fra lokal
+label.upload.volume.from.local=Last opp volum fra lokal
+label.upload.volume.from.url=Last opp volum fra URL
label.upload.volume=Last opp volum
label.url=URL
+label.usage.interface=Bruker Grensesnitt
+label.usage.sanity.result=Forbruks Tilregnelighet Resultat
+label.usage.server=Forbruks Server
label.used=Brukt
label.user=Bruker
label.user.data=Brukerdata
+label.user.details=Brukerdetaljer
label.username=Brukernavn
label.username.lower=brukernavn
label.users=Brukere
+label.user.vm=Bruker VM
label.use.vm.ip=Bruk VM IP\:
label.use.vm.ips=Bruk VM IPer
label.value=Verdi
@@ -1194,6 +1569,7 @@
label.version=Versjon
label.vgpu.max.resolution=Maks oppl\u00f8sning
label.vgpu.max.vgpu.per.gpu=VGPUs per GPU
+label.vgpu.remaining.capacity=Gjenst\u00e5ende kapasitet
label.vgpu.type=vGPU type
label.vgpu=VGPU
label.vgpu.video.ram=Video RAM
@@ -1203,8 +1579,12 @@
label.view.more=Vis mer
label.view.secondary.ips=Se sekund\u00e6re IPer
label.view=Vis
+label.virtual.appliance.details=Virtuelt apparat detaljer
+label.virtual.appliances=Virtuelle Apparater
+label.virtual.appliance=Virtuellt Apparat
label.virtual.machines=Virtuelle Maskiner
label.virtual.machine=Virtuell Maskin
+label.virtual.networking=Virtuelt Nettverk
label.virtual.network=Virtuelt-nettverk
label.virtual.routers.group.account=Virtuelle rutere gruppert p\u00e5 konto
label.virtual.routers.group.cluster=Virtuelle rutere gruppert p\u00e5 kluster
@@ -1214,7 +1594,12 @@
label.virtual.router=Virtuell ruter
label.vlan.id=VLAN/VNI ID
label.vlan.only=VLAN
+label.vlan.range.details=VLAN-rekke detaljer
+label.vlan.ranges=VLAN-rekke(r)
+label.vlan.range=VLAN/VNI Rekke
label.vlan=VLAN/VNI
+label.vlan.vni.ranges=VLAN/VNI Rekke(r)
+label.vlan.vni.range=VLAN/VNI Rekke
label.vm.add=Legg til Instans
label.vm.destroy=Destruer
label.vm.display.name=Visningsnavn for VM
@@ -1225,6 +1610,9 @@
label.vm.name=VM-navn
label.vm.password=Passord til VM er
label.vm.reboot=Restart
+label.VMs.in.tier=VMer i VPC-gren
+label.vmsnapshot.current=isCurrent
+label.vmsnapshot.memory=\u00d8yeblikksbilde av minne
label.vmsnapshot.parentname=Forelder
label.vmsnapshot.type=Type
label.vmsnapshot=VM \u00d8yeblikksbilder
@@ -1240,6 +1628,7 @@
label.vnet=VLAN/VNI
label.vnmc.devices=VNMC enheter
label.vnmc=VNMC
+label.volatile=volatil
label.volgroup=Volumgruppe
label.volume.details=Volumdetaljer
label.volume.limits=Volumbegrensninger
@@ -1252,11 +1641,20 @@
label.VPC.limits=VPC begrensninger
label.vpc.offering.details=VPC tilbudsdetaljer
label.vpc.offering=VPC tilbud
+label.vpc.router.details=VPC ruterdetaljer
label.VPC.router.details=VPC ruterdetaljer
+label.vpc.supportsregionlevelvpc=St\u00f8tter Region Niv\u00e5 VPC
+label.vpc.virtual.router=VPC virtuell ruter
label.vpc=VPC
label.VPN.connection=VPN-tilkobling
+label.vpn.customer.gateway=VPN Kundegateway
+label.VPN.customer.gateway=VPN Kundegateway
label.VPN.gateway=VPN Gateway
label.vpn=VPN
+label.vsmctrlvlanid=Kontroll VLAN ID
+label.vsmpktvlanid=Pakke VLAN ID
+label.vsmstoragevlanid=Lagrings VLAN ID
+label.vsphere.managed=Administrert Av vSphere
label.vswitch.name=vSwitch navn
label.vSwitch.type=vSwitch type
label.vxlan.id=VXLAN ID
@@ -1287,86 +1685,213 @@
label.zone.step.3.title=Steg 3\: <strong>Legg til en pod</strong>
label.zone.step.4.title=Steg 4\: <strong>Legg til en IP-rekke</strong>
label.zone.type=Sonetype
+label.zone.wide=Sone omfattende
+label.zoneWizard.trafficType.guest=Gjest\: Trafikk mellom brukeres virtuelle maskiner
+label.zoneWizard.trafficType.management=Administrasjon\: Trafikk mellom CloudStacks interne ressurser, inkludert eventuelle komponenter som kommuniserer med administrasjonsservere, som verter og CloudStack systemVMer
+label.zoneWizard.trafficType.public=Offentlig\: nettverkstrafikk mellom internet og VMs i CloudStack.
+label.zoneWizard.trafficType.storage=Lagring\: Trafikk mellom prim\u00e6r og sekund\u00e6rlagringsservere, slik som VM-maler og \u00f8yeblikksbilder.
+managed.state=Administrert Status
message.acquire.ip.nic=Vennligst bekreft at du vil allokere en ny sekund\u00e6r IP for dette nettverkskortet. <br />NB\: Du m\u00e5 manuelt konfigurere den nye sekund\u00e6r-IPen i den virtuelle maskinen.
message.acquire.new.ip=Vennligst bekreft at du \u00f8nsker \u00e5 anskaffe en ny IP for dette nettverket
-message.action.change.service.warning.for.router=Din ruter m\u00e5 v\u00e6re stoppet f\u00f8r du kan fors\u00f8ke \u00e5 endre n\u00e5v\u00e6rende servicetilbud.
+message.acquire.new.ip.vpc=Vennligst bekreft at du \u00f8nsker \u00e5 hente en ny IP for denne VPC.
+message.acquire.public.ip=Vennligst velg en sone som du vil hente ny IP fra.
+message.action.cancel.maintenance=Din vert har vellykket blitt kansellert for vedlikehold. Denne prosessen kan ta opptil flere minutter.
+message.action.cancel.maintenance.mode=Vennligst bekreft at du \u00f8nsker \u00e5 kansellere dette vedlikeholdet.
+message.action.change.service.warning.for.instance=Din instans m\u00e5 v\u00e6re stopped f\u00f8r du fors\u00f8ker \u00e5 endret n\u00e5v\u00e6rende tjenestetilbud.
+message.action.change.service.warning.for.router=Din ruter m\u00e5 v\u00e6re stoppet f\u00f8r du kan fors\u00f8ke \u00e5 endre n\u00e5v\u00e6rende tjenestetilbud.
message.action.delete.cluster=Vennligst bekreft at du vil slette denne klyngen.
message.action.delete.disk.offering=Vennligst bekreft at du \u00f8nsker \u00e5 slette dette disktilbudet.
message.action.delete.domain=Vennligst bekreft at du vil slette dette domenet.
+message.action.delete.external.firewall=Vennligst bekreft at du vil fjerne denne eksterne brannmuren. Advarsel\: hvis du planlegger \u00e5 legge tilbake den samme eksterne brannmuren, m\u00e5 du resette bruksdataene p\u00e5 enheten.
+message.action.delete.external.load.balancer=Vennligst bekreft at du \u00f8nsker \u00e5 fjerne denne eksterne lastbalansereren. Advarsel\: hvis du planlegger \u00e5 legge til den samme eksterne lastbalansereren senere, m\u00e5 du resette bruksdataene p\u00e5 enheten.
message.action.delete.ingress.rule=Vennligst bekreft at du \u00f8nsker \u00e5 slette denne inng\u00e5ende regel.
message.action.delete.ISO.for.all.zones=Denne ISO er brukt av alle soner. Vennligst bekreft at du \u00f8nsker \u00e5 slette den fra alle soner.
message.action.delete.ISO=Vennligst bekreft at du vil slette denne ISO.
message.action.delete.network=Vennligst bekreft at du vil slette dette nettverket.
message.action.delete.nexusVswitch=Vennligst bekreft at du \u00f8nsker \u00e5 slette denne nexus 1000v
+message.action.delete.nic=Vennligst bekreft at du vil fjerne dette NIC, noe som ogs\u00e5 vil fjerne det assosierte nettverket fra VMen.
message.action.delete.physical.network=Vennligst bekreft at du \u00f8nsker \u00e5 slette dette fysiske nettverk
message.action.delete.pod=Vennligst bekreft at du vil slette denne pod.
message.action.delete.primary.storage=Vennligst bekreft at du \u00f8nsker \u00e5 slette denne prim\u00e6rlagring.
message.action.delete.secondary.storage=Vennligst bekreft at du \u00f8nsker \u00e5 slette denne sekund\u00e6rlagring.
message.action.delete.security.group=Vennligst bekreft at du \u00f8nsker \u00e5 slette denne sikkerhetsgruppe.
-message.action.delete.service.offering=Vennligst bekreft at du \u00f8nsker \u00e5 slette dette servicetilbud.
-message.action.delete.system.service.offering=Vennligst bekreft at du \u00f8nsker \u00e5 slette dette system-servicetilbud.
+message.action.delete.service.offering=Vennligst bekreft at du \u00f8nsker \u00e5 slette dette tjenestetilbud.
+message.action.delete.snapshot=Vennligst bekreft at du \u00f8nsker \u00e5 slette dette \u00f8yeblikksbildet.
+message.action.delete.system.service.offering=Vennligst bekreft at du \u00f8nsker \u00e5 slette dette system-tjenestetilbud.
message.action.delete.template.for.all.zones=Denne mal er brukt av alle soner. Vennligst bekreft at du \u00f8nsker \u00e5 slette den fra alle soner.
message.action.delete.template=Vennligst bekreft at du vil slette denne mal.
message.action.delete.volume=Vennligst bekreft at du vil slette dette volumet.
message.action.delete.zone=Vennligst bekreft at du \u00f8nsker \u00e5 slette denne sone.
message.action.destroy.instance=Vennligst bekreft at du \u00f8nsker \u00e5 fjerne denne instansen.
+message.action.destroy.systemvm=Vennligst bekreft at du \u00f8nsker \u00e5 \u00f8delegge denne System VM.
+message.action.disable.cluster=Vennligst bekreft at du \u00f8nsker \u00e5 detaktivere denne klyngen.
message.action.disable.nexusVswitch=Vennligst bekreft at du \u00f8nsker \u00e5 deaktivere denne nexus 1000v
message.action.disable.physical.network=Vennligst bekreft at du \u00f8nsker \u00e5 deaktivere dette fysiske nettverket.
message.action.disable.pod=Vennligst bekreft at du \u00f8nsker \u00e5 aktivere denne poden
+message.action.disable.static.NAT=Vennligst bekreft at du \u00f8nsker \u00e5 deaktivere statisk NAT.
message.action.disable.zone=Vennligst bekreft at du \u00f8nsker \u00e5 deaktivere denne sonen.
message.action.downloading.template=Laster ned mal.
message.action.download.iso=Vennligst bekreft at du \u00f8nsker \u00e5 laste ned denne ISO.
message.action.download.template=Vennligst bekreft at du \u00f8nsker \u00e5 laste ned denne malen.
message.action.enable.cluster=Vennligst bekreft at du \u00f8nsker \u00e5 aktivere denne klyngen.
+message.action.enable.maintenance=Din vert har vellykket blitt forberedt for vedlikehold. Denne prosessen kan ta opptil flere minutter.
message.action.enable.nexusVswitch=Vennligst bekreft at du \u00f8nsker \u00e5 aktivere denne nexus 1000v
message.action.enable.physical.network=Vennligst bekreft at du \u00f8nsker \u00e5 aktivere dette fysiske nettverket.
message.action.enable.pod=Vennligst bekreft at du \u00f8nsker \u00e5 aktivere denne poden.
message.action.enable.zone=Vennligst bekreft at du \u00f8nsker \u00e5 aktivere denne sonen.
+message.action.expunge.instance=Vennligst bekreft at du vil permanent slette denne instansen.
+message.action.force.reconnect=Din vert har vellykket blitt tvunget til \u00e5 koble til p\u00e5 nytt. Denne prosessen kan ta noen minutter.
+message.action.host.enable.maintenance.mode=Aktivering av vedlikeholdsmodus vil for\u00e5rsake migrering av alle kj\u00f8rende instanser p\u00e5 denne vert til hvilken som helst annen tilgjengelig vert.
+message.action.instance.reset.password=Vennligst bekreft ay du \u00f8nsker \u00e5 endre ROOT-passordet for denne virtuelle maskin.
+message.action.manage.cluster=Vennligst bekreft at du \u00f8nsker \u00e5 administrere klyngen.
+message.action.primarystorage.enable.maintenance.mode=Advarsel\: setting av prim\u00e6rlagring i vedlikeholdsmodus vil for\u00e5rsake at alle VMer som benytter volum fra det vil bli stoppet. \u00d8nsker du \u00e5 fortsette?
message.action.reboot.instance=Vennligst bekreft at du vill restarte denne instansen.
+message.action.reboot.router=Alle tjenester levert fra denne virtuelle ruter vil bli avbrutt. Vennligst bekreft at du \u00f8nsker \u00e5 restarte denne ruteren.
message.action.reboot.systemvm=Vennligst bekreft at du vil restarte denne system VM
+message.action.release.ip=Vennligst bekreft at du \u00f8nsker \u00e5 frigi denne IP.
message.action.remove.host=Vennligst bekreft at du vil gjerne denne tjeneren.
+message.action.reset.password.off=Din instans st\u00f8tter forel\u00f8pig ikke denne funksjonen.
+message.action.reset.password.warning=Din instans m\u00e5 v\u00e6re stoppet f\u00f8r man fors\u00f8ker \u00e5 bytte n\u00e5v\u00e6rende passord.
+message.action.restore.instance=Vennligst bekreft at du \u00f8nsker \u00e5 gjenopprette denne instansen.
+message.action.revert.snapshot=Vennligst bekreft at du \u00f8nsker \u00e5 gjenopprette volumet til dette \u00f8yeblikksbildet.
message.action.start.instance=Vennligst bekreft at du \u00f8nsker \u00e5 starte denne instansen.
message.action.start.router=Vennligst bekreft at du vil starte denne ruter.
message.action.start.systemvm=Vennligst bekreft at du vil starte denne system VM.
message.action.stop.instance=Vennligst bekreft at du vil stoppe denne instansen.
+message.action.stop.router=Alle tjenester levert fra denne virtuelle ruter vil bli avbrutt. Vennligst bekreft at du \u00f8nsker \u00e5 stoppe denne ruteren.
message.action.stop.systemvm=Vennligst bekreft at du vil stoppe denne system VM.
message.action.take.snapshot=Vennligst bekreft at du vil ta et \u00f8yeblikksbilde av dette volumet.
+message.action.unmanage.cluster=Vennligst bekreft at du ikke \u00f8nsker \u00e5 administere klyngen.
+message.action.vmsnapshot.delete=Vennligst bekreft at du \u00f8nsker \u00e5 slette dette VM \u00f8yeblikksbildet.
+message.action.vmsnapshot.revert=Tilbakestill VM \u00f8yeblikksbilde
message.activate.project=Er du sikker p\u00e5 du \u00f8nsker \u00e5 aktivere dette prosjektet?
+message.add.cluster=Legg til en hypervisor-administrert klynge for sone <b><span id\="zone_name"></span></b>, pod <b><span id\="pod_name"></span></b>
+message.add.cluster.zone=Legg til en hypervisor-administrert klynge for sone <b><span id\="zone_name"></span></b>
+message.add.disk.offering=Vennligst spesifiser f\u00f8lgende parametere for \u00e5 legge til et nytt disktjenestetilbud
message.add.domain=Vennligst bekreft underdomenet du \u00f8nsker \u00e5 opprette under dette domenet
+message.added.new.nuage.vsp.controller=La til ny Nuage Vsp-kontroller
+message.added.vpc.offering=La til VPC tilbud
message.add.firewall=Legg en brannmur til sonen
message.add.guest.network=Vennligst bekreft at du \u00f8nsker \u00e5 legge til gjestenettverk
+message.add.host=Vennligst spesifiser f\u00f8lgende parametere for \u00e5 legge til en ny vert
message.adding.host=Legger til vert
message.adding.Netscaler.device=Legg til NetScaler-enhet
+message.adding.Netscaler.provider=Legger til Netscaler tilbyder
+message.add.ip.range.direct.network=Legg til en IP-rekke til et direkte-nettverk <b><span id\="directnetwork_name"></span></b> i sone <b><span id\="zone_name"></span></b>
+message.add.ip.range=Legg til en IP-rekke til offentlige nettverk i sonen
+message.add.ip.range.to.pod=<p>Legg til IP-addresser til pod\: <b><span id\="pod_name_label"></span></b></p>
+message.additional.networks.desc=Vennligst velg tilleggsnettverk som din virtuelle instans vil v\u00e6re tilkoblet.
+message.add.load.balancer=Legg til lastbalanserer i sone
message.add.load.balancer.under.ip=Lastbalanseringsregelen har blitt lagt til under IP\:
+message.add.network=Legg til nytt nettverk for sone\: <b><span id\="zone_name"></span></b>
+message.add.new.gateway.to.vpc=Vennligst spesifiser f\u00f8lgende p\u00e5krevd informasjon for \u00e5 legge til en ny gateway i dette VPC nettverket.
+message.add.pod.during.zone.creation=Hver sone m\u00e5 inneholde en eller flere pods, og vi legger til den f\u00f8rste poden n\u00e5. En pod inneholder verter og prim\u00e6rlagring, som du legger til i et senere steg.F\u00f8rst, konfigurer en rekke med reserverte IP-adresser for CloudStacks interne administrasjonstrafikk. Den reserverte IP-rekken m\u00e5 v\u00e6re unik for hver sone i en sky.
+message.add.pod=Legg til ny pod for sone <b><span id\="add_pod_zone_name"></span></b>
+message.add.primary.storage=Legg til ny prim\u00e6rlagring for sone <b><span id\="zone_name"></span></b>, pod <b><span id\="pod_name"></span></b>
+message.add.primary=Vennligst spesifiser f\u00f8lgende paramtere for \u00e5 legge til ny hovedlagring.
+message.add.region=Vennligst spesifiser f\u00f8lgende p\u00e5krevd informasjon for \u00e5 legge til en ny region.
+message.add.secondary.storage=Legg til ny lagring for sone <b><span id\="zone_name"></span></b>
+message.add.service.offering=Vennligst skriv inn f\u00f8lgende data for \u00e5 legge til et nytt datakraftstilbud.
+message.add.system.service.offering=Vennligst skriv inn f\u00f8lgende data for \u00e5 legge til et nytt systemtjenestetilbud.
+message.add.template=Vennligst skriv inn f\u00f8lgende data for \u00e5 opprette din nye mal
+message.add.volume=Vennligst skriv inn f\u00f8lgende data for \u00e5 legge til et nytt volum.
message.add.VPN.gateway=Vennligst bekreft at du \u00f8nsker \u00e5 legge til en VPN Gateway
+message.admin.guide.read=For VMware-baserte VMer, vennligst les avsnittet om dynamisk skalering i administrasjonsdokumentasjonen f\u00f8r skalering. \u00d8nsker du \u00e5 fortsette?\\,
+message.advanced.mode.desc=Velg denne nettverksmodellen hvis du \u00f8nsker \u00e5 aktivere VLAN-st\u00f8tte. Denne nettverksmodellen gir den st\u00f8rste fleksibiliteten ved \u00e5 tillate administatorer \u00e5 lage egne nettverkstilbud som \u00e5 tilby brannmur, vpn og lastbalanserings-st\u00f8tte s\u00e5 vel som \u00e5 tillate direkte mot virtuelt nettverk.
+message.advanced.security.group=Velg dette hvis du \u00f8nsker \u00e5 bruke sikkerhetsgrupper for \u00e5 tilby gjeste-VM isolering.
+message.advanced.virtual=Velg dette hvis du \u00f8nsker \u00e5 bruke soneomfattende VLAN for \u00e5 tilby gjeste-VM isolering.
+message.after.enable.s3=S3-st\u00f8ttet sekund\u00e6rlagring konfigurert. Merk\: N\u00e5r du forlater denne siden s\u00e5 vil det ikke v\u00e6re mulig \u00e5 konfigurere S3 p\u00e5 nytt.
+message.after.enable.swift=Swift konfigurert. Merk\: N\u00e5r du forlater denne siden s\u00e5 vil det ikke v\u00e6re mulig konfigurere Swift p\u00e5 nytt.
message.alert.state.detected=Alarm oppdaget
+message.allow.vpn.access=Vennligst skriv inn et brukernavn og passord for brukeren du til gi VPN-tilgang.
+message.apply.snapshot.policy=Du har oppdatert den n\u00e5v\u00e6rende \u00f8yeblikksbilde policyen.
+message.attach.iso.confirm=Vennligst bekreft at du vil tildele ISOen til denne virtuelle instans.
+message.attach.volume=Vennligst fyll inn f\u00f8lgende data for \u00e5 tilknytte et nytt volum. Hvis du tilknytter et diskvolum til en Windows-basert virtuell maskin s\u00e5 er du n\u00f8dt til \u00e5 restarte instansen for \u00e5 se den tilknyttede disken.
+message.basic.mode.desc=Velg denne nettverksmodellen hvis du <b>*<u>ikke</u>*</b> vil aktivere VLAN st\u00f8tte. Alle virtuelle instnanser opprettet under denne nettverksmodellen vil bli tildelt en IP direkte fra nettverket og sikkerhetsgrupper blir benyttet for \u00e5 tilby sikkerhet og segregering.
+message.change.offering.confirm=Vennligst bekreft at du vil forandre servicetilbudet for denne virtuelle maskinen.
message.change.password=Vennligst endre ditt passord
+message.cluster.dedicated=Dedikert Til Klynge
+message.cluster.dedication.released=Klynge dedikering frigjort
+message.configure.all.traffic.types=Du har flere fysiske nett; vennligst konfigurer etiketter for hver trafikktype ved \u00e5 klikke p\u00e5 Rediger-knappen.
+message.configure.firewall.rules.allow.traffic=Konfigurer reglene for \u00e5 tillate trafikk
+message.configure.firewall.rules.block.traffic=Konfigurer reglene for \u00e5 blokkere trafikk
message.configure.ldap=Bekreft at du \u00f8nsker \u00e5 konfigurere LDAP.
message.configuring.guest.traffic=Konfigurerer gjestetrafikk
message.configuring.physical.networks=Konfigurer fysisk nettverk
message.configuring.public.traffic=Konfigurerer offentlig trafikk
message.configuring.storage.traffic=Konfigurerer lagringstrafikk
+message.confirm.action.force.reconnect=Vennligst bekreft at du \u00f8nsker \u00e5 tvinge et nytt tilkoblingsfors\u00f8k for denne vert.
+message.confirm.add.vnmc.provider=Vennligst bekreft at du \u00f8nsker \u00e5 installere denne VNMC tilbyderen.
+message.confirm.archive.alert=Vennlgist bekreft at du vil arkivere denne varslingen.
+message.confirm.archive.event=Vennligst bekreft at du \u00f8nsker \u00e5 arkivere denne hendelsen.
+message.confirm.archive.selected.alerts=Vennligst bekreft at du \u00f8nsker \u00e5 arkivere valgte varsler
+message.confirm.archive.selected.events=Vennligst bekreft at du vil arkivere valgte hendelser
+message.confirm.attach.disk=Er du sikker p\u00e5 at du vil tildele disk?
+message.confirm.create.volume=Er du sikker p\u00e5 at du vil opprette volum?
+message.confirm.current.guest.CIDR.unchanged=\u00d8nsker du \u00e5 beholde n\u00e5v\u00e6rende gjestenettverks CIDR uendret?
+message.confirm.dedicate.cluster.domain.account=Bekreft at du vil dedikere denne klyngen til et domene / en konto?
+message.confirm.dedicate.host.domain.account=\u00d8nsker du virkelig \u00e5 dedikere denne verten til et domene/konto?
+message.confirm.dedicate.pod.domain.account=\u00d8nsker du virkelig \u00e5 dedikere denne pod til et domene/konto?
+message.confirm.dedicate.zone=\u00d8nsker du virkelig \u00e5 dedikere denne sonen til et domene/konto?
+message.confirm.delete.acl.list=Er du sikker p\u00e5 at du \u00f8nsker \u00e5 slette denne ACL listen?
+message.confirm.delete.alert=Er du sikker p\u00e5 at du vil slette denne varslingen ?
+message.confirm.delete.baremetal.rack.configuration=Vennligst bekreft at du \u00f8nsker \u00e5 slette Bare Metal-konfigurasjonen.
+message.confirm.delete.BigSwitchBcf=Vennligst bekreft at du \u00f8nsker \u00e5 slette denne BigSwitch BCF Controlleren?
+message.confirm.delete.BrocadeVcs=Vennligst bekreft at du vil slette denne Brocade Vcs svitsjen
message.confirm.delete.ciscoASA1000v=Vennligst bekreft at du vil slette CiscoASA1000v
+message.confirm.delete.ciscovnmc.resource=Vennligst bekreft at du vil slette CiscoVNMC
message.confirm.delete.F5=Vennligst bekreft at du \u00f8nsker \u00e5 slette F5
+message.confirm.delete.internal.lb=Vennligst bekreft at du \u00f8nsker \u00e5 slette Intern LB
message.confirm.delete.NetScaler=Vennligst bekreft at du \u00f8nsker \u00e5 slette Netscaler
+message.confirm.delete.NuageVsp=Vennligst bekreft at du \u00f8nsker \u00e5 slette Nuage Virtualized Service Directory
message.confirm.delete.PA=Vennligst bekreft at du vil slette Palo Alto
+message.confirm.delete.secondary.staging.store=Vennligst bekreft at du vil slette dette sekund\u00e6rmellomlagringsomr\u00e5de.
message.confirm.delete.SRX=Vennligst bekreft at du \u00f8nsker \u00e5 slette SRX
+message.confirm.delete.ucs.manager=Vennligst bekreft at du \u00f8nsker \u00e5 slette UCS Manager
message.confirm.destroy.router=Vennligst bekreft at du \u00f8nsker \u00e5 fjerne denne ruteren
+message.confirm.disable.host=Vennligst bekreft at du vil detaktivere denne vert
message.confirm.disable.network.offering=Er du sikker p\u00e5 at du vil deaktivere dette nettverkstilbudet?
message.confirm.disable.provider=Vennligst bekreft at du \u00f8nsker \u00e5 deaktivere denne tilbyderen
+message.confirm.disable.vnmc.provider=Vennligst bekreft at du \u00f8nsker \u00e5 deaktivere denne VNMC tilbyderen.
message.confirm.disable.vpc.offering=Er du sikker p\u00e5 at du vil deaktivere dette VPC tilbudet?
+message.confirm.enable.host=Vennligst bekreft at du \u00f8nsker \u00e5 aktivere verten
message.confirm.enable.network.offering=Vil du aktivere dette nettverkstilbudet?
message.confirm.enable.provider=Vennligst bekreft at du \u00f8nsker \u00e5 aktivere denne tilbyderen
+message.confirm.enable.vnmc.provider=Vennligst bekreft at du \u00f8nsker \u00e5 aktivere denne VNMC tilbyderen.
+message.confirm.enable.vpc.offering=Er du sikker p\u00e5 at du vil aktivere dette VPC nettverkstilbudet?
message.confirm.join.project=Vennligst bekreft at du \u00f8nsker \u00e5 delta i dette prosjektet.
+message.confirm.migrate.volume=\u00d8nsker du \u00e5 migrere dette volumet?
+message.confirm.refresh.blades=Vennligst bekreft at du vil oppdatere blade status.
+message.confirm.release.dedicated.cluster=Vil du aktivere denne dedikerte klyngen?
+message.confirm.release.dedicated.host=\u00d8nsker du \u00e5 frigi denne dedikerte verten ?
+message.confirm.release.dedicated.pod=\u00d8nsker du \u00e5 frigi denne dedikerte poden ?
+message.confirm.release.dedicated.zone=\u00d8nsker du \u00e5 frigi denne dedikerte sonen ?
+message.confirm.release.dedicate.vlan.range=Vennligst bekreft at du vil frigi denne dedierte VLAN-rekken
+message.confirm.remove.event=Er du sikker p\u00e5 at du vil fjerne denne hendelsen?
+message.confirm.remove.IP.range=Vennligst bekreft du til fjerne denne IP-rangen.
+message.confirm.remove.load.balancer=Vennligst bekreft at du vil fjerne VM fra lastbalanserer
message.confirm.remove.network.offering=Er du sikker p\u00e5 at du vil fjerne dette nettverkstilbudet?
+message.confirm.remove.selected.alerts=Vennligst bekreft at du \u00f8nsker \u00e5 fjerne valgte alarmer
+message.confirm.remove.selected.events=Vennligst bekreft at du vil fjerne valgte hendelser
+message.confirm.remove.vmware.datacenter=Vennligst bekreft at du vil fjerne dette VMWare data senteret
message.confirm.remove.vpc.offering=Er du sikker p\u00e5 at du vil fjerne dette VPC tilbudet?
+message.confirm.replace.acl.new.one=Vil du erstatte ACL med en ny?
message.confirm.scale.up.router.vm=\u00d8nsker du \u00e5 skalere opp denne Ruter-VMen?
message.confirm.scale.up.system.vm=\u00d8nsker du \u00e5 skalere opp denne system VM?
message.confirm.shutdown.provider=Vennligst bekreft at du \u00f8nsker \u00e5 stenge denne tilbyderen
message.confirm.start.lb.vm=Vennligst bekreft at du vil starte LB VM
message.confirm.stop.lb.vm=Vennligst bekreft at du vil stoppe LB VM
+message.confirm.upgrade.router.newer.template=Vennligst bekreft at du vil oppgradere ruter til \u00e5 bruke nyere mal
+message.confirm.upgrade.routers.account.newtemplate=Vennligst bekreft at du vil oppgradere alle rutere i denne kontoen til \u00e5 bruke en nyere mal
+message.confirm.upgrade.routers.cluster.newtemplate=Vennligst bekreft at du vil oppgradere alle rutere i denne klyngen til \u00e5 bruke en nyere mal
+message.confirm.upgrade.routers.newtemplate=Vennligst bekreft at du vil oppgradere alle rutere i denne sonen til \u00e5 bruke en nyere mal
+message.confirm.upgrade.routers.pod.newtemplate=Vennligst bekreft at du vil oppgradere alle rutere i denne pod til \u00e5 bruke en nyere mal
+message.copy.iso.confirm=Vennligst bekreft at du vil kopiere din ISO til
message.copy.template.confirm=\u00d8nsker du \u00e5 kopiere malen?
+message.copy.template=Kopier template <b id\="copy_template_name_text">XXX</b> fra sone <b id\="copy_template_source_zone_text"></b> til
message.create.template=Er du sikker p\u00e5 at du \u00f8nsker \u00e5 lage malen?
+message.create.template.vm=Lage VM fra template <b id\="p_name"></b>
+message.create.template.volume=Vennligst spesifiser f\u00f8lgende informasjon f\u00f8r opprettelse av en mal for ditt diskvolum\: <b><span id\="volume_name"></span></b>. Opprettelse av malen kan ta flere minutter og lenger avhengig av st\u00f8rrelsen p\u00e5 volumet.
message.creating.cluster=Oppretter klynge
message.creating.guest.network=Oppretter gjestenettverk
message.creating.physical.networks=Oppretter fysiske nettverk
@@ -1376,21 +1901,53 @@
message.creating.systemVM=Oppretter system-VMer (dette kan ta litt tid)
message.creating.zone=Oppretter sone
message.decline.invitation=Er du sikker p\u00e5 du \u00f8nsker \u00e5 avvise denne prosjektinvitasjonen?
+message.dedicated.zone.released=Sone dedikering frigitt
+message.dedicate.zone=Dedikerer sone
+message.delete.account=Vennligst bekreft at du vil slette denne kontoen.
+message.delete.affinity.group=Vennligst bekreft du til fjerne denne affinitetsgruppen.
message.delete.gateway=Vennligst bekreft at du \u00f8nsker \u00e5 slette gateway
message.delete.project=Er du sikker p\u00e5 du \u00f8nsker \u00e5 slette dette prosjektet?
message.delete.user=Vennligst bekreft at du \u00f8nsker \u00e5 slette denne bruker.
message.delete.VPN.connection=Vennligst bekreft at du \u00f8nsker \u00e5 slette VPN-tilkobling
+message.delete.VPN.customer.gateway=Vennligst bekreft at du \u00f8nsker \u00e5 slette denne VPN gatewayen
+message.delete.VPN.gateway=Vennligst bekreft at du \u00f8nsker \u00e5 slette denne VPN gatewayen
+message.desc.add.new.lb.sticky.rule=Legg til ny LB sticky regel
+message.desc.advanced.zone=For mer avanserte nettverks topologier. Denne nettverks modellen gir flest egenskaper rundt definisjon av gjestenettverk og gir alternativer for tilpassede netverkstilbud, slik for brannmurer, VPN og lastbalanserere.
+message.desc.basic.zone=Gir et enkelt nettverk hvor alle virtuelle instanser blir tildelt en IP-adresse direkte fra nettverket. Isolering av gjester kan tilbys p\u00e5 lag-3 ved hjelp av sikkerhetsgrupper (IP-adresse kilde-filtrering).
+message.desc.cluster=Hver pod m\u00e5 inneholde en eller flere pods, og vi vil installere den f\u00f8rste klyngen n\u00e5. En klynge har til form\u00e5l \u00e5 samle en gruppe hypervisor verter. All vertene i en klynge m\u00e5 ha identisk marskinvare, kj\u00f8re samme hypervisor, v\u00e6re p\u00e5 samme nettverk, og ha tilgang til den samme prim\u00e6rlagringsenheten. Hver klynge best\u00e5r av en eller flere verter og en eller flere prim\u00e6rlagrings verter.
+message.desc.created.ssh.key.pair=Laget et SSH-n\u00f8kkelpar.
+message.desc.create.ssh.key.pair=Vennligst fyll inn f\u00f8lgende data for \u00e5 opprette eller registrere et ssh-n\u00f8kkelpar. <br><br>(1) Hvis offentlig n\u00f8kkel er valgt s\u00e5 vil CloudStack registrere den offentlige n\u00f8kkelen. Du kan bruke den igjennom din private n\u00f8kkel.<br><br>(2) Hvis offentlig n\u00f8kkel ikke er valgt s\u00e5 vil CloudStack opprette et SSH-n\u00f8kkelpar. I dette tilfellet, vennligst kopier og ta v\u00e6re p\u00e5 den private n\u00f8kkelen. CloudStack vil ikke ta vare p\u00e5 den.<br>
+message.desc.host=Hver klynge m\u00e5 inneholde minst en vert (datamaskin) for gjester \u00e5 kj\u00f8re p\u00e5, og vi legger til den f\u00f8rste n\u00e5. For at en vert skal fungere i CloudStack m\u00e5 du installere hypervisor-programvare p\u00e5 den, tildele en IP-adresse og s\u00f8rge for at den er tilkoblet CloudStacks administrasjonsserver.<br/><br/>Oppgi vertens DNS- eller IP-adresse, brukernavnet (vanligvis root) og passord, og eventuelle etiketter du \u00f8nsker \u00e5 kategorisere den med.
+message.desc.primary.storage=Hver klynge m\u00e5 inneholde en eller flere prim\u00e6rlagringer, og vi skal legge til den f\u00f8rste n\u00e5. Prim\u00e6rlagring inneholder diskvolumer for alle maskiner som kj\u00f8rer p\u00e5 verter i klyngen. Bruk hvilken som helst standard-protokoll den underliggende hypervisoren st\u00f8tter.
+message.desc.reset.ssh.key.pair=Vennligst spesifiser et ssh n\u00f8kkelpar som du vil legge til denne VM. Vennligst merk at root passordet vil bli endret av denne operasjonen hvis passord er aktivert.
+message.desc.secondary.storage=Hver sone m\u00e5 ha minst en NFS eller sekund\u00e6rlagringsserver og vi vil legge til den f\u00f8rste n\u00e5. Sekund\u00e6rlingsserveren lagrer VM-maler, ISO-bilder og VM-disk \u00f8yeblikksbilder. Denne serveren m\u00e5 v\u00e6re tilgjengelig for alle verter i denne sonen. <br/><br/>Oppgi IP-adresseng og eksportert sti.
+message.desc.zone=En sone er den st\u00f8rste gruppe enheten i en CloudStack installasjon. En sone er typisk sett p\u00e5 som et datasenter, og gir bedre p\u00e5litelighet gjennom isolasjon og redundans. En sone best\u00e5r av en eller flere pods (hver pod inneholder hypervisor verter og prim\u00e6rlagringsenheter) og en sekund\u00e6rlagringsenhet som er delt mellom alle pods i sonen.
message.detach.disk=Er du sikker p\u00e5 at du \u00f8nsker \u00e5 frakoble denne disken?
+message.detach.iso.confirm=Vennligst bekreft at du \u00f8nsker \u00e5 frakoble ISOen fra denne virtuelle instansen.
+message.disable.account=Vennligst bekreft at du \u00f8nsker \u00e5 deaktivere denne kontoen. Ved \u00e5 deaktivere kontoen s\u00e5 vil alle brukere av denne kontoen ikke lenger ha tilgang til sine skyressurser. Alle virtuelle maskiner vil bli skrudd av umiddelbart.
+message.disable.snapshot.policy=Du har deaktivert den n\u00e5v\u00e6rende \u00f8yeblikksbilde policyen.
message.disable.user=Vennligst bekreft at du \u00f8nsker \u00e5 deaktivere denne bruker.
+message.disable.vpn.access=Vennligst bekreft at du \u00f8nsker \u00e5 deaktivere VPN-tilgang.
message.disable.vpn=Er du sikker p\u00e5 at du vil deaktivere VPN?
message.disabling.network.offering=Deaktiverer nettverkstilbud
message.disabling.vpc.offering=Deaktiverer VPC tilbud
message.disallowed.characters=Ikke tillatte tegn\: \\<\\,\\>
+message.download.ISO=Vennligst klikk <a href\="\#">00000</a> for \u00e5 laste ned ISO
+message.download.template=Vennligst klikk <a href\="\#">00000</a> for \u00e5 laste ned mal
+message.download.volume.confirm=Vennligst bekreft at du \u00f8nsker \u00e5 laste ned dette volumet.
+message.download.volume=Vennligst klikk <a href\="\#">00000</a> for \u00e5 laste ned volumet
+message.edit.account=Oppdater ("-1" indikerer at det ikke er satt \u00f8vre grense for resursbruk)
+message.edit.confirm=Vennligst bekreft dine endringer f\u00f8r du klikker "Lagre".
+message.edit.limits=Oppdater \u00f8vre grense for resursbruk. "-1" indikerer at det ikke er satt \u00f8vre grense.
+message.edit.traffic.type=Vennligst oppgi trafikk-etiketten du \u00f8nsker knyttet til denne trafikktypen.
message.enable.account=Bekreft at du \u00f8nsker \u00e5 aktivere denne kontoen.
+message.enabled.vpn=Din fjerntilkoblings-VPN er aktivert og kan n\u00e5s via IPen
message.enabled.vpn.ip.sec=Din IPSec delte n\u00f8kkel (psk) er
message.enable.user=Vennligst bekreft at du \u00f8nsker \u00e5 aktivere denne bruker.
+message.enable.vpn.access=VPN er deaktivert for denne IP-adressen. \u00d8nsker du \u00e5 aktivere VPN-tilgang?
message.enable.vpn=Vennligst bekreft at du \u00f8nsker \u00e5 aktivere VPN-tilgang for denne IP-adressen
message.enabling.network.offering=Aktiver nettverkstilbud
+message.enabling.security.group.provider=Aktiverer sikkerhetsgruppetilbyder
message.enabling.vpc.offering=Aktiverer VPC tilbud
message.enabling.zone=Aktiverer sonen
message.enabling.zone.dots=Aktiverer sone...
@@ -1398,14 +1955,29 @@
message.enter.token=Vennligst skriv inn koden du fikk i invitasjonsmailen.
message.generate.keys=Vennligst bekreft at du \u00f8nsker \u00e5 generere nye n\u00f8kler for denne bruker.
message.gslb.delete.confirm=Vennligst bekreft at du vil slette denne GSLB
+message.gslb.lb.remove.confirm=Vennligst bekreft at du vil slette lastbalansering fra GSLB
+message.guest.traffic.in.advanced.zone=Gjestetrafikk er kommunikasjon mellom sluttbrukers virtuelle maskiner. Spesifiser en rekke med VLAN-ider som kan inneholde gjestetrafikk for hvert fysiske nettverk.
+message.guest.traffic.in.basic.zone=Gjestetrafikk er kommunikasjon mellom sluttbrukers virtuelle gjester. Spesifiser en rekke med IP-adresser som CloudStack kan tildele virtuelle gjester. S\u00f8rg for at denne rekken ikke overlapper IP-rekken(e) som er reservert systemmaskiner.
+message.host.dedicated=Dedikert Vert
+message.host.dedication.released=Vert dedikering frigitt
message.installWizard.click.retry=Klikk p\u00e5 knappen for \u00e5 pr\u00f8ve oppstart p\u00e5 nytt.
+message.installWizard.copy.whatIsACluster=En klynge har til form\u00e5l \u00e5 samle en gruppe hypervisor verter. All vertene i en klynge m\u00e5 ha identisk marskinvare, kj\u00f8re samme hypervisor, v\u00e6re p\u00e5 samme subnett, og ha tilgang til den samme prim\u00e6rlagringsenheten. Kj\u00f8rende virtuelle maskiner (VM) kan migreres fra en vert i klyngen til en annen uten avbrudd for brukeren. En klynge er den tredje st\u00f8rste enheten i CloudStack. En pod inneholder en eller flere klynger, og en sone inneholder en eller flere pods. <br/><br/>CloudStack can inneholde en eller flere klynger, men for en basic installasjon trengs bare en.
+message.installWizard.copy.whatIsAHost=En vert er en enkelt datamaskin. Verter tilbyr ressurser som kan gj\u00f8re virtuelle gjester. Hver vert har hypervisor-programvare installert for \u00e5 administrere gjestene (bortsett fra r\u00e5jern-verter, som er et spesialtilfelle diskutert i den avanserte installasjonsguiden). For eksempel, en Linux KVM-aktivert server, en Citrix XenServer server og en ESXi server er verter. I en enkel installasjon bruker vi en enkelt vert som kj\u00f8rer XenServer eller KVM.<br/><br/>Verten er den minste organisasjonsenheten i en CloudStack-installasjon. Verter er del av klynger, klynger er del av poder og poder er del av soner.
+message.installWizard.copy.whatIsAPod=En pod representerer ofte et enkelt rack. Verter i samme pod er i samme subnett.<br/><br/>En pod er den nest st\u00f8rste enheten i en CloudStack-installasjon. Poder er en del av soner. Hver sone kan inneholde en eller flere poder; i en enkel installasjon vil du kun ha en pod i sonen.
+message.installWizard.copy.whatIsAZone=En sone er den st\u00f8rste gruppe enheten i en CloudStack installasjon. En sone er typisk sett p\u00e5 som et datasenter, selv om man kan ha flere datasenter i en sone. CloudStack infrastrukturen kan deles inn i soner for \u00e5 isolere og \u00e5 gi redundans. Hver sone kan for eksempel ha sin egen data senter str\u00f8mtilf\u00f8rsel og nettverkslink, og soner kan v\u00e6re spredd over st\u00f8rre distanser.
+message.installWizard.copy.whatIsCloudStack=CloudStack&\#8482 er en programvare-plattform som grupperer dataressurser for \u00e5 bygge offentlige, private og hybride infrastruktur som en tjeneste (IaaS) skyer. CloudStack&\#8482 administrerer nettverk, lagring og regnekraft-verter som til sammen blir en sky-infrastruktur. Bruk CloudStack&\#8482 til \u00e5 distribuere, administrerre og konfigurere dine skyressurser og milj\u00f8er.<br/><br/>Utvid forbi individuelle virtuelle gjester som kj\u00f8rer p\u00e5 typisk maskinvare, CloudStack&\#8482 gir en skybasert infrastruktur-programvare for levering av virtuelle datasentre som en tjeneste - lever alle de essensielle komponenente for \u00e5 bygge, distribuere og administrere multi-tier og multi-tenant sky-applikasjoner. B\u00e5de fri kildekode- og premium-versjoner er tilgjengelig, hvor den fri kildekode-basert gir tiln\u00e6rmet samme funksjonalitet.
+message.installWizard.copy.whatIsPrimaryStorage=En CloudStack&\#8482 sky-infrastruktur tar i bruk to typer lagring\: prim\u00e6rlagring og sekund\u00e6rlagring. <br/><br/><strong>Prim\u00e6rlagring</strong> er assosiert med en klynge, og lagrer datadisker for hver gjest som kj\u00f8rer i den klyngen. Prim\u00e6rlagring er typisk plassert n\u00e6rt den faktiske verten.
+message.installWizard.copy.whatIsSecondaryStorage=Sekund\u00e6rlagring er assosiert med en sone, og lagrer f\u00f8lgende\: <ul><li>Maler - OS-bilder som kan brukes til \u00e5 starte opp virtuelle gjester og kan inkludere ekstra konfigurasjon, som installerte applikasjoner</li><li>ISO-bilder - Bilder som kan v\u00e6re bootbare eller ikke-bootbare.</li><li>Diskvolum \u00f8yeblikksbilder - Lagrede kopier av virtuelle gjester som kan benyttes til rekonstruksjon eller for \u00e5 lage nye maler</li></ul>
+message.installWizard.now.building=Bygger n\u00e5 din nettsky...
message.installWizard.tooltip.addCluster.name=Klyngenavnet. Dette kan v\u00e6re hva som helst og er ikke benyttet av CloudStack.
message.installWizard.tooltip.addHost.hostname=DNS-navnet eller IP-adressen til verten.
message.installWizard.tooltip.addHost.password=Dette er passordet for brukeren gjengitt ovenfor (fra din XenServer-installasjon).
message.installWizard.tooltip.addHost.username=Vanligvis root.
message.installWizard.tooltip.addPod.name=Et navn for poden
+message.installWizard.tooltip.addPod.reservedSystemEndIp=Dette er IP-rekken i det private nettverket som CloudStack bruker for \u00e5 administrere Sekund\u00e6rlagrins-servere og Konsollproxy-servere. Disse IP-adressene tas fra samme subnett som regnekraft-serverne.
message.installWizard.tooltip.addPod.reservedSystemGateway=Gatewayen til vertene i poden.
message.installWizard.tooltip.addPod.reservedSystemNetmask=Nettmasken benyttet p\u00e5 subnettet gjestene vil bruke.
+message.installWizard.tooltip.addPod.reservedSystemStartIp=Dette er IP-rekken i det private nettverket som CloudStack bruker for \u00e5 administrere Sekund\u00e6rlagrins-servere og Konsollproxy-servere. Disse IP-adressene tas fra samme subnett som regnekraft-serverne.
message.installWizard.tooltip.addPrimaryStorage.name=Navnet p\u00e5 lagringsenheten.
message.installWizard.tooltip.addPrimaryStorage.path=(for NFS) I NFS er dette den eksporterte filbanen fra serveren. Banen (for SharedMountPoint). Med KVM er dette banen p\u00e5 hver vert hvor denne prim\u00e6re lagringen er tilkoblet. For eksempel\: "mnt/primary".
message.installWizard.tooltip.addPrimaryStorage.server=(for NFS, iSCSI eller PreSetup) IP-adressen eller DNS-navnet til lagringsenheten.
@@ -1413,17 +1985,26 @@
message.installWizard.tooltip.addSecondaryStorage.path=Den eksporterte filbanen, fra serveren du spesifiserte ovenfor
message.installWizard.tooltip.addZone.dns1=Dette er DNS-serveren som benyttes av gjeste-VMer i sonen. Disse DNS-serverene vil bli aksessert via det offentlige nettverket du vil legge til senere. De offentlige IP-adressene for en sone m\u00e5 ha en rute til DNS-serveren navngitt her.
message.installWizard.tooltip.addZone.dns2=Dette er DNS-serveren som benyttes av gjeste-VMer i sonen. Disse DNS-serverene vil bli aksessert via det offentlige nettverket du vil legge til senere. De offentlige IP-adressene for en sone m\u00e5 ha en rute til DNS-serveren navngitt her.
+message.installWizard.tooltip.addZone.internaldns1=Dette er DNS-servere som benyttes av systemmaskiner i sonen. Disse DNS-serverne vil bli aksessert via det private nettverksgrensesnittet til systemmaskinene. De private IP-adressene du oppgir for podene m\u00e5 ha en rute til DNS-serverne nevnt her.
+message.installWizard.tooltip.addZone.internaldns2=Dette er DNS-servere som benyttes av systemmaskiner i sonen. Disse DNS-serverne vil bli aksessert via det private nettverksgrensesnittet til systemmaskinene. De private IP-adressene du oppgir for podene m\u00e5 ha en rute til DNS-serverne nevnt her.
message.installWizard.tooltip.addZone.name=Et navn for sonen
message.installWizard.tooltip.configureGuestTraffic.description=En beskrivelse av nettverket
+message.installWizard.tooltip.configureGuestTraffic.guestEndIp=Rekken av IP-adresser som vil v\u00e6re tilgjengelig for allokering til gjester i denne sonen. Hvis ett grensesnitt er brukt, b\u00f8r disse IPene v\u00e6re i samme CIDR som podens CIDR.
message.installWizard.tooltip.configureGuestTraffic.guestGateway=Gatewayen gjestene skal bruke
message.installWizard.tooltip.configureGuestTraffic.guestNetmask=Nettmasken benyttet p\u00e5 subnettet gjestene skal bruke
+message.installWizard.tooltip.configureGuestTraffic.guestStartIp=Rekken av IP-adresser som vil v\u00e6re tilgjengelig for allokering til gjester i denne sonen. Hvis ett grensesnitt er brukt, b\u00f8r disse IPene v\u00e6re i samme CIDR som podens CIDR.
message.installWizard.tooltip.configureGuestTraffic.name=Et navn for nettverket
message.instance.scaled.up.confirm=\u00d8nsker du \u00e5 skalere opp denne instancen?
message.instanceWizard.noTemplates=Du har ingen maler tilgjengelig. Vennligst legg til en kompatibel mal og kj\u00f8r instansveiviseren.
message.ip.address.changed=Din IP-adresse kan ha endret seg. \u00d8nsker du \u00e5 oppdatere visningen? Merk at detaljvisningen vil i s\u00e5fall lukkes.
message.iso.desc=Diskimage som inneholder data etter oppstartsbar media for OS
message.join.project=Du har n\u00e5 deltatt i et prosjekt. Vennligst bytt til prosjektvisning for \u00e5 se prosjektet.
+message.launch.vm.on.private.network=\u00d8nsker du \u00e5 starte instancen din p\u00e5 ditt dedikerte nettverk?
+message.launch.zone=Sonen er klar for aktivering; vennligst fortsett til neste steg.
+message.link.domain.to.ldap=Aktiver automatisk synkronisering for dette domenet i LDAP
message.listView.subselect.multi=(Ctrl/Cmd-klikk)
+message.lock.account=Vennligst bekreft at du \u00f8nsker \u00e5 l\u00e5se denne kontoen. Ved \u00e5 l\u00e5se kontoen s\u00e5 vil ingen brukere av denne kontoen kunne administere sine skyressurser. Eksisterende ressurser kan fortsatt bli aksessert.
+message.migrate.instance.confirm=Vennligst bekreft verten du \u00f8nsker \u00e5 migrere den virtuelle instansen til.
message.migrate.instance.to.host=Vennligst bekreft at du \u00f8nsker \u00e5 migrere instansen til en annen vert.
message.migrate.instance.to.ps=Vennligst bekreft at du \u00f8nsker \u00e5 migrere instansen til en annen sekund\u00e6r lagring.
message.migrate.router.confirm=Vennligst bekreft verten du \u00f8nsker \u00e5 migrere ruteren til\:
@@ -1431,44 +2012,99 @@
message.migrate.volume=Vennligst bekreft at du \u00f8nsker \u00e5 migrere volumet til en annen prim\u00e6rlagring.
message.network.addVM.desc=Vennligst spesifiser nettverket du vil legge til denne VMen. Et nytt NIC vil bli lagt til for dette nettverket.
message.network.addVMNIC=Vennligst bekreft at du vil legge til ett nytt NIC for dette nettverket.
+message.network.remote.access.vpn.configuration=VPN fjerntilgangskonfigurasjon har blitt generert, men aktivering feilet. Vennligst sjekk tilkoblingen til nettverkselementet og fors\u00f8k p\u00e5 nytt.
+message.new.user=Spesifiser f\u00f8lgende informasjon for \u00e5 legge til en ny bruker til denne kontoen
+message.no.affinity.groups=Du har ingen affinitetsgrupper. Fortsett til neste steg.
message.no.host.available=Ingen hoster tilgjengelig for migrering
+message.no.network.support.configuration.not.true=Du har ingen soner med sikkerhetsgrupper aktivert. Derfor ingen ekstra nettverksfunksjoner. Fortsett til steg 5.
+message.no.network.support=Din valgte hypervisor, vSphere, har ikke flere nettverks evner. Forsett til punkt 5.
message.no.projects.adminOnly=Du har ingen prosjekter.<br/>Vennligst be din administrator om \u00e5 opprette et nytt prosjekt.
message.no.projects=Du har ingen prosjekter.<br/>Vennligst opprett et nytt fra prosjektseksjonen.
+message.number.clusters=<h2><span> \# av </span> Klynger</h2>
+message.number.hosts=<h2><span> \# av </span> Verter</h2>
+message.number.pods=<h2><span> \# av </span> Pods</h2>
+message.number.storage=<h2><span> \# av </span> Prim\u00e6rlagringsvolumer</h2>
+message.number.zones=<h2><span> \# av </span> Soner</h2>
+message.password.has.been.reset.to=Passordet har blitt endret til
+message.password.of.the.vm.has.been.reset.to=Passorde for VM har blitt endre til
message.pending.projects.1=Du har f\u00f8lgende prosjektinvitasjoner\:
message.pending.projects.2=For \u00e5 se, vennligst g\u00e5 til prosjektseksjonen og velg invitasjoner fra nedtrekksmenyen.
message.please.add.at.lease.one.traffic.range=Vennligst legg til minst \u00e9tt trafikkniv\u00e5
+message.please.confirm.remove.ssh.key.pair=Vennligst bekreft at du vil fjerne dette SSH-n\u00f8kkelpar
message.please.proceed=Vennligst fortsett til neste steg
message.please.select.a.configuration.for.your.zone=Vennligst velg en konfigurasjon for din sone
message.please.select.a.different.public.and.management.network.before.removing=Vennligst velg et annet offentlig- og administrasjonsnettverk f\u00f8r du fjerner
message.please.select.networks=Vennligst velg nettverk for din VM
+message.please.select.ssh.key.pair.use.with.this.vm=Vennligst velg et ssh n\u00f8kkelpar som du vil at denne VM skal benytte\:
message.please.wait.while.zone.is.being.created=Vennlist vent mens din sone opprettes. Dette kan ta noe tid...
+message.pod.dedication.released=Pod dedikering frigitt
+message.portable.ip.delete.confirm=Vennligst bekreft at du vil slette denne portable IP-rekken
message.project.invite.sent=Invitasjon sendt til bruker. De vil bli lagt til prosjektet s\u00e5 snart de har akseptert invitasjonen
+message.public.traffic.in.advanced.zone=Offentlig trafikk blir generert av verter i skyen som aksesserer internett. Offentlige IP-adresser m\u00e5 allokerers for dette form\u00e5et. Sluttbrukere kan bruke CloudStack brukergrensesnittet til \u00e5 foresp\u00f8rre om disse IP-adressene til \u00e5 implentere NAT mellom deres gjestenettverk og det offentlige nettverket.<br/><br/>Oppgi minst en rekke med IP-adresser for internettrafikk.
+message.public.traffic.in.basic.zone=Offentlig trafikk blir generert n\u00e5r virtuelle gjester i skyen aksesserer internett eller kan tilby tjenester til klienter over internett. Offentlig tilgjengelige IP-adresser m\u00e5 allokerers for dette form\u00e5let. N\u00e5r en instans opprettes vil en IP fra dette settet med Offentlige IP-adresser bli tildelt i tillegg til en gjeste-IP-adresse. Statisk 1-1 NAT vil ogs\u00e5 bli satt opp automatisk mellom the offentlige og den private IP-adressen. Sluttbrukere kan ogs\u00e5 bruke CloudStack brukergrensesnittet til \u00e5 tilegne ekstra IP-adresser for \u00e5 implementere statisk NAT mellom deres instans og den offentlige IP-adressen.
+message.question.are.you.sure.you.want.to.add=Er du sikker p\u00e5 at du vil legge til
+message.read.admin.guide.scaling.up=Vennligst les avsnittet om dynamisk skalering i administrasjondokumentasjonen f\u00f8r du oppskalerer.
message.recover.vm=Vennligst bekreft at du \u00f8nsker \u00e5 gjenopprette denne VMen.
+message.redirecting.region=Omdirigerer til region...
message.reinstall.vm=Advarsel\: Fortsett med forsiktighet. Dette vil reinstallere VMen fra malen; data p\u00e5 rot-disken vil forsvinne. Ekstra datavolumer; hvis noen, vil ikke bli r\u00f8rt.
+message.removed.ssh.key.pair=Fjernet et SSH-n\u00f8kkelpar
message.remove.ldap=Er du sikker p\u00e5 at du vil slette LDAP-konfigurasjonen?
message.remove.region=Er du sikker p\u00e5 at du vil fjerne denne regionen fra denne administrasjonsserveren?
message.remove.vpc=Vennligst bekreft at du \u00f8nsker \u00e5 fjerne VPC
+message.remove.vpn.access=Vennligst bekreft at du \u00f8nsker \u00e5 fjerne VPN-tilgang fra f\u00f8lgende bruker.
message.reset.password.warning.notPasswordEnabled=Denne malen vil bli opprettet uten passord
message.reset.password.warning.notStopped=Din instans m\u00e5 stoppes f\u00f8r man fors\u00f8ker \u00e5 bytte n\u00e5v\u00e6rende passord
message.reset.VPN.connection=Vennligst bekreft at du \u00f8nsker \u00e5 resette VPN-tilkobling
message.restart.mgmt.server=Vennlist restart administrajonsserveren(e) din(e) for at de nye innstillingene skal tr\u00e5 i kraft.
+message.restart.mgmt.usage.server=Vennligst restart administrasjonsserveren(e) din(e) og bruksserver(e) for at de nye innstillingene skal tr\u00e5 i kraft.
+message.restart.network=Alle tjenester fra dette nettverket vil bli avbrutt. Vennligst bekreft at du \u00f8nsker \u00e5 restarte dette nettverket.
+message.restart.vpc.remark=Vennligst bekreft du at du vil restarte VPC <p><small><i>Merk\: \u00c5 gj\u00f8re en ikke reduntant VPC redundant vil tvinge en opprydning. Nettverkene vil ikke v\u00e6re tilgjengelig i noen minutter</i>.</small></p>
message.restart.vpc=Vennligst bekreft at du \u00f8nsker \u00e5 restarte VPC
message.restoreVM=Vil du gjenopprette denne VMen?
+message.security.group.usage=(Bruk <strong>Ctrl-klikk</strong> for \u00e5 velge alle aktuelle sikkerhetsgrupper)
+message.select.affinity.groups=Vennligst velg en affinitetsgruppe denne VMen skal tilh\u00f8re\:
+message.select.a.zone=En sone er typisk sett p\u00e5 som et datasenter. Multiple soner gir CloudStack bedre p\u00e5litelighet gjennom isolasjon og redundans.
message.select.instance=Vennligst velg en instans.
message.select.iso=Vennligst velg en ISO for din nye virtuelle instans.
message.select.item=Vennligst velg et element
message.select.security.groups=Vennligst velg sikkerhetsgruppe(r) for din nye VM
message.select.template=Vennligst velg en mal for din nye virtuelle instans.
+message.select.tier=Vennligst velg en VPC-gren
message.set.default.NIC.manual=Vennligst oppdater standard-NIC manuelt p\u00e5 VMen n\u00e5.
message.set.default.NIC=Vennligst bekreft at du vil gj\u00f8re dette NIC til standard for denne VM.
+message.setup.physical.network.during.zone.creation.basic=N\u00e5r du legger til en enkel sone s\u00e5 kan du sette opp ett fysisk nettverk som korrensponderer til et NIC p\u00e5 hypervisor. Nettverket transporterer flere typer trafikk.<br/><br/> Du kan ogs\u00e5 <strong>drag og slippe</strong> andre trafikktyper over til det fysiske nettverket.
+message.setup.physical.network.during.zone.creation=N\u00e5r du legger til en avansert sone, m\u00e5 du konfigurere en eller flere fysiske nettverk. Hvert nettverk representerer et NIC p\u00e5 verten. Hvert fysiske nettverk kan inneholde en eller flere typer trafikk, med noen restriksjoner for hvordan de kan kombineres.<br/><br/><strong>Dra og slipp en eller flere nettverkstyper</strong> til hvert fysiske nettverk.
message.setup.successful=Oppsettet av nettskyen er vellykket\!
+message.snapshot.schedule=Du kan sette opp gjentakende \u00f8yeblikksbilder ved \u00e5 velge fra tilgjengelige opsjoner nedenfor og aktivere dine preferanser.
+message.specifiy.tag.key.value=Vennligst bekreft tag n\u00f8kkel og verdi
message.specify.url=Vennligst spesifiser URL
+message.step.1.continue=Vennligst velg en mal eller ISO for \u00e5 fortsette.
+message.step.1.desc=Vennligst velg en mal for din nye virtuelle instans. Du kan ogs\u00e5 velge en blank mal som du kan installere fra en ISO p\u00e5.
+message.step.2.continue=Velg et resurstilbud for \u00e5 fortsette
+message.step.3.continue=Vennligst velg et disktilbud for \u00e5 fortsette
+message.step.4.continue=Vennligst velg minst ett nettverk for \u00e5 fortsette
+message.step.4.desc=Vennligst velg prim\u00e6rnettverket som din virtuelle instans vil bli tilkoblet til.
+message.storage.traffic=Trafikk mellom CloudStacks interne ressurser, inkludert alle komponenter som kommuniserer med administrassjonsserver, som verter og CloudStack systemmaskiner. Vennligst konfigurer lagringstrafikk her.
message.suspend.project=Er du sikker du \u00f8nsker \u00e5 pause dette prosjektet?
message.systems.vms.ready=System-VMer klare.
message.template.copying=Malen blir kopiert.
message.template.desc=OS-image som kan brukes til \u00e5 starte VMer
+message.tier.required=VPC-gren er p\u00e5krevd.
+message.tooltip.dns.1=Oppgi en DNS server for bruk av VMer i denne sonen. De offentlige IP-adressene for denne sonen m\u00e5 ha en rute til denne serveren.
+message.tooltip.dns.2=En sekund\u00e6r DNS server for bruk av VMer i denne sonen. De offentlige IP-adressene for denne sonen m\u00e5 ha en rute til denne serveren.
+message.tooltip.internal.dns.1=Navn p\u00e5 en DNS-server for bruk av CloudStack interne systemVMer i sonen. Den private IP-adressen i podden m\u00e5 ha en rute til serveren.
+message.tooltip.internal.dns.2=Navn p\u00e5 en DNS-server for bruk av CloudStack interne systemVMer i sonen. Den private IP-adressen i podden m\u00e5 ha en rute til serveren.
+message.tooltip.network.domain=Et DNS suffiks som vil opprette et tilpasset domenenavn for nettverket som aksesseres av gjeste VMer.
message.tooltip.pod.name=Et navn for denne pod.
+message.tooltip.reserved.system.gateway=Gatewayen til vertene i poden.
+message.tooltip.reserved.system.netmask=Nettverksprefiks som definerer podens subnett. Bruker CIDR-notasjon.
message.tooltip.zone.name=Et navn for denne sonen.
+message.update.os.preference=Vennligst velg preferert OS for denne verten. Alle virtuelle instanser med lignende OS vil f\u00f8rst bli allokert til denne verten f\u00f8r andre velges.
+message.update.resource.count=Vennligst bekreft at du \u00f8nsker \u00e5 oppdatere ressurstellere for denne kontoen.
+message.update.ssl.failed=Oppdatering av SSL-sertifikat feilet.
+message.update.ssl.succeeded=Oppdatering av SSL-sertifikat vellykket
+message.update.ssl=Vennligst send inn en ny X.509 kompatibel SSL-sertifikatkjede for \u00e5 oppdatere hver konsollproxy og virtuell instans for sekund\u00e6rlagring\:
+message.validate.accept=Vennligst skriv inn en verdi med et gyldig prefiks.
message.validate.creditcard=Vennligst oppgi et gyldig kredittkortnummer.
message.validate.date.ISO=Vennligst skriv inn en gyldig dato (ISO).
message.validate.date=Vennligst skriv inn en gyldig dato.
@@ -1477,6 +2113,7 @@
message.validate.equalto=Vennligst skriv inn den samme verdien igjen.
message.validate.fieldrequired=Dette feltet er p\u00e5krevd.
message.validate.fixfield=Vennligst fiks dette feltet.
+message.validate.instance.name=Instansnavn kan ikke v\u00e6re lenger enn 63 tegn. Kun ACSCII bokstaver a~z, A~Z, tall 0~9, bindestrek er tillatt. M\u00e5 starte med en bokstav og slutte med en bokstav eller et tall.
message.validate.invalid.characters=Ugyldige tegn funnet; vennligst korriger.
message.validate.maxlength=Vennligst ikke skriv inn mer enn {0} tegn.
message.validate.max=Skriv en verdi mindre enn eller lik {0}.
@@ -1485,8 +2122,14 @@
message.validate.range.length=Vennligst skriv inn en verdi som er mellom {0} og {1} tegn langt.
message.validate.range=Skriv en verdi mellom {0} og {1}.
message.validate.URL=Vennligst skriv inn en gyldig URL.
+message.virtual.network.desc=Et dedikert virtualisert nettverk for din konto. Kringkastingsdomenet er isolert inne i et VLAN og offentlig nettverkstrafikk er rutet ut av en virtuell ruter.
message.vm.create.template.confirm=Oppretting av Mal vil restarte VM automatisk.
message.vm.review.launch=Vennligst vurder f\u00f8lgende informasjon og bekreft at din virtuelle instans er korrekt f\u00f8r kj\u00f8ring
+message.vnmc.available.list=VNMC er ikke tilgjengelig fra tilbyder listen.
+message.vnmc.not.available.list=VNMC er ikke tilgjengelig fra tilbyder listen.
+message.volume.create.template.confirm=Vennligst bekreft at du \u00f8nsker \u00e5 lage en mal for dette diskvolumet. Opprettelse av male kan ta opptil flere minutter eller lenger, avhengig av st\u00f8rrelsen p\u00e5 volumet.
+message.waiting.for.builtin.templates.to.load=Venter p\u00e5 at innebygde maler skal lastes...
+message.XSTools61plus.update.failed=Feilet \u00e5 oppdatere original XS versjon er 6.1\\+ feltet. Feil\:
message.you.must.have.at.least.one.physical.network=Du trenger minst ett fysisk nettverk
message.your.cloudstack.is.ready=Din CloudStack er klar\!
message.Zone.creation.complete=Opprettelsen av sonen utf\u00f8rt
@@ -1494,6 +2137,8 @@
message.zone.no.network.selection=Sonen du har valgt har ingen mulighet for valg av nettverk.
message.zone.step.1.desc=Vennligst en nettverksmodell for din sone.
message.zone.step.2.desc=Vennligst skriv inn f\u00f8lgende informasjon for \u00e5 legge til en ny sone
+message.zone.step.3.desc=Vennligst skriv inn f\u00f8lgende informasjon for \u00e5 legge til en ny pod
+message.zoneWizard.enable.local.storage=ADVARSEL\: Hvis du aktiverer lokal lagring for denne sonen m\u00e5 du gj\u00f8re f\u00f8lgende, avhengig av hvor du \u00f8nsker at systemmaskiner skal starte\:<br/><br/>1. Hvis systemmaskiner trenger \u00e5 starte fra delt lagring, m\u00e5 det legges til delt lagring etter at sonen er opprettet. Sonen m\u00e5 ogs\u00e5 startes som deaktivert.<br/><br/>2. Hvis systemmaskiner trenger \u00e5 starte fra lokal lagring, m\u00e5 system.vm.use.local.storage settes til true f\u00f8r du aktiverer sonen.<br/><br/><br/>Vil du fortsette?
messgae.validate.min=Skriv en verdig st\u00f8rre enn eller lik {0}.
mode=Modus
network.rate=Nettverksrate
diff --git a/client/WEB-INF/classes/resources/messages_nl_NL.properties b/client/WEB-INF/classes/resources/messages_nl_NL.properties
index 010919d..d108ecb 100644
--- a/client/WEB-INF/classes/resources/messages_nl_NL.properties
+++ b/client/WEB-INF/classes/resources/messages_nl_NL.properties
@@ -37,6 +37,10 @@
force.remove.host.warning=Waarschuwing\: Wanneer u deze optie selecteert zal CloudStack alle draaiende virtuele machines geforceerd stoppen voordat de host van het cluster wordt verwijderd.
force.stop=Geforceerd stoppen
force.stop.instance.warning=Waarschuwing\: Een instantie geforceerd stoppen zou uw laatste optie moeten zijn. Het kan leiden tot dataverlies en inconsistent gedrag van de staat van de virtuele machine.
+hint.no.host.tags=geen machine kentekens gevonden
+hint.no.storage.tags=geen opslag kentekens gevonden
+hint.type.part.host.tag=type een deel van een machine kenteken
+hint.type.part.storage.tag=type een deel van een opslag kenteken
ICMP.code=ICMP Code
ICMP.type=ICMP Type
image.directory=Afbeelding Directory
@@ -47,12 +51,18 @@
label.accept.project.invitation=Accepteer project uitnodiging
label.account=Account
label.account.and.security.group=Account, Security group
+label.account.details=rekening gegevens
label.account.id=Account ID
label.account.lower=account
label.account.name=Account Naam
label.accounts=Accounts
label.account.specific=Account-specifiek
+label.account.type=Account type
label.acl=ACL
+label.acl.id=ACL ID
+label.acl.list.rules=ACL lijst regels
+label.acl.name=ACL naam
+label.acl.replaced=ACL vervangen
label.acquire.new.ip=Bemachtig nieuw IP
label.acquire.new.secondary.ip=Verkrijg nieuw secundair IP
label.action=Actie
@@ -65,8 +75,11 @@
label.action.change.password=Wijzig Wachtwoord
label.action.change.service.processing=Service wordt gewijzigd....
label.action.change.service=Wijzig Service
+label.action.configure.samlauthorization=configureer SAML SSO authorisatie
label.action.copy.ISO=Kopieer ISO
+label.action.copy.ISO.processing=Bezig een ISO te kopi\u00ebren...
label.action.copy.template=Kopieer Template
+label.action.copy.template.processing=Bezig een template te kopi\u00ebren...
label.action.create.template=Cre\u00eber Template
label.action.create.template.from.vm=Cre\u00eber Template vanaf VM
label.action.create.template.from.volume=Cre\u00eber Template van Volume
@@ -203,6 +216,7 @@
label.action.reboot.systemvm.processing=Bezig met herstarten van Systeem VM....
label.action.recurring.snapshot=Terugkerende Snapshots
label.action.register.iso=Registreer ISO
+label.action.register.template=Registreer een template van een URL
label.action.release.ip=Ontkoppel IP
label.action.release.ip.processing=Bezig met ontkoppelen van IP....
label.action.remove.host.processing=Bezig met verwijderen van Host....
@@ -246,22 +260,31 @@
label.add.accounts=Voeg accounts toe
label.add.account.to.project=Voeg account aan project toe
label.add.account=Voeg Account toe
+label.add.acl.list=voeg een ACL lijst toe
label.add.ACL=Voeg ACL toe
label.add.affinity.group=Nieuwe affinity groep toevoegen
label.add.baremetal.dhcp.device=Voeg Baremetal DHCP Apparaat toe
+label.add.baremetal.rack.configuration=voeg baremetal rek configuratie toe
+label.add.BigSwitchBcf.device=Voeg eenBigSwitch BCF controller toe
+label.add.BrocadeVcs.device=Voeg een Brocade Vcs switch toe
label.add.by.cidr=Voeg toe door middel van CIDR
label.add.by.group=Voeg toe door middel van Groep
label.add.by=Voeg toe door middel van
+label.add.ciscoASA1000v=voeg CiscoASA1000v toe
label.add.cluster=Voeg Cluster toe
label.add.compute.offering=Voeg Compute aanbieding toe
label.add.direct.iprange=Voeg Direct IP Range toe
label.add.disk.offering=Voeg Schijf Aanbieding toe
label.add.domain=Voeg Domein toe
+label.added.brocade.vcs.switch=een nieuwe Brocade Vcs switch is toegevoegd
+label.added.network.offering=netwerk aanbieding toegevoegd
+label.added.new.bigswitch.bcf.controller=een nieuwe BigSwitch BCF controller is toegevoegd
label.added.nicira.nvp.controller=Nieuwe Nicira NVP Controller toegevoegd
label.add.egress.rule=Voeg uitgaande regel toe
label.addes.new.f5=Nieuwe F5 toegevoegd
label.add.F5.device=Voeg F5 apparaat toe
label.add.firewall=Voeg firewall regel toe
+label.add.globo.dns=voeg GloboDNS toe
label.add.gslb=GSLB Toevoegen
label.add.guest.network=Gast netwerk toevoegen
label.add.host=Host toevoegen
@@ -274,12 +297,20 @@
label.adding=Toevoegen
label.adding.user=Bezig met toevoegen van Gebruiker
label.adding.zone=Bezig met toevoegen van Zone
+label.add.intermediate.certificate=Voeg een intermediair certificaat toe
+label.add.internal.lb=voeg interne LB toe
label.add.ip.range=Voeg IP range toe
+label.add.isolated.guest.network=Voeg een ge\u00efsoleerd netwerk toe
+label.add.isolated.guest.network.with.sourcenat=voeg en ge\u00efsoleerd gast netwerk met bron-NAT toe
label.add.isolated.network=Geisoleerd Netwerk Toevoegen
label.additional.networks=Additioneele Netwerken
+label.add.ldap.account=Voeg LDAP account toe
+label.add.LDAP.account=voeg LDAP rekening toe
+label.add.list.name=ACL lijst naam
label.add.load.balancer=Voeg Load Balancer toe
label.add.more=Voeg meer toe
label.add.netScaler.device=Voeg Netscaler apparaat toe
+label.add.network.acl.list=voeg netwerk ACL lijst toe
label.add.network.ACL=Voeg netwerk ACL toe
label.add.network.device=Voeg Netwerk Apparaat toe
label.add.network.offering=Voeg netwerk aanbieding toe
@@ -292,6 +323,7 @@
label.add.new.tier=Voeg nieuwe Tier toe
label.add.nfs.secondary.staging.store=Secundaire Staging Opslag toevoegen
label.add.NiciraNvp.device=Voeg NVP Controller toe
+label.add.NuageVsp.device=Voeg Nuage Virtualized Services Directory (VSD) toe
label.add.OpenDaylight.device=OpenDaylight Controller toevoegen
label.add.PA.device=Nieuw Palo Alto apparaat toevoegen
label.add.physical.network=Voeg fysiek netwerk toe
@@ -299,6 +331,7 @@
label.add.portable.ip.range=Porteerbare IP Range toevoegen
label.add.port.forwarding.rule=Voeg port forwarding regel toe
label.add.primary.storage=Voeg Primaire Opslag toe
+label.add.private.gateway=voeg private doorgang toe
label.add.region=Voeg Regio toe
label.add.resources=Resources toevoegen
label.add.route=Route toevoegen
@@ -313,6 +346,7 @@
label.add.template=Template toevoegen
label.add.to.group=Toevoegen aan groep
label.add.ucs.manager=UCS Manager toevoegen
+label.add.userdata=Gebruikers gegevens
label.add.user=Gebruiker toevoegen
label.add.vlan=VLAN toevoegen
label.add.vms.to.lb=Voeg VM(s) toe aan load balancer regel
@@ -340,9 +374,14 @@
label.affinity.group=Affinity Groep
label.affinity.groups=Affinity Groepen
label.agent.password=Agent wachtwoord
+label.agent.port=Agent poort
+label.agent.state=agent status
label.agent.username=Agent Gebruikersnaam
label.agree=Accepteren
label.alert=Alarm
+label.alert.archived=waarschuwing gearchiveerd
+label.alert.deleted=waarschuwing verwijderd
+label.alert.details=waarschuwing gegevens
label.algorithm=Algoritme
label.allocated=Gebruikt
label.allocation.state=Verbruik Staat
@@ -351,13 +390,17 @@
label.anti.affinity.group=Anti-affinity Groep
label.anti.affinity.groups=Anti-affinity Groepen
label.api.key=API Sleutel
+label.api.version=API versie
label.apply=Uitvoeren
label.app.name=CloudStack
label.archive.alerts=Archiveer waarschuwingen
+label.archive=archief
label.archive.events=Archiveer evenementen
+label.assigned.vms=toegewezen VMs
label.assign.instance.another=Wijs instantie toe aan een andere Account
label.assign=Toevoegen
label.assign.to.load.balancer=Voeg instantie toe aan load balancer
+label.assign.vms=wijs VMs toe
label.associated.network=Bijbehorend Netwerk
label.associated.network.id=Bijbehorend Netwerk ID
label.associated.profile=Bijbehorend Profiel
@@ -366,8 +409,10 @@
label.author.email=Auteur e-mail
label.author.name=Auteur naam
label.autoscale=Automatisch Schalen
+label.autoscale.configuration.wizard=autoschaal configuratie toverdoos
label.availability=Beschikbaarheid
label.availability.zone=Beschikbaarheids-zone
+label.availabilityZone=beschikbaarheidszone
label.available=Beschikbaar
label.available.public.ips=Beschikbare Publieke IP adressen
label.back=Terug
@@ -377,8 +422,12 @@
label.baremetal.pxe.devices=Baremetal DHCP Apparaten
label.baremetal.pxe.device=Voeg Baremetal PXE Apparaat toe
label.baremetal.pxe.provider=Baremetal PXE Provider
+label.baremetal.rack.configuration=baremetal rek configuratie
label.basic=Basis
label.basic.mode=Basis Modus
+label.bigswitch.bcf.details=BigSwitch BCF gegevens
+label.bigswitch.bcf.nat=BigSwitch BCF NAT staat aan
+label.bigswitch.controller.address=BigSwitch BCF Controller adres
label.blade.id=Blade ID
label.blades=Blades
label.bootable=Bootable
@@ -387,6 +436,8 @@
label.broadcast.uri=Broadcast URI
label.broadcasturi=broadcasturi
label.broadcat.uri=broadcast URI
+label.brocade.vcs.address=Vcs switch adres
+label.brocade.vcs.details=Brocade Vcs switch gegevens
label.by.account=Op Account
label.by.alert.type=Op alarm type
label.by.availability=Op Beschikbaarheid
@@ -408,13 +459,16 @@
label.by.zone=Op Zone
label.cache.mode=Schrijf cache Type
label.cancel=Annuleer
+label.capacity.bytes=Capaciteit in bytes
label.capacity=Capaciteit
+label.capacity.iops=Capaciteit in IOPS
label.certificate=Certificaat
label.change.affinity=Wijzig Affinity
label.change.service.offering=Wijzig service aanbieding
label.change.value=Wijzig waarde
label.character=Karakter
label.chassis=Chassis
+label.checksum=controlesom
label.cidr.account=CIDRN of Account/Security Group
label.cidr=CIDR
label.cidr.list=Bron CIDR
@@ -444,6 +498,7 @@
label.configure=Configureer
label.configure.ldap=Configureer LDAP
label.configure.network.ACLs=Configureer Netwerk ACLs
+label.configure.sticky.policy=configureer klevende regel
label.configure.vpc=Configureer VPC
label.confirmation=Bevestiging
label.confirm.password=Bevestig wachtwoord
@@ -453,7 +508,9 @@
label.console.proxy.vm=Console Proxy VM
label.continue.basic.install=Ga door met basis installatie
label.continue=Ga door
+label.copying.iso=bezig ISO te kopi\u00ebren
label.corrections.saved=Correcties opgeslagen
+label.counter=teller
label.cpu.allocated=CPU gebruik
label.cpu.allocated.for.VMs=CPU gebruikt voor VMs
label.CPU.cap=CPU Cap
@@ -466,15 +523,18 @@
label.create.nfs.secondary.staging.storage=Creeer NFS staging secudaire opslag
label.create.nfs.secondary.staging.store=Creeer NFS staging secudaire opslag
label.create.project=Nieuw project
+label.create.ssh.key.pair=cre\u00eber een SSH sleutelpaar
label.create.template=Nieuwe template
label.create.VPN.connection=Nieuwe VPN connectie
label.cross.zones=Over Zones
label.custom=Aangepast
label.custom.disk.iops=Aangepaste IOPS
+label.custom.disk.offering=schijf aanbieding op maat
label.custom.disk.size=Vrije schijf grootte
label.daily=Dagelijkse
label.data.disk.offering=Data Schijf Aanbieding
label.date=Datum
+label.day=dag
label.day.of.month=Dag van de Maand
label.day.of.week=Dag van de Week
label.dc.name=DC Naam
@@ -492,14 +552,21 @@
label.default=Standaard
label.default.use=Standaard Gebruik
label.default.view=Standaard Weergave
+label.delete.acl.list=verwijder ACL lijst
label.delete.affinity.group=Verwijder Affinity Groep
label.delete.alerts=Verwijder waarschuwingen
+label.delete.baremetal.rack.configuration=verwijder baremetal rek configuratie
+label.delete.BigSwitchBcf=Verwijder BigSwitch BCF Controller
+label.delete.BrocadeVcs=Verwijder Brocade Vcs Switch
+label.delete.ciscoASA1000v=verwijder CiscoASA1000v
label.delete.ciscovnmc.resource=CiscoVNMC resource verwijderen
label.delete.events=Verwijder gebeurtenissen
label.delete.F5=Verwijder F5
label.delete.gateway=Verwijder gateway
+label.delete.internal.lb=verwijder interne LB
label.delete.NetScaler=Verwijder NetScaler
label.delete.NiciraNvp=Verwijder Nvp Controller
+label.delete.NuageVsp=Verwijder Nuage VSD
label.delete.OpenDaylight.device=OpenDaylight Controller verwijderen
label.delete.PA=Verwijder Palo Alto
label.delete.portable.ip.range=Porteerbare IP Range verwijderen
@@ -529,9 +596,11 @@
label.devices=Apparaten
label.dhcp=DHCP
label.DHCP.server.type=DHCP Server Type
+label.direct.attached.public.ip=direct verbonden publieke IP
label.direct.ips=Shared Netwerk IPs
label.disable.autoscale=Autoscale uitschakelen
label.disabled=Uitgeschakeld
+label.disable.host=schakel host uit
label.disable.network.offering=Netwerk Aanbieding Uitschakelen
label.disable.provider=Provider uitschakelen
label.disable.vnmc.provider=VNMC provider uitschakelen
@@ -548,7 +617,10 @@
label.disk.iops.read.rate=Lees Snelheid Schijf (IOPS)
label.disk.iops.total=IOPS Totaal
label.disk.iops.write.rate=Schrijf snelheid Schijf (IOPS)
+label.disk.offering.details=schijfe offerte gegevens
+label.diskoffering=opslagaanbieding
label.disk.offering=Schijf Aanbieding
+label.disk.provisioningtype=Provisioning type
label.disk.read.bytes=Schijf lezen (Bytes)
label.disk.read.io=Schijf Lezen (IO)
label.disk.size.gb=Schijf Grootte (in GB)
@@ -557,12 +629,15 @@
label.disk.volume=Schijf Volume
label.disk.write.bytes=Schijf Schrijven (Bytes)
label.disk.write.io=Schijf Schrijven (IO)
+label.display.name=publieke naam
label.display.text=Weergavetekst
+label.distributedrouter=gedistribueerde router
label.dns.1=DNS 1
label.dns.2=DNS 2
label.dns=DNS
label.DNS.domain.for.guest.networks=DNS domein voor Gast Netwerken
label.domain.admin=Domein Beheerder
+label.domain.details=domein gegevens
label.domain=Domein
label.domain.id=Domein ID
label.domain.lower=domein
@@ -573,12 +648,16 @@
label.double.quotes.are.not.allowed=Aanhalingstekens zijn hier niet toegestaan
label.download.progress=Download Voortgang
label.drag.new.position=Sleep naar nieuwe positie
+label.duration.in.sec=duur (in sec)
label.dynamically.scalable=Dynamisch Schaalbaar
+label.edit.acl.rule=wijzig ACL regel
label.edit.affinity.group=Wijzig Affinity Groep
label.edit.lb.rule=Wijzig LB regel
label.edit.network.details=Wijzig netwerk details
label.edit.project.details=Wijzig project details
label.edit.region=Wijzig Regio
+label.edit.rule=wijzig regel
+label.edit.secondary.ips=Weizig secundaire IPs
label.edit.tags=Wijzig tags
label.edit.traffic.type=Wijzig traffic type
label.edit.vpc=Wijzig VPC
@@ -592,6 +671,7 @@
label.email=Email
label.email.lower=email
label.enable.autoscale=Autoscale inschakelen
+label.enable.host=schakel host in
label.enable.network.offering=Netwerk Aanbieding Inschakelen
label.enable.provider=Provider inschakelen
label.enable.s3=S3-gebaseerde Secondary Storage inschakelen
@@ -607,17 +687,25 @@
label.endpoint.or.operation=Endpoint or Operation
label.end.port=Eind Poort
label.end.reserved.system.IP=Einde gereserveerde systeem IP
+label.end.vlan=Laatste VLAN
+label.end.vxlan=Laatste VXLAN
label.enter.token=Voer token in
label.error.code=Fout code
label.error=Fout
+label.error.upper=FOUT
label.ESP.encryption=ESP Encryptie
label.ESP.hash=ESP Hash
label.ESP.lifetime=ESP Lifetime (secondes)
label.ESP.policy=ESP policy
label.esx.host=ESX/ESXi Host
+label.event.archived=gebeurtenis gearchiveerd
+label.event.deleted=gebeurtenis verwijderd
+label.event=gebeurtenis
+label.every=elke
label.example=Voorbeeld
label.expunge=Ruim op
label.external.link=Externe link
+label.extractable.lower=ophaalbaar
label.extractable=Uitpakbaar
label.f5.details=F5 details
label.f5=F5
@@ -625,16 +713,20 @@
label.featured=Voorgesteld
label.fetch.latest=Haal laatste op
label.filterBy=Filter per
+label.fingerprint=vinger afdruk
label.firewall=Firewall
label.firstname.lower=voornaam
label.first.name=Voornaam
label.format=Formaat
+label.format.lower=formaat
label.friday=Vrijdag
label.full.path=Volledig pad
label.full=Volledig
label.gateway=Gateway
label.general.alerts=Algemene Waarschuwingen
label.generating.url=Generen van URL
+label.globo.dns.configuration=GloboDNS configuratie
+label.globo.dns=GloboDNS
label.gluster.volume=Volume
label.go.step.2=Ga naar Stap 2
label.go.step.3=Ga naar Stap 3
@@ -652,6 +744,7 @@
label.gslb.delete=GSLB verwijderen
label.gslb.details=GSLB details
label.gslb.domain.name=GSLB Domein Naam
+label.gslb=GSLB
label.gslb.lb.details=load balancing details
label.gslb.lb.remove=verwijder load balancing van deze GSLB
label.gslb.lb.rule=load balancing regel
@@ -674,7 +767,13 @@
label.guest.traffic.vswitch.type=vSwitch Gast Verkeer Type
label.guest.type=Gast Type
label.ha.enabled=HA ingeschakeld
+label.health.check.advanced.options=geavanceerde opties\:
+label.health.check.configurations.options=configuratie opties\:
label.health.check=Health Check
+label.health.check.interval.in.sec=gezondheid check interval (in sec)
+label.health.check.message.desc=Uw load balancer zal automatisch gezondheidskeuringen op uw cloudstack instanties uitvoeren en allen verkeer routeren naar instanties die gezondheidskeuring doorstaan.
+label.health.check.wizard=gezondheids controle tovenaar
+label.healthy.threshold=gezonde marge
label.help=Help
label.hide.ingress.rule=Verberg Inkomende Regel
label.hints=Tips
@@ -684,8 +783,10 @@
label.host.MAC=Host MAC
label.host.name=Hostnaam
label.hosts=Hosts
+label.host.tag=machine kenteken
label.host.tags=Host Tags
label.hourly=Uurlijks
+label.hvm=HVM
label.hypervisor.capabilities=Hypervisor mogelijkheden
label.hypervisor=Hypervisor
label.hypervisors=Hypervisors
@@ -700,8 +801,10 @@
label.IKE.lifetime=IKE lifetime (secondes)
label.IKE.policy=IKE policy
label.info=Info
+label.info.upper=INFORMATIE
label.ingress.rule=Inkomende Regel
label.initiated.by=Ge\u00efnitieerd door
+label.inside.port.profile=binnen poort profiel
label.installWizard.addClusterIntro.subtitle=Wat is een cluster?
label.installWizard.addClusterIntro.title=Nu\: Cluster toevoegen
label.installWizard.addHostIntro.subtitle=Wat is een host?
@@ -721,10 +824,16 @@
label.instance=Instantie
label.instance.limits=Instantie Limieten
label.instance.name=Instantie Naam
+label.instance.port=instantie poort
+label.instance.scaled.up=Instantie is geschaald naar de gevraagde aanbieding
label.instances=Instanties
label.instanciate.template.associate.profile.blade=Initieer Template en verbind Profiel met Blade
+label.intermediate.certificate=Intermediair certificaat {0}
label.internal.dns.1=Interne DNS 1
label.internal.dns.2=Interne DNS 2
+label.internal.lb.details=interne LB gegevens
+label.internal.lb=interne LB
+label.internallbvm=interne LBVM
label.internal.name=Interne naam
label.interval.type=Interval Type
label.introduction.to.cloudstack=CloudStack&\#8482 Introductie
@@ -745,6 +854,8 @@
label.IPsec.preshared.key=IPsec Preshared-Key
label.ips=IPs
label.ipv4.cidr=IPv4 CIDR
+label.ipv4.dns1=IPv4 DNS1
+label.ipv4.dns2=IPv4 DNS2
label.ipv4.end.ip=IPv4 Eind IP
label.ipv4.gateway=IPv4 Gateway
label.ipv4.netmask=IPv4 Netmask
@@ -768,10 +879,13 @@
label.is.shared=Is Gedeeld
label.is.system=Is Systeem
label.item.listing=Items lijst
+label.japanese.keyboard=Japans toetsenbord
label.keep=Bewaar
+label.keep.colon=bewaar\:
+label.keyboard.language=toetsenbord taal
label.keyboard.type=Toetsenbord type
label.key=Sleutel
-label.kvm.traffic.label=KVM verkeerslabel
+label.kvm.traffic.label=KVM verkeer label
label.label=Label
label.lang.arabic=Arabisch
label.lang.brportugese=Braziliaans Portgees
@@ -781,6 +895,7 @@
label.lang.english=Engels
label.lang.french=Frans
label.lang.german=Duits
+label.lang.hungarian=Hongaars
label.lang.italian=Italiaans
label.lang.japanese=Japans
label.lang.korean=Koreans
@@ -801,14 +916,20 @@
label.LB.isolation=LB isolatie
label.ldap.configuration=LDAP Configuratie
label.ldap.group.name=LDAP Groep
+label.ldap.link.type=Type
label.ldap.port=LDAP poort
label.level=Level
+label.link.domain.to.ldap=link domein aan LDAP
label.linklocal.ip=Link Local IP Adres
label.load.balancer=Load Balancer
+label.load.balancer.type=loadbalancer type
label.load.balancing=Load Balancing
label.load.balancing.policies=Load balancing policies
label.loading=Laden
+label.local.file=lokaal bestand
label.local=Lokaal
+label.local.storage.enabled=Schakel locale opslag voor gebruiker VMs in
+label.local.storage.enabled.system.vms=zet lokale opslag voor systeem VMs aan
label.local.storage=Lokale Opslag
label.login=Login
label.logout=Log uit
@@ -816,9 +937,12 @@
label.LUN.number=LUN \#
label.lxc.traffic.label=LXC verkeerslabel
label.make.project.owner=Maak account project eigenaar
+label.make.redundant=Maak redundant
label.manage=Beheer
+label.managed=beheerd(e)
label.management=Beheer
label.management.ips=Beheers IP Adressen
+label.management.server=Beheers Machine
label.manage.resources=Beheer Resources
label.max.cpus=Max. CPU cores
label.max.guest.limit=Max. Instanties
@@ -873,6 +997,7 @@
label.menu.security.groups=Security Groups
label.menu.service.offerings=Service Aanbiedingen
label.menu.snapshots=Snapshots
+label.menu.sshkeypair=SSH sleutelpaar
label.menu.stopped.instances=Uitgeschakelde Instanties
label.menu.storage=Opslag
label.menu.system.service.offerings=Systeem Aanbiedingen
@@ -891,9 +1016,13 @@
label.migrate.systemvm.to=Migreer Systeem VM naar
label.migrate.to.host=Migreer naar host
label.migrate.to.storage=Migreer naar opslag
+label.migrate.volume=Migreer volume
label.migrate.volume.to.primary.storage=Migreer volume naar andere primaire opslag
label.minimum=Minimum
label.min.instances=Min Instances
+label.min.past.the.hr=min na het uur
+label.minute.past.hour=Minuten na het uur
+label.minutes.past.hour=minu(u)t(en) in het laatste uur
label.mode=Modus
label.monday=Maandag
label.monthly=Maandelijks
@@ -908,6 +1037,7 @@
label.name.lower=naam
label.name=Naam
label.name.optional=Naam (Optioneel)
+label.na=N/A
label.nat.port.range=NAT Poort Range
label.netmask=Netmask
label.netscaler.details=NetScaler details
@@ -918,6 +1048,7 @@
label.network.addVM=Voeg netwerk toe aan VM
label.network.cidr=Network CIDR
label.network.desc=Netwerk Beschr.
+label.network.details=netwerk details
label.network.device=Netwerk Apparaat
label.network.device.type=Netwerk Apparaat Type
label.network.domain=Netwerk Domein
@@ -928,6 +1059,7 @@
label.network.limits=Netwerk limieten
label.network.name=Netwerk Naam
label.network=Netwerk
+label.network.offering.details=netwerk offerte gegevens
label.network.offering.display.text=Netwerk Aanbieding Weergave Tekst
label.network.offering.id=Netwerk Aanbieding ID
label.network.offering.name=Netwerk Aanbieding Naam
@@ -942,6 +1074,7 @@
label.new=Nieuw
label.new.password=Nieuw wachtwoord
label.new.project=Nieuw Project
+label.new.ssh.key.pair=nieuw SSH sleutelpaar
label.new.vm=Nieuwe VM
label.next=Volgende
label.nexusVswitch=Nexus 1000v
@@ -978,19 +1111,24 @@
label.numretries=Keren opnieuw geprorbeerd
label.ocfs2=OCFS2
label.offer.ha=HA aanbieden
+label.of.month=van de maand
label.ok=OK
label.opendaylight.controllerdetail=OpenDaylight Controller Details
label.opendaylight.controller=OpenDaylight Controller
label.opendaylight.controllers=OpenDaylight Controllers
label.openDaylight=OpenDaylight
+label.operator=operator
label.optional=Optioneel
label.order=Volgorde
label.os.preference=OS Voorkeur
label.os.type=OS Type
+label.other=anders
label.override.guest.traffic=Overschrijf Gast Verkeer
label.override.public.traffic=Overschrijf Publiek Verkeer
+label.ovm3.cluster=inheems clustering
+label.ovm3.pool=inheemse pooling
+label.ovm3.vip=Master VIP IP ip
label.ovm.traffic.label=OVM verkeerslabel
-label.ovm3.traffic.label=OVM3 verkeerslabel
label.ovs=OVS
label.owned.public.ips=Publieke IP Adressen in beheer
label.owner.account=Account Eigenaar
@@ -999,6 +1137,7 @@
label.PA.log.profile=Palo Alto Log Profiel
label.PA=Palo Alto
label.parent.domain=Bovenliggend Domein
+label.passive=passief
label.password.enabled=Wachtwoord Ingeschakeld
label.password.lower=wachtwoord
label.password.reset.confirm=Het wachtwoord is gereset naar
@@ -1009,11 +1148,14 @@
label.persistent=Persistent
label.physical.network=Fysiek Netwerk
label.physical.network.ID=Fysiek netwerk ID
+label.physical.network.name=fysieke netwerk naam
label.PING.CIFS.password=PING CIFS wachtwoord
label.PING.CIFS.username=PING CIFS gebruikersnaam
label.PING.dir=PING Directory
+label.ping.path=ping pad
label.PING.storage.IP=PING opslag IP
label.planner.mode=Planner modus
+label.please.complete.the.following.fields=vul alstublieft de volgende velden volledig af
label.please.specify.netscaler.info=Geef hier informatie van de Netscaler op
label.please.wait=Een ogenblik geduld a.u.b.
label.plugin.details=Plugin details
@@ -1026,6 +1168,7 @@
label.portable.ip.range.details=Porteerbare IP Range details
label.portable.ip.ranges=Porteerbare IP Ranges
label.portable.ips=Porteerbare IPs
+label.portable.ip=verplaatsbaar IP
label.port.forwarding.policies=Port forwarding policies
label.port.forwarding=Port Forwarding
label.port=Poort
@@ -1045,6 +1188,7 @@
label.private.ip.range=Priv\u00e9 IP Range
label.private.ips=Priv\u00e9 IP adressen
label.privatekey=PKCS\#8 Private Key
+label.private.key=priv\u00e9 sleutel
label.private.network=Priv\u00e9 Netwerk
label.private.port=Priv\u00e9 Port
label.private.zone=Priv\u00e9 Zone
@@ -1056,12 +1200,15 @@
label.project=Project
label.projects=Projecten
label.project.view=Project Weergave
+label.protocol.number=protocol nummer
label.protocol=Protocol
label.provider=Provider
label.providers=Providers
label.public.interface=Publieke Interface
label.public.ip=Publiek IP Adres
label.public.ips=Publieke IP Adressen
+label.public.key=publieke sleutel
+label.public.lb=publieke LB
label.public.load.balancer.provider=Publieke Load Balancer Provider
label.public.network=Publiek netwerk
label.public.port=Publieke Poort
@@ -1087,8 +1234,10 @@
label.redundant.router.capability=Redundante router mogelijkheden
label.redundant.router=Redundante Router
label.redundant.state=Redundante staat
+label.redundant.vpc=Redundante VPC
label.refresh.blades=Ververs Blades
label.refresh=Ververs
+label.region.details=regio gegevens
label.regionlevelvpc=Region Level VPC
label.region=Regio
label.reinstall.vm=Herinstalleer VM
@@ -1112,42 +1261,55 @@
label.remove.project.account=Verwijder account van project
label.remove.region=Verwijder Regio
label.remove.rule=Verwijder regel
+label.remove.ssh.key.pair=verwijder SSH sleutelpaar
label.remove.static.nat.rule=Verwijder static NAT regel
label.remove.static.route=Verwijder statische route
+label.remove.this.physical.network=verwijder dit fysieke netwerk
label.remove.tier=Verwijder tier
label.remove.vm.from.lb=Verwijder VM van load balancer regel
+label.remove.vm.load.balancer=verwijder VM uit de load balancer
label.remove.vmware.datacenter=VMware datacenter verwijderen
label.remove.vpc.offering=VPC aanbieding verwijderen
label.remove.vpc=verwijder VPC
label.removing.user=Verwijderen Gebruiker
label.removing=Verwijderen
label.reource.id=Verbruik ID
+label.replace.acl.list=vervang ACL lijst
+label.replace.acl=vervang ACL
label.required=Vereist
label.requires.upgrade=Upgrade Benodigd
label.reserved.ip.range=Gereserveerde IP Range
label.reserved.system.gateway=Gereseveerde systeem gateway
label.reserved.system.ip=Gereserveerd Systeem IP
label.reserved.system.netmask=Gereserveerd systeem netmask
+label.reset.ssh.key.pair.on.vm=zet SSH sleutelpaar terug op VM
+label.reset.ssh.key.pair=zet SSH sleutelpaar terug
label.resetVM=Reset VM
label.reset.VPN.connection=Reset VPN verbinding
label.resize.new.offering.id=Nieuwe Aanbieding
+label.resize.new.size=Nieuwe grootte (GB)
label.resize.shrink.ok=Verklein OK
+label.resource.limit.exceeded=resource limiet overschreden
label.resource.limits=Verbruikslimieten
label.resource.name=Verbruik Naam
label.resource.state=Verbruik staat
label.resources=Verbruiken
label.resource=Verbruik
+label.response.timeout.in.sec=antwoord wachttijd (in sec)
label.restart.network=Herstart netwerk
label.restart.required=Herstart benodigd
label.restart.vpc=herstart VPC
label.restore=Herstel
+label.retry.interval=Wachttijd voor nieuwe poging
label.review=Beoordeel
label.revoke.project.invite=Trek uitnodiging in
label.role=Rol
+label.root.certificate=root certificaat
label.root.disk.controller=Root schijf controller
label.root.disk.offering=Root Schijf Aanbieding
label.root.disk.size=Grootte root volume
label.router.vm.scaled.up=Router VM Omhoog Geschaald
+label.routing.host=routeer machine
label.routing=Routing
label.rule.number=Regel Nummer
label.rules=Regels
@@ -1162,12 +1324,19 @@
label.s3.secret_key=Geheime sleutel
label.s3.socket_timeout=Socket Timeout
label.s3.use_https=Gebruik HTTPS
+label.saml.enable=authoriseer SAML SSO
+label.saml.entity=identificeer leverancier
label.saturday=Zaterdag
label.save.and.continue=Opslaan en verder gaan
+label.save.changes=Bewaar wijzigingen
label.save=Opslaan
label.saving.processing=Opslaan....
+label.scaledown.policy=verklein beleid
+label.scale.up.policy=schaal op beleid
+label.scaleup.policy=vergoot beleid
label.scope=Scope
label.search=Zoeken
+label.secondary.ips=Secundaire IPs
label.secondary.isolated.vlan.id=Secundair Geisoleerd VLAN ID
label.secondary.staging.store.details=Secundaire Staging Opslag details
label.secondary.staging.store=Secundaire Staging Opslag
@@ -1189,6 +1358,7 @@
label.select.iso.or.template=Selecteer een ISO of template
label.select.offering=Selecteer Aanbieding
label.select.project=Selecteer Project
+label.select.region=Select regio
label.select=Selecteer
label.select.template=Selecteer Template
label.select.tier=Selecteer Tier
@@ -1197,6 +1367,7 @@
label.sent=Verstuurd
label.server=Server
label.service.capabilities=Service Mogelijkheden
+label.service.offering.details=dienst offerte gegevens
label.service.offering=Service Aanbieding
label.services=Diensten
label.service.state=Service Status
@@ -1204,12 +1375,15 @@
label.set.default.NIC=Stel standaard NIC in
label.settings=Instellingen
label.setup=Instellen
+label.setup.network=cre\u00eber netwerk
+label.setup.zone=cre\u00eber zone
label.set.up.zone.type=Stel zone type in
label.shared=Gedeeld
label.SharedMountPoint=SharedMountPoint
label.show.advanced.settings=Geavaceerde instellingen weergeven
label.show.ingress.rule=Toon Inkomende Regel
label.shutdown.provider=Schakel provider uit
+label.simplified.chinese.keyboard=versimpeld Chinees toetsenbord
label.site.to.site.VPN=Site-to-site VPN
label.size=Grootte
label.skip.guide=Ik heb CloudStack al eerder gebruikt, sla deze stap over
@@ -1218,28 +1392,39 @@
label.smb.username=SMB Gebruikersnaam
label.snapshot.limits=Snapshot Limieten
label.snapshot.name=Snapshot Naam
+label.snapshot.schedule=cre\u00eber herhaalde momentopname
label.snapshot=Snapshot
label.snapshot.s=Snapshots
label.snapshots=Snapshots
label.SNMP.community=SNMP Community
label.SNMP.port=SNMP Poort
label.sockets=CPU Sockets
+label.source.ip.address=bron IP adres
label.source.nat=Source NAT
+label.source.nat.supported=SourceNAT ondersteund
+label.source.port=bron poort
label.specify.IP.ranges=Specificeer IP ranges
label.specify.vlan=Specificeer VLAN
label.specify.vxlan=Specificeer VXLAN
label.SR.name=SR Name-Label
label.srx.details=SRX details
label.srx=SRX
+label.ssh.key.pair.details=SSH sleutelpaar gegevens
+label.ssh.key.pair=SSH sleutelpaar
+label.ssh.key.pairs=SSH sleutel paren
+label.standard.us.keyboard=standaard (Amerikaans-US) toetsenbord
label.start.IP=Start IP
label.start.lb.vm=Start LB VM
label.start.port=Start Poort
label.start.reserved.system.IP=Start gereseveerd systeem IP
+label.start.vlan=start VLAN
+label.start.vxlan=start VXLAN
label.state=Staat
label.static.nat.enabled=Static NAT Ingeschakeld
label.static.nat=Static NAT
label.static.nat.to=Static NAT naar
label.static.nat.vm.details=Static NAT VM Details
+label.static.routes=statische routes
label.statistics=Statistieken
label.status=Status
label.step.1=Stap 1
@@ -1252,6 +1437,7 @@
label.step.4.title=Stap 4\: <strong>Netwerk</strong>
label.step.5=Stap 5
label.step.5.title=Stap 5\: <strong>Beoordeel</strong>
+label.stickiness.method=kleef methode
label.stickiness=Stickiness
label.sticky.cookie-name=Cookie naam
label.sticky.domain=Domein
@@ -1260,6 +1446,7 @@
label.sticky.indirect=Indirect
label.sticky.length=Lengte
label.sticky.mode=Modus
+label.sticky.name=klevende naam
label.sticky.nocache=Geen cache
label.sticky.postonly=Alleen Post
label.sticky.prefix=Prefix
@@ -1269,6 +1456,7 @@
label.stopped.vms=Uitgeschakelde VMs
label.stop=Stop
label.storage=Opslag
+label.storage.pool=opslag poel
label.storage.tags=Opslag Tags
label.storage.traffic=Opslag Verkeer
label.storage.type=Opslag Type
@@ -1286,6 +1474,7 @@
label.system.capacity=Systeem Capaciteit
label.system.offering.for.router=Systeem Aanbieding voor Router
label.system.offering=Systeem Aanbieding
+label.system.service.offering.details=systeem dienst offerte gegevens\:
label.system.service.offering=Systeem Service Aanbieding
label.system.vm.details=Systeem VM details
label.system.vm.scaled.up=Systeem VM omhoog geschaald
@@ -1306,11 +1495,15 @@
label.theme.default=Standaard Thema
label.theme.grey=Aangepast - Grijs
label.theme.lightblue=Aangepast - Licht Blauw
+label.threshold=marge
label.thursday=Donderdag
label.tier.details=Tier details
label.tier=Tier
+label.time.colon=tijd\:
+label.timeout.in.second = timeout (seconden)
label.timeout=Timeout
label.time=Tijd
+label.timezone.colon=tijdszone\:
label.time.zone=Tijdzone
label.timezone=Tijdzone
label.token=Token
@@ -1318,6 +1511,7 @@
label.total.CPU=Totaal CPU
label.total.hosts=Totaal Hosts
label.total.memory=Totaal Geheugen
+label.total.of.ip=totaal aantal IP adressen
label.total.of.vm=Totaal VMs
label.total.storage=Totaal Opslag
label.total.virtual.routers=Totaal Virtual Routers
@@ -1331,7 +1525,9 @@
label.type.lower=type
label.type=Type
label.ucs=UCS
+label.uk.keyboard=Brits toetsenbord
label.unavailable=Niet beschikbaar
+label.unhealthy.threshold=ongezonde marge
label.unlimited=Ongelimiteerd
label.untagged=Untagged
label.update.project.resources=Update project verbruik
@@ -1340,16 +1536,24 @@
label.updating=Bezig met updaten
label.upgrade.required=Upgrade is benodigd
label.upgrade.router.newer.template=Upgrade Router om nieuwe Template te gebruiken
+label.upload.from.local=laad vanuit lokaal
+label.upload.template.from.local=laad sjabloon vanuit lokaal
label.upload=Upload
+label.upload.volume.from.local=laad volume vanuit lokaal
+label.upload.volume.from.url=laad volume vanuit een webadres
label.upload.volume=Upload Volume
label.url=URL
label.usage.interface=Verbruik Interface
+label.usage.sanity.result=gebruiks zingevings resultaat
+label.usage.server=gebruik server
label.used=Gebruikt
label.user.data=Gebruiker Data
+label.user.details=gebruikers gegevens
label.user=Gebruiker
label.username=Gebruikersnaam
label.username.lower=gebruikersnaam
label.users=Gebruikers
+label.user.vm=gebruiker VM
label.use.vm.ip=Gebruik VM IP\:
label.use.vm.ips=Gebruik VM IPs
label.value=Waarde
@@ -1367,6 +1571,7 @@
label.vgpu.max.vgpu.per.gpu=vGPUs per GPU
label.vgpu.remaining.capacity=Overgebleven capaciteit
label.vgpu.type=vCPU type
+label.vgpu=VGPU
label.vgpu.video.ram=Video RAM
label.view.all=Toon alle
label.view.console=Toon console
@@ -1377,6 +1582,8 @@
label.virtual.appliance.details=Virtual applicance details
label.virtual.appliances=Virtueele Appliances
label.virtual.appliance=Virtuele Appliance
+label.virtual.machines=virtuele machines
+label.virtual.machine=virtuele machine
label.virtual.networking=Virtual Networking
label.virtual.network=Virtueel Netwerk
label.virtual.routers.group.account=Groepeer Virtuele Routers op account
@@ -1398,6 +1605,8 @@
label.vm.display.name=VM weergave naam
label.VMFS.datastore=VMFS datastore
label.vmfs=VMFS
+label.vm.id=VM ID
+label.vm.ip=VM IP adres
label.vm.name=VM naam
label.vm.password=Het wachtwoord van de VM is
label.vm.reboot=Reboot
@@ -1418,9 +1627,12 @@
label.vnet.id=VLAN/VNI ID
label.vnet=VLAN/VNI
label.vnmc.devices=VNMC apparaten
+label.vnmc=VNMC
label.volatile=Volatile
label.volgroup=Volume Groep
+label.volume.details=volume gegevens
label.volume.limits=Volume Limieten
+label.volume.migrated=volume gemigreerd
label.volume.name=Volume Naam
label.volumes=Volumes
label.volume=Volume
@@ -1429,6 +1641,7 @@
label.VPC.limits=VPC limieten
label.vpc.offering.details=VPC Aanbieding details
label.vpc.offering=VPC Aanbieding
+label.vpc.router.details=VPC router details
label.VPC.router.details=VPC router details
label.vpc.supportsregionlevelvpc=Ondersteund Region Level VPC
label.vpc.virtual.router=VPC Virtueele Router
@@ -1442,10 +1655,14 @@
label.vsmpktvlanid=Pakket VLAN ID
label.vsmstoragevlanid=Opslag VLAN ID
label.vsphere.managed=vSphere beheerd
+label.vswitch.name=vSwitch naam
+label.vSwitch.type=vSwitch type
label.vxlan.id=VXLAN ID
label.vxlan.range=VXLAN Reeks
label.vxlan=VXLAN
label.waiting=Wachten
+label.warning=waarschuwing
+label.warn.upper=WAARSCHUWING
label.warn=Waarschuwing
label.wednesday=Woensdag
label.weekly=Wekelijks
@@ -1460,6 +1677,7 @@
label.zone.details=Zone details
label.zone.id=Zone ID
label.zone.lower=zone
+label.zone.name=zone naam
label.zone.step.1.title=Stap 1\: <strong>Selecteer een Netwerk</strong>
label.zone.step.2.title=Stap 2\: <strong>Zone toevoegen</strong>
label.zone.step.3.title=Stap 3\: <strong>Pod toevoegen</strong>
@@ -1551,6 +1769,8 @@
message.add.cluster.zone=Voeg een hypervisor beheerd cluster toe voor zone <b><span id\="zone_name"></span></b>
message.add.disk.offering=Specificeer de volgende waardes om een nieuwe schijf aanbieding toe te voegen
message.add.domain=Specificeer het subdomein welke u onder dit domein wilt aanmaken
+message.added.new.nuage.vsp.controller=nieuwe Nuage Vsp Controller toegevoegd
+message.added.vpc.offering=VPC aanbieding toegevoegd
message.add.firewall=Voeg firewall toe aan zone
message.add.guest.network=Bevestig dat u een gast netwerk wilt toevoegen
message.add.host=Specificeer de volgende parameters om een nieuwe host toe te voegen
@@ -1593,6 +1813,8 @@
message.cluster.dedicated=Zone toegewijd
message.cluster.dedication.released=Cluster toewijding losgekoppeld
message.configure.all.traffic.types=U heeft meerdere fysieke netwerken; Configureer labels voor elk verkeerstype door op de Wijzig knop te klikken.
+message.configure.firewall.rules.allow.traffic=configureer regels om verkeer toe te staan
+message.configure.firewall.rules.block.traffic=configureer regels om verkeer te blokkeren
message.configure.ldap=Bevestig dat u LDAP wilt configureren.
message.configuring.guest.traffic=Bezig met configureren guest traffic
message.configuring.physical.networks=Bezig met configureren fysieke netwerken
@@ -1600,37 +1822,60 @@
message.configuring.storage.traffic=Bezig met configureren opslag verkeer
message.confirm.action.force.reconnect=Bevestig dat u deze host geforceerd opnieuw wilt laten verbinden.
message.confirm.add.vnmc.provider=Bevestig dat u de VNMC provider wilt toevoegen.
+message.confirm.archive.alert=Bevestig dat U deze melding wilt archiveren, alstublieft.
+message.confirm.archive.event=bevestig dat u deze melding wilt archiveren, alstublieft
+message.confirm.archive.selected.alerts=bevestig dat u de geselecteerde meldingen wilt archiveren, alstublieft
+message.confirm.archive.selected.events=bevestig dat u de geselecteerde gebeurtenissen wilt archiveren, alstublieft
+message.confirm.attach.disk=Weet U zeker dat U een disk wilt koppelen?
+message.confirm.create.volume=Weet U zeker dat U een volume wilt cre\u00ebren?
+message.confirm.current.guest.CIDR.unchanged=Wilt u het huidige gastnetwerk-CIDR ongewijzigd laten?
message.confirm.dedicate.cluster.domain.account=Weet u zeker dat u dit cluster wilt toewijden aan een domein/account?
message.confirm.dedicate.host.domain.account=Weet u zeker dat u deze host wilt toewijden aan een domein/account?
message.confirm.dedicate.pod.domain.account=Weet u zeker dat u deze pod wilt toewijden aan een domein/account?
message.confirm.dedicate.zone=Weet u zeker dat u deze zone wilt toewijden aan een domein/account?
+message.confirm.delete.acl.list=Weet U zeker dat U dit ACL wilt verwijderen?
+message.confirm.delete.alert=Weet U zeker dat U deze melding wilt verwijderen?
+message.confirm.delete.baremetal.rack.configuration=Bevestig dat u de baremetal rek configuratie wilt verwijderen, alstublieft.
+message.confirm.delete.BigSwitchBcf=bevestig dat u deze BigSwitch BCF Controller wilt verwijderen, alstublieft
+message.confirm.delete.BrocadeVcs=bevestigd dat Brocade Vcs Switch wilt verwijderen, altublieft
+message.confirm.delete.ciscoASA1000v=bevestig dat u CiscoASA100v wilt verwijderen, alstublieft
message.confirm.delete.ciscovnmc.resource=Bevestig dat u de CiscoVNMC resource wilt verwijderen.
message.confirm.delete.F5=Bevestig dat u deze F5 wilt verwijderen
+message.confirm.delete.internal.lb=bevestigd dat U interne LB wilt verwijderen, alstublieft
message.confirm.delete.NetScaler=Bevestig dat u deze NetScaler wilt verwijderen
+message.confirm.delete.NuageVsp=bevestig dat u Nuage Virtualized Services Directory wilt verwijderen, alstublieft
message.confirm.delete.PA=Bevestig dat u Palo Alto wilt verwijderen
message.confirm.delete.secondary.staging.store=Bevestig dat u de secudaire staging opslag wilt verwijderen.
message.confirm.delete.SRX=Bevestig dat u deze SRX wilt verwijderen
message.confirm.delete.ucs.manager=Bevestig dat u de UCS Manager wilt verwijderen
message.confirm.destroy.router=Bevestig dat u deze router wilt verwijderen
+message.confirm.disable.host=bevestigd dat de machine wilt afkoppelen, alstublieft
message.confirm.disable.network.offering=Weet u zeker dat u deze netwerk aanbieding wilt uitschakelen?
message.confirm.disable.provider=Bevestig dat u deze provider wilt uitschakelen
message.confirm.disable.vnmc.provider=Bevestig dat u de VNMC provider wilt uitschakelen.
message.confirm.disable.vpc.offering=Weet u zeker dat u deze VPC aanbieding wilt uitschakelen?
+message.confirm.enable.host=bevestigd dat u de machine wilt aankoppelen, alsublieft
message.confirm.enable.network.offering=Weet u het zeker dat u deze netwerk aanbieding wilt inschakelen?
message.confirm.enable.provider=Bevestig dat u deze provider wilt inschakelen
message.confirm.enable.vnmc.provider=Bevestig dat u de VNMC provider wilt inschakelen.
message.confirm.enable.vpc.offering=Weet u zeker dat u deze VPC aanbieding wilt inschakelen?
message.confirm.join.project=Bevestig dat u aan dit project wilt bijdragen
+message.confirm.migrate.volume=Wilt U dit volume migreren?
message.confirm.refresh.blades=Bevestig dat u de blades wilt verversen.
message.confirm.release.dedicated.cluster=Weet u zeker dat u dit toegewijde cluster wilt loskoppelen?
message.confirm.release.dedicated.host=Weet u zeker dat u deze toegewijde host wilt loskoppelen?
message.confirm.release.dedicated.pod=Weet u zeker dat u deze toegewijde pod wilt loskoppelen?
message.confirm.release.dedicated.zone=Weet u zeker dat u deze toegewijde zone wilt loskoppelen?
message.confirm.release.dedicate.vlan.range=Bevestig dat u de toegewijde VLAN range wilt loskoppelen
+message.confirm.remove.event=Weet u zeker dat u deze melding wilt verwijderen?
message.confirm.remove.IP.range=Bevestig dat u deze IP range wilt verwijderen.
+message.confirm.remove.load.balancer=bevestigd dat U deze VM uit de load balancer wilt halen, alstublieft
message.confirm.remove.network.offering=Weet u zeker dat u deze netwerk aanbieding wilt verwijderen?
+message.confirm.remove.selected.alerts=bevestig dat u de geselecteerde meldingen wilt verwijderen, alstublieft
+message.confirm.remove.selected.events=bevestig dat u de geselcteerde gebeurtenissen wilt verwijderen, alstublieft
message.confirm.remove.vmware.datacenter=Bevestig dat u VM datacenter wilt verwijderen
message.confirm.remove.vpc.offering=Weet u zeker dat u deze VPC aanbieding wilt verwijderen?
+message.confirm.replace.acl.new.one=Wilt U de ACL vervangen door een nieuwe?
message.confirm.scale.up.router.vm=Weet u zeker dat u de Router VM wilt opschalen?
message.confirm.scale.up.system.vm=Weet u zeker dat u de Systeem VM wilt opschalen?
message.confirm.shutdown.provider=Bevestig dat u deze provider wilt afsluiten
@@ -1666,11 +1911,15 @@
message.delete.VPN.connection=Bevestig dat u deze VPN verbinding wilt verwijderen
message.delete.VPN.customer.gateway=Bevestig dat u deze VPN Customer Gateway wilt verwijderen
message.delete.VPN.gateway=Bevestig dat u deze VPN Gateway wilt verwijderen
+message.desc.add.new.lb.sticky.rule=voeg een nieuwe LB klevende regel toe
message.desc.advanced.zone=Voor ingewikkeldere netwerk topologie\u00ebn. Dit netwerk model geeft de meeste flexibiliteit en het definieren van gast netwerken en het aanbieden van speciale diensten zoals firewall, VPN of loadbalancer ondersteuning.
message.desc.basic.zone=Cre\u00ebert een enkel netwerk waar elke VM instantie direct een IP op krijgt. Het isoleren van instanties kunt op layer-3 niveau doen door middel van security groups.
message.desc.cluster=Elke pod moet \u00e9\u00e9n of meerdere cluster bevatten, en we gaan het eerste cluster nu toevoegen. Een cluster is een manier om hosts te groeperen. De hosts in een cluster hebben identieke hardware, gebruiken de zelfde hypervisor, zitten op hetzelfde subnet en kunnen bij dezelfde gedeelde opslag. Elk cluster bestaan uit \u00e9\u00e9n of meerdere hosts en \u00e9\u00e9n of meerdere primaire opslag systemen.
+message.desc.created.ssh.key.pair=Cre\u00eber SSH sleutelpaar.
+message.desc.create.ssh.key.pair=Gelieve de volgende gegevens in te vullen voor het maken of registreren van een ssh sleutelpaar. <br> (1) Als de publieke sleutel wordt ingesteld zal CloudStack de publieke sleutel te registreren. Je kunt het gebruiken via uw geheime sleutel. <br> (2) Als de publieke sleutel niet is ingesteld zal CloudStack een nieuw SSH-sleutelpaar cre\u00ebren. In dat geval, kopi\u00ebert en slaat van de private/geheime sleutel alsutblieft op. CloudStack zal het niet bewaren. <br>
message.desc.host=Elke cluster moet een of meerdere hosts (servers) bevatten om gast VMs op te draaien. We gaan de eerste host nu toevoegen. Om een host met CloudStack te laten werken moet hij voorzien zijn van hypersvisor software, een werkend IP adres en in staat zijn de management server over het netwerk te bereiken. <br/><br/>Specificeer de DNS hostnaam of het IP adres van de host, de gebruikersnaam (meestal root) en het bijbehorende wachtwoord en als laatste eventuele labels om de host te categoriseren.
message.desc.primary.storage=Elk cluster moet over \u00e9\u00e9n of meerdere primaire opslag servers beschikken, de eerste gaan we nu aanmaken. Primaire opslag bevat de volumes van VMs draaiende op de hosts in het cluster. Gebruik een protocol dat is ondersteund door de hypervisor.
+message.desc.reset.ssh.key.pair=Specificeer een sleutelpaar dat u aan deze VM wilt toevoegen, alstublieft. Let alstublieft op dat het root-wachtwoord veranderd wordt door deze operatie als wachtwoord is aangezet.
message.desc.secondary.storage=Elke zone moet minimaal \u00e9\u00e9n of meerdere secundaire opslag servers hebben, de eerste maken we nu aan. Secundaire opslag wordt gebruikt voor het opslaan van VM templates, ISO bestanden en snapshots. Deze server moet beschikbaar zijn aan alle hosts in de zone. <br/><br/>Specificeer het IP adres en het exporteerde pad.
message.desc.zone=Een zone is de grootste organisatorische unit binnen CloudStack en correspondeert normaliter met enkel datacenter. Zones geven fysieke isolatie en redundantie. Een zone bestaat uit een of meerdere pods (waarvan ieder eigen hosts en primaire opslag servers heeft) en een secundaire opslag server welke gedeeld wordt door alle pods in de zone.
message.detach.disk=Weet u zeker zeker dat u deze schijf wilt ontkoppelen?
@@ -1685,9 +1934,10 @@
message.disallowed.characters=Niet toegestane karakters\: \\<\\,\\>
message.download.ISO=Klik op <a href\="\#">00000</a> om de ISO te downloaden
message.download.template=Klik op <a href\="\#">00000</a> om de template te downloaden
+message.download.volume.confirm=bevestigd at U dit volume wilt ophalen, alstublieft
message.download.volume=Klik op <a href\="\#">00000</a> om het volume te downloaden
message.edit.account=Wijzig ("-1" geeft aan dat er geen limiet is ingesteld)
-message.edit.confirm=Controleer uw wijzigen voordat u op "Opslaan" klikt.
+message.edit.confirm=Bevestig u veranderingen voor u op "bewaar" klikt, alstublieft.
message.edit.limits=Specificeer de limieten voor de volgende resources. Met "-1" geeft u aan dat er geen limiet geld.
message.edit.traffic.type=Specificeer het verkeerslabel dat u met dit type verkeer wilt associeren.
message.enable.account=Bevestig dat u deze account wilt inschakelen.
@@ -1751,6 +2001,7 @@
message.join.project=U neemt nu deel aan een project. Klik op het project overzicht om het project te zien.
message.launch.vm.on.private.network=Wilt u de instantie starten op uw eigen private dedicated netwerk?
message.launch.zone=De zone is klaar om geactiveerd te worden, ga door naar de volgende stap.
+message.link.domain.to.ldap=schakel autosync voor dit domein in LDAP in
message.listView.subselect.multi=(Ctrl/Cmd-click)
message.lock.account=Bevestig dat u deze account wilt vergrendelen. Wanneer u de account vergrendeld zullen alle gebruikers van deze account hun cloud resources niet meer kunnen beheren. Toegang tot bestaande producten blijft bestaan.
message.migrate.instance.confirm=Bevestig de host naar waar u de instantie toe wilt migreren.
@@ -1761,6 +2012,7 @@
message.migrate.volume=Bevestig dat u het volume wilt migreren naar een andere primaire opslag.
message.network.addVM.desc=Specificeer het netwerk dat u aan deze VM wilt toevoegen. Een nieuwe netwerk interface zal worden toegevoegd aan de VM.
message.network.addVMNIC=Bevestig dat u een nieuwe netwerk interface voor dit netwerk wilt verkrijgen.
+message.network.remote.access.vpn.configuration=VPN configuratie op afstand is gegenereerd, maar kon niet worden doorgevoerd. Controleer alstublieft de verbinding met het netwerk bestanddeel en probeer opnieuw.
message.new.user=Sepecificeer de volgende waarden om een nieuwe gebruiker toe te voegen aan de account
message.no.affinity.groups=U heeft geen affinity groepen. Ga door naar de volgende stap.
message.no.host.available=Geen hosts beschikbaar voor Migratie
@@ -1773,23 +2025,29 @@
message.number.pods=<h2><span> Aantal </span> Pods</h2>
message.number.storage=<h2><span> Aantal </span> Primaire Opslag Volumes</h2>
message.number.zones=<h2><span> Aantal </span> Zones</h2>
+message.password.has.been.reset.to=Het wachtwoord is veranderd in
+message.password.of.the.vm.has.been.reset.to=Het wachtwoord van de VM is veranderd in
message.pending.projects.1=U heeft openstaande project uitnodigigingen\:
message.pending.projects.2=Ga naar de project sectie om deze te zien. Selecteer de uitnodiging vanuit het drop-down menu.
message.please.add.at.lease.one.traffic.range=U dient minimaal \u00e9\u00e9n traffic range toe te voegen.
+message.please.confirm.remove.ssh.key.pair=bevestig dat u dit SSH sleutelpaar wilt verwijderen, alstublieft
message.please.proceed=Ga door naar de volgende stap.
message.please.select.a.configuration.for.your.zone=Selecteer een configuratie voor uw zone.
message.please.select.a.different.public.and.management.network.before.removing=Selecteer a.u.b. een ander publiek en beheer netwerk voordat u deze verwijderd
message.please.select.networks=Selecteer netwerken voor uw virtuele machine.
+message.please.select.ssh.key.pair.use.with.this.vm=selecteer alstublieft een ssh sleutelpaar dat U met deze VM wilt gebruiken\:
message.please.wait.while.zone.is.being.created=Even geduld, uw zone wordt aangemaakt; Dit kan enige tijd duren...
message.pod.dedication.released=Toegewijde pod losgekoppeld
message.portable.ip.delete.confirm=Bevestig dat u deze porteerbare IP reeks wilt verwijderen
message.project.invite.sent=Uitnodiging is verstuurd aan gebruiker. De gebruiker wordt toegevoegd aan het project wanneer hij de uitnodiging accepteert.
message.public.traffic.in.advanced.zone=Publiek verkeer wordt gegenereerd wanneer VMs in de cloud het internet bezoeken. Publiek toegankelijke IPs moeten om deze reden toegevoegd worden. Eindgebruikers kunnen deze IP adressen via de Cloudstack UI aanvragen om zo verkeer tussen het gast netwerk en publieke netwerk te realiseren. <br/><br/> Geef minimaal \u00e9\u00e9n IP range op voor internet verkeer.
message.public.traffic.in.basic.zone=Publiek verkeer wordt gegenereerd wanneer VMs in de cloud het internet bezoeken of diensten serveren aan het internet. Publiek toegankelijke IPs moeten om deze reden toegevoegd worden. Wanneer een instantie wordt aangemaakt, krijgt deze automatisch een van deze IP adressen toegewezen naast het gast IP adres. Static 1-1 NAT wordt automatisch geconfigureerd tussen het publieke IP en gast IP adres. Eindgebruikers kunnen via de CloudStack UI meerdere IP adressen aanvragen om static NAT tussen hun instanties en het publieke IP te realiseren.
+message.question.are.you.sure.you.want.to.add=Weet U zeker dat U het volgende wenst toe te voegen
message.read.admin.guide.scaling.up=Gelieve de dynamic scaling sectie te lezen in admin guide voordat u gaat opschalen.
message.recover.vm=Bevestig dat u deze VM wilt herstellen.
message.redirecting.region=U wordt doorverbonden met de regio...
-message.reinstall.vm=LET OP\: Als u doorgaat zal de VM opnieuw geinstalleerd worden vanaf de template. Alle data op de root disk zal verwijderd worden. Eventuele data volumes blijven onaangeraakt.
+message.reinstall.vm=LET OP\: Als u doorgaat zal de VM opnieuw ge\u00efnstalleerd worden vanaf de template. Alle data op de root disk zal verwijderd worden. Eventuele data volumes blijven onaangeraakt.
+message.removed.ssh.key.pair=een ssh sleutelpaar is verwijderd
message.remove.ldap=Weet u zeker dat u de LDAP configuratie wilt verwijderen?
message.remove.region=Weet u zeker dat u deze regio wilt verwijderen van deze management server?
message.remove.vpc=Bevestigd dat u de VPC wilt verwijderen
@@ -1801,6 +2059,7 @@
message.restart.mgmt.usage.server=Gelieve uw management server(s) en gebruik server(s) herstarten om deze wijziging actief te maken.
message.restart.network=Als u dit netwerk herstart zullen de diensten op het netwerk verstoord worden. Weet u zeker dat u deze actie wil uitvoeren?
message.restart.vpc=Bevestig dat u deze VPC wilt herstarten
+message.restart.vpc.remark=Bevestig altublieft dat U de VPC wilt herstarten <p><small><i>Opmerking\: Een niet-redundante VPC redundant maken zal opschonen forceren. De netwerken zullen enige tijd niet beschikbaar zijn</i>.</small></p>
message.restoreVM=Wilt u de VM herstellen?
message.security.group.usage=(Gebruik <strong>Ctrl-klik</strong> om meerdere security groups te selecteren)
message.select.affinity.groups=Selecteer welke affinity groepen u wilt gebruiken voor deze VM\:
@@ -1816,6 +2075,7 @@
message.setup.physical.network.during.zone.creation.basic=Wanneer u een basis zone toevoegt bevat deze een fysiek netwerk welke correspondeert met de netwerkkaart op de hypervisor. Op dit netwerk zullen meerdere verkeerstypen gebruikt worden. <br/><br/> U kunt via drag & drop andere verkeerstypen toevoegen aan het fysieke netwerk.
message.setup.physical.network.during.zone.creation=Wanneer u een geavanceerde zone toevoegt, dient u meerdere fysiek netwerken te configureren. Een netwerk correspondeert met een netwerkkaart op de hypervisor. Elk fysiek netwerk kan een of meerdere traffic types bevatten, met bepaald geldende restricties hoe deze gecombineerd mogen worden. Drag & Drop een of meerdere verkeerstypen op het fysieke netwerk.
message.setup.successful=Cloud installatie is succesvol verlopen\!
+message.snapshot.schedule=U kunt terugkerende momentopname plannen maken door uit de onderstaande mogelijkheden te kiezen en uw beleid voorkeuren toe te passen.
message.specifiy.tag.key.value=Gelieve een tag sleutel en waarde te specificeren
message.specify.url=Gelieve een URL te specificeren
message.step.1.continue=Gelieve een template of ISO te selecteren om door te gaan
@@ -1841,7 +2101,9 @@
message.tooltip.zone.name=Een naam voor de zone.
message.update.os.preference=Selecteer een OS voorkeur voor deze host. Alle virtueel instanties van gelijke voorkeur zullen eerst op deze machine gealloceerd worden voordat er gekeken wordt naar andere hosts.
message.update.resource.count=Bevestig dat u de verbruiksstatistieken voor deze account wilt bijwerken.
+message.update.ssl.failed=update SSL certificaat is mislukt
message.update.ssl=Geef een nieuw X.509 compliant SSL certificaat in waarmee elke console proxy en secundaire opslag instantie mee geupdate kunnen worden\:
+message.update.ssl.succeeded=update SSL certificaat is gelukt
message.validate.accept=Gelieve een waarde in te geven met een geldidge extensie.
message.validate.creditcard=Gelieve een geldig credit card nummer in te geven.
message.validate.date=Gelieve een geldige datum in te geven.
@@ -1894,6 +2156,7 @@
state.Creating=Aanmaken
state.Declined=Geweigerd
state.Destroyed=Verwijderd
+state.detached=ontkoppeld
state.Disabled=Uitgeschakeld
state.Enabled=Geactiveerd
state.Error=Fout
@@ -1906,5 +2169,6 @@
state.Stopped=Gestopt
state.Stopping=Stoppen
state.Suspended=Gepauzeerd
+title.upload.volume=laad volume
ui.listView.filters.all=Alle
ui.listView.filters.mine=Eigen
diff --git a/client/WEB-INF/classes/resources/messages_pl.properties b/client/WEB-INF/classes/resources/messages_pl.properties
index 28e9fea..2162c92 100644
--- a/client/WEB-INF/classes/resources/messages_pl.properties
+++ b/client/WEB-INF/classes/resources/messages_pl.properties
@@ -281,6 +281,7 @@
label.last.name=Nazwisko
label.launch=Rozpocznij
label.lb.algorithm.leastconn=Ostatnie po\u0142\u0105czenie
+label.ldap.link.type=Wpisz
label.level=Poziom
label.loading=Wczytywanie
label.local=Lokalne
diff --git a/client/WEB-INF/classes/resources/messages_pt_BR.properties b/client/WEB-INF/classes/resources/messages_pt_BR.properties
index 12315f4..13fa366 100644
--- a/client/WEB-INF/classes/resources/messages_pt_BR.properties
+++ b/client/WEB-INF/classes/resources/messages_pt_BR.properties
@@ -57,6 +57,7 @@
label.account.name=Nome da Conta
label.accounts=Contas
label.account.specific=Conta-Specific
+label.account.type=Tipo de Conta
label.acl=ACL
label.acl.id=ACL ID
label.acl.list.rules=Lista de regas de ACL
@@ -915,8 +916,10 @@
label.LB.isolation=Isolamento de LB
label.ldap.configuration=Configura\u00e7\u00e3o do LDAP
label.ldap.group.name=Grupo LDAP
+label.ldap.link.type=Tipo
label.ldap.port=Porta do LDAP
label.level=N\u00edvel
+label.link.domain.to.ldap=Link Dom\u00ednio para LDAP
label.linklocal.ip=Endere\u00e7o IP do Link Local
label.load.balancer=Load Balancer
label.load.balancer.type=Tipo de Balanceamento de Carga
@@ -1125,7 +1128,6 @@
label.ovm3.cluster=Native Clustering
label.ovm3.pool=Native Pooling
label.ovm3.vip=IP principal do Vip
-label.ovm3.traffic.label=R\u00f3tulo de tr\u00e1fego OVM3
label.ovm.traffic.label=R\u00f3tulo de tr\u00e1fego OVM
label.ovs=OVS
label.owned.public.ips=IP P\u00fablico Utilizado
@@ -1811,6 +1813,8 @@
message.cluster.dedicated=Cluster Dedicado
message.cluster.dedication.released=Cluster dedicado liberado
message.configure.all.traffic.types=Voc\u00ea tem m\u00faltiplas redes f\u00edsicas; favor configurar etiquetas para cada tipo de tr\u00e1fego clicando no bot\u00e3o Edit.
+message.configure.firewall.rules.allow.traffic=Configure as regras para permitir o Tr\u00e1fego
+message.configure.firewall.rules.block.traffic=Configurar as regras para bloquear o Tr\u00e1fego
message.configure.ldap=Por favor, confirme que voc\u00ea deseja configurar o LDAP.
message.configuring.guest.traffic=Configurando tr\u00e1fego do guest
message.configuring.physical.networks=Configurando redes f\u00edsicas
@@ -1933,7 +1937,7 @@
message.download.volume=Clique <a href\="\#">00000</a> para baixar o disco
message.download.volume.confirm=Por favor confirme que voc\u00ea quer baixar este volume
message.edit.account=Editar ("-1" indica que n\u00e3o haver\u00e1 limites para a quantidade de recursos criado)
-message.edit.confirm=Por favor confirme suas altera\u00e7\u00f5es antes de clicar em "Salvar".
+message.edit.confirm=Por favor, confirme as altera\u00e7\u00f5es antes de clicar em "Salvar".
message.edit.limits=Especifique os limites para os seguintes recursos. "-1" indica sem limite para o total de recursos criados.
message.edit.traffic.type=Favor especificar a etiqueta de tr\u00e1fego que voc\u00ea deseja associar com este tipo de tr\u00e1fego.
message.enable.account=Confirme se voc\u00ea deseja ativar a conta.
@@ -1997,6 +2001,7 @@
message.join.project=Voc\u00ea agora entrou em um projeto. Por favor troque para a vis\u00e3o de Projeto para visualizar o projeto.
message.launch.vm.on.private.network=Voc\u00ea deseja executar a sua inst\u00e2ncia na sua pr\u00f3pria rede privada dedicada?
message.launch.zone=A zona est\u00e1 pronta para ser executada; por favor, v\u00e1 para o pr\u00f3ximo passo.
+message.link.domain.to.ldap=Ativar sincroniza\u00e7\u00e3o autom\u00e1tica para este dom\u00ednio em LDAP
message.listView.subselect.multi=(Ctrl/Cmd-click)
message.lock.account=Confirme se voc\u00ea deseja bloquear esta conta. Bloqueando a conta, todos os Usu\u00e1rios desta conta n\u00e3o estar\u00e3o mais habilitados a gerenciar os recursos na nuvem. Os recursos existentes (Cloud Server) ainda poder\u00e3o ser acessados.
message.migrate.instance.confirm=Confirme o host que voc\u00ea deseja migrar a inst\u00e2ncia virtual.
diff --git a/client/WEB-INF/classes/resources/messages_ru_RU.properties b/client/WEB-INF/classes/resources/messages_ru_RU.properties
index 4f9bdfd..1f6b3c5 100644
--- a/client/WEB-INF/classes/resources/messages_ru_RU.properties
+++ b/client/WEB-INF/classes/resources/messages_ru_RU.properties
@@ -35,7 +35,7 @@
force.remove.host.warning=\u0412\u044b\u0431\u043e\u0440 \u044d\u0442\u043e\u0439 \u043e\u043f\u0446\u0438\u0438 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0445 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d \u043f\u0435\u0440\u0435\u0434 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438\u0437 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430.
force.remove=\u041f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435
force.stop.instance.warning=\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435\: \u041f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u0432 \u0441\u0430\u043c\u0443\u044e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0442\u0435\u0440\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u043e\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435/\u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b.
-force.stop=\u041f\u0440\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430.
+force.stop=\u041f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c
ICMP.code=\u041a\u043e\u0434 ICMP
ICMP.type=\u0422\u0438\u043f ICMP
image.directory=\u041a\u0430\u0442\u0430\u043b\u043e\u0433 \u0441 \u043e\u0431\u0440\u0430\u0437\u0430\u043c\u0438
@@ -275,6 +275,7 @@
label.add.isolated.guest.network=\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0433\u043e\u0441\u0442\u0435\u0432\u0443\u044e \u0441\u0435\u0442\u044c
label.add.isolated.network=\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0441\u0435\u0442\u044c
label.additional.networks=\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u0435\u0442\u0438
+label.add.ldap.account=\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c LDAP \u0430\u043a\u043a\u0430\u0443\u043d\u0442
label.add.load.balancer=\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438
label.add.more=\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u0435\u0449\u0435
label.add.netScaler.device=\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c Netscaler \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e
@@ -528,6 +529,7 @@
label.edit.network.details=\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438
label.edit.project.details=\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0435\u0442\u0430\u043b\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430
label.edit.region=\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u0433\u0438\u043e\u043d
+label.edit.secondary.ips=\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 IP-\u0430\u0434\u0440\u0435\u0441\u0430
label.edit.tags=\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u044d\u0433\u0438
label.edit.traffic.type=\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0442\u0438\u043f \u0442\u0440\u0430\u0444\u0438\u043a\u0430
label.edit=\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c
@@ -704,6 +706,7 @@
label.lb.algorithm.roundrobin=Round-robin
label.lb.algorithm.source=\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a
label.LB.isolation=\u0418\u0437\u043e\u043b\u044f\u0446\u0438\u044f LB
+label.ldap.link.type=\u0422\u0438\u043f
label.level=\u0423\u0440\u043e\u0432\u0435\u043d\u044c
label.linklocal.ip=\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 IP \u0430\u0434\u0440\u0435\u0441
label.load.balancer=\u0411\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438
@@ -882,8 +885,6 @@
label.order=\u041e\u0447\u0435\u0440\u0435\u0434\u044c
label.os.preference=\u041f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u041e\u0421
label.os.type=\u0422\u0438\u043f \u041e\u0421
-label.ovm3.traffic.label=\u041c\u0435\u0442\u043a\u0430 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 OVM3
-label.ovm.traffic.label=\u041c\u0435\u0442\u043a\u0430 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 OVM
label.owned.public.ips=\u041f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u043d\u044b\u0435 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0438\u0440\u0443\u0435\u043c\u044b\u0435 IP \u0430\u0434\u0440\u0435\u0441\u0430
label.owner.account=\u0423\u0447\u0451\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430
label.owner.domain=\u0414\u043e\u043c\u0435\u043d \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430
@@ -1026,6 +1027,7 @@
label.saving.processing=\u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435...
label.scope=\u041e\u0445\u0432\u0430\u0442
label.search=\u041f\u043e\u0438\u0441\u043a
+label.secondary.ips=\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 IP-\u0430\u0434\u0440\u0435\u0441\u0430
label.secondary.storage.count=\u041f\u0443\u043b \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430
label.secondary.storage.limits=\u041b\u0438\u043c\u0438\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 (GiB)
label.secondary.storage=\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435
@@ -1203,7 +1205,7 @@
label.view.console=\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u043e\u043d\u0441\u043e\u043b\u044c
label.viewing=\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440
label.view.more=\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435
-label.view.secondary.ips=\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 IP-\u0430\u0434\u0440\u0435\u0441\u043e\u0432
+label.view.secondary.ips=\u041e\u0431\u0437\u043e\u0440 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 IP-\u0430\u0434\u0440\u0435\u0441\u043e\u0432
label.view=\u0412\u0438\u0434
label.virtual.appliances=\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430
label.virtual.appliance=\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e
@@ -1460,7 +1462,6 @@
message.download.volume.confirm=\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 <a href\="\#">00000</a> \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0438\u0441\u043a\u0430
message.download.volume=\u041d\u0430\u0436\u043c\u0438\u0442\u0435 <a href\="\#">00000</a> \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0438\u0441\u043a\u0430
message.edit.account=\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c (\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 "-1" \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u0430)
-message.edit.confirm=\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c, \u043a\u0430\u043a \u043d\u0430\u0436\u0430\u0442\u044c \\'\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c\\'.
message.edit.limits=\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432. "-1" \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439.
message.edit.traffic.type=\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u043c\u0435\u0442\u043a\u0438 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u044d\u0442\u0438\u043c \u0442\u0438\u043f\u043e\u043c \u0442\u0440\u0430\u0444\u0438\u043a\u0430.
message.enable.account=\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0443 \u0443\u0447\u0435\u0442\u043d\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044c.
@@ -1515,6 +1516,7 @@
message.join.project=\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u044b \u043f\u0440\u0438\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u044b \u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0443. \u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 "\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u0430".
message.launch.vm.on.private.network=\u0412\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0432\u043e\u044e \u043c\u0430\u0448\u0438\u043d\u0443 \u0432 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0412\u0430\u043c \u0447\u0430\u0441\u0442\u043d\u043e\u0439 \u0441\u0435\u0442\u0438?
message.launch.zone=\u0417\u043e\u043d\u0430 \u0433\u043e\u0442\u043e\u0432\u0430 \u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0443, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0448\u0430\u0433\u0443.
+message.listView.subselect.multi=(Ctrl/Cmd-click)
message.lock.account=\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u0432\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0443 \u0443\u0447\u0451\u0442\u043d\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044c. \u0412\u0441\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0432 \u0442\u0430\u043a\u0438\u0445 \u0443\u0447\u0451\u0442\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u044f\u0445 \u043f\u043e\u0442\u0435\u0440\u044f\u044e\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u0432\u043e\u0438\u043c\u0438 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u043c\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438. \u042d\u0442\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043e\u0441\u0442\u0430\u043d\u0443\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0443\u0447\u0451\u0442\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439.
message.migrate.instance.confirm=\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443.
message.migrate.instance.to.host=\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u0432\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u043c\u0430\u0448\u0438\u043d\u0443 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u0443\u0437\u0435\u043b.
diff --git a/client/WEB-INF/classes/resources/messages_zh_CN.properties b/client/WEB-INF/classes/resources/messages_zh_CN.properties
index f2bb237..9a4c2ca 100644
--- a/client/WEB-INF/classes/resources/messages_zh_CN.properties
+++ b/client/WEB-INF/classes/resources/messages_zh_CN.properties
@@ -37,6 +37,10 @@
force.remove=\u5f3a\u5236\u79fb\u9664
force.stop.instance.warning=\u8b66\u544a\: \u9664\u975e\u4e07\u4e0d\u5f97\u5df2\uff0c\u5426\u5219\u4e0d\u5e94\u5f3a\u5236\u505c\u6b62\u6b64\u5b9e\u4f8b\u3002\u505c\u6b62\u6b64\u5b9e\u4f8b\u53ef\u80fd\u4f1a\u5bfc\u81f4\u6570\u636e\u4e22\u5931\u4ee5\u53ca\u81f4\u4f7f\u865a\u62df\u673a\u72b6\u6001\u4e0d\u4e00\u81f4\u3002
force.stop=\u5f3a\u5236\u505c\u6b62
+hint.no.host.tags=\u672a\u627e\u5230\u4e3b\u673a\u6807\u7b7e
+hint.no.storage.tags=\u672a\u627e\u5230\u5b58\u50a8\u6807\u7b7e
+hint.type.part.host.tag=\u4e3b\u673a\u6807\u7b7e\u7c7b\u578b
+hint.type.part.storage.tag=\u5b58\u50a8\u6807\u8bb0\u7c7b\u578b
ICMP.code=ICMP \u4ee3\u7801
ICMP.type=ICMP \u7c7b\u578b
image.directory=\u56fe\u7247\u76ee\u5f55
@@ -46,14 +50,17 @@
label.about=\u5173\u4e8e
label.accept.project.invitation=\u63a5\u53d7\u9879\u76ee\u9080\u8bf7
label.account.and.security.group=\u5e10\u6237\u3001\u5b89\u5168\u7ec4
+label.account.details=\u8d26\u53f7\u8be6\u60c5
label.account.id=\u5e10\u6237 ID
label.account.lower=\u5e10\u6237
label.account.name=\u5e10\u6237\u540d\u79f0
label.account.specific=\u5e10\u6237\u4e13\u7528
label.accounts=\u5e10\u6237
+label.account.type=\u5e10\u53f7\u7c7b\u578b
label.account=\u5e10\u6237
label.acl=ACL
label.acl.id=ACL ID
+label.acl.list.rules=ACL\u5217\u8868\u7b56\u7565
label.acl.name=ACL \u540d\u79f0
label.acl.replaced=ACL \u5df2\u66ff\u6362
label.acquire.new.ip=\u83b7\u53d6\u65b0 IP
@@ -67,7 +74,10 @@
label.action.change.password=\u66f4\u6539\u5bc6\u7801
label.action.change.service.processing=\u6b63\u5728\u66f4\u6539\u670d\u52a1...
label.action.change.service=\u66f4\u6539\u670d\u52a1
+label.action.configure.samlauthorization=\u914d\u7f6e SAML SSO \u8ba4\u8bc1
+label.action.copy.ISO.processing=\u6b63\u5728\u590d\u5236ISO\u955c\u50cf
label.action.copy.ISO=\u590d\u5236 ISO
+label.action.copy.template.processing=\u6b63\u5728\u590d\u5236\u6a21\u677f
label.action.copy.template=\u590d\u5236\u6a21\u677f
label.action.create.template.from.vm=\u57fa\u4e8e VM \u521b\u5efa\u6a21\u677f
label.action.create.template.from.volume=\u57fa\u4e8e\u5377\u521b\u5efa\u6a21\u677f
@@ -205,6 +215,7 @@
label.action.reboot.systemvm=\u91cd\u65b0\u542f\u52a8\u7cfb\u7edf VM
label.action.recurring.snapshot=\u91cd\u73b0\u5feb\u7167
label.action.register.iso=\u6ce8\u518c ISO
+label.action.register.template=\u4f7f\u7528URL\u6ce8\u518c\u6a21\u677f
label.action.release.ip.processing=\u6b63\u5728\u91ca\u653e IP...
label.action.release.ip=\u91ca\u653e IP
label.action.remove.host.processing=\u6b63\u5728\u5220\u9664\u4e3b\u673a...
@@ -253,6 +264,8 @@
label.add.ACL=\u6dfb\u52a0 ACL
label.add.affinity.group=\u6dfb\u52a0\u65b0\u5173\u8054\u6027\u7ec4
label.add.baremetal.dhcp.device=\u6dfb\u52a0\u88f8\u673a DHCP \u8bbe\u5907
+label.add.baremetal.rack.configuration=\u6dfb\u52a0 Baremetal Rack \u914d\u7f6e
+label.add.BigSwitchBcf.device=\u6dfb\u52a0 BigSwitch BCF \u63a7\u5236\u5668
label.add.BrocadeVcs.device=\u6dfb\u52a0 Brocade Vcs \u4ea4\u6362\u673a
label.add.by.cidr=\u6309 CIDR \u6dfb\u52a0
label.add.by.group=\u6309\u7ec4\u6dfb\u52a0
@@ -265,11 +278,13 @@
label.add.domain=\u6dfb\u52a0\u57df
label.added.brocade.vcs.switch=\u5df2\u6dfb\u52a0\u65b0 Brocade Vcs \u4ea4\u6362\u673a
label.added.network.offering=\u5df2\u6dfb\u52a0\u7f51\u7edc\u65b9\u6848
+label.added.new.bigswitch.bcf.controller=\u6dfb\u52a0\u65b0\u7684 BigSwitch BCF \u63a7\u5236\u5668
label.added.nicira.nvp.controller=\u5df2\u6dfb\u52a0\u65b0 Nicira NVP \u63a7\u5236\u5668
label.add.egress.rule=\u6dfb\u52a0\u51fa\u53e3\u89c4\u5219
label.addes.new.f5=\u5df2\u6dfb\u52a0\u65b0 F5
label.add.F5.device=\u6dfb\u52a0 F5 \u8bbe\u5907
label.add.firewall=\u6dfb\u52a0\u9632\u706b\u5899\u89c4\u5219
+label.add.globo.dns=\u6dfb\u52a0\u5168\u5c40DNS
label.add.gslb=\u6dfb\u52a0 GSLB
label.add.guest.network=\u6dfb\u52a0\u6765\u5bbe\u7f51\u7edc
label.add.host=\u6dfb\u52a0\u4e3b\u673a
@@ -285,8 +300,12 @@
label.add.intermediate.certificate=\u6dfb\u52a0\u4e2d\u95f4\u8bc1\u4e66
label.add.internal.lb=\u6dfb\u52a0\u5185\u90e8\u8d1f\u8f7d\u5e73\u8861\u5668
label.add.ip.range=\u6dfb\u52a0 IP \u8303\u56f4
+label.add.isolated.guest.network=\u6dfb\u52a0\u9694\u79bb\u7684\u6765\u5bbe\u7f51\u7edc
+label.add.isolated.guest.network.with.sourcenat=\u6dfb\u52a0\u9694\u79bb\u7684\u6765\u5bbe\u7f51\u7edc\u5e76\u542f\u7528 SourceNat
label.add.isolated.network=\u6dfb\u52a0\u9694\u79bb\u7f51\u7edc
label.additional.networks=\u5176\u4ed6\u7f51\u7edc
+label.add.ldap.account=\u6dfb\u52a0 LDAP \u8d26\u6237
+label.add.LDAP.account=\u6dfb\u52a0LDAP\u8d26\u6237
label.add.list.name=ACL \u5217\u8868\u540d\u79f0
label.add.load.balancer=\u6dfb\u52a0\u8d1f\u8f7d\u5e73\u8861\u5668
label.add.more=\u6dfb\u52a0\u66f4\u591a
@@ -312,6 +331,7 @@
label.add.portable.ip.range=\u6dfb\u52a0\u53ef\u79fb\u690d IP \u8303\u56f4
label.add.port.forwarding.rule=\u6dfb\u52a0\u7aef\u53e3\u8f6c\u53d1\u89c4\u5219
label.add.primary.storage=\u6dfb\u52a0\u4e3b\u5b58\u50a8
+label.add.private.gateway=\u6dfb\u52a0\u79c1\u6709\u7f51\u5173
label.add.region=\u6dfb\u52a0\u5730\u7406\u533a\u57df
label.add.resources=\u6dfb\u52a0\u8d44\u6e90
label.add.route=\u6dfb\u52a0\u8def\u7531
@@ -354,6 +374,7 @@
label.affinity.group=\u5173\u8054\u6027\u7ec4
label.affinity=\u5173\u8054\u6027
label.agent.password=\u4ee3\u7406\u5bc6\u7801
+label.agent.port=\u4ee3\u7406\u7aef\u53e3
label.agent.state=\u4ee3\u7406\u72b6\u6001
label.agent.username=\u4ee3\u7406\u7528\u6237\u540d
label.agree=\u540c\u610f
@@ -379,6 +400,7 @@
label.assign.instance.another=\u5c06\u5b9e\u4f8b\u5206\u914d\u7ed9\u5176\u4ed6\u5e10\u6237
label.assign.to.load.balancer=\u6b63\u5728\u5c06\u5b9e\u4f8b\u5206\u914d\u7ed9\u8d1f\u8f7d\u5e73\u8861\u5668
label.assign=\u5206\u914d
+label.assign.vms=\u5206\u914d\u5b9e\u4f8b
label.associated.network.id=\u5df2\u5173\u8054\u7f51\u7edc ID
label.associated.network=\u5173\u8054\u7f51\u7edc
label.associated.profile=\u5df2\u5173\u8054\u914d\u7f6e\u6587\u4ef6
@@ -386,8 +408,10 @@
label.attached.iso=\u5df2\u9644\u52a0 ISO
label.author.email=\u4f5c\u8005\u7535\u5b50\u90ae\u4ef6
label.author.name=\u4f5c\u8005\u59d3\u540d
+label.autoscale.configuration.wizard=\u81ea\u52a8\u6269\u5c55\u914d\u7f6e\u5411\u5bfc
label.autoscale=\u81ea\u52a8\u6269\u5c55
label.availability=\u53ef\u7528\u6027
+label.availabilityZone=\u53ef\u7528\u533a\u57df
label.availability.zone=\u53ef\u7528\u8d44\u6e90\u57df
label.available.public.ips=\u53ef\u7528\u516c\u7528 IP \u5730\u5740
label.available=\u53ef\u7528
@@ -398,8 +422,12 @@
label.baremetal.pxe.devices=\u88f8\u673a PXE \u8bbe\u5907
label.baremetal.pxe.device=\u6dfb\u52a0\u88f8\u673a PXE \u8bbe\u5907
label.baremetal.pxe.provider=\u88f8\u673a PXE \u63d0\u4f9b\u7a0b\u5e8f
+label.baremetal.rack.configuration=Baremetal Rack \u914d\u7f6e
label.basic.mode=\u57fa\u672c\u6a21\u5f0f
label.basic=\u57fa\u672c
+label.bigswitch.bcf.details=\ BigSwitch BCF \u8be6\u60c5
+label.bigswitch.bcf.nat=BigSwitch BCF NAT \u5df2\u542f\u7528
+label.bigswitch.controller.address=BigSwitch BCF \u63a7\u5236\u5668\u5730\u5740
label.blade.id=\u5200\u7247\u5f0f\u670d\u52a1\u5668 ID
label.blades=\u5200\u7247\u5f0f\u670d\u52a1\u5668
label.bootable=\u53ef\u542f\u52a8
@@ -440,6 +468,7 @@
label.change.value=\u66f4\u6539\u503c
label.character=\u5b57\u7b26
label.chassis=\u673a\u7bb1
+label.checksum=\u6821\u9a8c
label.cidr.account=CIDR \u6216\u5e10\u6237/\u5b89\u5168\u7ec4
label.cidr=CIDR
label.CIDR.list=CIDR \u5217\u8868
@@ -468,12 +497,13 @@
label.configuration=\u914d\u7f6e
label.configure.ldap=\u914d\u7f6e LDAP
label.configure.network.ACLs=\u914d\u7f6e\u7f51\u7edc ACL
+label.configure.sticky.policy=\u914d\u7f6e\u7c98\u6ede\u7b56\u7565
label.configure=\u914d\u7f6e
label.configure.vpc=\u914d\u7f6e VPC
label.confirmation=\u786e\u8ba4
label.confirm.password=\u786e\u8ba4\u5bc6\u7801
label.congratulations=\u795d\u8d3a\u60a8\!
-label.conserve.mode=\u4fdd\u62a4\u6a21\u5f0f
+label.conserve.mode=\u8282\u80fd\u6a21\u5f0f
label.console.proxy=\u63a7\u5236\u53f0\u4ee3\u7406
label.console.proxy.vm=\u63a7\u5236\u53f0\u4ee3\u7406 VM
label.continue.basic.install=\u7ee7\u7eed\u6267\u884c\u57fa\u672c\u5b89\u88c5
@@ -493,10 +523,12 @@
label.create.nfs.secondary.staging.storage=\u521b\u5efa NFS \u4e8c\u7ea7\u6682\u5b58\u5b58\u50a8
label.create.nfs.secondary.staging.store=\u521b\u5efa NFS \u4e8c\u7ea7\u6682\u5b58\u5b58\u50a8
label.create.project=\u521b\u5efa\u9879\u76ee
+label.create.ssh.key.pair=\u751f\u6210SSH\u5bc6\u94a5\u5bf9
label.create.template=\u521b\u5efa\u6a21\u677f
label.create.VPN.connection=\u521b\u5efa VPN \u8fde\u63a5
label.cross.zones=\u8de8\u8d44\u6e90\u57df
label.custom.disk.iops=\u81ea\u5b9a\u4e49 IOPS
+label.custom.disk.offering=\u81ea\u5b9a\u4e49\u78c1\u76d8\u65b9\u6848
label.custom.disk.size=\u81ea\u5b9a\u4e49\u78c1\u76d8\u5927\u5c0f
label.custom=\u81ea\u5b9a\u4e49
label.daily=\u6bcf\u5929
@@ -504,6 +536,7 @@
label.date=\u65e5\u671f
label.day.of.month=\u65e5\u671f
label.day.of.week=\u661f\u671f
+label.day=\u5929
label.dc.name=\u6570\u636e\u4e2d\u5fc3\u540d\u79f0
label.dead.peer.detection=\u5931\u6548\u5bf9\u7b49\u4f53\u68c0\u6d4b
label.decline.invitation=\u62d2\u7edd\u9080\u8bf7
@@ -522,6 +555,8 @@
label.delete.acl.list=\u5220\u9664 ACL \u5217\u8868
label.delete.affinity.group=\u5220\u9664\u5173\u8054\u6027\u7ec4
label.delete.alerts=\u5220\u9664\u8b66\u62a5
+label.delete.baremetal.rack.configuration=\u5220\u9664 Baremetal Rack \u914d\u7f6e
+label.delete.BigSwitchBcf=\u79fb\u9664 BigSwitch BCF \u63a7\u5236\u5668
label.delete.BrocadeVcs=\u5220\u9664 Brocade Vcs \u4ea4\u6362\u673a
label.delete.ciscoASA1000v=\u5220\u9664 CiscoASA1000v
label.delete.ciscovnmc.resource=\u5220\u9664 CiscoVNMC \u8d44\u6e90
@@ -582,7 +617,9 @@
label.disk.iops.read.rate=\u78c1\u76d8\u8bfb\u53d6\u901f\u5ea6(IOPS)
label.disk.iops.total=\u603b IOPS
label.disk.iops.write.rate=\u78c1\u76d8\u5199\u5165\u901f\u5ea6(IOPS)
+label.disk.offering.details=\u78c1\u76d8\u65b9\u6848\u8be6\u60c5
label.disk.offering=\u78c1\u76d8\u65b9\u6848
+label.diskoffering=\u78c1\u76d8\u65b9\u6848
label.disk.provisioningtype=\u7f6e\u5907\u7c7b\u578b
label.disk.read.bytes=\u78c1\u76d8\u8bfb\u53d6(\u5b57\u8282)
label.disk.read.io=\u78c1\u76d8\u8bfb\u53d6(IO)
@@ -592,12 +629,15 @@
label.disk.volume=\u78c1\u76d8\u5377
label.disk.write.bytes=\u78c1\u76d8\u5199\u5165(\u5b57\u8282)
label.disk.write.io=\u78c1\u76d8\u5199\u5165(IO)
+label.display.name=\u663e\u793a\u540d\u79f0
label.display.text=\u663e\u793a\u6587\u672c
+label.distributedrouter=\u5206\u5e03\u5f0f\u8def\u7531\u5668
label.dns.1=DNS 1
label.dns.2=DNS 2
label.dns=DNS
label.DNS.domain.for.guest.networks=\u6765\u5bbe\u7f51\u7edc\u7684 DNS \u57df
label.domain.admin=\u57df\u7ba1\u7406\u5458
+label.domain.details=\u57df\u8be6\u60c5
label.domain.id=\u57df ID
label.domain.lower=\u57df
label.domain.name=\u57df\u540d
@@ -608,6 +648,7 @@
label.double.quotes.are.not.allowed=\u4e0d\u5141\u8bb8\u4f7f\u7528\u53cc\u5f15\u53f7
label.download.progress=\u4e0b\u8f7d\u8fdb\u5ea6
label.drag.new.position=\u62d6\u52a8\u5230\u65b0\u4f4d\u7f6e
+label.duration.in.sec=\u6301\u7eed\u65f6\u95f4 (\u79d2)
label.dynamically.scalable=\u53ef\u52a8\u6001\u6269\u5c55
label.edit.acl.rule=\u7f16\u8f91 ACL \u89c4\u5219
label.edit.affinity.group=\u7f16\u8f91\u5173\u8054\u6027\u7ec4
@@ -615,6 +656,8 @@
label.edit.network.details=\u7f16\u8f91\u7f51\u7edc\u8be6\u60c5
label.edit.project.details=\u7f16\u8f91\u9879\u76ee\u8be6\u60c5
label.edit.region=\u7f16\u8f91\u5730\u7406\u533a\u57df
+label.edit.rule=\u7f16\u8f91\u89c4\u5219
+label.edit.secondary.ips=\u7f16\u8f91\u4e8c\u7ea7 IPs
label.edit.tags=\u7f16\u8f91\u6807\u7b7e
label.edit.traffic.type=\u7f16\u8f91\u6d41\u91cf\u7c7b\u578b
label.edit=\u7f16\u8f91
@@ -644,6 +687,8 @@
label.endpoint=\u7aef\u70b9
label.end.port=\u7ed3\u675f\u7aef\u53e3
label.end.reserved.system.IP=\u7ed3\u675f\u9884\u7559\u7cfb\u7edf IP
+label.end.vlan=\u7ed3\u675f VLAN
+label.end.vxlan=\u7ed3\u675f VXLAN
label.enter.token=\u8f93\u5165\u4ee4\u724c
label.error.code=\u9519\u8bef\u4ee3\u7801
label.error=\u9519\u8bef
@@ -655,9 +700,12 @@
label.esx.host=ESX/ESXi \u4e3b\u673a
label.event.archived=\u4e8b\u4ef6\u5df2\u5b58\u6863
label.event.deleted=\u4e8b\u4ef6\u5df2\u5220\u9664
+label.event=\u4e8b\u4ef6
+label.every=\u6bcf
label.example=\u793a\u4f8b
label.expunge=\u5220\u9664
label.external.link=\u5916\u90e8\u94fe\u63a5
+label.extractable.lower=\u53ef\u63d0\u53d6
label.extractable=\u53ef\u63d0\u53d6
label.f5.details=F5 \u8be6\u7ec6\u4fe1\u606f
label.f5=F5
@@ -665,9 +713,11 @@
label.featured=\u7cbe\u9009
label.fetch.latest=\u63d0\u53d6\u6700\u65b0\u5185\u5bb9
label.filterBy=\u8fc7\u6ee4\u4f9d\u636e
+label.fingerprint=\u6307\u7eb9
label.firewall=\u9632\u706b\u5899
label.firstname.lower=\u540d\u5b57
label.first.name=\u540d\u5b57
+label.format.lower=\u683c\u5f0f
label.format=\u683c\u5f0f
label.friday=\u661f\u671f\u4e94
label.full.path=\u5b8c\u6574\u8def\u5f84
@@ -675,6 +725,8 @@
label.gateway=\u7f51\u5173
label.general.alerts=\u5e38\u89c4\u8b66\u62a5
label.generating.url=\u6b63\u5728\u751f\u6210 URL
+label.globo.dns.configuration=\u5168\u5c40 DNS \u914d\u7f6e
+label.globo.dns=\u5168\u5c40DNS
label.gluster.volume=\u5377
label.go.step.2=\u8f6c\u81f3\u6b65\u9aa4 2
label.go.step.3=\u8f6c\u81f3\u6b65\u9aa4 3
@@ -715,8 +767,12 @@
label.guest.type=\u6765\u5bbe\u7c7b\u578b
label.guest=\u6765\u5bbe
label.ha.enabled=\u5df2\u542f\u7528\u9ad8\u53ef\u7528\u6027
+label.health.check.advanced.options=\u9ad8\u7ea7\u9009\u9879\:
+label.health.check.configurations.options=\u914d\u7f6e\u9009\u9879\:
label.health.check.interval.in.sec=\u8fd0\u884c\u72b6\u51b5\u68c0\u67e5\u65f6\u95f4\u95f4\u9694(\u79d2)
+label.health.check.message.desc=\u8d1f\u8f7d\u5747\u8861\u5668\u4f1a\u81ea\u52a8\u5bf9\u5b9e\u4f8b\u8fdb\u884c\u72b6\u51b5\u68c0\u67e5\u5e76\u4e14\u53ea\u6709\u8def\u7531\u5668\u81f3\u5b9e\u4f8b\u7684\u94fe\u8def\u6b63\u5e38\u624d\u80fd\u901a\u8fc7\u68c0\u67e5
label.health.check=\u8fd0\u884c\u72b6\u51b5\u68c0\u67e5
+label.health.check.wizard=\u8fd0\u884c\u68c0\u67e5\u5411\u5bfc
label.healthy.threshold=\u6b63\u5e38\u9608\u503c
label.help=\u5e2e\u52a9
label.hide.ingress.rule=\u9690\u85cf\u5165\u53e3\u89c4\u5219
@@ -727,6 +783,7 @@
label.host.name=\u4e3b\u673a\u540d\u79f0
label.hosts=\u4e3b\u673a
label.host.tags=\u4e3b\u673a\u6807\u7b7e
+label.host.tag=\u5bbf\u4e3b\u673a\u6807\u7b7e
label.host=\u4e3b\u673a
label.hourly=\u6bcf\u5c0f\u65f6
label.hvm=HVM
@@ -767,6 +824,7 @@
label.instance.limits=\u5b9e\u4f8b\u9650\u5236
label.instance.name=\u5b9e\u4f8b\u540d\u79f0
label.instance.port=\u5b9e\u4f8b\u7aef\u53e3
+label.instance.scaled.up=\u63d0\u4f9b\u9700\u8981\u6269\u5c55\u7684\u5b9e\u4f8b
label.instances=\u5b9e\u4f8b
label.instance=\u5b9e\u4f8b
label.instanciate.template.associate.profile.blade=\u5c06\u6a21\u677f\u5b9e\u4f8b\u5316\u5e76\u5c06\u914d\u7f6e\u6587\u4ef6\u4e0e\u5200\u7247\u5f0f\u670d\u52a1\u5668\u5173\u8054
@@ -774,6 +832,7 @@
label.internal.dns.1=\u5185\u90e8 DNS 1
label.internal.dns.2=\u5185\u90e8 DNS 2
label.internal.lb.details=\u5185\u90e8\u8d1f\u8f7d\u5e73\u8861\u5668\u8be6\u7ec6\u4fe1\u606f
+label.internal.lb=\u5185\u90e8\u8d1f\u8f7d\u5747\u8861\u5668
label.internallbvm=InternalLbVm
label.internal.name=\u5185\u90e8\u540d\u79f0
label.interval.type=\u95f4\u9694\u7c7b\u578b
@@ -820,7 +879,10 @@
label.is.shared=\u662f\u5426\u5171\u4eab
label.is.system=\u662f\u5426\u4e3a\u7cfb\u7edf
label.item.listing=\u9879\u76ee\u5217\u8868
+label.japanese.keyboard=\u65e5\u5f0f\u952e\u76d8
+label.keep.colon=\u4fdd\u7559
label.keep=\u4fdd\u7559
+label.keyboard.language=\u952e\u76d8\u8bed\u8a00
label.keyboard.type=\u952e\u76d8\u7c7b\u578b
label.key=\u5bc6\u94a5
label.kvm.traffic.label=KVM \u6d41\u91cf\u6807\u7b7e
@@ -833,6 +895,7 @@
label.lang.english=\u82f1\u8bed
label.lang.french=\u6cd5\u8bed
label.lang.german=\u5fb7\u8bed
+label.lang.hungarian=\u5308\u7259\u5229
label.lang.italian=\u610f\u5927\u5229\u8bed
label.lang.japanese=\u65e5\u8bed
label.lang.korean=\u97e9\u8bed
@@ -853,14 +916,19 @@
label.LB.isolation=\u8d1f\u8f7d\u5e73\u8861\u5668\u9694\u79bb
label.ldap.configuration=LDAP \u914d\u7f6e
label.ldap.group.name=LDAP \u7ec4
+label.ldap.link.type=\u7c7b\u578b
label.ldap.port=LDAP \u7aef\u53e3
label.level=\u7ea7\u522b
+label.link.domain.to.ldap=\u57df\u94fe\u63a5\u81f3 LDAP
label.linklocal.ip=\u94fe\u63a5\u672c\u5730 IP \u5730\u5740
label.load.balancer.type=\u8d1f\u8f7d\u5e73\u8861\u5668\u7c7b\u578b
label.load.balancer=\u8d1f\u8f7d\u5e73\u8861\u5668
label.load.balancing.policies=\u8d1f\u8f7d\u5e73\u8861\u7b56\u7565
label.load.balancing=\u8d1f\u8f7d\u5e73\u8861
label.loading=\u6b63\u5728\u52a0\u8f7d
+label.local.file=\u672c\u5730\u6587\u4ef6
+label.local.storage.enabled.system.vms=\u4e3a\u7cfb\u7edf\u5b9e\u4f8b\u5f00\u542f\u672c\u5730\u5b58\u50a8
+label.local.storage.enabled=\u4e3a\u7528\u6237\u5b9e\u4f8b\u5f00\u542f\u672c\u5730\u5b58\u50a8
label.local.storage=\u672c\u5730\u5b58\u50a8
label.local=\u672c\u5730
label.login=\u767b\u5f55
@@ -869,6 +937,7 @@
label.LUN.number=LUN \u53f7
label.lxc.traffic.label=LXC \u6d41\u91cf\u6807\u7b7e
label.make.project.owner=\u8bbe\u4e3a\u5e10\u6237\u9879\u76ee\u6240\u6709\u8005
+label.make.redundant=\u5197\u4f59
label.managed=\u6258\u7ba1
label.management.ips=\u7ba1\u7406\u7c7b IP \u5730\u5740
label.management.server=\u7ba1\u7406\u670d\u52a1\u5668
@@ -928,6 +997,7 @@
label.menu.security.groups=\u5b89\u5168\u7ec4
label.menu.service.offerings=\u670d\u52a1\u65b9\u6848
label.menu.snapshots=\u5feb\u7167
+label.menu.sshkeypair=SSH \u5bc6\u94a5\u5bf9
label.menu.stopped.instances=\u5df2\u505c\u6b62\u7684\u5b9e\u4f8b
label.menu.storage=\u5b58\u50a8
label.menu.system.service.offerings=\u7cfb\u7edf\u65b9\u6848
@@ -947,8 +1017,12 @@
label.migrate.to.host=\u8fc1\u79fb\u5230\u4e3b\u673a
label.migrate.to.storage=\u8fc1\u79fb\u5230\u5b58\u50a8
label.migrate.volume.to.primary.storage=\u5c06\u5377\u8fc1\u79fb\u5230\u5176\u4ed6\u4e3b\u5b58\u50a8
+label.migrate.volume=\u8fc1\u79fb\u5377
label.minimum=\u6700\u5c0f\u503c
label.min.instances=\u6700\u5c0f\u5b9e\u4f8b\u6570
+label.min.past.the.hr=\u5206 \u6bcf\u5c0f\u65f6
+label.minute.past.hour=\u5206\u949f\u65f6
+label.minutes.past.hour=\u5206 (\u6bcf\u5c0f\u65f6)
label.mode=\u6a21\u5f0f
label.monday=\u661f\u671f\u4e00
label.monthly=\u6bcf\u6708
@@ -974,6 +1048,7 @@
label.network.addVM=\u5c06\u7f51\u7edc\u6dfb\u52a0\u5230 VM
label.network.cidr=\u7f51\u7edc CIDR
label.network.desc=\u7f51\u7edc\u63cf\u8ff0
+label.network.details=\u7f51\u7edc\u8be6\u60c5
label.network.device.type=\u7f51\u7edc\u8bbe\u5907\u7c7b\u578b
label.network.device=\u7f51\u7edc\u8bbe\u5907
label.network.domain.text=\u7f51\u7edc\u57df
@@ -983,6 +1058,7 @@
label.network.label.display.for.blank.value=\u4f7f\u7528\u9ed8\u8ba4\u7f51\u5173
label.network.limits=\u7f51\u7edc\u9650\u5236
label.network.name=\u7f51\u7edc\u540d\u79f0
+label.network.offering.details=\u7f51\u7edc\u65b9\u6848\u8be6\u60c5
label.network.offering.display.text=\u7f51\u7edc\u65b9\u6848\u663e\u793a\u6587\u672c
label.network.offering.id=\u7f51\u7edc\u65b9\u6848 ID
label.network.offering.name=\u7f51\u7edc\u65b9\u6848\u540d\u79f0
@@ -997,6 +1073,7 @@
label.network.write=\u7f51\u7edc\u5199\u5165\u91cf
label.new.password=\u65b0\u5bc6\u7801
label.new.project=\u65b0\u5efa\u9879\u76ee
+label.new.ssh.key.pair=\u65b0SSH\u5bc6\u94a5\u5bf9
label.new=\u65b0\u5efa
label.new.vm=\u65b0\u5efa VM
label.next=\u4e0b\u4e00\u6b65
@@ -1034,6 +1111,7 @@
label.numretries=\u91cd\u8bd5\u6b21\u6570
label.ocfs2=OCFS2
label.offer.ha=\u63d0\u4f9b\u9ad8\u53ef\u7528\u6027
+label.of.month=\u6708
label.ok=\u786e\u5b9a
label.opendaylight.controllerdetail=OpenDaylight \u63a7\u5236\u5668\u8be6\u7ec6\u4fe1\u606f
label.opendaylight.controller=OpenDaylight \u63a7\u5236\u5668
@@ -1047,8 +1125,10 @@
label.other=\u5176\u4ed6
label.override.guest.traffic=\u66ff\u4ee3\u6765\u5bbe\u6d41\u91cf
label.override.public.traffic=\u66ff\u4ee3\u516c\u5171\u6d41\u91cf
+label.ovm3.cluster=\u672c\u5730\u96c6\u7fa4
+label.ovm3.pool=\u539f\u751f\u6c60
+label.ovm3.vip=\u4e3b\u865a\u62dfIP
label.ovm.traffic.label=OVM \u6d41\u91cf\u6807\u7b7e
-label.ovm3.traffic.label=OVM3 \u6d41\u91cf\u6807\u7b7e
label.ovs=OVS
label.owned.public.ips=\u62e5\u6709\u7684\u516c\u7528 IP \u5730\u5740\u6570
label.owner.account=\u6240\u6709\u8005\u5e10\u6237
@@ -1067,6 +1147,7 @@
label.perfect.forward.secrecy=\u5b8c\u5168\u6b63\u5411\u4fdd\u5bc6
label.persistent=\u6c38\u4e45
label.physical.network.ID=\u7269\u7406\u7f51\u7edc ID
+label.physical.network.name=\u7269\u7406\u7f51\u7edc\u540d\u79f0
label.physical.network=\u7269\u7406\u7f51\u7edc
label.PING.CIFS.password=PING CIFS \u5bc6\u7801
label.PING.CIFS.username=PING CIFS \u7528\u6237\u540d
@@ -1074,6 +1155,7 @@
label.ping.path=Ping \u8def\u5f84
label.PING.storage.IP=PING \u5b58\u50a8 IP
label.planner.mode=\u89c4\u5212\u5668\u6a21\u5f0f
+label.please.complete.the.following.fields=\u8bf7\u5b8c\u6210\u4ee5\u4e0b\u5185\u5bb9
label.please.specify.netscaler.info=\u8bf7\u6307\u5b9a NetScaler \u4fe1\u606f
label.please.wait=\u8bf7\u7a0d\u5019
label.plugin.details=\u63d2\u4ef6\u8be6\u7ec6\u4fe1\u606f
@@ -1106,6 +1188,7 @@
label.private.ips=\u4e13\u7528 IP \u5730\u5740
label.private.ip=\u4e13\u7528 IP \u5730\u5740
label.privatekey=PKCS\#8 \u79c1\u94a5
+label.private.key=\u79c1\u94a5
label.private.network=\u4e13\u7528\u7f51\u7edc
label.private.port=\u4e13\u7528\u7aef\u53e3
label.private.zone=\u4e13\u7528\u8d44\u6e90\u57df
@@ -1124,6 +1207,8 @@
label.public.interface=\u516c\u7528\u63a5\u53e3
label.public.ips=\u516c\u7528 IP \u5730\u5740
label.public.ip=\u516c\u7528 IP \u5730\u5740
+label.public.key=\u516c\u94a5
+label.public.lb=\u516c\u5171\u8d1f\u8f7d\u5747\u8861\u5668
label.public.load.balancer.provider=\u516c\u7528\u8d1f\u8f7d\u5e73\u8861\u5668\u63d0\u4f9b\u7a0b\u5e8f
label.public.network=\u516c\u7528\u7f51\u7edc
label.public.port=\u516c\u7528\u7aef\u53e3
@@ -1149,8 +1234,10 @@
label.redundant.router.capability=\u5197\u4f59\u8def\u7531\u5668\u529f\u80fd
label.redundant.router=\u5197\u4f59\u8def\u7531\u5668
label.redundant.state=\u5197\u4f59\u72b6\u6001
+label.redundant.vpc=\u5197\u4f59VPC
label.refresh.blades=\u5237\u65b0\u5200\u7247\u5f0f\u670d\u52a1\u5668
label.refresh=\u5237\u65b0
+label.region.details=\u5730\u7406\u533a\u57df\u8be6\u60c5
label.regionlevelvpc=\u5730\u7406\u533a\u57df\u7ea7 VPC
label.region=\u5730\u7406\u533a\u57df
label.reinstall.vm=\u91cd\u65b0\u5b89\u88c5 VM
@@ -1174,8 +1261,10 @@
label.remove.project.account=\u4ece\u9879\u76ee\u4e2d\u5220\u9664\u5e10\u6237
label.remove.region=\u5220\u9664\u5730\u7406\u533a\u57df
label.remove.rule=\u5220\u9664\u89c4\u5219
+label.remove.ssh.key.pair=\u5220\u9664\u5bc6\u94a5\u5bf9
label.remove.static.nat.rule=\u5220\u9664\u9759\u6001 NAT \u89c4\u5219
label.remove.static.route=\u5220\u9664\u9759\u6001\u8def\u7531
+label.remove.this.physical.network=\u5220\u9664\u6b64\u7269\u7406\u7f51\u7edc
label.remove.tier=\u5220\u9664\u5c42
label.remove.vm.from.lb=\u4ece\u8d1f\u8f7d\u5e73\u8861\u5668\u89c4\u5219\u4e2d\u5220\u9664 VM
label.remove.vm.load.balancer=\u4ece\u8d1f\u8f7d\u5e73\u8861\u5668\u4e2d\u5220\u9664 VM
@@ -1193,9 +1282,12 @@
label.reserved.system.gateway=\u9884\u7559\u7684\u7cfb\u7edf\u7f51\u5173
label.reserved.system.ip=\u9884\u7559\u7684\u7cfb\u7edf IP
label.reserved.system.netmask=\u9884\u7559\u7684\u7cfb\u7edf\u7f51\u7edc\u63a9\u7801
+label.reset.ssh.key.pair.on.vm=\u91cd\u7f6e\u5b9e\u4f8b\u7684SSH\u5bc6\u94a5\u5bf9
+label.reset.ssh.key.pair=\u91cd\u7f6eSSH\u5bc6\u94a5\u5bf9
label.resetVM=\u91cd\u7f6e VM
label.reset.VPN.connection=\u91cd\u7f6e VPN \u8fde\u63a5
label.resize.new.offering.id=\u65b0\u65b9\u6848
+label.resize.new.size=\u65b0\u5efa\u5927\u5c0f(GB)
label.resize.shrink.ok=\u662f\u5426\u786e\u5b9e\u8981\u7f29\u5c0f\u5377\u5927\u5c0f
label.resource.limit.exceeded=\u5df2\u8d85\u51fa\u8d44\u6e90\u9650\u5236
label.resource.limits=\u8d44\u6e90\u9650\u5236
@@ -1232,13 +1324,19 @@
label.s3.secret_key=\u5bc6\u94a5
label.s3.socket_timeout=\u5957\u63a5\u5b57\u8d85\u65f6
label.s3.use_https=\u4f7f\u7528 HTTPS
+label.saml.enable=\u6279\u51c6 SAML SSO
+label.saml.entity=\u8ba4\u8bc1\u65b9\u5f0f
label.saturday=\u661f\u671f\u516d
label.save.and.continue=\u4fdd\u5b58\u5e76\u7ee7\u7eed
+label.save.changes=\u4fdd\u5b58\u4fee\u6539
label.save=\u4fdd\u5b58
label.saving.processing=\u6b63\u5728\u4fdd\u5b58...
+label.scaledown.policy=\u51cf\u7f29\u7b56\u7565
label.scale.up.policy=\u6269\u5c55\u7b56\u7565
+label.scaleup.policy=\u6269\u5c55\u7b56\u7565
label.scope=\u8303\u56f4
label.search=\u641c\u7d22
+label.secondary.ips=\u4e8c\u7ea7 IPs
label.secondary.isolated.vlan.id=\u4e8c\u7ea7\u9694\u79bb VLAN ID
label.secondary.staging.store.details=\u4e8c\u7ea7\u6682\u5b58\u5b58\u50a8\u8be6\u7ec6\u4fe1\u606f
label.secondary.staging.store=\u4e8c\u7ea7\u6682\u5b58\u5b58\u50a8
@@ -1269,19 +1367,23 @@
label.sent=\u5df2\u53d1\u9001
label.server=\u670d\u52a1\u5668
label.service.capabilities=\u670d\u52a1\u529f\u80fd
+label.service.offering.details=\u670d\u52a1\u65b9\u6848\u8be6\u60c5
label.service.offering=\u670d\u52a1\u65b9\u6848
label.service.state=\u670d\u52a1\u72b6\u6001
label.services=\u670d\u52a1
label.session.expired=\u4f1a\u8bdd\u5df2\u8fc7\u671f
label.set.default.NIC=\u8bbe\u7f6e\u9ed8\u8ba4 NIC
label.settings=\u8bbe\u7f6e
+label.setup.network=\u914d\u7f6e\u7f51\u7edc
label.setup=\u8bbe\u7f6e
label.set.up.zone.type=\u8bbe\u7f6e\u8d44\u6e90\u57df\u7c7b\u578b
+label.setup.zone=\u914d\u7f6e\u533a\u57df
label.SharedMountPoint=SharedMountPoint
label.shared=\u5df2\u5171\u4eab
label.show.advanced.settings=\u663e\u793a\u9ad8\u7ea7\u8bbe\u7f6e
label.show.ingress.rule=\u663e\u793a\u5165\u53e3\u89c4\u5219
label.shutdown.provider=\u5173\u95ed\u63d0\u4f9b\u7a0b\u5e8f
+label.simplified.chinese.keyboard=\u7b80\u4f53\u4e2d\u6587\u952e\u76d8
label.site.to.site.VPN=\u70b9\u5bf9\u70b9 VPN
label.size=\u5927\u5c0f
label.skip.guide=\u6211\u4ee5\u524d\u4f7f\u7528\u8fc7 CloudStack\uff0c\u8df3\u8fc7\u6b64\u6307\u5357
@@ -1290,6 +1392,7 @@
label.smb.username=SMB \u7528\u6237\u540d
label.snapshot.limits=\u5feb\u7167\u9650\u5236
label.snapshot.name=\u5feb\u7167\u540d\u79f0
+label.snapshot.schedule=\u8bbe\u7f6e\u91cd\u73b0\u5feb\u7167
label.snapshot.s=\u5feb\u7167
label.snapshots=\u5feb\u7167
label.snapshot=\u5feb\u7167
@@ -1306,15 +1409,22 @@
label.SR.name=SR \u540d\u79f0\u6807\u7b7e
label.srx.details=SRX \u8be6\u7ec6\u4fe1\u606f
label.srx=SRX
+label.ssh.key.pair.details=SSH\u5bc6\u94a5\u5bf9\u8be6\u60c5
+label.ssh.key.pair=SSH\u5bc6\u94a5\u5bf9
+label.ssh.key.pairs=SSH\u5bc6\u94a5\u5bf9
+label.standard.us.keyboard=\u6807\u51c6(US)\u952e\u76d8
label.start.IP=\u8d77\u59cb IP
label.start.lb.vm=\u542f\u52a8 LB VM
label.start.port=\u8d77\u59cb\u7aef\u53e3
label.start.reserved.system.IP=\u8d77\u59cb\u9884\u7559\u7cfb\u7edf IP
+label.start.vlan=\u8d77\u59cb VLAN
+label.start.vxlan=\u8d77\u59cb VXLAN
label.state=\u72b6\u6001
label.static.nat.enabled=\u5df2\u542f\u7528\u9759\u6001 NAT
label.static.nat.to=\u9759\u6001 NAT \u76ee\u6807
label.static.nat=\u9759\u6001 NAT
label.static.nat.vm.details=\u9759\u6001 NAT VM \u8be6\u60c5
+label.static.routes=\u9759\u6001\u8def\u7531\u5668
label.statistics=\u7edf\u8ba1\u6570\u636e
label.status=\u72b6\u6001
label.step.1.title=\u6b65\u9aa4 1\: <strong>\u9009\u62e9\u4e00\u4e2a\u6a21\u677f</strong>
@@ -1364,6 +1474,7 @@
label.system.capacity=\u7cfb\u7edf\u5bb9\u91cf
label.system.offering.for.router=\u8def\u7531\u5668\u7684\u7cfb\u7edf\u65b9\u6848
label.system.offering=\u7cfb\u7edf\u65b9\u6848
+label.system.service.offering.details=\u7cfb\u7edf\u670d\u52a1\u65b9\u6848\u8be6\u60c5
label.system.service.offering=\u7cfb\u7edf\u670d\u52a1\u65b9\u6848
label.system.vm.details=\u7cfb\u7edf VM \u8be6\u7ec6\u4fe1\u606f
label.system.vm.scaled.up=\u5df2\u6269\u5c55\u7cfb\u7edf VM
@@ -1388,8 +1499,11 @@
label.thursday=\u661f\u671f\u56db
label.tier.details=\u5c42\u8be6\u7ec6\u4fe1\u606f
label.tier=\u5c42
+label.time.colon=\u65f6\u95f4\:
+label.timeout.in.second = \u8d85\u65f6(\u79d2)
label.timeout=\u8d85\u65f6
label.time=\u65f6\u95f4
+label.timezone.colon=\u65f6\u533a
label.time.zone=\u65f6\u533a
label.timezone=\u65f6\u533a
label.token=\u4ee4\u724c
@@ -1397,6 +1511,7 @@
label.total.CPU=CPU \u603b\u91cf
label.total.hosts=\u603b\u4e3b\u673a\u6570
label.total.memory=\u5185\u5b58\u603b\u91cf
+label.total.of.ip=IP\u5730\u5740\u603b\u6570
label.total.of.vm=\u603b VM \u6570
label.total.storage=\u5b58\u50a8\u603b\u91cf
label.total.virtual.routers=\u865a\u62df\u8def\u7531\u5668\u603b\u6570
@@ -1410,6 +1525,7 @@
label.type.lower=\u7c7b\u578b
label.type=\u7c7b\u578b
label.ucs=UCS
+label.uk.keyboard=\u7f8e\u5f0f\u952e\u76d8
label.unavailable=\u4e0d\u53ef\u7528
label.unhealthy.threshold=\u4e0d\u6b63\u5e38\u9608\u503c
label.unlimited=\u65e0\u9650\u5236
@@ -1420,7 +1536,11 @@
label.updating=\u6b63\u5728\u66f4\u65b0
label.upgrade.required=\u9700\u8981\u5347\u7ea7
label.upgrade.router.newer.template=\u5347\u7ea7\u8def\u7531\u5668\u4ee5\u4f7f\u7528\u66f4\u65b0\u7684\u6a21\u677f
+label.upload.from.local=\u901a\u8fc7\u672c\u5730\u4e0a\u4f20
+label.upload.template.from.local=\u901a\u8fc7\u672c\u5730\u4e0a\u4f20\u6a21\u677f
label.upload=\u4e0a\u8f7d
+label.upload.volume.from.local=\u901a\u8fc7\u672c\u5730\u4e0a\u4f20\u5377
+label.upload.volume.from.url=\u901a\u8fc7URL\u4e0a\u4f20\u5377
label.upload.volume=\u4e0a\u8f7d\u5377
label.url=URL
label.usage.interface=\u4f7f\u7528\u754c\u9762
@@ -1428,6 +1548,7 @@
label.usage.server=\u4f7f\u7528\u670d\u52a1\u5668
label.used=\u5df2\u4f7f\u7528
label.user.data=\u7528\u6237\u6570\u636e
+label.user.details=\u7528\u6237\u8be6\u60c5
label.username.lower=\u7528\u6237\u540d
label.username=\u7528\u6237\u540d
label.users=\u7528\u6237
@@ -1462,6 +1583,7 @@
label.virtual.appliances=\u865a\u62df\u8bbe\u5907
label.virtual.appliance=\u865a\u62df\u8bbe\u5907
label.virtual.machines=\u865a\u62df\u673a
+label.virtual.machine=\u865a\u62df\u673a
label.virtual.networking=\u865a\u62df\u7f51\u7edc\u8fde\u63a5
label.virtual.network=\u865a\u62df\u7f51\u7edc
label.virtual.routers.group.account=\u865a\u62df\u8def\u7531\u5668(\u6309\u5e10\u6237\u5206\u7ec4)
@@ -1519,6 +1641,7 @@
label.VPC.limits=VPC \u9650\u5236
label.vpc.offering.details=VPC \u65b9\u6848\u8be6\u7ec6\u4fe1\u606f
label.vpc.offering=VPC \u65b9\u6848
+label.vpc.router.details=VPC \u8def\u7531\u5668\u8be6\u7ec6\u4fe1\u606f
label.VPC.router.details=VPC \u8def\u7531\u5668\u8be6\u7ec6\u4fe1\u606f
label.vpc.supportsregionlevelvpc=\u652f\u6301\u5730\u7406\u533a\u57df\u7ea7 VPC
label.vpc.virtual.router=VPC \u865a\u62df\u8def\u7531\u5668
@@ -1538,6 +1661,7 @@
label.vxlan.range=VXLAN \u8303\u56f4
label.vxlan=VXLAN
label.waiting=\u6b63\u5728\u7b49\u5f85
+label.warning=\u8b66\u544a
label.warn=\u8b66\u544a
label.warn.upper=\u8b66\u544a
label.wednesday=\u661f\u671f\u4e09
@@ -1553,6 +1677,7 @@
label.zone.details=\u8d44\u6e90\u57df\u8be6\u7ec6\u4fe1\u606f
label.zone.id=\u8d44\u6e90\u57df ID
label.zone.lower=\u8d44\u6e90\u57df
+label.zone.name=\u533a\u57df\u540d\u79f0
label.zone.step.1.title=\u6b65\u9aa4 1\: <strong>\u9009\u62e9\u4e00\u4e2a\u7f51\u7edc</strong>
label.zone.step.2.title=\u6b65\u9aa4 2\: <strong>\u6dfb\u52a0\u4e00\u4e2a\u8d44\u6e90\u57df</strong>
label.zone.step.3.title=\u6b65\u9aa4 3\: <strong>\u6dfb\u52a0\u4e00\u4e2a\u63d0\u4f9b\u70b9</strong>
@@ -1644,6 +1769,8 @@
message.add.cluster.zone=\u5411\u8d44\u6e90\u57df <b><span id\="zone_name"></span></b> \u4e2d\u6dfb\u52a0\u4e00\u4e2a\u865a\u62df\u673a\u7ba1\u7406\u7a0b\u5e8f\u6258\u7ba1\u7684\u7fa4\u96c6
message.add.disk.offering=\u8bf7\u6307\u5b9a\u4ee5\u4e0b\u53c2\u6570\u4ee5\u6dfb\u52a0\u4e00\u4e2a\u65b0\u7684\u78c1\u76d8\u65b9\u6848
message.add.domain=\u8bf7\u6307\u5b9a\u8981\u5728\u6b64\u57df\u4e0b\u521b\u5efa\u7684\u5b50\u57df
+message.added.new.nuage.vsp.controller=\u6dfb\u52a0\u65b0 Nuage Vsp \u63a7\u5236\u5668
+message.added.vpc.offering=\u6dfb\u52a0 VPC \u65b9\u6848
message.add.firewall=\u5411\u8d44\u6e90\u57df\u4e2d\u6dfb\u52a0\u4e00\u4e2a\u9632\u706b\u5899
message.add.guest.network=\u8bf7\u786e\u8ba4\u60a8\u786e\u5b9e\u8981\u6dfb\u52a0\u4e00\u4e2a\u6765\u5bbe\u7f51\u7edc
message.add.host=\u8bf7\u6307\u5b9a\u4ee5\u4e0b\u53c2\u6570\u4ee5\u6dfb\u52a0\u4e00\u53f0\u65b0\u4e3b\u673a
@@ -1686,6 +1813,8 @@
message.cluster.dedicated=\u7fa4\u96c6\u5df2\u4e13\u7528
message.cluster.dedication.released=\u5df2\u91ca\u653e\u4e13\u7528\u7fa4\u96c6
message.configure.all.traffic.types=\u60a8\u6709\u591a\u4e2a\u7269\u7406\u7f51\u7edc\uff0c\u8bf7\u5355\u51fb\u201c\u7f16\u8f91\u201d\u6309\u94ae\u4e3a\u6bcf\u79cd\u6d41\u91cf\u7c7b\u578b\u914d\u7f6e\u6807\u7b7e\u3002
+message.configure.firewall.rules.allow.traffic=\u914d\u7f6e\u5141\u8bb8\u901a\u4fe1\u7684\u89c4\u5219
+message.configure.firewall.rules.block.traffic=\u914d\u7f6e\u62d2\u7edd\u901a\u4fe1\u7684\u89c4\u5219
message.configure.ldap=\u8bf7\u786e\u8ba4\u60a8\u786e\u5b9e\u8981\u914d\u7f6e LDAP\u3002
message.configuring.guest.traffic=\u6b63\u5728\u914d\u7f6e\u6765\u5bbe\u6d41\u91cf
message.configuring.physical.networks=\u6b63\u5728\u914d\u7f6e\u7269\u7406\u7f51\u7edc
@@ -1706,6 +1835,8 @@
message.confirm.dedicate.zone=\u662f\u5426\u8981\u5c06\u6b64\u8d44\u6e90\u57df\u4e13\u7528\u4e8e\u57df/\u5e10\u6237?
message.confirm.delete.acl.list=\u662f\u5426\u786e\u5b9e\u8981\u5220\u9664\u6b64 ACL \u5217\u8868?
message.confirm.delete.alert=\u662f\u5426\u786e\u5b9e\u8981\u5220\u9664\u6b64\u8b66\u62a5?
+message.confirm.delete.baremetal.rack.configuration=\u8bf7\u786e\u8ba4\u60a8\u786e\u5b9e\u8981\u5220\u9664 Baremetal Rack \u914d\u7f6e
+message.confirm.delete.BigSwitchBcf=\u8bf7\u786e\u8ba4\u60a8\u786e\u5b9e\u8981\u5220\u9664\u6b64BigSwitch BCF \u63a7\u5236\u5668
message.confirm.delete.BrocadeVcs=\u8bf7\u786e\u8ba4\u60a8\u786e\u5b9e\u8981\u5220\u9664 Brocade Vcs \u4ea4\u6362\u673a
message.confirm.delete.ciscoASA1000v=\u8bf7\u786e\u8ba4\u60a8\u786e\u5b9e\u8981\u5220\u9664 CiscoASA1000v
message.confirm.delete.ciscovnmc.resource=\u8bf7\u786e\u8ba4\u60a8\u786e\u5b9e\u8981\u5220\u9664 Cisco VNMC \u8d44\u6e90
@@ -1780,11 +1911,15 @@
message.delete.VPN.connection=\u8bf7\u786e\u8ba4\u60a8\u786e\u5b9e\u8981\u5220\u9664 VPN \u8fde\u63a5
message.delete.VPN.customer.gateway=\u8bf7\u786e\u8ba4\u60a8\u786e\u5b9e\u8981\u5220\u9664\u6b64 VPN \u5ba2\u6237\u7f51\u5173
message.delete.VPN.gateway=\u8bf7\u786e\u8ba4\u60a8\u786e\u5b9e\u8981\u5220\u9664\u6b64 VPN \u7f51\u5173
+message.desc.add.new.lb.sticky.rule=\u6dfb\u52a0\u65b0\u8d1f\u8f7d\u5747\u8861\u7c98\u6ede\u89c4\u5219
message.desc.advanced.zone=\u9002\u7528\u4e8e\u66f4\u52a0\u590d\u6742\u7684\u7f51\u7edc\u62d3\u6251\u3002\u6b64\u7f51\u7edc\u6a21\u5f0f\u5728\u5b9a\u4e49\u6765\u5bbe\u7f51\u7edc\u5e76\u63d0\u4f9b\u9632\u706b\u5899\u3001VPN \u6216\u8d1f\u8f7d\u5e73\u8861\u5668\u652f\u6301\u7b49\u81ea\u5b9a\u4e49\u7f51\u7edc\u65b9\u6848\u65b9\u9762\u63d0\u4f9b\u4e86\u6700\u5927\u7684\u7075\u6d3b\u6027\u3002
message.desc.basic.zone=\u63d0\u4f9b\u4e00\u4e2a\u7f51\u7edc\uff0c\u5c06\u76f4\u63a5\u4ece\u6b64\u7f51\u7edc\u4e2d\u4e3a\u6bcf\u4e2a VM \u5b9e\u4f8b\u5206\u914d\u4e00\u4e2a IP\u3002\u53ef\u4ee5\u901a\u8fc7\u5b89\u5168\u7ec4\u7b49\u7b2c 3 \u5c42\u65b9\u5f0f\u63d0\u4f9b\u6765\u5bbe\u9694\u79bb(IP \u5730\u5740\u6e90\u8fc7\u6ee4)\u3002
message.desc.cluster=\u6bcf\u4e2a\u63d0\u4f9b\u70b9\u4e2d\u5fc5\u987b\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a\u7fa4\u96c6\uff0c\u73b0\u5728\u6211\u4eec\u5c06\u6dfb\u52a0\u7b2c\u4e00\u4e2a\u7fa4\u96c6\u3002\u7fa4\u96c6\u63d0\u4f9b\u4e86\u4e00\u79cd\u7f16\u7ec4\u4e3b\u673a\u7684\u65b9\u6cd5\u3002\u7fa4\u96c6\u4e2d\u7684\u6240\u6709\u4e3b\u673a\u90fd\u5177\u6709\u76f8\u540c\u7684\u786c\u4ef6\uff0c\u8fd0\u884c\u76f8\u540c\u7684\u865a\u62df\u673a\u7ba1\u7406\u7a0b\u5e8f\uff0c\u4f4d\u4e8e\u76f8\u540c\u7684\u5b50\u7f51\u4e2d\uff0c\u5e76\u8bbf\u95ee\u76f8\u540c\u7684\u5171\u4eab\u5b58\u50a8\u3002\u6bcf\u4e2a\u7fa4\u96c6\u7531\u4e00\u4e2a\u6216\u591a\u4e2a\u4e3b\u673a\u4ee5\u53ca\u4e00\u4e2a\u6216\u591a\u4e2a\u4e3b\u5b58\u50a8\u670d\u52a1\u5668\u7ec4\u6210\u3002
+message.desc.created.ssh.key.pair=\u5df2\u751f\u6210\u7684SSH\u5bc6\u94a5\u5bf9
+message.desc.create.ssh.key.pair=\u8bf7\u586b\u5199\u4ee5\u4e0b\u5185\u5bb9\u4ee5\u521b\u5efa\u6216\u751f\u6210\u4e00\u4e2assh\u5bc6\u94a5\u5bf9.<br>\n<br>(1) \u5982\u679c\u516c\u94a5\u5df2\u914d\u7f6e, cloudstack \u5c06\u6ce8\u518c\u6b64\u516c\u94a5. \u60a8\u53ef\u4ee5\u901a\u8fc7\u60a8\u7684\u79c1\u94a5\u6765\u8bbf\u95ee.<br><br>(2)\u5982\u679c\u516c\u94a5\u672a\u914d\u7f6e,cloudstack\u5c06\u521b\u5efa\u65b0\u7684\u5bc6\u94a5\u5bf9,\u8bf7\u590d\u5236\u5e76\u4fdd\u5b58\u79c1\u94a5,cloudstack\u5c06\u4e0d\u4f1a\u66ff\u60a8\u4fdd\u5b58<br>
message.desc.host=\u6bcf\u4e2a\u7fa4\u96c6\u4e2d\u5fc5\u987b\u81f3\u5c11\u5305\u542b\u4e00\u4e2a\u4e3b\u673a\u4ee5\u4f9b\u6765\u5bbe VM \u5728\u4e0a\u9762\u8fd0\u884c\uff0c\u73b0\u5728\u6211\u4eec\u5c06\u6dfb\u52a0\u7b2c\u4e00\u4e2a\u4e3b\u673a\u3002\u8981\u4f7f\u4e3b\u673a\u5728 CloudStack \u4e2d\u8fd0\u884c\uff0c\u5fc5\u987b\u5728\u6b64\u4e3b\u673a\u4e0a\u5b89\u88c5\u865a\u62df\u673a\u7ba1\u7406\u7a0b\u5e8f\u8f6f\u4ef6\uff0c\u4e3a\u5176\u5206\u914d\u4e00\u4e2a IP \u5730\u5740\uff0c\u5e76\u786e\u4fdd\u5c06\u5176\u8fde\u63a5\u5230 CloudStack \u7ba1\u7406\u670d\u52a1\u5668\u3002<br/><br/>\u8bf7\u63d0\u4f9b\u4e3b\u673a\u7684 DNS \u6216 IP \u5730\u5740\u3001\u7528\u6237\u540d(\u901a\u5e38\u4e3a root)\u548c\u5bc6\u7801\uff0c\u4ee5\u53ca\u7528\u4e8e\u5bf9\u4e3b\u673a\u8fdb\u884c\u5206\u7c7b\u7684\u4efb\u4f55\u6807\u7b7e\u3002
message.desc.primary.storage=\u6bcf\u4e2a\u7fa4\u96c6\u4e2d\u5fc5\u987b\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a\u4e3b\u5b58\u50a8\u670d\u52a1\u5668\uff0c\u73b0\u5728\u6211\u4eec\u5c06\u6dfb\u52a0\u7b2c\u4e00\u4e2a\u4e3b\u5b58\u50a8\u670d\u52a1\u5668\u3002\u4e3b\u5b58\u50a8\u4e2d\u5305\u542b\u5728\u7fa4\u96c6\u4e2d\u7684\u4e3b\u673a\u4e0a\u8fd0\u884c\u7684\u6240\u6709 VM \u7684\u78c1\u76d8\u5377\u3002\u8bf7\u4f7f\u7528\u5e95\u5c42\u865a\u62df\u673a\u7ba1\u7406\u7a0b\u5e8f\u652f\u6301\u7684\u7b26\u5408\u6807\u51c6\u7684\u534f\u8bae\u3002
+message.desc.reset.ssh.key.pair=\u8bf7\u6307\u5b9a\u60a8\u60f3\u6dfb\u52a0\u5230\u8fd9\u4e2aVM\u4e2d\u7684SSH\u5bc6\u94a5\u5bf9.\u8bf7\u6ce8\u610f,\u5982\u679c\u542f\u7528\u4e86\u5bc6\u7801\u7ba1\u7406,\u8d85\u7ea7\u7528\u6237\u53e3\u4ee4\u5c06\u4f1a\u88ab\u91cd\u7f6e\u3002
message.desc.secondary.storage=\u6bcf\u4e2a\u8d44\u6e90\u57df\u4e2d\u5fc5\u987b\u81f3\u5c11\u5305\u542b\u4e00\u4e2a NFS \u6216\u4e8c\u7ea7\u5b58\u50a8\u670d\u52a1\u5668\uff0c\u73b0\u5728\u6211\u4eec\u5c06\u6dfb\u52a0\u7b2c\u4e00\u4e2a NFS \u6216\u4e8c\u7ea7\u5b58\u50a8\u670d\u52a1\u5668\u3002\u4e8c\u7ea7\u5b58\u50a8\u7528\u4e8e\u5b58\u50a8 VM \u6a21\u677f\u3001ISO \u6620\u50cf\u548c VM \u78c1\u76d8\u5377\u5feb\u7167\u3002\u6b64\u670d\u52a1\u5668\u5fc5\u987b\u5bf9\u8d44\u6e90\u57df\u4e2d\u7684\u6240\u6709\u670d\u52a1\u5668\u53ef\u7528\u3002<br/><br/>\u8bf7\u63d0\u4f9b IP \u5730\u5740\u548c\u5bfc\u51fa\u8def\u5f84\u3002
message.desc.zone=\u8d44\u6e90\u57df\u662f CloudStack \u4e2d\u6700\u5927\u7684\u7ec4\u7ec7\u5355\u4f4d\uff0c\u4e00\u4e2a\u8d44\u6e90\u57df\u901a\u5e38\u4e0e\u4e00\u4e2a\u6570\u636e\u4e2d\u5fc3\u76f8\u5bf9\u5e94\u3002\u8d44\u6e90\u57df\u53ef\u63d0\u4f9b\u7269\u7406\u9694\u79bb\u548c\u5197\u4f59\u3002\u4e00\u4e2a\u8d44\u6e90\u57df\u7531\u4e00\u4e2a\u6216\u591a\u4e2a\u63d0\u4f9b\u70b9\u4ee5\u53ca\u7531\u8d44\u6e90\u57df\u4e2d\u7684\u6240\u6709\u63d0\u4f9b\u70b9\u5171\u4eab\u7684\u4e00\u4e2a\u4e8c\u7ea7\u5b58\u50a8\u670d\u52a1\u5668\u7ec4\u6210\uff0c\u5176\u4e2d\u6bcf\u4e2a\u63d0\u4f9b\u70b9\u4e2d\u5305\u542b\u591a\u4e2a\u4e3b\u673a\u548c\u4e3b\u5b58\u50a8\u670d\u52a1\u5668\u3002
message.detach.disk=\u662f\u5426\u786e\u5b9e\u8981\u53d6\u6d88\u9644\u52a0\u6b64\u78c1\u76d8?
@@ -1799,9 +1934,10 @@
message.disallowed.characters=\u7981\u7528\u5b57\u7b26\: <,>
message.download.ISO=\u8bf7\u5355\u51fb <a href\="\#">00000</a> \u4e0b\u8f7d ISO
message.download.template=\u8bf7\u5355\u51fb <a href\="\#">00000</a> \u4e0b\u8f7d\u6a21\u677f
+message.download.volume.confirm=\u8bf7\u786e\u8ba4\u60a8\u786e\u5b9e\u8981\u4e0b\u8f7d\u6b64\u5377
message.download.volume=\u8bf7\u5355\u51fb <a href\="\#">00000</a> \u4e0b\u8f7d\u5377
message.edit.account=\u7f16\u8f91(\u201c-1\u201d\u8868\u793a\u5bf9\u8981\u521b\u5efa\u7684\u8d44\u6e90\u6570\u91cf\u6ca1\u6709\u4efb\u4f55\u9650\u5236)
-message.edit.confirm=\u8bf7\u5148\u786e\u8ba4\u60a8\u6240\u505a\u7684\u66f4\u6539\uff0c\u7136\u540e\u5355\u51fb\u201c\u4fdd\u5b58\u201d\u3002
+message.edit.confirm=\u5728\u70b9\u51fb\u201c\u4fdd\u5b58\u201d\u524d\u8bf7\u5148\u786e\u8ba4\u60a8\u6240\u505a\u7684\u66f4\u6539\u3002
message.edit.limits=\u8bf7\u6307\u5b9a\u5bf9\u4ee5\u4e0b\u8d44\u6e90\u7684\u9650\u5236\u3002\u201c-1\u201d\u8868\u793a\u4e0d\u9650\u5236\u8981\u521b\u5efa\u7684\u8d44\u6e90\u6570\u3002
message.edit.traffic.type=\u8bf7\u6307\u5b9a\u60a8\u5e0c\u671b\u4e0e\u6b64\u6d41\u91cf\u7c7b\u578b\u5173\u8054\u7684\u6d41\u91cf\u6807\u7b7e\u3002
message.enable.account=\u8bf7\u786e\u8ba4\u60a8\u786e\u5b9e\u8981\u542f\u7528\u6b64\u5e10\u6237\u3002
@@ -1865,6 +2001,7 @@
message.join.project=\u60a8\u73b0\u5728\u5df2\u52a0\u5165\u4e86\u4e00\u4e2a\u9879\u76ee\u3002\u8bf7\u5207\u6362\u5230\u201c\u9879\u76ee\u89c6\u56fe\u201d\u4ee5\u67e5\u770b\u9879\u76ee\u3002
message.launch.vm.on.private.network=\u662f\u5426\u8981\u5728\u60a8\u7684\u79c1\u4eba\u4e13\u7528\u7f51\u7edc\u4e2d\u542f\u52a8\u5b9e\u4f8b?
message.launch.zone=\u8d44\u6e90\u57df\u5df2\u51c6\u5907\u5c31\u7eea\uff0c\u53ef\u968f\u65f6\u542f\u52a8\uff1b\u8bf7\u7ee7\u7eed\u6267\u884c\u4e0b\u4e00\u6b65\u9aa4\u3002
+message.link.domain.to.ldap=\u4e3a\u6b64\u57df\u5f00\u542f LDAP \u540c\u6b65
message.listView.subselect.multi=(\u6309\u4f4f Ctrl/Cmd \u5e76\u5355\u51fb)
message.lock.account=\u8bf7\u786e\u8ba4\u60a8\u786e\u5b9e\u8981\u9501\u5b9a\u6b64\u5e10\u6237\u3002\u901a\u8fc7\u9501\u5b9a\u6b64\u5e10\u6237\uff0c\u6b64\u5e10\u6237\u7684\u6240\u6709\u7528\u6237\u5c06\u4e0d\u518d\u80fd\u591f\u7ba1\u7406\u5404\u81ea\u7684\u4e91\u8d44\u6e90\uff0c\u4f46\u4ecd\u7136\u53ef\u4ee5\u8bbf\u95ee\u73b0\u6709\u8d44\u6e90\u3002
message.migrate.instance.confirm=\u8bf7\u786e\u8ba4\u8981\u5c06\u865a\u62df\u5b9e\u4f8b\u8fc1\u79fb\u5230\u7684\u4e3b\u673a\u3002
@@ -1875,6 +2012,7 @@
message.migrate.volume=\u8bf7\u786e\u8ba4\u60a8\u786e\u5b9e\u8981\u5c06\u5377\u8fc1\u79fb\u5230\u5176\u4ed6\u4e3b\u5b58\u50a8\u3002
message.network.addVM.desc=\u8bf7\u6307\u5b9a\u8981\u5c06\u6b64 VM \u6dfb\u52a0\u5230\u7684\u7f51\u7edc\u3002\u5c06\u4e3a\u6b64\u7f51\u7edc\u6dfb\u52a0\u4e00\u4e2a\u65b0 NIC\u3002
message.network.addVMNIC=\u8bf7\u786e\u8ba4\u60a8\u786e\u5b9e\u8981\u4e3a\u6b64\u7f51\u7edc\u6dfb\u52a0\u4e00\u4e2a\u65b0 VM NIC\u3002
+message.network.remote.access.vpn.configuration=\u8fdc\u7a0b\u8bbf\u95eeVPN\u914d\u7f6e\u5df2\u7ecf\u4ea7\u751f\uff0c\u4f46\u65e0\u6cd5\u5e94\u7528\u3002\u8bf7\u68c0\u67e5\u7f51\u7edc\u8fde\u63a5\u72b6\u51b5\uff0c\u7136\u540e\u91cd\u65b0\u5c1d\u8bd5\u3002
message.new.user=\u8bf7\u6307\u5b9a\u4ee5\u4e0b\u4fe1\u606f\u4ee5\u5411\u5e10\u6237\u4e2d\u6dfb\u52a0\u4e00\u4e2a\u65b0\u7528\u6237
message.no.affinity.groups=\u60a8\u6ca1\u6709\u4efb\u4f55\u5173\u8054\u6027\u7ec4\u3002\u8bf7\u7ee7\u7eed\u6267\u884c\u4e0b\u4e00\u6b65\u64cd\u4f5c\u3002
message.no.host.available=\u6ca1\u6709\u53ef\u7528\u4e8e\u8fc1\u79fb\u7684\u4e3b\u673a
@@ -1887,23 +2025,29 @@
message.number.pods=<h2>\u63d0\u4f9b\u70b9<span>\u6570</span></h2>
message.number.storage=<h2>\u4e3b\u5b58\u50a8\u5377<span>\u6570</span></h2>
message.number.zones=<h2>\u8d44\u6e90\u57df<span>\u6570</span></h2>
+message.password.has.been.reset.to=\u5bc6\u7801\u5df2\u91cd\u7f6e\u4e3a
+message.password.of.the.vm.has.been.reset.to=\u5b9e\u4f8b\u7684\u5bc6\u7801\u4ee5\u91cd\u7f6e\u4e3a
message.pending.projects.1=\u60a8\u6709\u5f85\u5b9a\u9879\u76ee\u9080\u8bf7\:
message.pending.projects.2=\u8981\u67e5\u770b\uff0c\u8bf7\u8f6c\u81f3\u201c\u9879\u76ee\u201d\u90e8\u5206\uff0c\u7136\u540e\u4ece\u4e0b\u62c9\u5217\u8868\u4e2d\u9009\u62e9\u201c\u9080\u8bf7\u201d\u3002
message.please.add.at.lease.one.traffic.range=\u8bf7\u81f3\u5c11\u6dfb\u52a0\u4e00\u4e2a\u6d41\u91cf\u8303\u56f4\u3002
+message.please.confirm.remove.ssh.key.pair=\u8bf7\u786e\u8ba4\u60a8\u786e\u5b9e\u8981\u5220\u9664\u6b64SSH\u5bc6\u94a5\u5bf9
message.please.proceed=\u8bf7\u7ee7\u7eed\u6267\u884c\u4e0b\u4e2a\u6b65\u9aa4\u3002
message.please.select.a.configuration.for.your.zone=\u8bf7\u4e3a\u60a8\u7684\u8d44\u6e90\u57df\u9009\u62e9\u4e00\u79cd\u914d\u7f6e\u3002
message.please.select.a.different.public.and.management.network.before.removing=\u8bf7\u5148\u9009\u62e9\u5176\u4ed6\u516c\u7528\u7ba1\u7406\u7f51\u7edc\uff0c\u7136\u540e\u518d\u5220\u9664
message.please.select.networks=\u8bf7\u4e3a\u60a8\u7684\u865a\u62df\u673a\u9009\u62e9\u7f51\u7edc\u3002
+message.please.select.ssh.key.pair.use.with.this.vm=\u8bf7\u4e3a\u6b64\u5b9e\u4f8b\u9009\u62e9\u4e00\u4e2a\u5bc6\u94a5\u5bf9
message.please.wait.while.zone.is.being.created=\u6b63\u5728\u521b\u5efa\u8d44\u6e90\u57df\uff0c\u8bf7\u7a0d\u5019\uff1b\u6b64\u64cd\u4f5c\u53ef\u80fd\u9700\u8981\u4e00\u6bb5\u65f6\u95f4\u624d\u80fd\u5b8c\u6210...
message.pod.dedication.released=\u5df2\u91ca\u653e\u4e13\u7528\u63d0\u4f9b\u70b9
message.portable.ip.delete.confirm=\u8bf7\u786e\u8ba4\u60a8\u786e\u5b9e\u8981\u5220\u9664\u53ef\u79fb\u690d IP \u8303\u56f4
message.project.invite.sent=\u53d1\u9001\u7ed9\u7528\u6237\u7684\u9080\u8bf7\uff1b\u7528\u6237\u63a5\u53d7\u9080\u8bf7\u540e\uff0c\u5c06\u52a0\u5165\u5230\u9879\u76ee\u4e2d
message.public.traffic.in.advanced.zone=\u4e91\u4e2d\u7684 VM \u8bbf\u95ee Internet \u65f6\u5c06\u751f\u6210\u516c\u5171\u6d41\u91cf\uff0c\u4f46\u5fc5\u987b\u5206\u914d\u53ef\u516c\u5f00\u8bbf\u95ee\u7684 IP \u624d\u80fd\u5b9e\u73b0\u3002\u6700\u7ec8\u7528\u6237\u53ef\u4ee5\u4f7f\u7528 CloudStack UI \u83b7\u53d6\u8fd9\u4e9b IP\uff0c\u4ee5\u5728\u5176\u6765\u5bbe\u7f51\u7edc\u4e0e\u516c\u7528\u7f51\u7edc\u4e4b\u95f4\u6267\u884c NAT\u3002<br/><br/>\u8bf7\u81f3\u5c11\u4e3a Internet \u6d41\u91cf\u63d0\u4f9b\u4e00\u4e2a IP \u5730\u5740\u8303\u56f4\u3002
message.public.traffic.in.basic.zone=\u4e91\u4e2d\u7684 VM \u8bbf\u95ee Internet \u6216\u901a\u8fc7 Internet \u5411\u5ba2\u6237\u7aef\u63d0\u4f9b\u670d\u52a1\u65f6\u5c06\u751f\u6210\u516c\u5171\u6d41\u91cf\uff0c\u4f46\u5fc5\u987b\u5206\u914d\u53ef\u516c\u5f00\u8bbf\u95ee\u7684 IP \u624d\u80fd\u5b9e\u73b0\u3002\u521b\u5efa\u5b9e\u4f8b\u65f6\uff0c\u5c06\u628a\u8fd9\u4e00\u7ec4\u516c\u7528 IP \u4e2d\u7684 IP (\u6765\u5bbe IP \u5730\u5740\u9664\u5916)\u5206\u914d\u7ed9\u6b64\u5b9e\u4f8b\u3002\u9759\u6001 1-1 NAT \u5c06\u5728\u516c\u7528 IP \u4e0e\u6765\u5bbe IP \u4e4b\u95f4\u81ea\u52a8\u8bbe\u7f6e\u3002\u6700\u7ec8\u7528\u6237\u8fd8\u53ef\u4ee5\u4f7f\u7528 CloudStack UI \u83b7\u53d6\u5176\u4ed6 IP\uff0c\u4ee5\u5728\u5176\u5b9e\u4f8b\u4e0e\u516c\u7528 IP \u4e4b\u95f4\u6267\u884c\u9759\u6001 NAT\u3002
+message.question.are.you.sure.you.want.to.add=\u60a8\u786e\u5b9a\u8981\u6dfb\u52a0
message.read.admin.guide.scaling.up=\u5f00\u59cb\u6269\u5c55\u4e4b\u524d\uff0c\u8bf7\u9605\u8bfb\u7ba1\u7406\u6307\u5357\u4e2d\u7684\u52a8\u6001\u6269\u5c55\u90e8\u5206\u3002
message.recover.vm=\u8bf7\u786e\u8ba4\u60a8\u786e\u5b9e\u8981\u6062\u590d\u6b64 VM\u3002
message.redirecting.region=\u6b63\u5728\u91cd\u5b9a\u5411\u5230\u5730\u7406\u533a\u57df...
message.reinstall.vm=\u6ce8\u610f\: \u8bf7\u8c28\u614e\u64cd\u4f5c\u3002\u8fd9\u5c06\u5bfc\u81f4\u4ece\u6a21\u677f\u91cd\u65b0\u5b89\u88c5 VM\uff0c\u5e76\u4e14\u5f15\u5bfc\u78c1\u76d8\u4e0a\u5b58\u50a8\u7684\u6570\u636e\u5c06\u4e22\u5931\u3002\u989d\u5916\u7684\u6570\u636e\u5377(\u5982\u679c\u5b58\u5728)\u5c06\u65e0\u6cd5\u8bbf\u95ee\u3002
+message.removed.ssh.key.pair=\u5df2\u79fb\u9664\u7684SSH\u5bc6\u94a5\u5bf9
message.remove.ldap=\u662f\u5426\u786e\u5b9e\u8981\u5220\u9664 LDAP \u914d\u7f6e?
message.remove.region=\u662f\u5426\u786e\u5b9e\u8981\u4ece\u6b64\u7ba1\u7406\u670d\u52a1\u5668\u4e2d\u5220\u9664\u6b64\u5730\u7406\u533a\u57df?
message.remove.vpc=\u8bf7\u786e\u8ba4\u60a8\u786e\u5b9e\u8981\u5220\u9664 VPC
@@ -1914,6 +2058,7 @@
message.restart.mgmt.server=\u8bf7\u91cd\u65b0\u542f\u52a8\u7ba1\u7406\u670d\u52a1\u5668\u4ee5\u4f7f\u60a8\u7684\u65b0\u8bbe\u7f6e\u751f\u6548\u3002
message.restart.mgmt.usage.server=\u8bf7\u91cd\u65b0\u542f\u52a8\u7ba1\u7406\u670d\u52a1\u5668\u548c\u4f7f\u7528\u670d\u52a1\u5668\u4ee5\u4f7f\u60a8\u7684\u65b0\u8bbe\u7f6e\u751f\u6548\u3002
message.restart.network=\u6b64\u7f51\u7edc\u63d0\u4f9b\u7684\u6240\u6709\u670d\u52a1\u90fd\u5c06\u4e2d\u65ad\u3002\u8bf7\u786e\u8ba4\u60a8\u786e\u5b9e\u8981\u91cd\u65b0\u542f\u52a8\u6b64\u7f51\u7edc\u3002
+message.restart.vpc.remark=\u8bf7\u786e\u5b9a\u60a8\u8981\u91cd\u542fVPC <p><small><i> \u8b66\u544a\: \u91cd\u542f\u975e\u5197\u4f59\u7684VPC\u5c06\u4f1a\u5bfc\u81f4\u7f51\u7edc\u4e2d\u65ad,\u76f4\u81f3VPC\u91cd\u542f\u5b8c\u6210</i>.</small></p>
message.restart.vpc=\u8bf7\u786e\u8ba4\u60a8\u786e\u5b9e\u8981\u91cd\u65b0\u542f\u52a8 VPC
message.restoreVM=\u662f\u5426\u8981\u8fd8\u539f\u6b64 VM?
message.security.group.usage=(<strong>\u6309\u4f4f Ctrl \u952e\u5e76\u5355\u51fb\u9f20\u6807</strong>\u53ef\u9009\u62e9\u6240\u6709\u9002\u7528\u7684\u5b89\u5168\u7ec4)
@@ -1930,6 +2075,7 @@
message.setup.physical.network.during.zone.creation.basic=\u6dfb\u52a0\u57fa\u7840\u8d44\u6e90\u57df\u65f6\uff0c\u53ef\u4ee5\u8bbe\u7f6e\u4e00\u4e2a\u7269\u7406\u7f51\u7edc\uff0c\u6b64\u7f51\u7edc\u5e94\u4e0e\u865a\u62df\u673a\u7ba1\u7406\u7a0b\u5e8f\u4e2d\u7684 NIC \u76f8\u5bf9\u5e94\u3002\u6b64\u7f51\u7edc\u53ef\u4ee5\u627f\u8f7d\u591a\u79cd\u6d41\u91cf\u7c7b\u578b\u3002<br/><br/>\u6b64\u5916\uff0c\u8fd8\u53ef\u4ee5\u5c06\u5176\u4ed6\u6d41\u91cf\u7c7b\u578b<strong>\u62d6\u653e</strong>\u5230\u6b64\u7269\u7406\u7f51\u7edc\u3002
message.setup.physical.network.during.zone.creation=\u6dfb\u52a0\u9ad8\u7ea7\u8d44\u6e90\u57df\u65f6\uff0c\u9700\u8981\u8bbe\u7f6e\u4e00\u4e2a\u6216\u591a\u4e2a\u7269\u7406\u7f51\u7edc\u3002\u6bcf\u4e2a\u7f51\u7edc\u90fd\u4e0e\u865a\u62df\u673a\u7ba1\u7406\u7a0b\u5e8f\u4e2d\u7684\u4e00\u4e2a NIC \u76f8\u5bf9\u5e94\u3002\u6bcf\u4e2a\u7269\u7406\u7f51\u7edc\u4e2d\u53ef\u4ee5\u5305\u542b\u4e00\u79cd\u6216\u591a\u79cd\u6d41\u91cf\u7c7b\u578b\uff0c\u5e76\u5bf9\u8fd9\u4e9b\u6d41\u91cf\u7c7b\u578b\u53ef\u80fd\u7684\u7ec4\u5408\u65b9\u5f0f\u8bbe\u7f6e\u4e86\u67d0\u4e9b\u9650\u5236\u3002<br/><br/><strong>\u53ef\u4ee5\u5c06\u4e00\u79cd\u6216\u591a\u79cd\u6d41\u91cf\u7c7b\u578b\u62d6\u653e</strong>\u5230\u6bcf\u4e2a\u7269\u7406\u7f51\u7edc\u4e2d\u3002
message.setup.successful=\u5df2\u6210\u529f\u8bbe\u7f6e\u4e91\!
+message.snapshot.schedule=\u53ef\u4ee5\u901a\u8fc7\u4ece\u4ee5\u4e0b\u53ef\u7528\u9009\u9879\u4e2d\u8fdb\u884c\u9009\u62e9\u5e76\u5e94\u7528\u60a8\u7684\u7b56\u7565\u9996\u9009\u9879\u6765\u8bbe\u7f6e\u91cd\u73b0\u5feb\u7167\u8ba1\u5212
message.specifiy.tag.key.value=\u8bf7\u6307\u5b9a\u6807\u8bb0\u5bc6\u94a5\u548c\u503c
message.specify.url=\u8bf7\u6307\u5b9a URL
message.step.1.continue=\u8bf7\u9009\u62e9\u4e00\u4e2a\u6a21\u677f\u6216 ISO \u4ee5\u7ee7\u7eed
@@ -2023,5 +2169,6 @@
state.Stopped=\u5df2\u505c\u6b62
state.Stopping=\u6b63\u5728\u505c\u6b62
state.Suspended=\u5df2\u6682\u505c
+title.upload.volume=\u4e0a\u4f20\u5377
ui.listView.filters.all=\u5168\u90e8
ui.listView.filters.mine=\u672c\u7528\u6237
diff --git a/core/src/com/cloud/network/HAProxyConfigurator.java b/core/src/com/cloud/network/HAProxyConfigurator.java
index bc428c5..d3db0db 100644
--- a/core/src/com/cloud/network/HAProxyConfigurator.java
+++ b/core/src/com/cloud/network/HAProxyConfigurator.java
@@ -503,6 +503,9 @@
.append(":")
.append(dest.getDestPort())
.append(" check");
+ if(lbTO.getLbProtocol() != null && lbTO.getLbProtocol().equals("tcp-proxy")) {
+ sb.append(" send-proxy");
+ }
dstSubRule.add(sb.toString());
if (stickinessSubRule != null) {
sb.append(" cookie ").append(dest.getDestIp().replace(".", "_")).append('-').append(dest.getDestPort()).toString();
diff --git a/core/src/com/cloud/storage/template/LocalTemplateDownloader.java b/core/src/com/cloud/storage/template/LocalTemplateDownloader.java
index 3d33a21..564eba3 100644
--- a/core/src/com/cloud/storage/template/LocalTemplateDownloader.java
+++ b/core/src/com/cloud/storage/template/LocalTemplateDownloader.java
@@ -38,7 +38,7 @@
public LocalTemplateDownloader(StorageLayer storageLayer, String downloadUrl, String toDir, long maxTemplateSizeInBytes, DownloadCompleteCallback callback) {
super(storageLayer, downloadUrl, toDir, maxTemplateSizeInBytes, callback);
- String filename = downloadUrl.substring(downloadUrl.lastIndexOf(File.separator));
+ String filename = new File(downloadUrl).getName();
_toFile = toDir.endsWith(File.separator) ? (toDir + filename) : (toDir + File.separator + filename);
}
diff --git a/core/test/com/cloud/network/HAProxyConfiguratorTest.java b/core/test/com/cloud/network/HAProxyConfiguratorTest.java
index 67321a4..d899d4d 100644
--- a/core/test/com/cloud/network/HAProxyConfiguratorTest.java
+++ b/core/test/com/cloud/network/HAProxyConfiguratorTest.java
@@ -29,6 +29,10 @@
import com.cloud.agent.api.routing.LoadBalancerConfigCommand;
import com.cloud.agent.api.to.LoadBalancerTO;
+import com.cloud.network.lb.LoadBalancingRule.LbDestination;
+
+import java.util.List;
+import java.util.ArrayList;
/**
* @author dhoogland
@@ -87,6 +91,24 @@
// httpmode
}
+ /**
+ * Test method for {@link com.cloud.network.HAProxyConfigurator#generateConfiguration(com.cloud.agent.api.routing.LoadBalancerConfigCommand)}.
+ */
+ @Test
+ public void testGenerateConfigurationLoadBalancerProxyProtocolConfigCommand() {
+ final List<LbDestination> dests = new ArrayList<>();
+ dests.add(new LbDestination(443, 8443, "10.1.10.2", false));
+ dests.add(new LbDestination(443, 8443, "10.1.10.2", true));
+ LoadBalancerTO lb = new LoadBalancerTO("1", "10.2.0.1", 443, "tcp", "http", false, false, false, dests);
+ lb.setLbProtocol("tcp-proxy");
+ LoadBalancerTO[] lba = new LoadBalancerTO[1];
+ lba[0] = lb;
+ HAProxyConfigurator hpg = new HAProxyConfigurator();
+ LoadBalancerConfigCommand cmd = new LoadBalancerConfigCommand(lba, "10.0.0.1", "10.1.0.1", "10.1.1.1", null, 1L, "12", false);
+ String result = genConfig(hpg, cmd);
+ assertTrue("'send-proxy' should result if protocol is 'tcp-proxy'", result.contains("send-proxy"));
+ }
+
private String genConfig(HAProxyConfigurator hpg, LoadBalancerConfigCommand cmd) {
String[] sa = hpg.generateConfiguration(cmd);
StringBuilder sb = new StringBuilder();
diff --git a/core/test/com/cloud/storage/template/LocalTemplateDownloaderTest.java b/core/test/com/cloud/storage/template/LocalTemplateDownloaderTest.java
index 74d1adc..0a5d2f6 100644
--- a/core/test/com/cloud/storage/template/LocalTemplateDownloaderTest.java
+++ b/core/test/com/cloud/storage/template/LocalTemplateDownloaderTest.java
@@ -29,9 +29,9 @@
public class LocalTemplateDownloaderTest {
@Test
- public void localTemplateDownloaderTest() {
- String url = "file://" + new File("pom.xml").getAbsolutePath();
- TemplateDownloader td = new LocalTemplateDownloader(null, url, "/tmp", TemplateDownloader.DEFAULT_MAX_TEMPLATE_SIZE_IN_BYTES, null);
+ public void localTemplateDownloaderTest() throws Exception {
+ String url = new File("pom.xml").toURI().toURL().toString();
+ TemplateDownloader td = new LocalTemplateDownloader(null, url, System.getProperty("java.io.tmpdir"), TemplateDownloader.DEFAULT_MAX_TEMPLATE_SIZE_IN_BYTES, null);
long bytes = td.download(true, null);
if (!(bytes > 0)) {
fail("Failed download");
diff --git a/debian/cloudstack-agent.install b/debian/cloudstack-agent.install
index 94dd30d..82fce9f 100644
--- a/debian/cloudstack-agent.install
+++ b/debian/cloudstack-agent.install
@@ -19,6 +19,7 @@
/etc/cloudstack/agent/environment.properties
/etc/cloudstack/agent/log4j-cloud.xml
/etc/profile.d/cloudstack-agent-profile.sh
+/etc/logrotate.d/cloudstack-agent
/etc/init.d/cloudstack-agent
/usr/bin/cloudstack-setup-agent
/usr/bin/cloudstack-ssh
diff --git a/debian/rules b/debian/rules
index 4a95c6d..c614432 100755
--- a/debian/rules
+++ b/debian/rules
@@ -45,6 +45,7 @@
install -D agent/target/transformed/cloud-setup-agent $(DESTDIR)/usr/bin/cloudstack-setup-agent
install -D agent/target/transformed/cloud-ssh $(DESTDIR)/usr/bin/cloudstack-ssh
install -D agent/target/transformed/cloudstack-agent-profile.sh $(DESTDIR)/$(SYSCONFDIR)/profile.d/cloudstack-agent-profile.sh
+ install -D agent/target/transformed/cloudstack-agent.logrotate $(DESTDIR)/$(SYSCONFDIR)/logrotate.d/cloudstack-agent
install -D agent/target/transformed/cloudstack-agent-upgrade $(DESTDIR)/usr/bin/cloudstack-agent-upgrade
install -D agent/target/transformed/libvirtqemuhook $(DESTDIR)/usr/share/$(PACKAGE)-agent/lib/
install -D agent/target/transformed/* $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/agent
diff --git a/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java b/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
index 9dea90a..f972539 100644
--- a/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
+++ b/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
@@ -1748,6 +1748,10 @@
final HostVO srcHost = _hostDao.findById(srchostId);
final Long srcClusterId = srcHost.getClusterId();
+ if (destPool == null) {
+ throw new CloudRuntimeException("Unable to migrate vm: missing destination storage pool");
+ }
+
try {
stateTransitTo(vm, VirtualMachine.Event.StorageMigrationRequested, null);
} catch (final NoTransitionException e) {
@@ -1763,7 +1767,7 @@
if (migrationResult) {
//if the vm is migrated to different pod in basic mode, need to reallocate ip
- if (!vm.getPodIdToDeployIn().equals(destPool.getPodId())) {
+ if (destPool.getPodId() != null && !destPool.getPodId().equals(vm.getPodIdToDeployIn())) {
final DataCenterDeployment plan = new DataCenterDeployment(vm.getDataCenterId(), destPool.getPodId(), null, null, null, null);
final VirtualMachineProfileImpl vmProfile = new VirtualMachineProfileImpl(vm, null, null, null, null);
_networkMgr.reallocate(vmProfile, plan);
diff --git a/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java b/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java
index 2a87bf5..e60e346 100644
--- a/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java
+++ b/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java
@@ -744,7 +744,7 @@
Pair<NicProfile, Integer> vmNicPair = allocateNic(requested, config, isDefaultNic, deviceId, vm);
NicProfile vmNic = null;
- if(vmNicPair != null) {
+ if (vmNicPair != null) {
vmNic = vmNicPair.first();
if (vmNic == null) {
continue;
@@ -1244,12 +1244,16 @@
return false;
}
}
- sp.addDhcpEntry(network, profile, vmProfile, dest, context);
+ if(!sp.addDhcpEntry(network, profile, vmProfile, dest, context)) {
+ return false;
+ }
}
if (_networkModel.areServicesSupportedInNetwork(network.getId(), Service.UserData)
&& _networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.UserData, element.getProvider()) && element instanceof UserDataServiceProvider) {
UserDataServiceProvider sp = (UserDataServiceProvider)element;
- sp.addPasswordAndUserdata(network, profile, vmProfile, dest, context);
+ if(!sp.addPasswordAndUserdata(network, profile, vmProfile, dest, context)){
+ return false;
+ }
}
}
return true;
diff --git a/engine/schema/src/com/cloud/capacity/dao/CapacityDaoImpl.java b/engine/schema/src/com/cloud/capacity/dao/CapacityDaoImpl.java
index 2bd6bcc..cdb69ce 100644
--- a/engine/schema/src/com/cloud/capacity/dao/CapacityDaoImpl.java
+++ b/engine/schema/src/com/cloud/capacity/dao/CapacityDaoImpl.java
@@ -98,9 +98,9 @@
private static final String ORDER_PODS_BY_AGGREGATE_OVERCOMMIT_CAPACITY =
"SELECT capacity.pod_id, SUM(used_capacity+reserved_capacity)/SUM(total_capacity * cluster_details.value) FROM `cloud`.`op_host_capacity` capacity INNER JOIN `cloud`.`cluster_details` cluster_details ON (capacity.cluster_id = cluster_details.cluster_id) WHERE data_center_id=? AND capacity_type = ? AND cluster_details.name = ? GROUP BY capacity.pod_id ORDER BY SUM(used_capacity+reserved_capacity)/SUM(total_capacity * cluster_details.value) ASC";
- private static final String ORDER_HOSTS_BY_FREE_CAPACITY = "SELECT host_id, SUM(total_capacity - (used_capacity+reserved_capacity))/SUM(total_capacity) FROM `cloud`.`op_host_capacity` WHERE "
- + " cluster_id = ? AND capacity_type = ? GROUP BY host_id ORDER BY SUM(total_capacity - (used_capacity+reserved_capacity))/SUM(total_capacity) DESC ";
-
+ private static final String ORDER_HOSTS_BY_FREE_CAPACITY_PART1 = "SELECT host_id, SUM(total_capacity - (used_capacity+reserved_capacity))/SUM(total_capacity) FROM `cloud`.`op_host_capacity` WHERE "
+ + "capacity_type = ? ";
+ private static final String ORDER_HOSTS_BY_FREE_CAPACITY_PART2 = " GROUP BY host_id ORDER BY SUM(total_capacity - (used_capacity+reserved_capacity))/SUM(total_capacity) DESC ";
private static final String LIST_CAPACITY_BY_RESOURCE_STATE =
"SELECT capacity.data_center_id, sum(capacity.used_capacity), sum(capacity.reserved_quantity), sum(capacity.total_capacity), capacity_capacity_type "
+ "FROM `cloud`.`op_host_capacity` capacity INNER JOIN `cloud`.`data_center` dc ON (dc.id = capacity.data_center_id AND dc.removed is NULL)"
@@ -864,12 +864,18 @@
TransactionLegacy txn = TransactionLegacy.currentTxn();
PreparedStatement pstmt = null;
List<Long> result = new ArrayList<Long>();
- StringBuilder sql = new StringBuilder(ORDER_HOSTS_BY_FREE_CAPACITY);
-
+ StringBuilder sql = new StringBuilder(ORDER_HOSTS_BY_FREE_CAPACITY_PART1);
+ if(clusterId != null) {
+ sql.append("AND cluster_id = ?");
+ }
+ sql.append(ORDER_HOSTS_BY_FREE_CAPACITY_PART2);
try {
pstmt = txn.prepareAutoCloseStatement(sql.toString());
- pstmt.setLong(1, clusterId);
- pstmt.setShort(2, capacityTypeForOrdering);
+ pstmt.setShort(1, capacityTypeForOrdering);
+ if(clusterId != null) {
+ pstmt.setLong(2, clusterId);
+ }
+
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
result.add(rs.getLong(1));
diff --git a/engine/schema/src/com/cloud/network/dao/NetworkVO.java b/engine/schema/src/com/cloud/network/dao/NetworkVO.java
index 34d5aa7..65929d5 100644
--- a/engine/schema/src/com/cloud/network/dao/NetworkVO.java
+++ b/engine/schema/src/com/cloud/network/dao/NetworkVO.java
@@ -619,4 +619,9 @@
public void setVpcId(Long vpcId) {
this.vpcId = vpcId;
}
+
+ public void setIsReduntant(boolean reduntant) {
+ this.isRedundant = reduntant;
+ }
+
}
diff --git a/framework/db/src/com/cloud/utils/db/Filter.java b/framework/db/src/com/cloud/utils/db/Filter.java
index fdcad9c..59dc8c1 100644
--- a/framework/db/src/com/cloud/utils/db/Filter.java
+++ b/framework/db/src/com/cloud/utils/db/Filter.java
@@ -89,7 +89,7 @@
if (_orderBy == null) {
_orderBy = order.insert(0, " ORDER BY ").toString();
} else {
- _orderBy = order.insert(0, _orderBy).toString();
+ _orderBy = order.insert(0, _orderBy + ", ").toString();
}
}
diff --git a/framework/db/src/com/cloud/utils/db/GenericDao.java b/framework/db/src/com/cloud/utils/db/GenericDao.java
index cb401cd..121d65d 100644
--- a/framework/db/src/com/cloud/utils/db/GenericDao.java
+++ b/framework/db/src/com/cloud/utils/db/GenericDao.java
@@ -268,5 +268,12 @@
*/
Pair<List<T>, Integer> searchAndCount(SearchCriteria<T> sc, Filter filter);
+ /**
+ * @param sc
+ * @param filter
+ * @return
+ */
+ Pair<List<T>, Integer> searchAndDistinctCount(final SearchCriteria<T> sc, final Filter filter);
+
Map<String, Attribute> getAllAttributes();
}
diff --git a/framework/db/src/com/cloud/utils/db/GenericDaoBase.java b/framework/db/src/com/cloud/utils/db/GenericDaoBase.java
index e75646a7..29adbe2 100644
--- a/framework/db/src/com/cloud/utils/db/GenericDaoBase.java
+++ b/framework/db/src/com/cloud/utils/db/GenericDaoBase.java
@@ -135,6 +135,7 @@
protected Map<String, Object> _discriminatorValues;
protected String _selectByIdSql;
protected String _count;
+ protected String _distinctIdSql;
protected Field _idField;
@@ -212,6 +213,7 @@
final SqlGenerator generator = new SqlGenerator(_entityBeanType);
_partialSelectSql = generator.buildSelectSql(false);
_count = generator.buildCountSql();
+ _distinctIdSql= generator.buildDistinctIdSql();
_partialQueryCacheSelectSql = generator.buildSelectSql(true);
_embeddedFields = generator.getEmbeddedFields();
_insertSqls = generator.buildInsertSqls();
@@ -1300,6 +1302,14 @@
@Override
@DB()
+ public Pair<List<T>, Integer> searchAndDistinctCount(final SearchCriteria<T> sc, final Filter filter) {
+ List<T> objects = search(sc, filter, null, false);
+ Integer count = getDistinctCount(sc);
+ return new Pair<List<T>, Integer>(objects, count);
+ }
+
+ @Override
+ @DB()
public List<T> search(final SearchCriteria<T> sc, final Filter filter, final boolean enableQueryCache) {
return search(sc, filter, null, false, enableQueryCache);
}
@@ -1841,6 +1851,64 @@
return builder.create();
}
+ public Integer getDistinctCount(SearchCriteria<T> sc) {
+ String clause = sc != null ? sc.getWhereClause() : null;
+ if (clause != null && clause.length() == 0) {
+ clause = null;
+ }
+
+ final StringBuilder str = createDistinctIdSelect(sc, clause != null);
+ if (clause != null) {
+ str.append(clause);
+ }
+
+ Collection<JoinBuilder<SearchCriteria<?>>> joins = null;
+ if (sc != null) {
+ joins = sc.getJoins();
+ if (joins != null) {
+ addJoins(str, joins);
+ }
+ }
+
+ // we have to disable group by in getting count, since count for groupBy clause will be different.
+ //List<Object> groupByValues = addGroupBy(str, sc);
+ final TransactionLegacy txn = TransactionLegacy.currentTxn();
+ final String sql = "SELECT COUNT(*) FROM (" + str.toString() + ") AS tmp";
+
+ PreparedStatement pstmt = null;
+ try {
+ pstmt = txn.prepareAutoCloseStatement(sql);
+ int i = 1;
+ if (clause != null) {
+ for (final Pair<Attribute, Object> value : sc.getValues()) {
+ prepareAttribute(i++, pstmt, value.first(), value.second());
+ }
+ }
+
+ if (joins != null) {
+ i = addJoinAttributes(i, pstmt, joins);
+ }
+
+ /*
+ if (groupByValues != null) {
+ for (Object value : groupByValues) {
+ pstmt.setObject(i++, value);
+ }
+ }
+ */
+
+ final ResultSet rs = pstmt.executeQuery();
+ while (rs.next()) {
+ return rs.getInt(1);
+ }
+ return 0;
+ } catch (final SQLException e) {
+ throw new CloudRuntimeException("DB Exception on: " + pstmt, e);
+ } catch (final Throwable e) {
+ throw new CloudRuntimeException("Caught: " + pstmt, e);
+ }
+ }
+
public Integer getCount(SearchCriteria<T> sc) {
String clause = sc != null ? sc.getWhereClause() : null;
if (clause != null && clause.length() == 0) {
@@ -1911,6 +1979,17 @@
}
@DB()
+ protected StringBuilder createDistinctIdSelect(SearchCriteria<?> sc, final boolean whereClause) {
+ StringBuilder sql = new StringBuilder(_distinctIdSql);
+
+ if (!whereClause) {
+ sql.delete(sql.length() - (_discriminatorClause == null ? 6 : 4), sql.length());
+ }
+
+ return sql;
+ }
+
+ @DB()
protected Pair<List<T>, Integer> listAndCountIncludingRemovedBy(final SearchCriteria<T> sc, final Filter filter) {
List<T> objects = searchIncludingRemoved(sc, filter, null, false);
Integer count = getCount(sc);
diff --git a/framework/db/src/com/cloud/utils/db/SqlGenerator.java b/framework/db/src/com/cloud/utils/db/SqlGenerator.java
index befe34b..864ee73 100644
--- a/framework/db/src/com/cloud/utils/db/SqlGenerator.java
+++ b/framework/db/src/com/cloud/utils/db/SqlGenerator.java
@@ -663,4 +663,10 @@
return sql.append("SELECT COUNT(*) FROM ").append(buildTableReferences()).append(" WHERE ").append(buildDiscriminatorClause().first()).toString();
}
+
+ public String buildDistinctIdSql() {
+ StringBuilder sql = new StringBuilder();
+
+ return sql.append("SELECT DISTINCT id FROM ").append(buildTableReferences()).append(" WHERE ").append(buildDiscriminatorClause().first()).toString();
+ }
}
diff --git a/framework/db/test/com/cloud/utils/db/FilterTest.java b/framework/db/test/com/cloud/utils/db/FilterTest.java
new file mode 100644
index 0000000..079611a
--- /dev/null
+++ b/framework/db/test/com/cloud/utils/db/FilterTest.java
@@ -0,0 +1,44 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+package com.cloud.utils.db;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class FilterTest {
+
+ @Test
+ /*
+ * This test verifies that the Order By clause generated by the filter is correct and it separates each
+ * order by field with a comma. Using DbTestVO to assert it
+ */
+ public void testAddOrderBy() {
+ Filter filter = new Filter(DbTestVO.class, "fieldString", true, 1L, 1L);
+
+ Assert.assertTrue(filter.getOrderBy().trim().toLowerCase().equals("order by test.fld_string asc"));
+
+ filter.addOrderBy(DbTestVO.class, "fieldLong", true);
+
+ Assert.assertTrue(filter.getOrderBy().contains(","));
+ Assert.assertTrue(filter.getOrderBy().split(",")[1].trim().toLowerCase().equals("test.fld_long asc"));
+
+ filter.addOrderBy(DbTestVO.class, "fieldInt", true);
+
+ Assert.assertTrue(filter.getOrderBy().split(",").length == 3);
+ Assert.assertTrue(filter.getOrderBy().split(",")[2].trim().toLowerCase().equals("test.fld_int asc"));
+ }
+}
diff --git a/framework/jobs/src/org/apache/cloudstack/framework/jobs/impl/AsyncJobMBeanImpl.java b/framework/jobs/src/org/apache/cloudstack/framework/jobs/impl/AsyncJobMBeanImpl.java
index 4a55d1b..c881265 100644
--- a/framework/jobs/src/org/apache/cloudstack/framework/jobs/impl/AsyncJobMBeanImpl.java
+++ b/framework/jobs/src/org/apache/cloudstack/framework/jobs/impl/AsyncJobMBeanImpl.java
@@ -62,16 +62,16 @@
return "Completed";
case IN_PROGRESS:
- return "In preogress";
+ return "In progress";
case FAILED:
- return "failed";
+ return "Failed";
case CANCELLED:
- return "cancelled";
+ return "Cancelled";
}
- return "Unknow";
+ return "Unknown";
}
@Override
diff --git a/packaging/centos63/cloud.spec b/packaging/centos63/cloud.spec
index 401eb50..b000bd1 100644
--- a/packaging/centos63/cloud.spec
+++ b/packaging/centos63/cloud.spec
@@ -326,6 +326,7 @@
install -D agent/target/transformed/libvirtqemuhook ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib/libvirtqemuhook
install -D agent/target/transformed/cloud-ssh ${RPM_BUILD_ROOT}%{_bindir}/%{name}-ssh
install -D agent/target/transformed/cloudstack-agent-profile.sh ${RPM_BUILD_ROOT}%{_sysconfdir}/profile.d/%{name}-agent-profile.sh
+install -D agent/target/transformed/cloudstack-agent.logrotate ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}-agent
install -D plugins/hypervisors/kvm/target/cloud-plugin-hypervisor-kvm-%{_maventag}.jar ${RPM_BUILD_ROOT}%{_datadir}/%name-agent/lib/cloud-plugin-hypervisor-kvm-%{_maventag}.jar
cp plugins/hypervisors/kvm/target/dependencies/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib
@@ -586,6 +587,7 @@
%attr(0755,root,root) %{_bindir}/%{name}-ssh
%attr(0755,root,root) %{_sysconfdir}/init.d/%{name}-agent
%attr(0644,root,root) %{_sysconfdir}/profile.d/%{name}-agent-profile.sh
+%attr(0644,root,root) %{_sysconfdir}/logrotate.d/%{name}-agent
%attr(0755,root,root) %{_datadir}/%{name}-common/scripts/network/cisco
%config(noreplace) %{_sysconfdir}/%{name}/agent
%dir %{_localstatedir}/log/%{name}/agent
diff --git a/packaging/centos7/cloud-management.service b/packaging/centos7/cloud-management.service
index 697ad11..19989ec 100644
--- a/packaging/centos7/cloud-management.service
+++ b/packaging/centos7/cloud-management.service
@@ -24,13 +24,15 @@
After=syslog.target network.target
[Service]
-Type=forking
-ExecStart=/usr/sbin/tomcat-sysd start
-ExecStop=/usr/sbin/tomcat-sysd stop
+Type=simple
+EnvironmentFile=/etc/tomcat/tomcat.conf
+Environment="NAME=cloudstack-management"
+EnvironmentFile=-/etc/sysconfig/cloudstack-management
+ExecStart=/usr/libexec/tomcat/server start
+ExecStop=/usr/libexec/tomcat/server stop
SuccessExitStatus=143
User=cloud
Group=cloud
-EnvironmentFile=/etc/sysconfig/cloudstack-management
[Install]
WantedBy=multi-user.target
diff --git a/packaging/centos7/cloud-management.sysconfig b/packaging/centos7/cloud-management.sysconfig
index 961072a..c262b11 100644
--- a/packaging/centos7/cloud-management.sysconfig
+++ b/packaging/centos7/cloud-management.sysconfig
@@ -27,10 +27,11 @@
JASPER_HOME="/usr/share/cloudstack-management"
CATALINA_TMPDIR="/usr/share/cloudstack-management/temp"
-JAVA_OPTS="-Djava.awt.headless=true -Dcom.sun.management.jmxremote=false -Xmx2g -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/cloudstack/management/ -XX:PermSize=512M -XX:MaxPermSize=800m"
if [ -r "/etc/cloudstack/management/cloudmanagementserver.keystore" ] ; then
- JAVA_OPTS="$JAVA_OPTS -Djavax.net.ssl.trustStore=/etc/cloudstack/management/cloudmanagementserver.keystore -Djavax.net.ssl.trustStorePassword=vmops.com "
+ JAVA_OPTS="-Djava.awt.headless=true -Dcom.sun.management.jmxremote=false -Xmx2g -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/cloudstack/management/ -XX:PermSize=512M -XX:MaxPermSize=800m -Djavax.net.ssl.trustStore=/etc/cloudstack/management/cloudmanagementserver.keystore -Djavax.net.ssl.trustStorePassword=vmops.com "
+else
+ JAVA_OPTS="-Djava.awt.headless=true -Dcom.sun.management.jmxremote=false -Xmx2g -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/cloudstack/management/ -XX:PermSize=512M -XX:MaxPermSize=800m"
fi
TOMCAT_USER="cloud"
diff --git a/packaging/centos7/cloud.spec b/packaging/centos7/cloud.spec
index 5a73576..5f9f113 100644
--- a/packaging/centos7/cloud.spec
+++ b/packaging/centos7/cloud.spec
@@ -254,6 +254,7 @@
do
cp packaging/centos7/tomcat7/$name \
${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/$name
+ rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/$name
done
#ln -s %{_sysconfdir}/%{name}/management/log4j-cloud.xml \
@@ -297,6 +298,7 @@
install -D agent/target/transformed/libvirtqemuhook ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib/libvirtqemuhook
install -D agent/target/transformed/cloud-ssh ${RPM_BUILD_ROOT}%{_bindir}/%{name}-ssh
install -D agent/target/transformed/cloudstack-agent-profile.sh ${RPM_BUILD_ROOT}%{_sysconfdir}/profile.d/%{name}-agent-profile.sh
+install -D agent/target/transformed/cloudstack-agent.logrotate ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}-agent
install -D plugins/hypervisors/kvm/target/cloud-plugin-hypervisor-kvm-%{_maventag}.jar ${RPM_BUILD_ROOT}%{_datadir}/%name-agent/lib/cloud-plugin-hypervisor-kvm-%{_maventag}.jar
cp plugins/hypervisors/kvm/target/dependencies/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib
@@ -478,6 +480,7 @@
%attr(0755,root,root) %{_bindir}/%{name}-ssh
%attr(0644,root,root) %{_unitdir}/%{name}-agent.service
%attr(0644,root,root) %{_sysconfdir}/profile.d/%{name}-agent-profile.sh
+%attr(0644,root,root) %{_sysconfdir}/logrotate.d/%{name}-agent
%attr(0755,root,root) %{_datadir}/%{name}-common/scripts/network/cisco
%config(noreplace) %{_sysconfdir}/%{name}/agent
%dir %{_localstatedir}/log/%{name}/agent
diff --git a/packaging/fedora20/cloud.spec b/packaging/fedora20/cloud.spec
index 7dcc610..93cf186 100644
--- a/packaging/fedora20/cloud.spec
+++ b/packaging/fedora20/cloud.spec
@@ -325,6 +325,7 @@
install -D agent/target/transformed/libvirtqemuhook ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib/libvirtqemuhook
install -D agent/target/transformed/cloud-ssh ${RPM_BUILD_ROOT}%{_bindir}/%{name}-ssh
install -D agent/target/transformed/cloudstack-agent-profile.sh ${RPM_BUILD_ROOT}%{_sysconfdir}/profile.d/%{name}-agent-profile.sh
+install -D agent/target/transformed/cloudstack-agent.logrotate ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}-agent
install -D plugins/hypervisors/kvm/target/cloud-plugin-hypervisor-kvm-%{_maventag}.jar ${RPM_BUILD_ROOT}%{_datadir}/%name-agent/lib/cloud-plugin-hypervisor-kvm-%{_maventag}.jar
cp plugins/hypervisors/kvm/target/dependencies/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib
@@ -584,6 +585,7 @@
%attr(0755,root,root) %{_bindir}/%{name}-ssh
%attr(0755,root,root) %{_sysconfdir}/init.d/%{name}-agent
%attr(0644,root,root) %{_sysconfdir}/profile.d/%{name}-agent-profile.sh
+%attr(0644,root,root) %{_sysconfdir}/logrotate.d/%{name}-agent
%attr(0755,root,root) %{_datadir}/%{name}-common/scripts/network/cisco
%config(noreplace) %{_sysconfdir}/%{name}/agent
%dir %{_localstatedir}/log/%{name}/agent
diff --git a/packaging/fedora21/cloud.spec b/packaging/fedora21/cloud.spec
index 683a14a..e089b12 100644
--- a/packaging/fedora21/cloud.spec
+++ b/packaging/fedora21/cloud.spec
@@ -325,6 +325,7 @@
install -D agent/target/transformed/libvirtqemuhook ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib/libvirtqemuhook
install -D agent/target/transformed/cloud-ssh ${RPM_BUILD_ROOT}%{_bindir}/%{name}-ssh
install -D agent/target/transformed/cloudstack-agent-profile.sh ${RPM_BUILD_ROOT}%{_sysconfdir}/profile.d/%{name}-agent-profile.sh
+install -D agent/target/transformed/cloudstack-agent.logrotate ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}-agent
install -D plugins/hypervisors/kvm/target/cloud-plugin-hypervisor-kvm-%{_maventag}.jar ${RPM_BUILD_ROOT}%{_datadir}/%name-agent/lib/cloud-plugin-hypervisor-kvm-%{_maventag}.jar
cp plugins/hypervisors/kvm/target/dependencies/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib
@@ -584,6 +585,7 @@
%attr(0755,root,root) %{_bindir}/%{name}-ssh
%attr(0755,root,root) %{_sysconfdir}/init.d/%{name}-agent
%attr(0644,root,root) %{_sysconfdir}/profile.d/%{name}-agent-profile.sh
+%attr(0644,root,root) %{_sysconfdir}/logrotate.d/%{name}-agent
%attr(0755,root,root) %{_datadir}/%{name}-common/scripts/network/cisco
%config(noreplace) %{_sysconfdir}/%{name}/agent
%dir %{_localstatedir}/log/%{name}/agent
diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtCopyVolumeCommandWrapper.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtCopyVolumeCommandWrapper.java
index e6df525..b2248b9 100644
--- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtCopyVolumeCommandWrapper.java
+++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtCopyVolumeCommandWrapper.java
@@ -66,7 +66,7 @@
}
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = libvirtComputingResource.getLibvirtUtilitiesHelper();
- final String volumeName = libvirtUtilitiesHelper.generatereUUIDName();
+ final String volumeName = libvirtUtilitiesHelper.generateUUIDName();
if (copyToSecondary) {
final String destVolumeName = volumeName + ".qcow2";
diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtCreatePrivateTemplateFromSnapshotCommandWrapper.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtCreatePrivateTemplateFromSnapshotCommandWrapper.java
index 440a252..735206f 100644
--- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtCreatePrivateTemplateFromSnapshotCommandWrapper.java
+++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtCreatePrivateTemplateFromSnapshotCommandWrapper.java
@@ -54,7 +54,7 @@
final String templateFolder = command.getAccountId() + File.separator + command.getNewTemplateId();
final String templateInstallFolder = "template/tmpl/" + templateFolder;
- final String tmplName = libvirtUtilitiesHelper.generatereUUIDName();
+ final String tmplName = libvirtUtilitiesHelper.generateUUIDName();
final String tmplFileName = tmplName + ".qcow2";
KVMStoragePool secondaryPool = null;
diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtUtilitiesHelper.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtUtilitiesHelper.java
index 1a1a6d3..7a93e1f 100644
--- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtUtilitiesHelper.java
+++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtUtilitiesHelper.java
@@ -64,7 +64,7 @@
return qcow2Processor;
}
- public String generatereUUIDName() {
+ public String generateUUIDName() {
return UUID.randomUUID().toString();
}
diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStoragePool.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStoragePool.java
index 49a8301..66018dd 100644
--- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStoragePool.java
+++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStoragePool.java
@@ -32,7 +32,6 @@
public class LibvirtStoragePool implements KVMStoragePool {
private static final Logger s_logger = Logger.getLogger(LibvirtStoragePool.class);
protected String uuid;
- protected String uri;
protected long capacity;
protected long used;
protected long available;
@@ -100,10 +99,6 @@
return this.uuid;
}
- public String uri() {
- return this.uri;
- }
-
@Override
public PhysicalDiskFormat getDefaultFormat() {
if (getStoragePoolType() == StoragePoolType.CLVM || getStoragePoolType() == StoragePoolType.RBD) {
diff --git a/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/resource/LibvirtComputingResourceTest.java b/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/resource/LibvirtComputingResourceTest.java
index 98a074a..b15e148 100644
--- a/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/resource/LibvirtComputingResourceTest.java
+++ b/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/resource/LibvirtComputingResourceTest.java
@@ -3743,7 +3743,7 @@
when(libvirtComputingResource.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
when(libvirtUtilitiesHelper.buildTemplateLocation(storage, tmplPath)).thenReturn(location);
- when(libvirtUtilitiesHelper.generatereUUIDName()).thenReturn(tmplName);
+ when(libvirtUtilitiesHelper.generateUUIDName()).thenReturn(tmplName);
try {
when(libvirtUtilitiesHelper.buildQCOW2Processor(storage)).thenReturn(qcow2Processor);
@@ -3817,7 +3817,7 @@
when(libvirtComputingResource.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
when(libvirtUtilitiesHelper.buildTemplateLocation(storage, tmplPath)).thenReturn(location);
- when(libvirtUtilitiesHelper.generatereUUIDName()).thenReturn(tmplName);
+ when(libvirtUtilitiesHelper.generateUUIDName()).thenReturn(tmplName);
try {
when(libvirtUtilitiesHelper.buildQCOW2Processor(storage)).thenThrow(ConfigurationException.class);
@@ -3890,7 +3890,7 @@
when(libvirtComputingResource.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
when(libvirtUtilitiesHelper.buildTemplateLocation(storage, tmplPath)).thenReturn(location);
- when(libvirtUtilitiesHelper.generatereUUIDName()).thenReturn(tmplName);
+ when(libvirtUtilitiesHelper.generateUUIDName()).thenReturn(tmplName);
try {
when(libvirtUtilitiesHelper.buildQCOW2Processor(storage)).thenReturn(qcow2Processor);
@@ -3964,7 +3964,7 @@
when(libvirtComputingResource.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
when(libvirtUtilitiesHelper.buildTemplateLocation(storage, tmplPath)).thenReturn(location);
- when(libvirtUtilitiesHelper.generatereUUIDName()).thenReturn(tmplName);
+ when(libvirtUtilitiesHelper.generateUUIDName()).thenReturn(tmplName);
try {
when(libvirtUtilitiesHelper.buildQCOW2Processor(storage)).thenReturn(qcow2Processor);
@@ -4022,7 +4022,7 @@
snapshotPath = snapshotPath.substring(0, index);
when(libvirtComputingResource.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
- when(libvirtUtilitiesHelper.generatereUUIDName()).thenReturn(tmplName);
+ when(libvirtUtilitiesHelper.generateUUIDName()).thenReturn(tmplName);
when(storagePoolMgr.getStoragePoolByURI(command.getSecondaryStorageUrl() + snapshotPath)).thenReturn(snapshotPool);
when(storagePoolMgr.getStoragePoolByURI(command.getSecondaryStorageUrl())).thenReturn(secondaryPool);
@@ -4067,7 +4067,7 @@
when(storagePoolMgr.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(primary);
when(libvirtComputingResource.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
- when(libvirtUtilitiesHelper.generatereUUIDName()).thenReturn(destVolumeName);
+ when(libvirtUtilitiesHelper.generateUUIDName()).thenReturn(destVolumeName);
when(primary.getPhysicalDisk(command.getVolumePath())).thenReturn(disk);
when(storagePoolMgr.getStoragePoolByURI(secondaryStoragePoolURL)).thenReturn(secondary);
when(secondary.getType()).thenReturn(StoragePoolType.ManagedNFS);
@@ -4113,7 +4113,7 @@
when(libvirtComputingResource.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(primary);
when(libvirtComputingResource.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
- when(libvirtUtilitiesHelper.generatereUUIDName()).thenReturn(destVolumeName);
+ when(libvirtUtilitiesHelper.generateUUIDName()).thenReturn(destVolumeName);
when(secondary.getType()).thenReturn(StoragePoolType.ManagedNFS);
when(secondary.getUuid()).thenReturn("60d979d8-d132-4181-8eca-8dfde50d7df6");
when(storagePoolMgr.getStoragePoolByURI(secondaryStoragePoolURL + volumeDestPath)).thenReturn(secondary);
@@ -4156,7 +4156,7 @@
when(libvirtComputingResource.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(primary);
when(libvirtComputingResource.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
- when(libvirtUtilitiesHelper.generatereUUIDName()).thenReturn(destVolumeName);
+ when(libvirtUtilitiesHelper.generateUUIDName()).thenReturn(destVolumeName);
when(secondary.getType()).thenReturn(StoragePoolType.ManagedNFS);
when(secondary.getUuid()).thenReturn("60d979d8-d132-4181-8eca-8dfde50d7df6");
when(storagePoolMgr.getStoragePoolByURI(secondaryStoragePoolURL + volumeDestPath)).thenReturn(secondary);
@@ -4230,7 +4230,7 @@
pool.getUserInfo(), pool.getType())).thenReturn(primary);
when(libvirtComputingResource.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
- when(libvirtUtilitiesHelper.generatereUUIDName()).thenReturn(destVolumeName);
+ when(libvirtUtilitiesHelper.generateUUIDName()).thenReturn(destVolumeName);
when(secondary.getType()).thenReturn(StoragePoolType.ManagedNFS);
when(secondary.getUuid()).thenReturn("60d979d8-d132-4181-8eca-8dfde50d7df6");
when(storagePoolMgr.getStoragePoolByURI(secondaryStoragePoolURL + volumeDestPath)).thenReturn(secondary);
diff --git a/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtUtilitiesHelperTest.java b/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtUtilitiesHelperTest.java
new file mode 100644
index 0000000..bb7a3f5
--- /dev/null
+++ b/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtUtilitiesHelperTest.java
@@ -0,0 +1,56 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+package com.cloud.hypervisor.kvm.resource.wrapper;
+
+import java.util.UUID;
+
+import com.cloud.utils.script.Script;
+
+import junit.framework.TestCase;
+
+public class LibvirtUtilitiesHelperTest extends TestCase {
+
+ public void testGenerateUUID() {
+ LibvirtUtilitiesHelper helper = new LibvirtUtilitiesHelper();
+ UUID uuid = UUID.fromString(helper.generateUUIDName());
+ assertEquals(4, uuid.version());
+ }
+
+ public void testSSHKeyPaths() {
+ LibvirtUtilitiesHelper helper = new LibvirtUtilitiesHelper();
+ /* These paths are hardcoded in LibvirtComputingResource and we should
+ * verify that they do not change.
+ * Hardcoded paths are not what we want in the longer run
+ */
+ assertEquals("/root/.ssh", helper.retrieveSshKeysPath());
+ assertEquals("/root/.ssh/id_rsa.pub.cloud", helper.retrieveSshPubKeyPath());
+ assertEquals("/root/.ssh/id_rsa.cloud", helper.retrieveSshPrvKeyPath());
+ }
+
+ public void testBashScriptPath() {
+ LibvirtUtilitiesHelper helper = new LibvirtUtilitiesHelper();
+ assertEquals("/bin/bash", helper.retrieveBashScriptPath());
+ }
+
+ public void testBuildScript() {
+ LibvirtUtilitiesHelper helper = new LibvirtUtilitiesHelper();
+ String path = "/path/to/my/script";
+ Script script = helper.buildScript(path);
+ assertEquals(path + " ", script.toString());
+ assertEquals(LibvirtUtilitiesHelper.TIMEOUT, script.getTimeout());
+ }
+}
diff --git a/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/storage/KVMPhysicalDiskTest.java b/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/storage/KVMPhysicalDiskTest.java
new file mode 100644
index 0000000..bd644c8
--- /dev/null
+++ b/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/storage/KVMPhysicalDiskTest.java
@@ -0,0 +1,52 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+package com.cloud.hypervisor.kvm.storage;
+
+import org.apache.cloudstack.utils.qemu.QemuImg.PhysicalDiskFormat;
+import org.mockito.Mockito;
+
+import junit.framework.TestCase;
+
+public class KVMPhysicalDiskTest extends TestCase {
+
+ public void testRBDStringBuilder() {
+ assertEquals(KVMPhysicalDisk.RBDStringBuilder("ceph-monitor", 8000, "admin", "supersecret", "volume1"),
+ "rbd:volume1:mon_host=ceph-monitor\\\\:8000:auth_supported=cephx:id=admin:key=supersecret:rbd_default_format=2:client_mount_timeout=30");
+ }
+
+ public void testAttributes() {
+ String name = "3bc186e0-6c29-45bf-b2b0-ddef6f91f5ef";
+ String path = "/" + name;
+
+ LibvirtStoragePool pool = Mockito.mock(LibvirtStoragePool.class);
+
+ KVMPhysicalDisk disk = new KVMPhysicalDisk(path, name, pool);
+ assertEquals(disk.getName(), name);
+ assertEquals(disk.getPath(), path);
+ assertEquals(disk.getPool(), pool);
+ assertEquals(disk.getSize(), 0);
+ assertEquals(disk.getVirtualSize(), 0);
+
+ disk.setSize(1024);
+ disk.setVirtualSize(2048);
+ assertEquals(disk.getSize(), 1024);
+ assertEquals(disk.getVirtualSize(), 2048);
+
+ disk.setFormat(PhysicalDiskFormat.RAW);
+ assertEquals(disk.getFormat(), PhysicalDiskFormat.RAW);
+ }
+}
\ No newline at end of file
diff --git a/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/storage/LibvirtStoragePoolTest.java b/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/storage/LibvirtStoragePoolTest.java
new file mode 100644
index 0000000..90f6f87
--- /dev/null
+++ b/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/storage/LibvirtStoragePoolTest.java
@@ -0,0 +1,91 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+package com.cloud.hypervisor.kvm.storage;
+
+import org.apache.cloudstack.utils.qemu.QemuImg.PhysicalDiskFormat;
+import org.libvirt.StoragePool;
+import org.mockito.Mockito;
+
+import com.cloud.storage.Storage.StoragePoolType;
+
+import junit.framework.TestCase;
+
+public class LibvirtStoragePoolTest extends TestCase {
+
+ public void testAttributes() {
+ String uuid = "4c4fb08b-373e-4f30-a120-3aa3a43f31da";
+ String name = "myfirstpool";
+
+ StoragePoolType type = StoragePoolType.NetworkFilesystem;
+
+ StorageAdaptor adapter = Mockito.mock(LibvirtStorageAdaptor.class);
+ StoragePool storage = Mockito.mock(StoragePool.class);
+
+ LibvirtStoragePool pool = new LibvirtStoragePool(uuid, name, type, adapter, storage);
+ assertEquals(pool.getCapacity(), 0);
+ assertEquals(pool.getUsed(), 0);
+ assertEquals(pool.getName(), name);
+ assertEquals(pool.getUuid(), uuid);
+ assertEquals(pool.getAvailable(), 0);
+ assertEquals(pool.getStoragePoolType(), type);
+
+ pool.setCapacity(2048);
+ pool.setUsed(1024);
+ pool.setAvailable(1023);
+
+ assertEquals(pool.getCapacity(), 2048);
+ assertEquals(pool.getUsed(), 1024);
+ assertEquals(pool.getAvailable(), 1023);
+ }
+
+ public void testDefaultFormats() {
+ String uuid = "f40cbf53-1f37-4c62-8912-801edf398f47";
+ String name = "myfirstpool";
+
+ StorageAdaptor adapter = Mockito.mock(LibvirtStorageAdaptor.class);
+ StoragePool storage = Mockito.mock(StoragePool.class);
+
+ LibvirtStoragePool nfsPool = new LibvirtStoragePool(uuid, name, StoragePoolType.NetworkFilesystem, adapter, storage);
+ assertEquals(nfsPool.getDefaultFormat(), PhysicalDiskFormat.QCOW2);
+ assertEquals(nfsPool.getStoragePoolType(), StoragePoolType.NetworkFilesystem);
+
+ LibvirtStoragePool rbdPool = new LibvirtStoragePool(uuid, name, StoragePoolType.RBD, adapter, storage);
+ assertEquals(rbdPool.getDefaultFormat(), PhysicalDiskFormat.RAW);
+ assertEquals(rbdPool.getStoragePoolType(), StoragePoolType.RBD);
+
+ LibvirtStoragePool clvmPool = new LibvirtStoragePool(uuid, name, StoragePoolType.CLVM, adapter, storage);
+ assertEquals(clvmPool.getDefaultFormat(), PhysicalDiskFormat.RAW);
+ assertEquals(clvmPool.getStoragePoolType(), StoragePoolType.CLVM);
+ }
+
+ public void testExternalSnapshot() {
+ String uuid = "60b46738-c5d0-40a9-a79e-9a4fe6295db7";
+ String name = "myfirstpool";
+
+ StorageAdaptor adapter = Mockito.mock(LibvirtStorageAdaptor.class);
+ StoragePool storage = Mockito.mock(StoragePool.class);
+
+ LibvirtStoragePool nfsPool = new LibvirtStoragePool(uuid, name, StoragePoolType.NetworkFilesystem, adapter, storage);
+ assertFalse(nfsPool.isExternalSnapshot());
+
+ LibvirtStoragePool rbdPool = new LibvirtStoragePool(uuid, name, StoragePoolType.RBD, adapter, storage);
+ assertTrue(rbdPool.isExternalSnapshot());
+
+ LibvirtStoragePool clvmPool = new LibvirtStoragePool(uuid, name, StoragePoolType.CLVM, adapter, storage);
+ assertTrue(clvmPool.isExternalSnapshot());
+ }
+}
\ No newline at end of file
diff --git a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/Ovm3HypervisorGuru.java b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/Ovm3HypervisorGuru.java
index 6ec7741..3711bbf 100755
--- a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/Ovm3HypervisorGuru.java
+++ b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/Ovm3HypervisorGuru.java
@@ -87,6 +87,15 @@
*/
public Pair<Boolean, Long> getCommandHostDelegation(long hostId, Command cmd) {
LOGGER.debug("getCommandHostDelegation: " + cmd.getClass());
+ performSideEffectsForDelegationOnCommand(hostId, cmd);
+ return new Pair<Boolean, Long>(Boolean.FALSE, Long.valueOf(hostId));
+ }
+
+ /**
+ * @param hostId
+ * @param cmd
+ */
+ void performSideEffectsForDelegationOnCommand(long hostId, Command cmd) {
if (cmd instanceof StorageSubSystemCommand) {
StorageSubSystemCommand c = (StorageSubSystemCommand)cmd;
c.setExecuteInSequence(true);
@@ -105,12 +114,8 @@
EndPoint ep = endPointSelector.selectHypervisorHost(new ZoneScope(host.getDataCenterId()));
host = hostDao.findById(ep.getId());
hostDao.loadDetails(host);
- // String snapshotHotFixVersion = host.getDetail(XenserverConfigs.XS620HotFix);
- // if (snapshotHotFixVersion != null && snapshotHotFixVersion.equalsIgnoreCase(XenserverConfigs.XSHotFix62ESP1004)) {
- return new Pair<Boolean, Long>(Boolean.TRUE, Long.valueOf(ep.getId()));
}
}
}
- return new Pair<Boolean, Long>(Boolean.FALSE, Long.valueOf(hostId));
}
}
diff --git a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/Ovm3StorageProcessor.java b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/Ovm3StorageProcessor.java
index 6a1ebb2..3c28f1f 100644
--- a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/Ovm3StorageProcessor.java
+++ b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/Ovm3StorageProcessor.java
@@ -114,6 +114,9 @@
} else if ((srcData.getObjectType() == DataObjectType.SNAPSHOT)
&& (destData.getObjectType() == DataObjectType.TEMPLATE)) {
return createTemplateFromSnapshot(cmd);
+ } else if ((srcData.getObjectType() == DataObjectType.SNAPSHOT)
+ && (destData.getObjectType() == DataObjectType.VOLUME)) {
+ return createVolumeFromSnapshot(cmd);
} else {
msg = "Unable to do stuff for " + srcStore.getClass() + ":"
+ srcData.getObjectType() + " to "
diff --git a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/XenServerGuru.java b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/XenServerGuru.java
index f8aabff..9567f31 100644
--- a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/XenServerGuru.java
+++ b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/XenServerGuru.java
@@ -58,9 +58,11 @@
import com.cloud.vm.VirtualMachine;
import com.cloud.vm.VirtualMachineProfile;
import com.cloud.vm.dao.UserVmDao;
+import org.apache.log4j.Logger;
@Local(value = HypervisorGuru.class)
public class XenServerGuru extends HypervisorGuruBase implements HypervisorGuru, Configurable {
+ private final Logger LOGGER = Logger.getLogger(XenServerGuru.class);
@Inject
GuestOSDao _guestOsDao;
@Inject
@@ -173,6 +175,7 @@
@Override
public Pair<Boolean, Long> getCommandHostDelegation(long hostId, Command cmd) {
+ LOGGER.debug("getCommandHostDelegation: " + cmd.getClass());
if (cmd instanceof StorageSubSystemCommand) {
StorageSubSystemCommand c = (StorageSubSystemCommand)cmd;
c.setExecuteInSequence(true);
diff --git a/plugins/storage/volume/solidfire/src/org/apache/cloudstack/storage/datastore/driver/SolidFirePrimaryDataStoreDriver.java b/plugins/storage/volume/solidfire/src/org/apache/cloudstack/storage/datastore/driver/SolidFirePrimaryDataStoreDriver.java
index e934426..61e199c 100644
--- a/plugins/storage/volume/solidfire/src/org/apache/cloudstack/storage/datastore/driver/SolidFirePrimaryDataStoreDriver.java
+++ b/plugins/storage/volume/solidfire/src/org/apache/cloudstack/storage/datastore/driver/SolidFirePrimaryDataStoreDriver.java
@@ -294,12 +294,20 @@
@Override
public long getUsedBytes(StoragePool storagePool) {
+ return getUsedBytes(storagePool, Long.MIN_VALUE);
+ }
+
+ private long getUsedBytes(StoragePool storagePool, long volumeIdToIgnore) {
long usedSpace = 0;
List<VolumeVO> lstVolumes = _volumeDao.findByPoolId(storagePool.getId(), null);
if (lstVolumes != null) {
for (VolumeVO volume : lstVolumes) {
+ if (volume.getId() == volumeIdToIgnore) {
+ continue;
+ }
+
VolumeDetailVO volumeDetail = _volumeDetailsDao.findDetail(volume.getId(), SolidFireUtil.VOLUME_SIZE);
if (volumeDetail != null && volumeDetail.getValue() != null) {
@@ -309,15 +317,21 @@
}
else {
SolidFireUtil.SolidFireConnection sfConnection = SolidFireUtil.getSolidFireConnection(storagePool.getId(), _storagePoolDetailsDao);
- long lVolumeId = Long.parseLong(volume.getFolder());
- SolidFireUtil.SolidFireVolume sfVolume = SolidFireUtil.getSolidFireVolume(sfConnection, lVolumeId);
+ try {
+ long lVolumeId = Long.parseLong(volume.getFolder());
- // SolidFireUtil.VOLUME_SIZE was introduced in 4.5.
- // To be backward compatible with releases prior to 4.5, call updateVolumeDetails here.
- // That way if SolidFireUtil.VOLUME_SIZE wasn't put in the volume_details table when the
- // volume was initially created, it can be placed in volume_details here.
- updateVolumeDetails(volume.getId(), sfVolume.getTotalSize());
+ SolidFireUtil.SolidFireVolume sfVolume = SolidFireUtil.getSolidFireVolume(sfConnection, lVolumeId);
+
+ // SolidFireUtil.VOLUME_SIZE was introduced in 4.5.
+ // To be backward compatible with releases prior to 4.5, call updateVolumeDetails here.
+ // That way if SolidFireUtil.VOLUME_SIZE wasn't put in the volume_details table when the
+ // volume was initially created, it can be placed in volume_details here.
+ updateVolumeDetails(volume.getId(), sfVolume.getTotalSize());
+ }
+ catch (NumberFormatException ex) {
+ // can be ignored (the "folder" column didn't have a valid "long" in it (hasn't been placed there yet))
+ }
}
}
}
@@ -519,8 +533,7 @@
StoragePoolVO storagePool = _storagePoolDao.findById(storagePoolId);
- // getUsedBytes(StoragePool) will not include the volume to delete because it has already been deleted by this point
- long usedBytes = getUsedBytes(storagePool);
+ long usedBytes = getUsedBytes(storagePool, volumeId);
storagePool.setUsedBytes(usedBytes < 0 ? 0 : usedBytes);
diff --git a/python/lib/cloudutils/serviceConfig.py b/python/lib/cloudutils/serviceConfig.py
index b1bdfbb..774195a 100755
--- a/python/lib/cloudutils/serviceConfig.py
+++ b/python/lib/cloudutils/serviceConfig.py
@@ -678,7 +678,8 @@
cfo.addEntry("guid", str(self.syscfg.env.uuid))
if cfo.getEntry("local.storage.uuid") == "":
cfo.addEntry("local.storage.uuid", str(bash("uuidgen").getStdout()))
- cfo.addEntry("resource", "com.cloud.hypervisor.kvm.resource.LibvirtComputingResource")
+ if cfo.getEntry("resource") == "":
+ cfo.addEntry("resource", "com.cloud.hypervisor.kvm.resource.LibvirtComputingResource")
cfo.save()
self.syscfg.svo.stopService("cloudstack-agent")
diff --git a/scripts/vm/hypervisor/xenserver/cloudlog b/scripts/vm/hypervisor/xenserver/cloudlog
index ea84312..ed7e690 100644
--- a/scripts/vm/hypervisor/xenserver/cloudlog
+++ b/scripts/vm/hypervisor/xenserver/cloudlog
@@ -29,7 +29,7 @@
rotate 20
}
-/var/log/cloud/ovstunnel.log /var/log/cloud/ovs-pvlan.log /var/log/cloud/swiftxenserver.log /var/log/cloud/s3xenserver /var/log/cloud/storageplugin {
+/var/log/cloud/ovstunnel.log /var/log/cloud/ovs-pvlan.log /var/log/cloud/swiftxenserver.log /var/log/cloud/s3xenserver.log /var/log/cloud/storageplugin {
daily
size 1M
rotate 2
diff --git a/scripts/vm/hypervisor/xenserver/s3xen b/scripts/vm/hypervisor/xenserver/s3xenserver
similarity index 99%
rename from scripts/vm/hypervisor/xenserver/s3xen
rename to scripts/vm/hypervisor/xenserver/s3xenserver
index ccd7ce5..d0cea6c 100644
--- a/scripts/vm/hypervisor/xenserver/s3xen
+++ b/scripts/vm/hypervisor/xenserver/s3xenserver
@@ -42,7 +42,7 @@
import cloudstack_pluginlib as lib
import logging
-lib.setup_logging("/var/log/cloud/s3xen.log")
+lib.setup_logging("/var/log/cloud/s3xenserver.log")
NULL = 'null'
diff --git a/scripts/vm/hypervisor/xenserver/swiftxen b/scripts/vm/hypervisor/xenserver/swiftxenserver
similarity index 97%
rename from scripts/vm/hypervisor/xenserver/swiftxen
rename to scripts/vm/hypervisor/xenserver/swiftxenserver
index f56d5ad..b0be24f 100644
--- a/scripts/vm/hypervisor/xenserver/swiftxen
+++ b/scripts/vm/hypervisor/xenserver/swiftxenserver
@@ -27,7 +27,7 @@
import cloudstack_pluginlib as lib
import logging
-lib.setup_logging("/var/log/cloud/swiftxen.log")
+lib.setup_logging("/var/log/cloud/swiftxenserver.log")
def echo(fn):
def wrapped(*v, **k):
diff --git a/scripts/vm/hypervisor/xenserver/xenserver56/patch b/scripts/vm/hypervisor/xenserver/xenserver56/patch
index 23da0f3..b6f7cdb 100644
--- a/scripts/vm/hypervisor/xenserver/xenserver56/patch
+++ b/scripts/vm/hypervisor/xenserver/xenserver56/patch
@@ -55,12 +55,12 @@
cloud-clean-vlan.sh=..,0755,/opt/cloud/bin
cloud-prepare-upgrade.sh=..,0755,/opt/cloud/bin
swift=..,0755,/opt/cloud/bin
-swiftxen=..,0755,/etc/xapi.d/plugins
-s3xen=..,0755,/etc/xapi.d/plugins
+swiftxenserver=..,0755,/etc/xapi.d/plugins
+s3xenserver=..,0755,/etc/xapi.d/plugins
add_to_vcpus_params_live.sh=..,0755,/opt/cloud/bin
###add cloudstack plugin script for XCP
cloudstack_plugins.conf=..,0644,/etc/xensource
cloudstack_pluginlib.py=..,0755,/etc/xapi.d/plugins
cloudlog=..,0644,/etc/logrotate.d
-update_host_passwd.sh=../..,0755,/opt/cloud/bin
\ No newline at end of file
+update_host_passwd.sh=../..,0755,/opt/cloud/bin
diff --git a/scripts/vm/hypervisor/xenserver/xenserver56fp1/patch b/scripts/vm/hypervisor/xenserver/xenserver56fp1/patch
index a67224f..4546796 100644
--- a/scripts/vm/hypervisor/xenserver/xenserver56fp1/patch
+++ b/scripts/vm/hypervisor/xenserver/xenserver56fp1/patch
@@ -54,12 +54,12 @@
cloud-clean-vlan.sh=..,0755,/opt/cloud/bin
cloud-prepare-upgrade.sh=..,0755,/opt/cloud/bin
swift=..,0755,/opt/cloud/bin
-swiftxen=..,0755,/etc/xapi.d/plugins
-s3xen=..,0755,/etc/xapi.d/plugins
+swiftxenserver=..,0755,/etc/xapi.d/plugins
+s3xenserver=..,0755,/etc/xapi.d/plugins
add_to_vcpus_params_live.sh=..,0755,/opt/cloud/bin
###add cloudstack plugin script for XCP
cloudstack_plugins.conf=..,0644,/etc/xensource
cloudstack_pluginlib.py=..,0755,/etc/xapi.d/plugins
cloudlog=..,0644,/etc/logrotate.d
-update_host_passwd.sh=../..,0755,/opt/cloud/bin
\ No newline at end of file
+update_host_passwd.sh=../..,0755,/opt/cloud/bin
diff --git a/scripts/vm/hypervisor/xenserver/xenserver60/patch b/scripts/vm/hypervisor/xenserver/xenserver60/patch
index cf2f03e..4b0973f 100644
--- a/scripts/vm/hypervisor/xenserver/xenserver60/patch
+++ b/scripts/vm/hypervisor/xenserver/xenserver60/patch
@@ -58,8 +58,8 @@
cloud-clean-vlan.sh=..,0755,/opt/cloud/bin
cloud-prepare-upgrade.sh=..,0755,/opt/cloud/bin
swift=..,0755,/opt/cloud/bin
-swiftxen=..,0755,/etc/xapi.d/plugins
-s3xen=..,0755,/etc/xapi.d/plugins
+swiftxenserver=..,0755,/etc/xapi.d/plugins
+s3xenserver=..,0755,/etc/xapi.d/plugins
add_to_vcpus_params_live.sh=..,0755,/opt/cloud/bin
ovs-pvlan=..,0755,/etc/xapi.d/plugins
ovs-pvlan-dhcp-host.sh=../../../network,0755,/opt/cloud/bin
@@ -68,4 +68,4 @@
ovs-get-dhcp-iface.sh=..,0755,/opt/cloud/bin
ovs-get-bridge.sh=..,0755,/opt/cloud/bin
cloudlog=..,0644,/etc/logrotate.d
-update_host_passwd.sh=../..,0755,/opt/cloud/bin
\ No newline at end of file
+update_host_passwd.sh=../..,0755,/opt/cloud/bin
diff --git a/scripts/vm/hypervisor/xenserver/xenserver62/patch b/scripts/vm/hypervisor/xenserver/xenserver62/patch
index 11d979d..8f65877 100644
--- a/scripts/vm/hypervisor/xenserver/xenserver62/patch
+++ b/scripts/vm/hypervisor/xenserver/xenserver62/patch
@@ -54,8 +54,8 @@
cloud-clean-vlan.sh=..,0755,/opt/cloud/bin
cloud-prepare-upgrade.sh=..,0755,/opt/cloud/bin
swift=..,0755,/opt/cloud/bin
-swiftxen=..,0755,/etc/xapi.d/plugins
-s3xen=..,0755,/etc/xapi.d/plugins
+swiftxenserver=..,0755,/etc/xapi.d/plugins
+s3xenserver=..,0755,/etc/xapi.d/plugins
add_to_vcpus_params_live.sh=..,0755,/opt/cloud/bin
ovs-pvlan=..,0755,/etc/xapi.d/plugins
ovs-pvlan-dhcp-host.sh=../../../network,0755,/opt/cloud/bin
@@ -64,4 +64,4 @@
ovs-get-dhcp-iface.sh=..,0755,/opt/cloud/bin
ovs-get-bridge.sh=..,0755,/opt/cloud/bin
cloudlog=..,0644,/etc/logrotate.d
-update_host_passwd.sh=../..,0755,/opt/cloud/bin
\ No newline at end of file
+update_host_passwd.sh=../..,0755,/opt/cloud/bin
diff --git a/scripts/vm/hypervisor/xenserver/xenserver65/patch b/scripts/vm/hypervisor/xenserver/xenserver65/patch
index 11d979d..8f65877 100644
--- a/scripts/vm/hypervisor/xenserver/xenserver65/patch
+++ b/scripts/vm/hypervisor/xenserver/xenserver65/patch
@@ -54,8 +54,8 @@
cloud-clean-vlan.sh=..,0755,/opt/cloud/bin
cloud-prepare-upgrade.sh=..,0755,/opt/cloud/bin
swift=..,0755,/opt/cloud/bin
-swiftxen=..,0755,/etc/xapi.d/plugins
-s3xen=..,0755,/etc/xapi.d/plugins
+swiftxenserver=..,0755,/etc/xapi.d/plugins
+s3xenserver=..,0755,/etc/xapi.d/plugins
add_to_vcpus_params_live.sh=..,0755,/opt/cloud/bin
ovs-pvlan=..,0755,/etc/xapi.d/plugins
ovs-pvlan-dhcp-host.sh=../../../network,0755,/opt/cloud/bin
@@ -64,4 +64,4 @@
ovs-get-dhcp-iface.sh=..,0755,/opt/cloud/bin
ovs-get-bridge.sh=..,0755,/opt/cloud/bin
cloudlog=..,0644,/etc/logrotate.d
-update_host_passwd.sh=../..,0755,/opt/cloud/bin
\ No newline at end of file
+update_host_passwd.sh=../..,0755,/opt/cloud/bin
diff --git a/server/src/com/cloud/agent/manager/allocator/impl/FirstFitAllocator.java b/server/src/com/cloud/agent/manager/allocator/impl/FirstFitAllocator.java
index 3a2b280..a6736d6 100644
--- a/server/src/com/cloud/agent/manager/allocator/impl/FirstFitAllocator.java
+++ b/server/src/com/cloud/agent/manager/allocator/impl/FirstFitAllocator.java
@@ -297,6 +297,7 @@
s_logger.debug("Host name: " + host.getName() + ", hostId: " + host.getId() +
" already has max Running VMs(count includes system VMs), skipping this and trying other available hosts");
}
+ avoid.addHost(host.getId());
continue;
}
@@ -305,6 +306,7 @@
ServiceOfferingDetailsVO groupName = _serviceOfferingDetailsDao.findDetail(serviceOfferingId, GPU.Keys.pciDevice.toString());
if(!_resourceMgr.isGPUDeviceAvailable(host.getId(), groupName.getValue(), offeringDetails.getValue())){
s_logger.info("Host name: " + host.getName() + ", hostId: "+ host.getId() +" does not have required GPU devices available");
+ avoid.addHost(host.getId());
continue;
}
}
diff --git a/server/src/com/cloud/api/ApiDBUtils.java b/server/src/com/cloud/api/ApiDBUtils.java
index 4fc9f42..1da62cc 100644
--- a/server/src/com/cloud/api/ApiDBUtils.java
+++ b/server/src/com/cloud/api/ApiDBUtils.java
@@ -778,7 +778,7 @@
// ///////////////////////////////////////////////////////////
public static VMInstanceVO findVMInstanceById(long vmId) {
- return s_vmDao.findById(vmId);
+ return s_vmDao.findByIdIncludingRemoved(vmId);
}
public static long getStorageCapacitybyPool(Long poolId, short capacityType) {
@@ -1033,12 +1033,7 @@
}
public static Snapshot findSnapshotById(long snapshotId) {
- SnapshotVO snapshot = s_snapshotDao.findById(snapshotId);
- if (snapshot != null && snapshot.getRemoved() == null && snapshot.getState() == Snapshot.State.BackedUp) {
- return snapshot;
- } else {
- return null;
- }
+ return s_snapshotDao.findByIdIncludingRemoved(snapshotId);
}
public static StoragePoolVO findStoragePoolById(Long storagePoolId) {
@@ -1222,7 +1217,7 @@
}
public static NetworkVO findNetworkById(long id) {
- return s_networkDao.findById(id);
+ return s_networkDao.findByIdIncludingRemoved(id);
}
public static Map<Service, Map<Capability, String>> getNetworkCapabilities(long networkId, long zoneId) {
@@ -1604,6 +1599,11 @@
if (group != null) {
jobInstanceId = group.getUuid();
}
+ } else if (jobInstanceType == ApiCommandJobType.Network) {
+ NetworkVO networkVO = ApiDBUtils.findNetworkById(job.getInstanceId());
+ if(networkVO != null) {
+ jobInstanceId = networkVO.getUuid();
+ }
} else if (jobInstanceType != ApiCommandJobType.None) {
// TODO : when we hit here, we need to add instanceType -> UUID
// entity table mapping
diff --git a/server/src/com/cloud/api/query/QueryManagerImpl.java b/server/src/com/cloud/api/query/QueryManagerImpl.java
index 6994b27..f853b67 100644
--- a/server/src/com/cloud/api/query/QueryManagerImpl.java
+++ b/server/src/com/cloud/api/query/QueryManagerImpl.java
@@ -1021,7 +1021,7 @@
sc.setParameters("displayVm", 1);
}
// search vm details by ids
- Pair<List<UserVmJoinVO>, Integer> uniqueVmPair = _userVmJoinDao.searchAndCount(sc, searchFilter);
+ Pair<List<UserVmJoinVO>, Integer> uniqueVmPair = _userVmJoinDao.searchAndDistinctCount(sc, searchFilter);
Integer count = uniqueVmPair.second();
if (count.intValue() == 0) {
// handle empty result cases
@@ -3106,6 +3106,7 @@
Boolean isAscending = Boolean.parseBoolean(_configDao.getValue("sortkey.algorithm"));
isAscending = (isAscending == null ? Boolean.TRUE : isAscending);
Filter searchFilter = new Filter(TemplateJoinVO.class, "sortKey", isAscending, startIndex, pageSize);
+ searchFilter.addOrderBy(TemplateJoinVO.class, "tempZonePair", isAscending);
SearchBuilder<TemplateJoinVO> sb = _templateJoinDao.createSearchBuilder();
sb.select(null, Func.DISTINCT, sb.entity().getTempZonePair()); // select distinct (templateId, zoneId) pair
diff --git a/server/src/com/cloud/api/query/dao/TemplateJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/TemplateJoinDaoImpl.java
index 15cefa5..4bb2c95 100644
--- a/server/src/com/cloud/api/query/dao/TemplateJoinDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/TemplateJoinDaoImpl.java
@@ -383,6 +383,7 @@
Boolean isAscending = Boolean.parseBoolean(_configDao.getValue("sortkey.algorithm"));
isAscending = (isAscending == null ? Boolean.TRUE : isAscending);
Filter searchFilter = new Filter(TemplateJoinVO.class, "sortKey", isAscending, null, null);
+ searchFilter.addOrderBy(TemplateJoinVO.class, "tempZonePair", isAscending);
List<TemplateJoinVO> uvList = new ArrayList<TemplateJoinVO>();
// query details by batches
int curr_index = 0;
diff --git a/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java b/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java
index bfd6af4..8b9be25 100644
--- a/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java
+++ b/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java
@@ -38,8 +38,10 @@
import org.apache.cloudstack.affinity.AffinityGroupService;
import org.apache.cloudstack.affinity.AffinityGroupVMMapVO;
import org.apache.cloudstack.affinity.AffinityGroupVO;
+import org.apache.cloudstack.affinity.AffinityGroupDomainMapVO;
import org.apache.cloudstack.affinity.dao.AffinityGroupDao;
import org.apache.cloudstack.affinity.dao.AffinityGroupVMMapDao;
+import org.apache.cloudstack.affinity.dao.AffinityGroupDomainMapDao;
import org.apache.cloudstack.engine.cloud.entity.api.db.VMReservationVO;
import org.apache.cloudstack.engine.cloud.entity.api.db.dao.VMReservationDao;
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
@@ -147,6 +149,8 @@
@Inject
protected AffinityGroupVMMapDao _affinityGroupVMMapDao;
@Inject
+ protected AffinityGroupDomainMapDao _affinityGroupDomainMapDao;
+ @Inject
AffinityGroupService _affinityGroupService;
@Inject
DataCenterDao _dcDao;
@@ -258,7 +262,7 @@
}
}
- if (vm.getType() == VirtualMachine.Type.User) {
+ if (vm.getType() == VirtualMachine.Type.User || vm.getType() == VirtualMachine.Type.DomainRouter) {
checkForNonDedicatedResources(vmProfile, dc, avoids);
}
if (s_logger.isDebugEnabled()) {
@@ -547,7 +551,7 @@
boolean isExplicit = false;
VirtualMachine vm = vmProfile.getVirtualMachine();
- // check if zone is dedicated. if yes check if vm owner has acess to it.
+ // check if zone is dedicated. if yes check if vm owner has access to it.
DedicatedResourceVO dedicatedZone = _dedicatedDao.findByZoneId(dc.getId());
if (dedicatedZone != null && !_accountMgr.isRootAdmin(vmProfile.getOwner().getId())) {
long accountDomainId = vmProfile.getOwner().getDomainId();
@@ -582,22 +586,104 @@
isExplicit = true;
}
- if (!isExplicit) {
+ List<Long> allPodsInDc = _podDao.listAllPods(dc.getId());
+ List<Long> allDedicatedPods = _dedicatedDao.listAllPods();
+ allPodsInDc.retainAll(allDedicatedPods);
+
+ List<Long> allClustersInDc = _clusterDao.listAllCusters(dc.getId());
+ List<Long> allDedicatedClusters = _dedicatedDao.listAllClusters();
+ allClustersInDc.retainAll(allDedicatedClusters);
+
+ List<Long> allHostsInDc = _hostDao.listAllHosts(dc.getId());
+ List<Long> allDedicatedHosts = _dedicatedDao.listAllHosts();
+ allHostsInDc.retainAll(allDedicatedHosts);
+
+ //Only when the type is instance VM and not explicitly dedicated.
+ if (vm.getType() == VirtualMachine.Type.User && !isExplicit) {
//add explicitly dedicated resources in avoidList
- List<Long> allPodsInDc = _podDao.listAllPods(dc.getId());
- List<Long> allDedicatedPods = _dedicatedDao.listAllPods();
- allPodsInDc.retainAll(allDedicatedPods);
avoids.addPodList(allPodsInDc);
-
- List<Long> allClustersInDc = _clusterDao.listAllCusters(dc.getId());
- List<Long> allDedicatedClusters = _dedicatedDao.listAllClusters();
- allClustersInDc.retainAll(allDedicatedClusters);
avoids.addClusterList(allClustersInDc);
+ avoids.addHostList(allHostsInDc);
+ }
- List<Long> allHostsInDc = _hostDao.listAllHosts(dc.getId());
- List<Long> allDedicatedHosts = _dedicatedDao.listAllHosts();
- allHostsInDc.retainAll(allDedicatedHosts);
+ //Handle the Virtual Router Case
+ //No need to check the isExplicit. As both the cases are handled.
+ if (vm.getType() == VirtualMachine.Type.DomainRouter) {
+ long vmAccountId = vm.getAccountId();
+ long vmDomainId = vm.getDomainId();
+
+ //Lists all explicitly dedicated resources from vm account ID or domain ID.
+ List<Long> allPodsFromDedicatedID = new ArrayList<Long>();
+ List<Long> allClustersFromDedicatedID = new ArrayList<Long>();
+ List<Long> allHostsFromDedicatedID = new ArrayList<Long>();
+
+ //Whether the dedicated resources belong to Domain or not. If not, it may belongs to Account or no dedication.
+ List<AffinityGroupDomainMapVO> domainGroupMappings = _affinityGroupDomainMapDao.listByDomain(vmDomainId);
+
+ //For temporary storage and indexing.
+ List<DedicatedResourceVO> tempStorage;
+
+ if (domainGroupMappings == null || domainGroupMappings.isEmpty()) {
+ //The dedicated resource belongs to VM Account ID.
+
+ tempStorage = _dedicatedDao.searchDedicatedPods(null, vmDomainId, vmAccountId, null).first();
+
+ for(DedicatedResourceVO vo : tempStorage) {
+ allPodsFromDedicatedID.add(vo.getPodId());
+ }
+
+ tempStorage.clear();
+ tempStorage = _dedicatedDao.searchDedicatedClusters(null, vmDomainId, vmAccountId, null).first();
+
+ for(DedicatedResourceVO vo : tempStorage) {
+ allClustersFromDedicatedID.add(vo.getClusterId());
+ }
+
+ tempStorage.clear();
+ tempStorage = _dedicatedDao.searchDedicatedHosts(null, vmDomainId, vmAccountId, null).first();
+
+ for(DedicatedResourceVO vo : tempStorage) {
+ allHostsFromDedicatedID.add(vo.getHostId());
+ }
+
+ //Remove the dedicated ones from main list
+ allPodsInDc.removeAll(allPodsFromDedicatedID);
+ allClustersInDc.removeAll(allClustersFromDedicatedID);
+ allHostsInDc.removeAll(allHostsFromDedicatedID);
+ }
+ else {
+ //The dedicated resource belongs to VM Domain ID or No dedication.
+
+ tempStorage = _dedicatedDao.searchDedicatedPods(null, vmDomainId, null, null).first();
+
+ for(DedicatedResourceVO vo : tempStorage) {
+ allPodsFromDedicatedID.add(vo.getPodId());
+ }
+
+ tempStorage.clear();
+ tempStorage = _dedicatedDao.searchDedicatedClusters(null, vmDomainId, null, null).first();
+
+ for(DedicatedResourceVO vo : tempStorage) {
+ allClustersFromDedicatedID.add(vo.getClusterId());
+ }
+
+ tempStorage.clear();
+ tempStorage = _dedicatedDao.searchDedicatedHosts(null, vmDomainId, null, null).first();
+
+ for(DedicatedResourceVO vo : tempStorage) {
+ allHostsFromDedicatedID.add(vo.getHostId());
+ }
+
+ //Remove the dedicated ones from main list
+ allPodsInDc.removeAll(allPodsFromDedicatedID);
+ allClustersInDc.removeAll(allClustersFromDedicatedID);
+ allHostsInDc.removeAll(allHostsFromDedicatedID);
+ }
+
+ //Add in avoid list or no addition if no dedication
+ avoids.addPodList(allPodsInDc);
+ avoids.addClusterList(allClustersInDc);
avoids.addHostList(allHostsInDc);
}
}
diff --git a/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java b/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java
index d7ee2b6..75267c7 100644
--- a/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java
+++ b/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java
@@ -1009,7 +1009,7 @@
}
// Send a command to the external load balancer to implement or shutdown the guest network
- long guestVlanTag = Long.parseLong(BroadcastDomainType.getValue(guestConfig.getBroadcastUri()));
+ String guestVlanTag = BroadcastDomainType.getValue(guestConfig.getBroadcastUri());
String selfIp = null;
String guestVlanNetmask = NetUtils.cidr2Netmask(guestConfig.getCidr());
Integer networkRate = _networkModel.getNetworkRate(guestConfig.getId(), null);
@@ -1042,7 +1042,7 @@
// It's a hack, using isOneToOneNat field for indicate if it's inline or not
boolean inline = _networkMgr.isNetworkInlineMode(guestConfig);
IpAddressTO ip =
- new IpAddressTO(guestConfig.getAccountId(), null, add, false, true, String.valueOf(guestVlanTag), selfIp, guestVlanNetmask, null, networkRate, inline);
+ new IpAddressTO(guestConfig.getAccountId(), null, add, false, true, guestVlanTag, selfIp, guestVlanNetmask, null, networkRate, inline);
IpAddressTO[] ips = new IpAddressTO[1];
ips[0] = ip;
IpAssocCommand cmd = new IpAssocCommand(ips);
diff --git a/server/src/com/cloud/network/IpAddressManagerImpl.java b/server/src/com/cloud/network/IpAddressManagerImpl.java
index 28df971..105ad73 100644
--- a/server/src/com/cloud/network/IpAddressManagerImpl.java
+++ b/server/src/com/cloud/network/IpAddressManagerImpl.java
@@ -1684,11 +1684,7 @@
return requestedIp;
}
- String result;
- do {
- result = NetUtils.long2Ip(array[_rand.nextInt(array.length)]);
- } while (result.split("\\.")[3].equals("1"));
- return result;
+ return NetUtils.long2Ip(array[_rand.nextInt(array.length)]);
}
Random _rand = new Random(System.currentTimeMillis());
@@ -1932,9 +1928,9 @@
}
- // nic ip address isn ot set here. Because the DHCP is external to cloudstack
+ // nic ip address is not set here. Because the DHCP is external to cloudstack
nic.setIPv4Gateway(network.getGateway());
- nic.setIPv4Netmask(network.getCidr());
+ nic.setIPv4Netmask(NetUtils.getCidrNetmask(network.getCidr()));
List<VlanVO> vlan = _vlanDao.listVlansByNetworkId(network.getId());
diff --git a/server/src/com/cloud/network/NetworkServiceImpl.java b/server/src/com/cloud/network/NetworkServiceImpl.java
index e50cbe7..a99d996 100644
--- a/server/src/com/cloud/network/NetworkServiceImpl.java
+++ b/server/src/com/cloud/network/NetworkServiceImpl.java
@@ -2100,6 +2100,9 @@
}
restartNetwork = true;
networkOfferingChanged = true;
+
+ //Setting the new network's isReduntant to the new network offering's RedundantRouter.
+ network.setIsReduntant(_networkOfferingDao.findById(networkOfferingId).getRedundantRouter());
}
}
diff --git a/server/src/com/cloud/network/element/VirtualRouterElement.java b/server/src/com/cloud/network/element/VirtualRouterElement.java
index 1a340fa..2a1dd40 100644
--- a/server/src/com/cloud/network/element/VirtualRouterElement.java
+++ b/server/src/com/cloud/network/element/VirtualRouterElement.java
@@ -602,7 +602,7 @@
final Map<Capability, String> lbCapabilities = new HashMap<Capability, String>();
lbCapabilities.put(Capability.SupportedLBAlgorithms, "roundrobin,leastconn,source");
lbCapabilities.put(Capability.SupportedLBIsolation, "dedicated");
- lbCapabilities.put(Capability.SupportedProtocols, "tcp, udp");
+ lbCapabilities.put(Capability.SupportedProtocols, "tcp, udp, tcp-proxy");
lbCapabilities.put(Capability.SupportedStickinessMethods, getHAProxyStickinessCapability());
lbCapabilities.put(Capability.LbSchemes, LoadBalancerContainer.Scheme.Public.toString());
diff --git a/server/src/com/cloud/network/router/CommandSetupHelper.java b/server/src/com/cloud/network/router/CommandSetupHelper.java
index f701218..1818dbd 100644
--- a/server/src/com/cloud/network/router/CommandSetupHelper.java
+++ b/server/src/com/cloud/network/router/CommandSetupHelper.java
@@ -301,6 +301,7 @@
for (final LoadBalancingRule rule : rules) {
final boolean revoked = rule.getState().equals(FirewallRule.State.Revoke);
final String protocol = rule.getProtocol();
+ final String lb_protocol = rule.getLbProtocol();
final String algorithm = rule.getAlgorithm();
final String uuid = rule.getUuid();
@@ -309,6 +310,7 @@
final List<LbDestination> destinations = rule.getDestinations();
final List<LbStickinessPolicy> stickinessPolicies = rule.getStickinessPolicies();
final LoadBalancerTO lb = new LoadBalancerTO(uuid, srcIp, srcPort, protocol, algorithm, revoked, false, inline, destinations, stickinessPolicies);
+ lb.setLbProtocol(lb_protocol);
lbs[i++] = lb;
}
String routerPublicIp = null;
diff --git a/server/src/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java b/server/src/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java
index bf4b8a3..b3cec12 100644
--- a/server/src/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java
+++ b/server/src/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java
@@ -583,7 +583,7 @@
Ternary<Long, Boolean, ListProjectResourcesCriteria> domainIdRecursiveListProject = new Ternary<Long, Boolean,
ListProjectResourcesCriteria>(domainId, isRecursive, null);
- _accountMgr.buildACLSearchParameters(caller, id, accountName, null, permittedAccounts, domainIdRecursiveListProject, listAll, false);
+ _accountMgr.buildACLSearchParameters(caller, id, accountName, cmd.getProjectId(), permittedAccounts, domainIdRecursiveListProject, listAll, false);
domainId = domainIdRecursiveListProject.first();
isRecursive = domainIdRecursiveListProject.second();
ListProjectResourcesCriteria listProjectResourcesCriteria = domainIdRecursiveListProject.third();
@@ -673,7 +673,7 @@
Ternary<Long, Boolean, ListProjectResourcesCriteria> domainIdRecursiveListProject = new Ternary<Long, Boolean,
ListProjectResourcesCriteria>(domainId, isRecursive, null);
- _accountMgr.buildACLSearchParameters(caller, id, accountName, null, permittedAccounts, domainIdRecursiveListProject, listAll, false);
+ _accountMgr.buildACLSearchParameters(caller, id, accountName, cmd.getProjectId(), permittedAccounts, domainIdRecursiveListProject, listAll, false);
domainId = domainIdRecursiveListProject.first();
isRecursive = domainIdRecursiveListProject.second();
ListProjectResourcesCriteria listProjectResourcesCriteria = domainIdRecursiveListProject.third();
diff --git a/server/src/com/cloud/storage/VolumeApiServiceImpl.java b/server/src/com/cloud/storage/VolumeApiServiceImpl.java
index d4e8c99..6fe0a14 100644
--- a/server/src/com/cloud/storage/VolumeApiServiceImpl.java
+++ b/server/src/com/cloud/storage/VolumeApiServiceImpl.java
@@ -1222,13 +1222,6 @@
if (instanceId == null || (vmInstance.getType().equals(VirtualMachine.Type.User))) {
// Decrement the resource count for volumes and primary storage belonging user VM's only
_resourceLimitMgr.decrementResourceCount(volume.getAccountId(), ResourceType.volume, volume.isDisplayVolume());
- /* If volume is in primary storage, decrement primary storage count else decrement secondary
- storage count (in case of upload volume). */
- if (volume.getFolder() != null || volume.getPath() != null || volume.getState() == Volume.State.Allocated) {
- _resourceLimitMgr.recalculateResourceCount(volume.getAccountId(), volume.getDomainId(), ResourceType.primary_storage.getOrdinal());
- } else {
- _resourceLimitMgr.recalculateResourceCount(volume.getAccountId(), volume.getDomainId(), ResourceType.secondary_storage.getOrdinal());
- }
}
}
// Mark volume as removed if volume has not been created on primary or secondary
@@ -1243,6 +1236,8 @@
s_logger.info("Expunging volume " + volume.getId() + " from primary data store");
AsyncCallFuture<VolumeApiResult> future = volService.expungeVolumeAsync(volOnPrimary);
future.get();
+ //decrement primary storage count
+ _resourceLimitMgr.recalculateResourceCount(volume.getAccountId(), volume.getDomainId(), ResourceType.primary_storage.getOrdinal());
}
// expunge volume from secondary if volume is on image store
VolumeInfo volOnSecondary = volFactory.getVolume(volume.getId(), DataStoreRole.Image);
@@ -1250,6 +1245,8 @@
s_logger.info("Expunging volume " + volume.getId() + " from secondary data store");
AsyncCallFuture<VolumeApiResult> future2 = volService.expungeVolumeAsync(volOnSecondary);
future2.get();
+ //decrement secondary storage count
+ _resourceLimitMgr.recalculateResourceCount(volume.getAccountId(), volume.getDomainId(), ResourceType.secondary_storage.getOrdinal());
}
// delete all cache entries for this volume
List<VolumeInfo> cacheVols = volFactory.listVolumeOnCache(volume.getId());
diff --git a/server/src/com/cloud/user/AccountManagerImpl.java b/server/src/com/cloud/user/AccountManagerImpl.java
index edc8ad8..8f3a1b2 100644
--- a/server/src/com/cloud/user/AccountManagerImpl.java
+++ b/server/src/com/cloud/user/AccountManagerImpl.java
@@ -991,6 +991,10 @@
}
@Override
+ @ActionEvents({
+ @ActionEvent(eventType = EventTypes.EVENT_ACCOUNT_CREATE, eventDescription = "creating Account"),
+ @ActionEvent(eventType = EventTypes.EVENT_USER_CREATE, eventDescription = "creating User")
+ })
public UserAccount createUserAccount(final String userName, final String password, final String firstName, final String lastName, final String email, final String timezone,
String accountName, final short accountType, Long domainId, final String networkDomain, final Map<String, String> details, String accountUUID, final String userUUID) {
@@ -1132,6 +1136,7 @@
}
@Override
+ @ActionEvent(eventType = EventTypes.EVENT_USER_CREATE, eventDescription = "creating User")
public UserVO createUser(String userName, String password, String firstName, String lastName, String email, String timeZone, String accountName, Long domainId,
String userUUID) {
@@ -1263,6 +1268,7 @@
}
@Override
+ @ActionEvent(eventType = EventTypes.EVENT_USER_UPDATE, eventDescription = "updating User")
public UserAccount updateUser(UpdateUserCmd cmd) {
Long id = cmd.getId();
String apiKey = cmd.getApiKey();
diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java
index 1e5167e..32b0d3d 100644
--- a/server/src/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/com/cloud/vm/UserVmManagerImpl.java
@@ -3247,6 +3247,7 @@
_affinityGroupVMMapDao.updateMap(vm.getId(), affinityGroupIdList);
}
+ CallContext.current().putContextParameter(VirtualMachine.class, vm.getUuid());
return vm;
}
diff --git a/server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java b/server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
index 1f488e1..83b47a0 100644
--- a/server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
+++ b/server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
@@ -384,8 +384,7 @@
}
try {
- ruleApplier.accept(getVisitor(), router);
-
+ result = ruleApplier.accept(getVisitor(), router);
connectedRouters.add(router);
} catch (final AgentUnavailableException e) {
s_logger.warn(msg + router.getInstanceName(), e);
diff --git a/server/test/com/cloud/vm/DeploymentPlanningManagerImplTest.java b/server/test/com/cloud/vm/DeploymentPlanningManagerImplTest.java
index b9e2831..72960e3 100644
--- a/server/test/com/cloud/vm/DeploymentPlanningManagerImplTest.java
+++ b/server/test/com/cloud/vm/DeploymentPlanningManagerImplTest.java
@@ -25,6 +25,7 @@
import javax.inject.Inject;
import javax.naming.ConfigurationException;
+import org.apache.cloudstack.affinity.dao.AffinityGroupDomainMapDao;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -262,6 +263,11 @@
}
@Bean
+ public AffinityGroupDomainMapDao affinityGroupDomainMapDao() {
+ return Mockito.mock(AffinityGroupDomainMapDao.class);
+ }
+
+ @Bean
public DataStoreManager cataStoreManager() {
return Mockito.mock(DataStoreManager.class);
}
diff --git a/services/secondary-storage/controller/src/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java b/services/secondary-storage/controller/src/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java
index dd81809..5f8a1e0 100644
--- a/services/secondary-storage/controller/src/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java
+++ b/services/secondary-storage/controller/src/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java
@@ -92,6 +92,7 @@
import com.cloud.network.dao.NetworkDao;
import com.cloud.network.dao.NetworkVO;
import com.cloud.network.rules.RulesManager;
+import com.cloud.network.StorageNetworkManager;
import com.cloud.offering.NetworkOffering;
import com.cloud.offering.ServiceOffering;
import com.cloud.offerings.dao.NetworkOfferingDao;
@@ -180,6 +181,8 @@
@Inject
protected SecondaryStorageVmDao _secStorageVmDao;
@Inject
+ protected StorageNetworkManager _sNwMgr;
+ @Inject
private DataCenterDao _dcDao;
@Inject
private VMTemplateDao _templateDao;
@@ -551,9 +554,12 @@
defaultNetwork = defaultNetworks.get(0);
}
- List<? extends NetworkOffering> offerings =
- _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork, NetworkOffering.SystemManagementNetwork,
- NetworkOffering.SystemStorageNetwork);
+ List<? extends NetworkOffering> offerings = null;
+ if (_sNwMgr.isStorageIpRangeAvailable(dataCenterId)) {
+ offerings = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork, NetworkOffering.SystemManagementNetwork, NetworkOffering.SystemStorageNetwork);
+ } else {
+ offerings = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork, NetworkOffering.SystemManagementNetwork);
+ }
LinkedHashMap<Network, List<? extends NicProfile>> networks = new LinkedHashMap<Network, List<? extends NicProfile>>(offerings.size() + 1);
NicProfile defaultNic = new NicProfile();
defaultNic.setDefaultNic(true);
diff --git a/setup/db/db/schema-452to460.sql b/setup/db/db/schema-452to460.sql
index af16849..12feb80 100644
--- a/setup/db/db/schema-452to460.sql
+++ b/setup/db/db/schema-452to460.sql
@@ -335,7 +335,7 @@
`cloud`.`user_vm_details` as ssh_details ON ssh_details.vm_id = vm_instance.id
and ssh_details.name = 'SSH.PublicKey'
left join
- `cloud`.`ssh_keypairs` ON ssh_keypairs.public_key = ssh_details.value
+ `cloud`.`ssh_keypairs` ON ssh_keypairs.public_key = ssh_details.value AND ssh_keypairs.account_id = account.id
left join
`cloud`.`resource_tags` ON resource_tags.resource_id = vm_instance.id
and resource_tags.resource_type = 'UserVm'
@@ -418,3 +418,5 @@
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(),'KVM', 'default', 'Red Hat Enterprise Linux 7', 245, utc_timestamp(), 0);
INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) VALUES (UUID(),'KVM', 'default', 'CentOS 7', 246, utc_timestamp(), 0);
+
+UPDATE `cloud`.`hypervisor_capabilities` SET `max_data_volumes_limit` = '32' WHERE `hypervisor_capabilities`.`hypervisor_type` = 'KVM';
diff --git a/systemvm/patches/debian/config/opt/cloud/bin/configure.py b/systemvm/patches/debian/config/opt/cloud/bin/configure.py
index 8c39f75..399e4e0 100755
--- a/systemvm/patches/debian/config/opt/cloud/bin/configure.py
+++ b/systemvm/patches/debian/config/opt/cloud/bin/configure.py
@@ -41,27 +41,37 @@
from cs.CsMonitor import CsMonitor
from cs.CsLoadBalancer import CsLoadBalancer
from cs.CsConfig import CsConfig
+from cs.CsProcess import CsProcess
class CsPassword(CsDataBag):
- """
- Update the password cache
-
- A stupid step really as we should just rewrite the password server to
- use the databag
- """
- cache = "/var/cache/cloud/passwords"
-
+
+ TOKEN_FILE="/tmp/passwdsrvrtoken"
+
def process(self):
- file = CsFile(self.cache)
for item in self.dbag:
if item == "id":
continue
- self.__update(file, item, self.dbag[item])
- file.commit()
+ self.__update(item, self.dbag[item])
- def __update(self, file, ip, password):
- file.search("%s=" % ip, "%s=%s" % (ip, password))
+ def __update(self, vm_ip, password):
+ token = ""
+ try:
+ tokenFile = open(self.TOKEN_FILE)
+ token = tokenFile.read()
+ except IOError:
+ logging.debug("File %s does not exist" % self.TOKEN_FILE)
+
+ ips_cmd = "ip addr show | grep inet | awk '{print $2}'"
+ ips = CsHelper.execute(ips_cmd)
+ for ip in ips:
+ server_ip = ip.split('/')[0]
+ proc = CsProcess(['/opt/cloud/bin/passwd_server_ip.py', server_ip])
+ if proc.find():
+ update_command = 'curl --header "DomU_Request: save_password" "http://{SERVER_IP}:8080/" -F "ip={VM_IP}" -F "password={PASSWORD}" ' \
+ '-F "token={TOKEN}" >/dev/null 2>/dev/null &'.format(SERVER_IP=server_ip, VM_IP=vm_ip, PASSWORD=password, TOKEN=token)
+ result = CsHelper.execute(update_command)
+ logging.debug("Update password server result ==> %s" % result)
class CsAcl(CsDataBag):
@@ -144,7 +154,7 @@
fwr = " -A FW_EGRESS_RULES"
if rule['protocol'] != "all":
fwr += " -s %s " % cidr + \
- " -p %s " % cidr, rule['protocol'] + \
+ " -p %s " % rule['protocol'] + \
" -m %s " % rule['protocol'] + \
" --dport %s" % rnge
diff --git a/systemvm/patches/debian/config/opt/cloud/bin/cs/CsAddress.py b/systemvm/patches/debian/config/opt/cloud/bin/cs/CsAddress.py
index b80187a..91ee873 100755
--- a/systemvm/patches/debian/config/opt/cloud/bin/cs/CsAddress.py
+++ b/systemvm/patches/debian/config/opt/cloud/bin/cs/CsAddress.py
@@ -103,6 +103,7 @@
for address in self.dbag[dev]:
ip.setAddress(address)
+ logging.info("Address found in DataBag ==> %s" % address)
if ip.configured():
logging.info(
@@ -263,10 +264,17 @@
return self.address
def configure(self, address):
- logging.info(
- "Configuring address %s on device %s", self.ip(), self.dev)
- cmd = "ip addr add dev %s %s brd +" % (self.dev, self.ip())
- subprocess.call(cmd, shell=True)
+ # When "add" is false, it means that the IP has to be removed.
+ if address["add"]:
+ try:
+ logging.info("Configuring address %s on device %s", self.ip(), self.dev)
+ cmd = "ip addr add dev %s %s brd +" % (self.dev, self.ip())
+ subprocess.call(cmd, shell=True)
+ except Exception as e:
+ logging.info("Exception occurred ==> %s" % e)
+
+ else:
+ self.delete(self.ip())
self.post_configure(address)
def post_configure(self, address):
@@ -602,9 +610,8 @@
if self.dev in bag.keys():
for address in bag[self.dev]:
self.setAddress(address)
- if self.hasIP(ip):
- found = True
- if self.is_guest_gateway(address, ip):
+ if (self.hasIP(ip) or self.is_guest_gateway(address, ip)) and address["add"]:
+ logging.debug("The IP address in '%s' will be configured" % address)
found = True
if not found:
self.delete(ip)
@@ -620,7 +627,7 @@
gw = interface.get_gateway()
logging.info("Interface has the following gateway ==> %s", gw)
-
+
if bag['nw_type'] == "guest" and rip == gw:
return True
return False
diff --git a/systemvm/patches/debian/config/opt/cloud/bin/cs/CsDhcp.py b/systemvm/patches/debian/config/opt/cloud/bin/cs/CsDhcp.py
index 881cef2..4c99f2e 100755
--- a/systemvm/patches/debian/config/opt/cloud/bin/cs/CsDhcp.py
+++ b/systemvm/patches/debian/config/opt/cloud/bin/cs/CsDhcp.py
@@ -37,6 +37,8 @@
self.cloud = CsFile(DHCP_HOSTS)
self.conf = CsFile(CLOUD_CONF)
+ self.cloud.repopulate()
+
for item in self.dbag:
if item == "id":
continue
diff --git a/systemvm/patches/debian/config/opt/cloud/bin/cs_ip.py b/systemvm/patches/debian/config/opt/cloud/bin/cs_ip.py
index 14003d9..efcf311 100755
--- a/systemvm/patches/debian/config/opt/cloud/bin/cs_ip.py
+++ b/systemvm/patches/debian/config/opt/cloud/bin/cs_ip.py
@@ -27,17 +27,18 @@
for address in dbag[dev]:
if address['public_ip'] == ip['public_ip']:
dbag[dev].remove(address)
- if ip['add']:
- ipo = IPNetwork(ip['public_ip'] + '/' + ip['netmask'])
- ip['device'] = 'eth' + str(ip['nic_dev_id'])
- ip['broadcast'] = str(ipo.broadcast)
- ip['cidr'] = str(ipo.ip) + '/' + str(ipo.prefixlen)
- ip['size'] = str(ipo.prefixlen)
- ip['network'] = str(ipo.network) + '/' + str(ipo.prefixlen)
- if 'nw_type' not in ip.keys():
- ip['nw_type'] = 'public'
- if ip['nw_type'] == 'control':
- dbag['eth' + str(ip['nic_dev_id'])] = [ip]
- else:
- dbag.setdefault('eth' + str(ip['nic_dev_id']), []).append(ip)
+
+ ipo = IPNetwork(ip['public_ip'] + '/' + ip['netmask'])
+ ip['device'] = 'eth' + str(ip['nic_dev_id'])
+ ip['broadcast'] = str(ipo.broadcast)
+ ip['cidr'] = str(ipo.ip) + '/' + str(ipo.prefixlen)
+ ip['size'] = str(ipo.prefixlen)
+ ip['network'] = str(ipo.network) + '/' + str(ipo.prefixlen)
+ if 'nw_type' not in ip.keys():
+ ip['nw_type'] = 'public'
+ if ip['nw_type'] == 'control':
+ dbag['eth' + str(ip['nic_dev_id'])] = [ip]
+ else:
+ dbag.setdefault('eth' + str(ip['nic_dev_id']), []).append(ip)
+
return dbag
diff --git a/test/integration/component/test_password_server.py b/test/integration/component/test_password_server.py
new file mode 100644
index 0000000..0fc7e25
--- /dev/null
+++ b/test/integration/component/test_password_server.py
@@ -0,0 +1,351 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# Import Local Modules
+from nose.plugins.attrib import attr
+from marvin.cloudstackTestCase import cloudstackTestCase
+from marvin.cloudstackAPI import (stopVirtualMachine,
+ stopRouter,
+ startRouter)
+from marvin.lib.utils import (cleanup_resources,
+ get_process_status)
+from marvin.lib.base import (ServiceOffering,
+ VirtualMachine,
+ Account,
+ ServiceOffering,
+ NATRule,
+ NetworkACL,
+ FireWallRule,
+ PublicIPAddress,
+ NetworkOffering,
+ Network,
+ Router)
+from marvin.lib.common import (get_zone,
+ get_template,
+ get_domain,
+ list_virtual_machines,
+ list_networks,
+ list_configurations,
+ list_routers,
+ list_nat_rules,
+ list_publicIP,
+ list_firewall_rules,
+ list_hosts)
+
+# Import System modules
+import time
+import logging
+
+
+class TestIsolatedNetworksPasswdServer(cloudstackTestCase):
+
+ @classmethod
+ def setUpClass(cls):
+
+ cls.logger = logging.getLogger('TestIsolatedNetworksPasswdServer')
+ cls.stream_handler = logging.StreamHandler()
+ cls.logger.setLevel(logging.DEBUG)
+ cls.logger.addHandler(cls.stream_handler)
+
+ cls.testClient = super(TestIsolatedNetworksPasswdServer, cls).getClsTestClient()
+ cls.api_client = cls.testClient.getApiClient()
+
+ cls.services = cls.testClient.getParsedTestDataConfig()
+ # Get Zone, Domain and templates
+ cls.domain = get_domain(cls.api_client)
+ cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
+ cls.services['mode'] = cls.zone.networktype
+ template = get_template(
+ cls.api_client,
+ cls.zone.id,
+ cls.services["ostype"]
+ )
+
+ cls.services["virtual_machine"]["zoneid"] = cls.zone.id
+
+ cls.logger.debug("Creating Admin Account for domain %s on zone %s" % (cls.domain.id, cls.zone.id))
+ # Create an account, network, VM and IP addresses
+ cls.account = Account.create(
+ cls.api_client,
+ cls.services["account"],
+ admin=True,
+ domainid=cls.domain.id
+ )
+
+ cls.logger.debug("Creating Service Offering on zone %s" % (cls.zone.id))
+ cls.service_offering = ServiceOffering.create(
+ cls.api_client,
+ cls.services["service_offering"]
+ )
+
+ cls.services["isolated_network_offering"]["egress_policy"] = "true"
+
+ cls.logger.debug("Creating Network Offering on zone %s" % (cls.zone.id))
+ cls.network_offering = NetworkOffering.create(cls.api_client,
+ cls.services["isolated_network_offering"],
+ conservemode=True)
+
+ cls.network_offering.update(cls.api_client, state='Enabled')
+
+ cls.logger.debug("Creating Network for Account %s using offering %s" % (cls.account.name, cls.network_offering.id))
+ cls.network = Network.create(cls.api_client,
+ cls.services["network"],
+ accountid=cls.account.name,
+ domainid=cls.account.domainid,
+ networkofferingid=cls.network_offering.id,
+ zoneid=cls.zone.id)
+
+ cls.logger.debug("Creating VM1 for Account %s using offering %s" % (cls.account.name, cls.service_offering.id))
+ cls.vm_1 = VirtualMachine.create(cls.api_client,
+ cls.services["virtual_machine"],
+ templateid=template.id,
+ accountid=cls.account.name,
+ domainid=cls.domain.id,
+ serviceofferingid=cls.service_offering.id,
+ networkids=[str(cls.network.id)])
+
+ cls.logger.debug("Creating VM2 for Account %s using offering %s" % (cls.account.name, cls.service_offering.id))
+ cls.vm_2 = VirtualMachine.create(cls.api_client,
+ cls.services["virtual_machine"],
+ templateid=template.id,
+ accountid=cls.account.name,
+ domainid=cls.domain.id,
+ serviceofferingid=cls.service_offering.id,
+ networkids=[str(cls.network.id)])
+
+ cls.services["natrule1"] = {
+ "privateport": 22,
+ "publicport": 222,
+ "protocol": "TCP"
+ }
+
+ cls.services["natrule2"] = {
+ "privateport": 22,
+ "publicport": 223,
+ "protocol": "TCP"
+ }
+
+ cls.services["configurableData"] = {
+ "host": {
+ "password": "password",
+ "username": "root",
+ "port": 22
+ },
+ "input": "INPUT",
+ "forward": "FORWARD"
+ }
+
+ cls._cleanup = [
+ cls.vm_1,
+ cls.vm_2,
+ cls.network,
+ cls.network_offering,
+ cls.service_offering,
+ cls.account
+ ]
+
+ return
+
+ @classmethod
+ def tearDownClass(cls):
+ try:
+ cleanup_resources(cls.api_client, cls._cleanup)
+ except Exception as e:
+ raise Exception("Warning: Exception during cleanup : %s" % e)
+ return
+
+ def setUp(self):
+ self.apiclient = self.testClient.getApiClient()
+ return
+
+ def test_ssh_command(self, vm, nat_rule, rule_label):
+ result = 'failed'
+ try:
+ ssh_command = "ping -c 3 8.8.8.8"
+ self.logger.debug("SSH into VM with IP: %s" % nat_rule.ipaddress)
+
+ ssh = vm.get_ssh_client(ipaddress=nat_rule.ipaddress, port=self.services[rule_label]["publicport"], retries=5)
+ result = str(ssh.execute(ssh_command))
+
+ self.logger.debug("SSH result: %s; COUNT is ==> %s" % (result, result.count("3 packets received")))
+ except:
+ self.fail("Failed to SSH into VM - %s" % (nat_rule.ipaddress))
+
+ self.assertEqual(
+ result.count("3 packets received"),
+ 1,
+ "Ping to outside world from VM should be successful"
+ )
+
+ def test_password_file_not_empty(self, vm, router):
+ hosts = list_hosts(
+ self.apiclient,
+ id=router.hostid)
+
+ self.assertEqual(
+ isinstance(hosts, list),
+ True,
+ "Check for list hosts response return valid data")
+
+ host = hosts[0]
+ host.user = self.services["configurableData"]["host"]["username"]
+ host.passwd = self.services["configurableData"]["host"]["password"]
+ host.port = self.services["configurableData"]["host"]["port"]
+
+ try:
+ result = get_process_status(
+ host.ipaddress,
+ host.port,
+ host.user,
+ host.passwd,
+ router.linklocalip,
+ "cat /var/cache/cloud/passwords-%s | grep %s | sed 's/=/ /g' | awk '{print $1}'" % (vm.nic[0].gateway, vm.nic[0].ipaddress))
+ except KeyError:
+ self.skipTest(
+ "Provide a marvin config file with host\
+ credentials to run %s" %
+ self._testMethodName)
+
+ self.logger.debug("cat /var/cache/cloud/passwords-%s | grep %s | sed 's/=/ /g' | awk '{print $1}' RESULT IS ==> %s" % (vm.nic[0].gateway, vm.nic[0].ipaddress, result))
+ res = str(result)
+
+ self.assertEqual(
+ res.count(vm.nic[0].ipaddress),
+ 1,
+ "Password file is empty or doesn't exist!")
+
+ @attr(tags=["advanced", "advancedns", "ssh"], required_hardware="true")
+ def test_isolate_network_password_server(self):
+ """Check the password file in the Router VM"""
+
+ self.logger.debug("Starting test_isolate_network_password_server...")
+ routers = list_routers(
+ self.apiclient,
+ account=self.account.name,
+ domainid=self.account.domainid
+ )
+
+ self.assertEqual(
+ isinstance(routers, list),
+ True,
+ "Check for list routers response return valid data"
+ )
+
+ self.assertNotEqual(
+ len(routers),
+ 0,
+ "Check list router response"
+ )
+
+ router = routers[0]
+
+ self.assertEqual(
+ router.state,
+ 'Running',
+ "Check list router response for router state"
+ )
+
+ public_ips = list_publicIP(
+ self.apiclient,
+ account=self.account.name,
+ domainid=self.account.domainid,
+ zoneid=self.zone.id
+ )
+
+ self.assertEqual(
+ isinstance(public_ips, list),
+ True,
+ "Check for list public IPs response return valid data"
+ )
+
+ public_ip = public_ips[0]
+
+ self.logger.debug("Creating Firewall rule for VM ID: %s" % self.vm_1.id)
+ FireWallRule.create(
+ self.apiclient,
+ ipaddressid=public_ip.id,
+ protocol=self.services["natrule1"]["protocol"],
+ cidrlist=['0.0.0.0/0'],
+ startport=self.services["natrule1"]["publicport"],
+ endport=self.services["natrule1"]["publicport"]
+ )
+
+ self.logger.debug("Creating NAT rule for VM ID: %s" % self.vm_1.id)
+ # Create NAT rule
+ nat_rule1 = NATRule.create(
+ self.apiclient,
+ self.vm_1,
+ self.services["natrule1"],
+ public_ip.id
+ )
+
+ self.logger.debug("Creating Firewall rule for VM ID: %s" % self.vm_2.id)
+ FireWallRule.create(
+ self.apiclient,
+ ipaddressid=public_ip.id,
+ protocol=self.services["natrule2"]["protocol"],
+ cidrlist=['0.0.0.0/0'],
+ startport=self.services["natrule2"]["publicport"],
+ endport=self.services["natrule2"]["publicport"]
+ )
+
+ self.logger.debug("Creating NAT rule for VM ID: %s" % self.vm_2.id)
+ # Create NAT rule
+ nat_rule2 = NATRule.create(
+ self.apiclient,
+ self.vm_2,
+ self.services["natrule2"],
+ public_ip.id
+ )
+
+ nat_rules = list_nat_rules(
+ self.apiclient,
+ id=nat_rule1.id
+ )
+ self.assertEqual(
+ isinstance(nat_rules, list),
+ True,
+ "Check for list NAT rules response return valid data"
+ )
+ self.assertEqual(
+ nat_rules[0].state,
+ 'Active',
+ "Check list port forwarding rules"
+ )
+
+ nat_rules = list_nat_rules(
+ self.apiclient,
+ id=nat_rule2.id
+ )
+ self.assertEqual(
+ isinstance(nat_rules, list),
+ True,
+ "Check for list NAT rules response return valid data"
+ )
+ self.assertEqual(
+ nat_rules[0].state,
+ 'Active',
+ "Check list port forwarding rules"
+ )
+
+ self.test_ssh_command(self.vm_1, nat_rule1, "natrule1")
+ self.test_ssh_command(self.vm_2, nat_rule2, "natrule2")
+
+ self.test_password_file_not_empty(self.vm_1, router)
+ self.test_password_file_not_empty(self.vm_2, router)
+
+ return
diff --git a/test/integration/component/test_ps_limits.py b/test/integration/component/test_ps_limits.py
index e937456..983f72a 100644
--- a/test/integration/component/test_ps_limits.py
+++ b/test/integration/component/test_ps_limits.py
@@ -156,7 +156,7 @@
return [PASS, None]
@data(ROOT_DOMAIN_ADMIN, CHILD_DOMAIN_ADMIN)
- @attr(tags=["advanced"], required_hardware="false")
+ @attr(tags=["advanced","basic"], required_hardware="false")
def test_stop_start_vm(self, value):
"""Test Deploy VM with 5 GB volume & verify the usage
@@ -195,7 +195,7 @@
@unittest.skip("skip")
@data(ROOT_DOMAIN_ADMIN, CHILD_DOMAIN_ADMIN)
- @attr(tags=["advanced"], required_hardware="false")
+ @attr(tags=["advanced","basic"], required_hardware="false")
def test_destroy_recover_vm(self, value):
"""Test delete and recover instance
@@ -233,7 +233,7 @@
return
@data(ROOT_DOMAIN_ADMIN, CHILD_DOMAIN_ADMIN)
- @attr(tags=["advanced"], required_hardware="false")
+ @attr(tags=["advanced","basic"], required_hardware="false")
def test_attach_detach_volume(self, value):
"""Stop attach and detach volume from VM
@@ -302,7 +302,7 @@
return
@data(ROOT_DOMAIN_ADMIN, CHILD_DOMAIN_ADMIN)
- @attr(tags=["advanced"], required_hardware="false")
+ @attr(tags=["advanced","basic"], required_hardware="false")
def test_create_multiple_volumes(self, value):
"""Test create multiple volumes
@@ -396,7 +396,7 @@
return
@data(ROOT_DOMAIN_ADMIN, CHILD_DOMAIN_ADMIN)
- @attr(tags=["advanced"], required_hardware="false")
+ @attr(tags=["advanced","basic"], required_hardware="false")
def test_deploy_multiple_vm(self, value):
"""Test Deploy multiple VMs with & verify the usage
# Validate the following
@@ -452,7 +452,7 @@
return
@data(ROOT_DOMAIN_ADMIN, CHILD_DOMAIN_ADMIN)
- @attr(tags=["advanced","selfservice"])
+ @attr(tags=["advanced","basic","selfservice"])
def test_assign_vm_different_account(self, value):
"""Test assign Vm to different account
# Validate the following
@@ -505,7 +505,7 @@
return
@data(ROOT_DOMAIN_ADMIN, CHILD_DOMAIN_ADMIN)
- @attr(tags=["advanced"], required_hardware="true")
+ @attr(tags=["advanced","basic"], required_hardware="true")
def test_create_template_snapshot(self, value):
"""Test create snapshot and templates from volume
diff --git a/test/integration/component/test_router_dhcphosts.py b/test/integration/component/test_router_dhcphosts.py
new file mode 100644
index 0000000..4c2ec4c
--- /dev/null
+++ b/test/integration/component/test_router_dhcphosts.py
@@ -0,0 +1,381 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# Import Local Modules
+from nose.plugins.attrib import attr
+from marvin.cloudstackTestCase import cloudstackTestCase
+from marvin.cloudstackAPI import (stopVirtualMachine,
+ stopRouter,
+ startRouter)
+from marvin.lib.utils import (cleanup_resources,
+ get_process_status)
+from marvin.lib.base import (ServiceOffering,
+ VirtualMachine,
+ Account,
+ ServiceOffering,
+ NATRule,
+ NetworkACL,
+ FireWallRule,
+ PublicIPAddress,
+ NetworkOffering,
+ Network,
+ Router)
+from marvin.lib.common import (get_zone,
+ get_template,
+ get_domain,
+ list_virtual_machines,
+ list_networks,
+ list_configurations,
+ list_routers,
+ list_nat_rules,
+ list_publicIP,
+ list_firewall_rules,
+ list_hosts)
+
+# Import System modules
+import time
+import logging
+
+
+class TestRouterDHCPHosts(cloudstackTestCase):
+
+ @classmethod
+ def setUpClass(cls):
+
+ cls.logger = logging.getLogger('TestRouterDHCPHosts')
+ cls.stream_handler = logging.StreamHandler()
+ cls.logger.setLevel(logging.DEBUG)
+ cls.logger.addHandler(cls.stream_handler)
+
+ cls.testClient = super(TestRouterDHCPHosts, cls).getClsTestClient()
+ cls.api_client = cls.testClient.getApiClient()
+
+ cls.services = cls.testClient.getParsedTestDataConfig()
+ # Get Zone, Domain and templates
+ cls.domain = get_domain(cls.api_client)
+ cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
+ cls.services['mode'] = cls.zone.networktype
+ cls.template = get_template(
+ cls.api_client,
+ cls.zone.id,
+ cls.services["ostype"]
+ )
+
+ cls.services["virtual_machine"]["zoneid"] = cls.zone.id
+
+ cls.logger.debug("Creating Admin Account for domain %s on zone %s" % (cls.domain.id, cls.zone.id))
+ # Create an account, network, VM and IP addresses
+ cls.account = Account.create(
+ cls.api_client,
+ cls.services["account"],
+ admin=True,
+ domainid=cls.domain.id
+ )
+
+ cls.logger.debug("Creating Service Offering on zone %s" % (cls.zone.id))
+ cls.service_offering = ServiceOffering.create(
+ cls.api_client,
+ cls.services["service_offering"]
+ )
+
+ cls.services["isolated_network_offering"]["egress_policy"] = "true"
+
+ cls.logger.debug("Creating Network Offering on zone %s" % (cls.zone.id))
+ cls.network_offering = NetworkOffering.create(cls.api_client,
+ cls.services["isolated_network_offering"],
+ conservemode=True)
+
+ cls.network_offering.update(cls.api_client, state='Enabled')
+
+ cls.logger.debug("Creating Network for Account %s using offering %s" % (cls.account.name, cls.network_offering.id))
+ cls.network = Network.create(cls.api_client,
+ cls.services["network"],
+ accountid=cls.account.name,
+ domainid=cls.account.domainid,
+ networkofferingid=cls.network_offering.id,
+ zoneid=cls.zone.id)
+
+ cls.logger.debug("Creating VM1 for Account %s using offering %s with IP 10.1.1.50" % (cls.account.name, cls.service_offering.id))
+ cls.vm_1 = VirtualMachine.create(cls.api_client,
+ cls.services["virtual_machine"],
+ templateid=cls.template.id,
+ accountid=cls.account.name,
+ domainid=cls.domain.id,
+ serviceofferingid=cls.service_offering.id,
+ networkids=[str(cls.network.id)],
+ ipaddress="10.1.1.50")
+
+ cls.logger.debug("Creating VM2 for Account %s using offering %s with IP 10.1.1.51" % (cls.account.name, cls.service_offering.id))
+ cls.vm_2 = VirtualMachine.create(cls.api_client,
+ cls.services["virtual_machine"],
+ templateid=cls.template.id,
+ accountid=cls.account.name,
+ domainid=cls.domain.id,
+ serviceofferingid=cls.service_offering.id,
+ networkids=[str(cls.network.id)],
+ ipaddress="10.1.1.51")
+
+ cls.services["natrule1"] = {
+ "privateport": 22,
+ "publicport": 222,
+ "protocol": "TCP"
+ }
+
+ cls.services["natrule2"] = {
+ "privateport": 22,
+ "publicport": 223,
+ "protocol": "TCP"
+ }
+
+ cls.services["configurableData"] = {
+ "host": {
+ "password": "password",
+ "username": "root",
+ "port": 22
+ },
+ "input": "INPUT",
+ "forward": "FORWARD"
+ }
+
+ cls._cleanup = [
+ cls.vm_2,
+ cls.network,
+ cls.network_offering,
+ cls.service_offering,
+ cls.account
+ ]
+
+ return
+
+ @classmethod
+ def tearDownClass(cls):
+ try:
+ cleanup_resources(cls.api_client, cls._cleanup)
+ except Exception as e:
+ raise Exception("Warning: Exception during cleanup : %s" % e)
+ return
+
+ def setUp(self):
+ self.apiclient = self.testClient.getApiClient()
+ self.cleanup = []
+ return
+
+ def tearDown(self):
+ try:
+ cleanup_resources(self.apiclient, self.cleanup)
+ except Exception as e:
+ raise Exception("Warning: Exception during cleanup : %s" % e)
+ return
+
+ def test_ssh_command(self, vm, nat_rule, rule_label):
+ result = 'failed'
+ try:
+ ssh_command = "ping -c 3 8.8.8.8"
+ self.logger.debug("SSH into VM with IP: %s" % nat_rule.ipaddress)
+
+ ssh = vm.get_ssh_client(ipaddress=nat_rule.ipaddress, port=self.services[rule_label]["publicport"], retries=5)
+ result = str(ssh.execute(ssh_command))
+
+ self.logger.debug("SSH result: %s; COUNT is ==> %s" % (result, result.count("3 packets received")))
+ except:
+ self.fail("Failed to SSH into VM - %s" % (nat_rule.ipaddress))
+
+ self.assertEqual(
+ result.count("3 packets received"),
+ 1,
+ "Ping to outside world from VM should be successful"
+ )
+
+ def test_dhcphosts(self, vm, router):
+ hosts = list_hosts(
+ self.apiclient,
+ id=router.hostid)
+
+ self.assertEqual(
+ isinstance(hosts, list),
+ True,
+ "Check for list hosts response return valid data")
+
+ host = hosts[0]
+ host.user = self.services["configurableData"]["host"]["username"]
+ host.passwd = self.services["configurableData"]["host"]["password"]
+ host.port = self.services["configurableData"]["host"]["port"]
+ #mac1,10.7.32.101,infinite
+ try:
+ result = get_process_status(
+ host.ipaddress,
+ host.port,
+ host.user,
+ host.passwd,
+ router.linklocalip,
+ "cat /etc/dhcphosts.txt | grep %s | sed 's/\,/ /g' | awk '{print $2}'" % (vm.nic[0].ipaddress))
+ except KeyError:
+ self.skipTest(
+ "Provide a marvin config file with host\
+ credentials to run %s" %
+ self._testMethodName)
+
+ self.logger.debug("cat /etc/dhcphosts.txt | grep %s | sed 's/\,/ /g' | awk '{print $2}' RESULT IS ==> %s" % (vm.nic[0].ipaddress, result))
+ res = str(result)
+
+ self.assertEqual(
+ res.count(vm.nic[0].ipaddress),
+ 1,
+ "DHCP hosts file contains duplicate IPs ==> %s!" % res)
+
+ @attr(tags=["advanced", "advancedns", "ssh"], required_hardware="true")
+ def test_router_dhcphosts(self):
+ """Check that the /etc/dhcphosts.txt doesn't contain duplicate IPs"""
+
+ self.logger.debug("Starting test_router_dhcphosts...")
+ routers = list_routers(
+ self.apiclient,
+ account=self.account.name,
+ domainid=self.account.domainid
+ )
+
+ self.assertEqual(
+ isinstance(routers, list),
+ True,
+ "Check for list routers response return valid data"
+ )
+
+ self.assertNotEqual(
+ len(routers),
+ 0,
+ "Check list router response"
+ )
+
+ router = routers[0]
+
+ self.assertEqual(
+ router.state,
+ 'Running',
+ "Check list router response for router state"
+ )
+
+ public_ips = list_publicIP(
+ self.apiclient,
+ account=self.account.name,
+ domainid=self.account.domainid,
+ zoneid=self.zone.id
+ )
+
+ self.assertEqual(
+ isinstance(public_ips, list),
+ True,
+ "Check for list public IPs response return valid data"
+ )
+
+ public_ip = public_ips[0]
+
+ self.logger.debug("Creating Firewall rule for VM ID: %s" % self.vm_1.id)
+ FireWallRule.create(
+ self.apiclient,
+ ipaddressid=public_ip.id,
+ protocol=self.services["natrule1"]["protocol"],
+ cidrlist=['0.0.0.0/0'],
+ startport=self.services["natrule1"]["publicport"],
+ endport=self.services["natrule1"]["publicport"]
+ )
+
+ self.logger.debug("Creating NAT rule for VM ID: %s" % self.vm_1.id)
+ # Create NAT rule
+ nat_rule1 = NATRule.create(
+ self.apiclient,
+ self.vm_1,
+ self.services["natrule1"],
+ public_ip.id
+ )
+
+ self.logger.debug("Creating Firewall rule for VM ID: %s" % self.vm_2.id)
+ FireWallRule.create(
+ self.apiclient,
+ ipaddressid=public_ip.id,
+ protocol=self.services["natrule2"]["protocol"],
+ cidrlist=['0.0.0.0/0'],
+ startport=self.services["natrule2"]["publicport"],
+ endport=self.services["natrule2"]["publicport"]
+ )
+
+ self.logger.debug("Creating NAT rule for VM ID: %s" % self.vm_2.id)
+ # Create NAT rule
+ nat_rule2 = NATRule.create(
+ self.apiclient,
+ self.vm_2,
+ self.services["natrule2"],
+ public_ip.id
+ )
+
+ nat_rules = list_nat_rules(
+ self.apiclient,
+ id=nat_rule1.id
+ )
+ self.assertEqual(
+ isinstance(nat_rules, list),
+ True,
+ "Check for list NAT rules response return valid data"
+ )
+ self.assertEqual(
+ nat_rules[0].state,
+ 'Active',
+ "Check list port forwarding rules"
+ )
+
+ nat_rules = list_nat_rules(
+ self.apiclient,
+ id=nat_rule2.id
+ )
+ self.assertEqual(
+ isinstance(nat_rules, list),
+ True,
+ "Check for list NAT rules response return valid data"
+ )
+ self.assertEqual(
+ nat_rules[0].state,
+ 'Active',
+ "Check list port forwarding rules"
+ )
+
+ self.logger.debug("Testing SSH to VMs %s and %s" % (self.vm_1.id, self.vm_2.id))
+ self.test_ssh_command(self.vm_1, nat_rule1, "natrule1")
+ self.test_ssh_command(self.vm_2, nat_rule2, "natrule2")
+
+ self.logger.debug("Testing DHCP hosts for VMs %s and %s" % (self.vm_1.id, self.vm_2.id))
+ self.test_dhcphosts(self.vm_1, router)
+ self.test_dhcphosts(self.vm_2, router)
+
+ self.logger.debug("Deleting and Expunging VM %s with ip %s" % (self.vm_1.id, self.vm_1.nic[0].ipaddress))
+ self.vm_1.delete(self.apiclient)
+
+ self.logger.debug("Creating new VM using the same IP as the one which was deleted => IP 10.1.1.50")
+ self.vm_1 = VirtualMachine.create(self.apiclient,
+ self.services["virtual_machine"],
+ templateid=self.template.id,
+ accountid=self.account.name,
+ domainid=self.domain.id,
+ serviceofferingid=self.service_offering.id,
+ networkids=[str(self.network.id)],
+ ipaddress="10.1.1.50")
+
+ self.cleanup.append(self.vm_1)
+
+ self.logger.debug("Testing DHCP hosts for VMs %s and %s" % (self.vm_1.id, self.vm_2.id))
+ self.test_dhcphosts(self.vm_1, router)
+ self.test_dhcphosts(self.vm_2, router)
+
+ return
diff --git a/test/integration/component/test_vpc.py b/test/integration/component/test_vpc.py
index bae89c5..f81f53f 100644
--- a/test/integration/component/test_vpc.py
+++ b/test/integration/component/test_vpc.py
@@ -2432,3 +2432,61 @@
self.assertEqual(vpc_networks[0].displaytext,
new_display_text,
"Updation of VPC display text failed.")
+
+ @attr(tags=["advanced", "intervlan"], required_hardware="false")
+ def test_21_deploy_vm_with_gateway_ip(self):
+ self.services["vpc"]["cidr"] = "192.168.1.0/24"
+ self.debug("creating a VPC network in the account: %s" %
+ self.account.name)
+ vpc = VPC.create(
+ self.apiclient,
+ self.services["vpc"],
+ vpcofferingid=self.vpc_off.id,
+ zoneid=self.zone.id,
+ account=self.account.name,
+ domainid=self.account.domainid
+ )
+ self.validate_vpc_network(vpc)
+ self.network_offering = NetworkOffering.create(
+ self.apiclient,
+ self.services["network_offering"],
+ conservemode=False
+ )
+ # Enable Network offering
+ self.network_offering.update(self.apiclient, state='Enabled')
+ self.cleanup.append(self.network_offering)
+ #Instead of first ip, assigning last ip in the CIDR as the gateway ip
+ gateway = "192.168.1.2"
+ self.services["network"]["netmask"] = "255.255.255.252"
+ # Split the cidr to retrieve gateway
+ # for eg. cidr = 10.0.0.1/24
+ # Gateway = 10.0.0.1
+
+ # Creating network using the network offering created
+ self.debug("Creating network with network offering: %s" %
+ self.network_offering.id)
+ network = Network.create(
+ self.apiclient,
+ self.services["network"],
+ accountid=self.account.name,
+ domainid=self.account.domainid,
+ networkofferingid=self.network_offering.id,
+ zoneid=self.zone.id,
+ gateway=gateway,
+ vpcid=vpc.id
+ )
+ self.debug("Created network with ID: %s" % network.id)
+ vm = VirtualMachine.create(
+ self.apiclient,
+ self.services["virtual_machine"],
+ accountid=self.account.name,
+ domainid=self.account.domainid,
+ serviceofferingid=self.service_offering.id,
+ networkids=[str(network.id)]
+ )
+ self.debug("Deployed VM in network: %s" % network.id)
+ self.assertIsNotNone(
+ vm,
+ "Failed to create VM with first ip address in the CIDR as the vm ip"
+ )
+ return
diff --git a/test/integration/smoke/test_network.py b/test/integration/smoke/test_network.py
index 05dd67a..719d78a 100644
--- a/test/integration/smoke/test_network.py
+++ b/test/integration/smoke/test_network.py
@@ -50,9 +50,14 @@
from ddt import ddt, data
# Import System modules
import time
+import logging
_multiprocess_shared_ = True
+logger = logging.getLogger('TestNetworkOps')
+stream_handler = logging.StreamHandler()
+logger.setLevel(logging.DEBUG)
+logger.addHandler(stream_handler)
class TestPublicIP(cloudstackTestCase):
@@ -390,7 +395,7 @@
)
# SSH virtual machine to test port forwarding
try:
- self.debug("SSHing into VM with IP address %s with NAT IP %s" %
+ logger.debug("SSHing into VM with IP address %s with NAT IP %s" %
(
self.virtual_machine.ipaddress,
src_nat_ip_addr.ipaddress
@@ -424,7 +429,7 @@
# Check if the Public SSH port is inaccessible
with self.assertRaises(Exception):
- self.debug(
+ logger.debug(
"SSHing into VM with IP address %s after NAT rule deletion" %
self.virtual_machine.ipaddress)
@@ -518,7 +523,7 @@
)
try:
- self.debug("SSHing into VM with IP address %s with NAT IP %s" %
+ logger.debug("SSHing into VM with IP address %s with NAT IP %s" %
(
self.virtual_machine.ipaddress,
ip_address.ipaddress.ipaddress
@@ -538,11 +543,11 @@
id=nat_rule.id
)
except CloudstackAPIException:
- self.debug("Nat Rule is deleted")
+ logger.debug("Nat Rule is deleted")
# Check if the Public SSH port is inaccessible
with self.assertRaises(Exception):
- self.debug(
+ logger.debug(
"SSHing into VM with IP address %s after NAT rule deletion" %
self.virtual_machine.ipaddress)
@@ -673,8 +678,8 @@
# Retrieve router for the user account
- self.debug("Public IP: %s" % self.vm_1.ssh_ip)
- self.debug("Public IP: %s" % self.public_ip.ipaddress.ipaddress)
+ logger.debug("Public IP: %s" % self.vm_1.ssh_ip)
+ logger.debug("Public IP: %s" % self.public_ip.ipaddress.ipaddress)
routers = list_routers(
self.apiclient,
account=self.account.name,
@@ -688,7 +693,7 @@
router = routers[0]
- self.debug("Rebooting the router (ID: %s)" % router.id)
+ logger.debug("Rebooting the router (ID: %s)" % router.id)
cmd = rebootRouter.rebootRouterCmd()
cmd.id = router.id
@@ -710,7 +715,7 @@
vm = list_vm_response[0]
if vm.state == 'Running':
- self.debug("VM state: %s" % vm.state)
+ logger.debug("VM state: %s" % vm.state)
break
if timeout == 0:
@@ -722,7 +727,7 @@
# we should be able to SSH after successful reboot
try:
- self.debug("SSH into VM (ID : %s ) after reboot" % self.vm_1.id)
+ logger.debug("SSH into VM (ID : %s ) after reboot" % self.vm_1.id)
SshClient(
self.public_ip.ipaddress.ipaddress,
@@ -825,7 +830,7 @@
def test_releaseIP(self):
"""Test for release public IP address"""
- self.debug("Deleting Public IP : %s" % self.ip_addr.id)
+ logger.debug("Deleting Public IP : %s" % self.ip_addr.id)
self.ip_address.delete(self.apiclient)
@@ -854,9 +859,9 @@
self.apiclient,
id=self.nat_rule.id
)
- self.debug("List NAT Rule response" + str(list_nat_rule))
+ logger.debug("List NAT Rule response" + str(list_nat_rule))
except CloudstackAPIException:
- self.debug("Port Forwarding Rule is deleted")
+ logger.debug("Port Forwarding Rule is deleted")
# listLoadBalancerRules should not list
# associated rules with Public IP address
@@ -865,9 +870,9 @@
self.apiclient,
id=self.lb_rule.id
)
- self.debug("List LB Rule response" + str(list_lb_rule))
+ logger.debug("List LB Rule response" + str(list_lb_rule))
except CloudstackAPIException:
- self.debug("Port Forwarding Rule is deleted")
+ logger.debug("Port Forwarding Rule is deleted")
# SSH Attempt though public IP should fail
with self.assertRaises(Exception):
@@ -982,7 +987,7 @@
domainid=self.account.domainid
)
except CloudstackAPIException:
- self.debug("Port Forwarding Rule is deleted")
+ logger.debug("Port Forwarding Rule is deleted")
# ListPortForwardingRules should not
# list associated rules with deleted account
@@ -993,7 +998,7 @@
domainid=self.account.domainid
)
except CloudstackAPIException:
- self.debug("NATRule is deleted")
+ logger.debug("NATRule is deleted")
# Retrieve router for the user account
try:
@@ -1008,7 +1013,7 @@
"Check routers are properly deleted."
)
except CloudstackAPIException:
- self.debug("Router is deleted")
+ logger.debug("Router is deleted")
except Exception as e:
raise Exception(
@@ -1172,7 +1177,7 @@
)
return
- def removeNetworkRules(self, rule, ipaddressobj):
+ def removeNetworkRules(self, rule):
""" Remove specified rule on acquired public IP and
default network of virtual machine
"""
@@ -1181,12 +1186,16 @@
if rule == STATIC_NAT_RULE:
StaticNATRule.disable(
self.apiclient,
- ipaddressobj.ipaddress.id)
+ self.ipaddress.ipaddress.id)
elif rule == LB_RULE:
self.lb_rule.delete(self.apiclient)
else:
self.nat_rule.delete(self.apiclient)
+
+ logger.debug("Releasing IP %s from account %s" % (self.ipaddress.ipaddress.ipaddress, self.account.name))
+ self.ipaddress.delete(self.apiclient)
+
return
@data(STATIC_NAT_RULE, NAT_RULE, LB_RULE)
@@ -1205,7 +1214,6 @@
domainid=self.account.domainid,
networkid=self.defaultNetworkId
)
- self.cleanup.append(self.ipaddress)
self.createNetworkRules(rule=value,
ipaddressobj=self.ipaddress,
@@ -1216,13 +1224,13 @@
listall=True)[0]
response = self.getCommandResultFromRouter(router, "ip addr")
- self.debug(response)
+ logger.debug(response)
stringToMatch = "inet %s" % self.ipaddress.ipaddress.ipaddress
self.assertTrue(stringToMatch in str(response), "IP address is\
- not removed from VR even after disabling statin NAT")
+ not added to the VR!")
try:
- self.debug("SSHing into VM with IP address %s with NAT IP %s" %
+ logger.debug("SSHing into VM with IP address %s with NAT IP %s" %
(
self.virtual_machine.ipaddress,
self.ipaddress.ipaddress.ipaddress
@@ -1239,17 +1247,17 @@
# 1. listIpForwardingRules should not return the deleted rule anymore
# 2. attempt to do ssh should now fail
- self.removeNetworkRules(rule=value, ipaddressobj=self.ipaddress)
+ self.removeNetworkRules(rule=value)
response = self.getCommandResultFromRouter(router, "ip addr")
- self.debug(response)
+ logger.debug(response)
stringToMatch = "inet %s" % self.ipaddress.ipaddress.ipaddress
self.assertFalse(stringToMatch in str(response), "IP address is\
- not removed from VR even after disabling statin NAT")
+ not removed from VR even after disabling stat in NAT")
# Check if the Public SSH port is inaccessible
with self.assertRaises(Exception):
- self.debug(
+ logger.debug(
"SSHing into VM with IP address %s after NAT rule deletion" %
self.virtual_machine.ipaddress)
diff --git a/test/integration/smoke/test_ssvm.py b/test/integration/smoke/test_ssvm.py
index 9224893..81dba32 100644
--- a/test/integration/smoke/test_ssvm.py
+++ b/test/integration/smoke/test_ssvm.py
@@ -490,7 +490,7 @@
self.apiclient.connection.user,
self.apiclient.connection.passwd,
ssvm.privateip,
- "cat /var/cache/cloud/cmdline | xargs | sed \"s/ /\\n/g\" | grep eth0ip= | sed \"s/\=/ /g\" | awk '{print $2}'",
+ "cat /var/cache/cloud/cmdline | xargs | sed \"s/ /\\n/g\" | grep eth1ip= | sed \"s/\=/ /g\" | awk '{print $2}'",
hypervisor=self.hypervisor
)
else:
@@ -625,7 +625,7 @@
self.apiclient.connection.user,
self.apiclient.connection.passwd,
cpvm.privateip,
- "cat /var/cache/cloud/cmdline | xargs | sed \"s/ /\\n/g\" | grep eth0ip= | sed \"s/\=/ /g\" | awk '{print $2}'",
+ "cat /var/cache/cloud/cmdline | xargs | sed \"s/ /\\n/g\" | grep eth1ip= | sed \"s/\=/ /g\" | awk '{print $2}'",
hypervisor=self.hypervisor
)
else:
diff --git a/test/integration/smoke/test_vpc_vpn.py b/test/integration/smoke/test_vpc_vpn.py
index 5a322d3..c5cc12c 100644
--- a/test/integration/smoke/test_vpc_vpn.py
+++ b/test/integration/smoke/test_vpc_vpn.py
@@ -58,6 +58,7 @@
import logging
import time
+
class Services:
"""Test VPC VPN Services.
@@ -179,16 +180,16 @@
"gateway": "10.2.1.1"
},
"vpn": {
- "vpn_user":"root",
- "vpn_pass":"Md1s#dc",
- "vpn_pass_fail":"abc!123", # too short
- "iprange":"10.2.2.1-10.2.2.10",
+ "vpn_user": "root",
+ "vpn_pass": "Md1s#dc",
+ "vpn_pass_fail": "abc!123", # too short
+ "iprange": "10.2.2.1-10.2.2.10",
"fordisplay": "true"
},
"vpncustomergateway": {
- "esppolicy":"3des-md5;modp1536",
- "ikepolicy":"3des-md5;modp1536",
- "ipsecpsk":"ipsecpsk"
+ "esppolicy": "3des-md5;modp1536",
+ "ikepolicy": "3des-md5;modp1536",
+ "ipsecpsk": "ipsecpsk"
},
"natrule": {
"protocol": "TCP",
@@ -211,24 +212,28 @@
"publicport": 22,
"protocol": 'TCP',
},
- "template_kvm": {
- "name": "tiny-kvm",
- "displaytext": "macchinina kvm",
- "format": "qcow2",
- "hypervisor": "kvm",
- "ostype": "Other PV (64-bit)",
- "url": "http://dl.openvm.eu/cloudstack/macchinina/x86_64/macchinina-kvm.qcow2.bz2",
- "requireshvm": "True",
- },
- "template_xen": {
- "name": "tiny-xen",
- "displaytext": "macchinina xen",
- "format": "vhd",
- "hypervisor": "xen",
- "ostype": "Other (64-bit)",
- "url": "http://dl.openvm.eu/cloudstack/macchinina/x86_64/macchinina-xen.vhd.bz2",
- "requireshvm": "True",
- },
+ "template": {
+
+ "kvm": {
+ "name": "tiny-kvm",
+ "displaytext": "macchinina kvm",
+ "format": "qcow2",
+ "hypervisor": "kvm",
+ "ostype": "Other PV (64-bit)",
+ "url": "http://dl.openvm.eu/cloudstack/macchinina/x86_64/macchinina-kvm.qcow2.bz2",
+ "requireshvm": "True",
+ },
+
+ "xen": {
+ "name": "tiny-xen",
+ "displaytext": "macchinina xen",
+ "format": "vhd",
+ "hypervisor": "xen",
+ "ostype": "Other (64-bit)",
+ "url": "http://dl.openvm.eu/cloudstack/macchinina/x86_64/macchinina-xen.vhd.bz2",
+ "requireshvm": "True",
+ },
+ }
}
@@ -241,7 +246,6 @@
cls.stream_handler = logging.StreamHandler()
cls.logger.setLevel(logging.DEBUG)
cls.logger.addHandler(cls.stream_handler)
- cls.startTime = time.time()
testClient = super(TestVpcRemoteAccessVpn, cls).getClsTestClient()
cls.apiclient = testClient.getApiClient()
@@ -253,50 +257,55 @@
cls.apiclient,
cls.services["compute_offering"]
)
- cls.account = Account.create(cls.apiclient, services=cls.services["account"])
+ cls.account = Account.create(
+ cls.apiclient, services=cls.services["account"])
- if cls.services["default_hypervisor"] == "kvm":
- cls.template = Template.register(cls.apiclient, cls.services["template_kvm"], cls.zone.id, hypervisor=cls.services[
- "template_kvm"]["hypervisor"], account=cls.account.name, domainid=cls.domain.id)
- else:
- cls.template = Template.register(cls.apiclient, cls.services["template_xen"], cls.zone.id, hypervisor=cls.services[
- "template_xen"]["hypervisor"], account=cls.account.name, domainid=cls.domain.id)
+ cls.hypervisor = cls.services["default_hypervisor"]
+ cls.logger.debug("Downloading Template: %s from: %s" % (cls.services["template"][
+ cls.hypervisor]["name"], cls.services["template"][cls.hypervisor]["url"]))
+ cls.template = Template.register(cls.apiclient, cls.services["template"][
+ cls.hypervisor], cls.zone.id, hypervisor=cls.hypervisor, account=cls.account.name, domainid=cls.domain.id)
+ cls.template.download(cls.apiclient)
if cls.template == FAILED:
- assert False, "get_template() failed to return template with description %s" % cls.services["compute_offering"]
+ assert False, "get_template() failed to return template with description %s" % cls.services[
+ "compute_offering"]
- cls.services["virtual_machine"]["hypervisor"] = cls.services["default_hypervisor"]
+ cls.services["virtual_machine"][
+ "hypervisor"] = cls.services["default_hypervisor"]
cls.cleanup = [cls.account]
-
- @attr(tags=["advanced"], required_hardware="false")
+ @attr(tags=["advanced"], required_hardware="true")
def test_vpc_remote_access_vpn(self):
"""Test Remote Access VPN in VPC"""
# 0) Get the default network offering for VPC
self.logger.debug("Retrieving default VPC offering")
- networkOffering = NetworkOffering.list(self.apiclient, name="DefaultIsolatedNetworkOfferingForVpcNetworks")
- self.assert_(networkOffering is not None and len(networkOffering) > 0, "No VPC based network offering")
+ networkOffering = NetworkOffering.list(
+ self.apiclient, name="DefaultIsolatedNetworkOfferingForVpcNetworks")
+ self.assert_(networkOffering is not None and len(
+ networkOffering) > 0, "No VPC based network offering")
# 1) Create VPC
- vpcOffering = VpcOffering.list(self.apiclient,isdefault=True)
- self.assert_(vpcOffering is not None and len(vpcOffering)>0, "No VPC offerings found")
+ vpcOffering = VpcOffering.list(self.apiclient, isdefault=True)
+ self.assert_(vpcOffering is not None and len(
+ vpcOffering) > 0, "No VPC offerings found")
try:
vpc = VPC.create(
- apiclient=self.apiclient,
- services=self.services["vpc"],
- networkDomain="vpc.vpn",
- vpcofferingid=vpcOffering[0].id,
- zoneid=self.zone.id,
- account=self.account.name,
- domainid=self.domain.id
+ apiclient=self.apiclient,
+ services=self.services["vpc"],
+ networkDomain="vpc.vpn",
+ vpcofferingid=vpcOffering[0].id,
+ zoneid=self.zone.id,
+ account=self.account.name,
+ domainid=self.domain.id
)
except Exception as e:
self.fail(e)
finally:
self.assert_(vpc is not None, "VPC creation failed")
- self.logger.debug("VPC %s created" %(vpc.id))
+ self.logger.debug("VPC %s created" % (vpc.id))
try:
# 2) Create network in VPC
@@ -313,22 +322,24 @@
self.fail(e)
finally:
self.assertIsNotNone(ntwk, "Network failed to create")
- self.logger.debug("Network %s created in VPC %s" %(ntwk.id, vpc.id))
+ self.logger.debug(
+ "Network %s created in VPC %s" % (ntwk.id, vpc.id))
try:
# 3) Deploy a vm
vm = VirtualMachine.create(self.apiclient, services=self.services["virtual_machine"],
- templateid=self.template.id,
- zoneid=self.zone.id,
- accountid=self.account.name,
- domainid= self.domain.id,
- serviceofferingid=self.compute_offering.id,
- networkids=ntwk.id,
- hypervisor=self.services["virtual_machine"]["hypervisor"]
- )
+ templateid=self.template.id,
+ zoneid=self.zone.id,
+ accountid=self.account.name,
+ domainid=self.domain.id,
+ serviceofferingid=self.compute_offering.id,
+ networkids=ntwk.id,
+ hypervisor=self.services[
+ "virtual_machine"]["hypervisor"]
+ )
self.assert_(vm is not None, "VM failed to deploy")
self.assert_(vm.state == 'Running', "VM is not running")
- self.debug("VM %s deployed in VPC %s" %(vm.id, vpc.id))
+ self.debug("VM %s deployed in VPC %s" % (vm.id, vpc.id))
except Exception as e:
self.fail(e)
finally:
@@ -337,13 +348,13 @@
try:
# 4) Enable VPN for VPC
src_nat_list = PublicIPAddress.list(
- self.apiclient,
- account=self.account.name,
- domainid=self.account.domainid,
- listall=True,
- issourcenat=True,
- vpcid=vpc.id
- )
+ self.apiclient,
+ account=self.account.name,
+ domainid=self.account.domainid,
+ listall=True,
+ issourcenat=True,
+ vpcid=vpc.id
+ )
ip = src_nat_list[0]
except Exception as e:
self.fail(e)
@@ -376,25 +387,23 @@
except Exception as e:
self.fail(e)
finally:
- self.assertIsNotNone(vpnUser, "Failed to create Remote Access VPN User")
+ self.assertIsNotNone(
+ vpnUser, "Failed to create Remote Access VPN User")
self.logger.debug("Created VPN User: OK")
-
- #TODO: Add an actual remote vpn connection test from a remote vpc
+ # TODO: Add an actual remote vpn connection test from a remote vpc
try:
# 9) Disable VPN for VPC
vpn.delete(self.apiclient)
- except Exceptio as e:
+ except Exception as e:
self.fail(e)
finally:
self.logger.debug("Deleted the Remote Access VPN: OK")
-
@classmethod
def tearDownClass(cls):
- total_time = time.time() - cls.startTime
- cls.logger.debug("%.3f" % (total_time))
+
try:
cls.logger.debug("Cleaning up resources")
cleanup_resources(cls.apiclient, cls.cleanup)
@@ -422,21 +431,23 @@
cls.services["compute_offering"]
)
- cls.account = Account.create(cls.apiclient, services=cls.services["account"])
- if cls.services["default_hypervisor"] == "kvm":
- cls.template = Template.register(cls.apiclient, cls.services["template_kvm"], cls.zone.id, hypervisor=cls.services[
- "template_kvm"]["hypervisor"], account=cls.account.name, domainid=cls.domain.id)
- else:
- cls.template = Template.register(cls.apiclient, cls.services["template_xen"], cls.zone.id, hypervisor=cls.services[
- "template_xen"]["hypervisor"], account=cls.account.name, domainid=cls.domain.id)
+ cls.account = Account.create(
+ cls.apiclient, services=cls.services["account"])
+ cls.hypervisor = cls.services["default_hypervisor"]
+ cls.logger.debug("Downloading Template: %s from: %s" % (cls.services["template"][
+ cls.hypervisor]["name"], cls.services["template"][cls.hypervisor]["url"]))
+ cls.template = Template.register(cls.apiclient, cls.services["template"][
+ cls.hypervisor], cls.zone.id, hypervisor=cls.hypervisor, account=cls.account.name, domainid=cls.domain.id)
+ cls.template.download(cls.apiclient)
if cls.template == FAILED:
- assert False, "get_template() failed to return template with description %s" % cls.services["compute_offering"]
+ assert False, "get_template() failed to return template with description %s" % cls.services[
+ "compute_offering"]
- cls.services["virtual_machine"]["hypervisor"] = cls.services["default_hypervisor"]
+ cls.services["virtual_machine"][
+ "hypervisor"] = cls.services["default_hypervisor"]
cls.cleanup = [cls.account]
-
def get_ssh_client(self, virtual_machine, services, retries):
""" Setup ssh client connection and return connection
vm requires attributes public_ip, public_port, username, password """
@@ -483,56 +494,59 @@
vm.public_port = int(public_port)
return nat_rule
-
- @attr(tags=["advanced"], required_hardware="false")
+ @attr(tags=["advanced"], required_hardware="true")
def test_vpc_site2site_vpn(self):
"""Test VPN in VPC"""
# 0) Get the default network offering for VPC
- networkOffering = NetworkOffering.list(self.apiclient, name="DefaultIsolatedNetworkOfferingForVpcNetworks")
- self.assert_(networkOffering is not None and len(networkOffering) > 0, "No VPC based network offering")
+ networkOffering = NetworkOffering.list(
+ self.apiclient, name="DefaultIsolatedNetworkOfferingForVpcNetworks")
+ self.assert_(networkOffering is not None and len(
+ networkOffering) > 0, "No VPC based network offering")
# 1) Create VPC offering
- vpcOffering = VpcOffering.list(self.apiclient,isdefault=True)
- self.assert_(vpcOffering is not None and len(vpcOffering)>0, "No VPC offerings found")
+ vpcOffering = VpcOffering.list(self.apiclient, isdefault=True)
+ self.assert_(vpcOffering is not None and len(
+ vpcOffering) > 0, "No VPC offerings found")
# Create VPC 1
try:
vpc1 = VPC.create(
- apiclient=self.apiclient,
- services=self.services["vpc"],
- networkDomain="vpc1.vpn",
- vpcofferingid=vpcOffering[0].id,
- zoneid=self.zone.id,
- account=self.account.name,
- domainid=self.domain.id
+ apiclient=self.apiclient,
+ services=self.services["vpc"],
+ networkDomain="vpc1.vpn",
+ vpcofferingid=vpcOffering[0].id,
+ zoneid=self.zone.id,
+ account=self.account.name,
+ domainid=self.domain.id
)
except Exception as e:
self.fail(e)
finally:
self.assert_(vpc1 is not None, "VPC1 creation failed")
- self.logger.debug("VPC1 %s created" %(vpc1.id))
+ self.logger.debug("VPC1 %s created" % (vpc1.id))
# Create VPC 2
try:
vpc2 = VPC.create(
- apiclient=self.apiclient,
- services=self.services["vpc2"],
- networkDomain="vpc2.vpn",
- vpcofferingid=vpcOffering[0].id,
- zoneid=self.zone.id,
- account=self.account.name,
- domainid=self.account.domainid
+ apiclient=self.apiclient,
+ services=self.services["vpc2"],
+ networkDomain="vpc2.vpn",
+ vpcofferingid=vpcOffering[0].id,
+ zoneid=self.zone.id,
+ account=self.account.name,
+ domainid=self.account.domainid
)
except Exception as e:
self.fail(e)
finally:
self.assert_(vpc2 is not None, "VPC2 creation failed")
- self.logger.debug("VPC2 %s created" %(vpc2.id))
+ self.logger.debug("VPC2 %s created" % (vpc2.id))
- default_acl = NetworkACLList.list(self.apiclient, name="default_allow")[0]
+ default_acl = NetworkACLList.list(
+ self.apiclient, name="default_allow")[0]
# Create network in VPC 1
try:
@@ -551,7 +565,7 @@
finally:
self.assertIsNotNone(ntwk1, "Network failed to create")
- self.logger.debug("Network %s created in VPC %s" %(ntwk1.id, vpc1.id))
+ self.logger.debug("Network %s created in VPC %s" % (ntwk1.id, vpc1.id))
# Create network in VPC 2
try:
@@ -570,127 +584,139 @@
finally:
self.assertIsNotNone(ntwk2, "Network failed to create")
- self.logger.debug("Network %s created in VPC %s" %(ntwk2.id, vpc2.id))
+ self.logger.debug("Network %s created in VPC %s" % (ntwk2.id, vpc2.id))
# Deploy a vm in network 2
try:
vm1 = VirtualMachine.create(self.apiclient, services=self.services["virtual_machine"],
- templateid=self.template.id,
- zoneid=self.zone.id,
- accountid=self.account.name,
- domainid= self.account.domainid,
- serviceofferingid=self.service_offering.id,
- networkids=ntwk1.id,
- hypervisor=self.services["virtual_machine"]["hypervisor"]
- )
+ templateid=self.template.id,
+ zoneid=self.zone.id,
+ accountid=self.account.name,
+ domainid=self.account.domainid,
+ serviceofferingid=self.service_offering.id,
+ networkids=ntwk1.id,
+ hypervisor=self.services[
+ "virtual_machine"]["hypervisor"]
+ )
except Exception as e:
self.fail(e)
finally:
self.assert_(vm1 is not None, "VM failed to deploy")
self.assert_(vm1.state == 'Running', "VM is not running")
- self.logger.debug("VM %s deployed in VPC %s" %(vm1.id, vpc1.id))
+ self.logger.debug("VM %s deployed in VPC %s" % (vm1.id, vpc1.id))
# Deploy a vm in network 2
try:
vm2 = VirtualMachine.create(self.apiclient, services=self.services["virtual_machine"],
- templateid=self.template.id,
- zoneid=self.zone.id,
- accountid=self.account.name,
- domainid= self.account.domainid,
- serviceofferingid=self.service_offering.id,
- networkids=ntwk2.id,
- hypervisor=self.services["virtual_machine"]["hypervisor"]
- )
+ templateid=self.template.id,
+ zoneid=self.zone.id,
+ accountid=self.account.name,
+ domainid=self.account.domainid,
+ serviceofferingid=self.service_offering.id,
+ networkids=ntwk2.id,
+ hypervisor=self.services[
+ "virtual_machine"]["hypervisor"]
+ )
except Exception as e:
self.fail(e)
finally:
self.assert_(vm2 is not None, "VM failed to deploy")
self.assert_(vm2.state == 'Running', "VM is not running")
- self.debug("VM %s deployed in VPC %s" %(vm2.id, vpc2.id))
+ self.debug("VM %s deployed in VPC %s" % (vm2.id, vpc2.id))
# 4) Enable Site-to-Site VPN for VPC
vpn1_response = Vpn.createVpnGateway(self.apiclient, vpc1.id)
- self.assert_(vpn1_response is not None, "Failed to enable VPN Gateway 1")
+ self.assert_(
+ vpn1_response is not None, "Failed to enable VPN Gateway 1")
self.logger.debug("VPN gateway for VPC %s enabled" % vpc1.id)
vpn2_response = Vpn.createVpnGateway(self.apiclient, vpc2.id)
- self.assert_(vpn2_response is not None, "Failed to enable VPN Gateway 2")
+ self.assert_(
+ vpn2_response is not None, "Failed to enable VPN Gateway 2")
self.logger.debug("VPN gateway for VPC %s enabled" % vpc2.id)
# 5) Add VPN Customer gateway info
src_nat_list = PublicIPAddress.list(
- self.apiclient,
- account=self.account.name,
- domainid=self.account.domainid,
- listall=True,
- issourcenat=True,
- vpcid=vpc1.id
- )
+ self.apiclient,
+ account=self.account.name,
+ domainid=self.account.domainid,
+ listall=True,
+ issourcenat=True,
+ vpcid=vpc1.id
+ )
ip1 = src_nat_list[0]
src_nat_list = PublicIPAddress.list(
- self.apiclient,
- account=self.account.name,
- domainid=self.account.domainid,
- listall=True,
- issourcenat=True,
- vpcid=vpc2.id
- )
+ self.apiclient,
+ account=self.account.name,
+ domainid=self.account.domainid,
+ listall=True,
+ issourcenat=True,
+ vpcid=vpc2.id
+ )
ip2 = src_nat_list[0]
services = self.services["vpncustomergateway"]
- customer1_response = VpnCustomerGateway.create(self.apiclient, services, "Peer VPC1", ip1.ipaddress, vpc1.cidr, self.account.name, self.domain.id )
- self.debug("VPN customer gateway added for VPC %s enabled" % vpc1.id )
+ customer1_response = VpnCustomerGateway.create(
+ self.apiclient, services, "Peer VPC1", ip1.ipaddress, vpc1.cidr, self.account.name, self.domain.id)
+ self.debug("VPN customer gateway added for VPC %s enabled" % vpc1.id)
self.logger.debug(vars(customer1_response))
- customer2_response = VpnCustomerGateway.create(self.apiclient, services, "Peer VPC2", ip2.ipaddress, vpc2.cidr, self.account.name, self.domain.id )
- self.debug("VPN customer gateway added for VPC %s enabled" % vpc2.id )
+ customer2_response = VpnCustomerGateway.create(
+ self.apiclient, services, "Peer VPC2", ip2.ipaddress, vpc2.cidr, self.account.name, self.domain.id)
+ self.debug("VPN customer gateway added for VPC %s enabled" % vpc2.id)
self.logger.debug(vars(customer2_response))
# 6) Connect two VPCs
- vpnconn1_response = Vpn.createVpnConnection(self.apiclient, customer1_response.id, vpn2_response['id'], True)
+ vpnconn1_response = Vpn.createVpnConnection(
+ self.apiclient, customer1_response.id, vpn2_response['id'], True)
self.debug("VPN passive connection created for VPC %s" % vpc2.id)
- vpnconn2_response = Vpn.createVpnConnection(self.apiclient, customer2_response.id, vpn1_response['id'])
+ vpnconn2_response = Vpn.createVpnConnection(
+ self.apiclient, customer2_response.id, vpn1_response['id'])
self.debug("VPN connection created for VPC %s" % vpc1.id)
- self.assertEqual(vpnconn2_response['state'], "Connected", "Failed to connect between VPCs!")
+ self.assertEqual(
+ vpnconn2_response['state'], "Connected", "Failed to connect between VPCs!")
# acquire an extra ip address to use to ssh into vm2
try:
vm2.public_ip = PublicIPAddress.create(
- apiclient=self.apiclient,
- accountid=self.account.name,
- zoneid=self.zone.id,
- domainid=self.account.domainid,
- services=self.services,
- networkid=ntwk2.id,
- vpcid=vpc2.id)
+ apiclient=self.apiclient,
+ accountid=self.account.name,
+ zoneid=self.zone.id,
+ domainid=self.account.domainid,
+ services=self.services,
+ networkid=ntwk2.id,
+ vpcid=vpc2.id)
except Exception as e:
self.fail(e)
finally:
- self.assert_(vm2.public_ip is not None, "Failed to aqcuire public ip for vm2")
-
+ self.assert_(
+ vm2.public_ip is not None, "Failed to aqcuire public ip for vm2")
# Create port forward to be able to ssh into vm2
try:
- natrule = self.create_natrule(vpc2, vm2, 22, 22, vm2.public_ip, ntwk2)
+ natrule = self.create_natrule(
+ vpc2, vm2, 22, 22, vm2.public_ip, ntwk2)
except Exception as e:
self.fail(e)
finally:
- self.assert_(natrule is not None, "Failed to create portforward for vm2")
- time.sleep(10)
+ self.assert_(
+ natrule is not None, "Failed to create portforward for vm2")
+ time.sleep(20)
# setup ssh connection to vm2
ssh_client = self.get_ssh_client(vm2, self.services, 10)
if ssh_client:
# run ping test
- packet_loss = ssh_client.execute("/bin/ping -c 3 -t 10 " + vm1.nic[0].ipaddress + " |grep packet|cut -d ' ' -f 7| cut -f1 -d'%'")[0]
+ packet_loss = ssh_client.execute(
+ "/bin/ping -c 3 -t 10 " + vm1.nic[0].ipaddress + " |grep packet|cut -d ' ' -f 7| cut -f1 -d'%'")[0]
self.assert_(int(packet_loss) == 0, "Ping did not succeed")
else:
- self.fail("Failed to setup ssh connection to %s" %vm2.public_ip)
+ self.fail("Failed to setup ssh connection to %s" % vm2.public_ip)
@classmethod
def tearDownClass(cls):
diff --git a/tools/marvin/marvin/lib/base.py b/tools/marvin/marvin/lib/base.py
index fc49fd2..32e2d59 100755
--- a/tools/marvin/marvin/lib/base.py
+++ b/tools/marvin/marvin/lib/base.py
@@ -1945,14 +1945,17 @@
if "isvolatile" in services:
cmd.isvolatile = services["isvolatile"]
+ if "customizediops" in services:
+ cmd.customizediops = services["customizediops"]
+
if "miniops" in services:
cmd.miniops = services["miniops"]
if "maxiops" in services:
cmd.maxiops = services["maxiops"]
- if "customizediops" in services:
- cmd.customizediops = services["customizediops"]
+ if "hypervisorsnapshotreserve" in services:
+ cmd.hypervisorsnapshotreserve = services["hypervisorsnapshotreserve"]
if "offerha" in services:
cmd.offerha = services["offerha"]
@@ -2024,6 +2027,9 @@
if "miniops" in services:
cmd.miniops = services["miniops"]
+ if "hypervisorsnapshotreserve" in services:
+ cmd.hypervisorsnapshotreserve = services["hypervisorsnapshotreserve"]
+
if "provisioningtype" in services:
cmd.provisioningtype = services["provisioningtype"]
diff --git a/ui/css/cloudstack3.css b/ui/css/cloudstack3.css
index 61301d5..a04ff7c 100644
--- a/ui/css/cloudstack3.css
+++ b/ui/css/cloudstack3.css
@@ -3115,14 +3115,14 @@
font-size: 12px;
font-weight: 100;
color: #000000;
- margin: 0 14px 0 0;
+ margin: 0 10px 0 0;
cursor: pointer;
/*+text-shadow:0px 1px 1px #DEE5EA;*/
-moz-text-shadow: 0px 1px 1px #DEE5EA;
-webkit-text-shadow: 0px 1px 1px #DEE5EA;
-o-text-shadow: 0px 1px 1px #DEE5EA;
text-shadow: 0px 1px 1px #DEE5EA;
- padding: 5px 7px 5px 6px;
+ padding: 5px 5px 5px 5px;
background: #F7F7F7;
background: rgb(247, 247, 247);
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIxJSIgc3RvcC1jb2xvcj0iI2Y3ZjdmNyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlYWVhZWEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
@@ -12363,11 +12363,13 @@
background-position: 1px -583px;
}
-.start .icon {
+.start .icon,
+.startByAdmin .icon {
background-position: -169px -1px;
}
-.start:hover .icon {
+.start:hover .icon,
+.startByAdmin:hover .icon {
background-position: -169px -583px;
}
diff --git a/ui/index.jsp b/ui/index.jsp
index 9b0ec0b..9ea62c0 100644
--- a/ui/index.jsp
+++ b/ui/index.jsp
@@ -16,7 +16,7 @@
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
- --%><%@ page contentType="text/html; charset=UTF-8" session="false" %>
+ --%><%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<c:if test="${!empty cookie.lang}">
diff --git a/ui/scripts/configuration.js b/ui/scripts/configuration.js
index fa2276d..14b0e15 100644
--- a/ui/scripts/configuration.js
+++ b/ui/scripts/configuration.js
@@ -28,7 +28,7 @@
sectionSelect: {
preFilter: function(args) {
if(isAdmin())
- return ["serviceOfferings", "systemServiceOfferings", "diskOfferings", "networkOfferings"];
+ return ["serviceOfferings", "systemServiceOfferings", "diskOfferings", "networkOfferings", "vpcOfferings"];
else if(isDomainAdmin())
return ["serviceOfferings", "diskOfferings"];
else
diff --git a/ui/scripts/instances.js b/ui/scripts/instances.js
index 9901cf7..5096297 100644
--- a/ui/scripts/instances.js
+++ b/ui/scripts/instances.js
@@ -520,6 +520,107 @@
poll: pollAsyncJobResult
}
},
+ startByAdmin: {
+ label: 'label.action.start.instance',
+ createForm: {
+ title: 'label.action.start.instance',
+ desc: 'message.action.start.instance',
+ fields: {
+ hostId: {
+ label: 'label.host',
+ isHidden: function(args) {
+ if (isAdmin())
+ return false;
+ else
+ return true;
+ },
+ select: function(args) {
+ if (isAdmin()) {
+ $.ajax({
+ url: createURL("listHosts&state=Up&type=Routing&zoneid=" + args.context.instances[0].zoneid),
+ dataType: "json",
+ async: true,
+ success: function(json) {
+ if (json.listhostsresponse.host != undefined) {
+ hostObjs = json.listhostsresponse.host;
+ var items = [{
+ id: -1,
+ description: 'Default'
+ }];
+ $(hostObjs).each(function() {
+ items.push({
+ id: this.id,
+ description: this.name
+ });
+ });
+ args.response.success({
+ data: items
+ });
+ } else {
+ cloudStack.dialog.notice({
+ message: _l('No Hosts are avaialble')
+ });
+ }
+ }
+ });
+ } else {
+ args.response.success({
+ data: null
+ });
+ }
+ }
+ },
+ }
+ },
+ action: function(args) {
+ var data = {
+ id: args.context.instances[0].id
+ }
+ if (args.$form.find('.form-item[rel=hostId]').css("display") != "none" && args.data.hostId != -1) {
+ $.extend(data, {
+ hostid: args.data.hostId
+ });
+ }
+ $.ajax({
+ url: createURL("startVirtualMachine"),
+ data: data,
+ dataType: "json",
+ async: true,
+ success: function(json) {
+ var jid = json.startvirtualmachineresponse.jobid;
+ args.response.success({
+ _custom: {
+ jobId: jid,
+ getUpdatedItem: function(json) {
+ return json.queryasyncjobresultresponse.jobresult.virtualmachine;
+ },
+ getActionFilter: function() {
+ return vmActionfilter;
+ }
+ }
+ });
+ }
+ });
+ },
+ messages: {
+ confirm: function(args) {
+ return 'message.action.start.instance';
+ },
+ notification: function(args) {
+ return 'label.action.start.instance';
+ },
+ complete: function(args) {
+ if (args.password != null) {
+ return 'label.vm.password' + ' ' + args.password;
+ }
+
+ return false;
+ }
+ },
+ notification: {
+ poll: pollAsyncJobResult
+ }
+ },
stop: {
label: 'label.action.stop.instance',
compactLabel: 'label.stop',
@@ -2464,7 +2565,10 @@
allowedActions.push("viewConsole");
} else if (jsonObj.state == 'Stopped') {
allowedActions.push("edit");
- allowedActions.push("start");
+ if (isAdmin())
+ allowedActions.push("startByAdmin");
+ else
+ allowedActions.push("start");
allowedActions.push("destroy");
allowedActions.push("reinstall");
diff --git a/ui/scripts/network.js b/ui/scripts/network.js
index 110bc4b..2831aa0 100755
--- a/ui/scripts/network.js
+++ b/ui/scripts/network.js
@@ -173,7 +173,7 @@
url: createURL('listNics'),
data: {
virtualmachineid: instance.id,
- nicId: instance.nic[0].id
+ networkid: network.id
},
success: function(json) {
var nic = json.listnicsresponse.nic[0];
@@ -376,7 +376,9 @@
sectionSelect: {
preFilter: function(args) {
var sectionsToShow = ['networks'];
+ var securityGroupsEnabledFound = false; //Until we found a zone where securitygroupsenabled is true.
+ //This call to show VPC and VPN Customer Gateway sections, if zone is advanced.
$.ajax({
url: createURL('listZones'),
data: {
@@ -384,29 +386,40 @@
},
async: false,
success: function(json) {
- advZoneObjs = json.listzonesresponse.zone;
+ advZoneObjs = json.listzonesresponse ? json.listzonesresponse.zone : null;
if (advZoneObjs != null && advZoneObjs.length > 0) {
sectionsToShow.push('vpc');
sectionsToShow.push('vpnCustomerGateway');
+
+ //At the same time check if any advanced zone has securitygroupsenabled is true.
+ //If so, show Security Group section.
+ for (var i = 0; (i < advZoneObjs.length) && !securityGroupsEnabledFound; i++) {
+ if (advZoneObjs[i].securitygroupsenabled) {
+ securityGroupsEnabledFound = true;
+ sectionsToShow.push('securityGroups');
+ }
+ }
}
}
});
- $.ajax({
- url: createURL('listNetworks', {
- ignoreProject: true
- }),
- data: {
- supportedServices: 'SecurityGroup',
- listAll: true
- },
- async: false,
- success: function(json) {
- if (json.listnetworksresponse.network != null && json.listnetworksresponse.network.length > 0) {
- sectionsToShow.push('securityGroups');
+ //If we didn't find any advanced zone whose securitygroupsenabled is true.
+ //Search in all Basic zones.
+ if (!securityGroupsEnabledFound) {
+ $.ajax({
+ url: createURL('listZones'),
+ data: {
+ networktype: 'Basic'
+ },
+ async: false,
+ success: function(json) {
+ var basicZoneObjs = json.listzonesresponse ? json.listzonesresponse.zone : null;
+ if (basicZoneObjs != null && basicZoneObjs.length > 0) {
+ sectionsToShow.push('securityGroups');
+ }
}
- }
- });
+ });
+ }
return sectionsToShow;
},
diff --git a/utils/src/main/java/com/cloud/utils/script/Script.java b/utils/src/main/java/com/cloud/utils/script/Script.java
index 487c62c..b8cb4fe 100644
--- a/utils/src/main/java/com/cloud/utils/script/Script.java
+++ b/utils/src/main/java/com/cloud/utils/script/Script.java
@@ -158,6 +158,10 @@
return builder.toString();
}
+ public long getTimeout() {
+ return _timeout;
+ }
+
public String execute() {
return execute(new OutputInterpreter.OutputLogger(_logger));
}