You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ra...@apache.org on 2014/11/25 09:13:59 UTC

[1/3] git commit: updated refs/heads/4.5 to eae7338

Repository: cloudstack
Updated Branches:
  refs/heads/4.5 7175247c5 -> eae733817


CLOUDSTACK-7917: Validating Load Balancer Rule when updating LB + unit test

Signed-off-by: Rajani Karuturi <ra...@gmail.com>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/c919ff83
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/c919ff83
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/c919ff83

Branch: refs/heads/4.5
Commit: c919ff83d81528b89017b5f5731b2e46350e3dfa
Parents: 7175247
Author: Daniel Vega <da...@corp.globo.com>
Authored: Wed Nov 19 19:01:35 2014 -0200
Committer: Rajani Karuturi <ra...@gmail.com>
Committed: Tue Nov 25 11:55:43 2014 +0530

----------------------------------------------------------------------
 .../lb/LoadBalancingRulesManagerImpl.java       |   6 +
 .../network/lb/UpdateLoadBalancerTest.java      | 127 +++++++++++++++++++
 2 files changed, 133 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c919ff83/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java b/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
index a28d108..fbb862e 100755
--- a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
+++ b/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
@@ -2102,6 +2102,12 @@ public class LoadBalancingRulesManagerImpl<Type> extends ManagerBase implements
             lb.setDisplay(forDisplay);
         }
 
+        // Validate rule in LB provider
+        LoadBalancingRule rule = getLoadBalancerRuleToApply(lb);
+        if (!validateLbRule(rule)) {
+            throw new InvalidParameterValueException("Modifications in lb rule " + lbRuleId + " are not supported.");
+        }
+
         boolean success = _lbDao.update(lbRuleId, lb);
 
         // If algorithm is changed, have to reapply the lb config

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c919ff83/server/test/com/cloud/network/lb/UpdateLoadBalancerTest.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/network/lb/UpdateLoadBalancerTest.java b/server/test/com/cloud/network/lb/UpdateLoadBalancerTest.java
new file mode 100644
index 0000000..f3a938c
--- /dev/null
+++ b/server/test/com/cloud/network/lb/UpdateLoadBalancerTest.java
@@ -0,0 +1,127 @@
+// 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.network.lb;
+
+import static org.mockito.Matchers.anyLong;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.when;
+
+import java.util.ArrayList;
+import java.util.UUID;
+
+import org.apache.cloudstack.api.command.user.loadbalancer.UpdateLoadBalancerRuleCmd;
+import org.apache.cloudstack.context.CallContext;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.InOrder;
+import org.mockito.Mockito;
+
+import com.cloud.exception.InsufficientCapacityException;
+import com.cloud.exception.InvalidParameterValueException;
+import com.cloud.exception.ResourceAllocationException;
+import com.cloud.exception.ResourceUnavailableException;
+import com.cloud.network.Network;
+import com.cloud.network.NetworkModel;
+import com.cloud.network.PublicIpAddress;
+import com.cloud.network.as.dao.AutoScaleVmGroupDao;
+import com.cloud.network.dao.LBHealthCheckPolicyDao;
+import com.cloud.network.dao.LBStickinessPolicyDao;
+import com.cloud.network.dao.LoadBalancerCertMapDao;
+import com.cloud.network.dao.LoadBalancerDao;
+import com.cloud.network.dao.LoadBalancerVMMapDao;
+import com.cloud.network.dao.LoadBalancerVO;
+import com.cloud.network.dao.NetworkDao;
+import com.cloud.network.dao.NetworkVO;
+import com.cloud.network.element.LoadBalancingServiceProvider;
+import com.cloud.user.Account;
+import com.cloud.user.AccountVO;
+import com.cloud.user.MockAccountManagerImpl;
+import com.cloud.user.UserVO;
+
+public class UpdateLoadBalancerTest {
+
+    LoadBalancingRulesManagerImpl _lbMgr = new LoadBalancingRulesManagerImpl();
+
+    private UpdateLoadBalancerRuleCmd updateLbRuleCmd;
+    private LoadBalancerDao lbDao = Mockito.mock(LoadBalancerDao.class);
+    private NetworkDao netDao = Mockito.mock(NetworkDao.class);
+    private NetworkModel netModel = Mockito.mock(NetworkModel.class);
+    private LoadBalancingServiceProvider lbServiceProvider= Mockito.mock(LoadBalancingServiceProvider.class);
+
+    private static long domainId = 5L;
+    private static String accountName = "admin";
+
+    @Before
+    public void setUp() {
+        _lbMgr._accountMgr = new MockAccountManagerImpl();
+        _lbMgr._autoScaleVmGroupDao = Mockito.mock(AutoScaleVmGroupDao.class);
+        _lbMgr._networkDao = netDao;
+        _lbMgr._networkModel = netModel;
+        _lbMgr._lb2healthcheckDao = Mockito.mock(LBHealthCheckPolicyDao.class);
+        _lbMgr._lb2stickinesspoliciesDao = Mockito.mock(LBStickinessPolicyDao.class);
+        _lbMgr._lb2VmMapDao = Mockito.mock(LoadBalancerVMMapDao.class);
+        _lbMgr._lbCertMapDao = Mockito.mock(LoadBalancerCertMapDao.class);
+        _lbMgr._lbDao = lbDao;
+        _lbMgr._lbProviders = new ArrayList<LoadBalancingServiceProvider>();
+        _lbMgr._lbProviders.add(lbServiceProvider);
+
+        updateLbRuleCmd = new UpdateLoadBalancerRuleCmd();
+
+        AccountVO account = new AccountVO(accountName, domainId, "networkDomain", Account.ACCOUNT_TYPE_NORMAL, "uuid");
+        UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString());
+        CallContext.register(user, account);
+    }
+
+    @Test
+    public void testValidateRuleBeforeUpdateLB() throws ResourceAllocationException, ResourceUnavailableException, InsufficientCapacityException {
+
+        LoadBalancerVO lb = new LoadBalancerVO(null, null, null, 0L, 0, 0, null, 0L, 0L, domainId, null);
+
+        when(lbDao.findById(anyLong())).thenReturn(lb);
+        when(netModel.getPublicIpAddress(anyLong())).thenReturn(Mockito.mock(PublicIpAddress.class));
+        when(netDao.findById(anyLong())).thenReturn(Mockito.mock(NetworkVO.class));
+        when(lbServiceProvider.validateLBRule(any(Network.class), any(LoadBalancingRule.class))).thenReturn(true);
+        when(lbDao.update(anyLong(), eq(lb))).thenReturn(true);
+
+        _lbMgr.updateLoadBalancerRule(updateLbRuleCmd);
+
+        InOrder inOrder = Mockito.inOrder(lbServiceProvider, lbDao);
+        inOrder.verify(lbServiceProvider).validateLBRule(any(Network.class), any(LoadBalancingRule.class));
+        inOrder.verify(lbDao).update(anyLong(), eq(lb));
+    }
+
+    @Test(expected = InvalidParameterValueException.class)
+    public void testRuleNotValidated() throws ResourceAllocationException, ResourceUnavailableException, InsufficientCapacityException {
+
+        LoadBalancerVO lb = new LoadBalancerVO(null, null, null, 0L, 0, 0, null, 0L, 0L, domainId, null);
+
+        when(lbDao.findById(anyLong())).thenReturn(lb);
+        when(netModel.getPublicIpAddress(anyLong())).thenReturn(Mockito.mock(PublicIpAddress.class));
+        when(netDao.findById(anyLong())).thenReturn(Mockito.mock(NetworkVO.class));
+        when(lbServiceProvider.validateLBRule(any(Network.class), any(LoadBalancingRule.class))).thenReturn(false);
+
+        _lbMgr.updateLoadBalancerRule(updateLbRuleCmd);
+    }
+
+    @After
+    public void tearDown() {
+        CallContext.unregister();
+    }
+
+}
\ No newline at end of file


[2/3] git commit: updated refs/heads/4.5 to eae7338

Posted by ra...@apache.org.
CLOUDSTACK-7915: Remove hard-coded values for Load Balancer algorithms in UI

Signed-off-by: Rajani Karuturi <ra...@gmail.com>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/ba6dfd84
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/ba6dfd84
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/ba6dfd84

Branch: refs/heads/4.5
Commit: ba6dfd84702eeef0362b94068add1328db84133a
Parents: c919ff8
Author: Daniel Vega <da...@corp.globo.com>
Authored: Mon Nov 17 16:18:55 2014 -0200
Committer: Rajani Karuturi <ra...@gmail.com>
Committed: Tue Nov 25 11:56:34 2014 +0530

----------------------------------------------------------------------
 .../classes/resources/messages.properties       |  6 +-
 .../classes/resources/messages_ar.properties    |  4 +-
 .../classes/resources/messages_es.properties    |  4 +-
 .../classes/resources/messages_fr_FR.properties |  6 +-
 .../classes/resources/messages_it_IT.properties |  4 +-
 .../classes/resources/messages_ja_JP.properties |  6 +-
 .../classes/resources/messages_ko_KR.properties |  6 +-
 .../classes/resources/messages_nb_NO.properties |  6 +-
 .../classes/resources/messages_nl_NL.properties |  6 +-
 .../classes/resources/messages_pl.properties    |  2 +-
 .../classes/resources/messages_pt_BR.properties |  6 +-
 .../classes/resources/messages_ru_RU.properties |  6 +-
 .../classes/resources/messages_zh_CN.properties |  6 +-
 ui/dictionary.jsp                               |  5 +-
 ui/scripts/network.js                           | 65 +++++++++++++-------
 ui/scripts/vpc.js                               | 12 ++--
 16 files changed, 85 insertions(+), 65 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ba6dfd84/client/WEB-INF/classes/resources/messages.properties
----------------------------------------------------------------------
diff --git a/client/WEB-INF/classes/resources/messages.properties b/client/WEB-INF/classes/resources/messages.properties
index fb506d4..51faf82 100644
--- a/client/WEB-INF/classes/resources/messages.properties
+++ b/client/WEB-INF/classes/resources/messages.properties
@@ -740,8 +740,10 @@ label.latest.events=Latest events
 label.launch.vm=Launch VM
 label.launch.zone=Launch zone
 label.launch=Launch
+label.lb.algorithm.leastconn=Least connections
+label.lb.algorithm.roundrobin=Round-robin
+label.lb.algorithm.source=Source
 label.LB.isolation=LB isolation
-label.least.connections=Least connections
 label.level=Level
 label.linklocal.ip=Link Local IP Address
 label.load.balancer=Load Balancer
@@ -1027,7 +1029,6 @@ label.role=Role
 label.root.certificate=Root certificate
 label.root.disk.controller=Root disk controller
 label.root.disk.offering=Root Disk Offering
-label.round.robin=Round-robin
 label.rules=Rules
 label.running.vms=Running VMs
 label.s3.access_key=Access Key
@@ -1088,7 +1089,6 @@ label.snapshot.schedule=Setup Recurring Snapshot
 label.snapshot=Snapshot
 label.snapshots=Snapshots
 label.source.nat=Source NAT
-label.source=Source
 label.specify.IP.ranges=Specify IP ranges
 label.specify.vlan=Specify VLAN
 label.specify.vxlan=Specify VXLAN

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ba6dfd84/client/WEB-INF/classes/resources/messages_ar.properties
----------------------------------------------------------------------
diff --git a/client/WEB-INF/classes/resources/messages_ar.properties b/client/WEB-INF/classes/resources/messages_ar.properties
index 213a2ebc..de90c43 100644
--- a/client/WEB-INF/classes/resources/messages_ar.properties
+++ b/client/WEB-INF/classes/resources/messages_ar.properties
@@ -98,7 +98,8 @@ label.invite.to=\u062f\u0639\u0648\u0629 \u0644\u0640
 label.IPsec.preshared.key=\u0645\u0641\u062a\u0627\u062d \u0623\u0645\u0646 \u0628\u0631\u0648\u062a\u0648\u0643\u0648\u0644 \u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a \u062a\u0645\u062a \u0645\u0634\u0627\u0631\u0643\u062a\u0647 \u0645\u0633\u0628\u0642\u0627
 label.isolation.uri=\u0639\u0632\u0644 \u0627\u0644\u0631\u0627\u0628\u0637
 label.keyboard.type=\u0646\u0648\u0639 \u0644\u0648\u062d\u0629 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d
-label.least.connections=\u0623\u0642\u0644 \u0627\u0644\u0625\u062a\u0635\u0627\u0644\u0627\u062a
+label.lb.algorithm.leastconn=\u0623\u0642\u0644 \u0627\u0644\u0625\u062a\u0635\u0627\u0644\u0627\u062a
+label.lb.algorithm.source=\u0645\u0635\u062f\u0631
 label.local.storage.enabled=\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0645\u062d\u0644\u064a
 label.make.project.owner=\u062c\u0639\u0644 \u0627\u0644\u062d\u0633\u0627\u0628 \u0645\u0627\u0644\u0643 \u0644\u0644\u0645\u0634\u0631\u0648\u0639
 label.max.guest.limit=\u0627\u0644\u062d\u062f \u0627\u0644\u0623\u0642\u0635\u0627\u0621 \u0644\u0636\u064a\u0641
@@ -179,7 +180,6 @@ label.select-view=\u062d\u062f\u062f \u0637\u0631\u064a\u0642\u0629 \u0627\u0644
 label.service.capabilities=\u0642\u062f\u0631\u0627\u062a \u0627\u0644\u062e\u062f\u0645\u0629
 label.setup=\u0627\u0644\u062a\u062b\u0628\u064a\u062a
 label.site.to.site.VPN=\u0645\u0648\u0642\u0639 \u0625\u0644\u0649 \u0645\u0648\u0642\u0639-\u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 \u0627\u0644\u0638\u0627\u0647\u0631\u064a\u0629  VPN
-label.source=\u0645\u0635\u062f\u0631
 label.specify.IP.ranges=\u062a\u062d\u062f\u064a\u062f \u0646\u0637\u0627\u0642\u0627\u062a IP
 label.sticky.tablesize=\u062d\u062c\u0645 \u0627\u0644\u062c\u062f\u0648\u0644
 label.stop=\u062a\u0648\u0642\u0641

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ba6dfd84/client/WEB-INF/classes/resources/messages_es.properties
----------------------------------------------------------------------
diff --git a/client/WEB-INF/classes/resources/messages_es.properties b/client/WEB-INF/classes/resources/messages_es.properties
index 8063f79..6560a2a 100644
--- a/client/WEB-INF/classes/resources/messages_es.properties
+++ b/client/WEB-INF/classes/resources/messages_es.properties
@@ -544,6 +544,8 @@ label.last.name=Apellido
 label.latest.events=\u00daltimos eventos
 label.launch=Lanzar
 label.launch.vm=Lanzar maquina virtual
+label.lb.algorithm.roundrobin=Round-robin
+label.lb.algorithm.source=Fuente
 label.level=Nivel
 label.load.balancer=equilibrador de carga
 label.load.balancing=Balanceador de Carga
@@ -757,7 +759,6 @@ label.restart.vpc=Reiniciar VPC
 label.restore=Restaurar
 label.role=Papel
 label.root.disk.offering=Root Disco Offering
-label.round.robin=Round-robin
 label.routing=Enrutamiento
 label.rules=Reglas
 label.running.vms=Ejecuci\u00c3\u00b3n de m\u00c3\u00a1quinas virtuales
@@ -806,7 +807,6 @@ label.snapshot.schedule=Lista de instant\u00c3\u00a1neas
 label.snapshot.s=Instant\u00c3\u00a1nea (s)
 label.snapshots=instant\u00c3\u00a1neas
 label.sockets=Sockets
-label.source=Fuente
 label.source.nat=NAT Fuente
 label.specify.vlan=Especifique VLAN
 label.specify.vxlan=Especifique VXLAN

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ba6dfd84/client/WEB-INF/classes/resources/messages_fr_FR.properties
----------------------------------------------------------------------
diff --git a/client/WEB-INF/classes/resources/messages_fr_FR.properties b/client/WEB-INF/classes/resources/messages_fr_FR.properties
index d78e84e..54dc621 100644
--- a/client/WEB-INF/classes/resources/messages_fr_FR.properties
+++ b/client/WEB-INF/classes/resources/messages_fr_FR.properties
@@ -859,11 +859,13 @@ label.latest.events=Derniers \u00e9v\u00e9nements
 label.launch=D\u00e9marrer
 label.launch.vm=D\u00e9marrer VM
 label.launch.zone=D\u00e9marrer la zone
+label.lb.algorithm.round.robin=Al\u00e9atoire
+label.lb.algorithm.leastconn=Le moins de connexions
+label.lb.algorithm.source=Origine
 label.LB.isolation=R\u00e9partition de charge isol\u00e9e
 label.ldap.configuration=Configuration LDAP
 label.ldap.group.name=Groupe LDAP
 label.ldap.port=Port LDAP
-label.least.connections=Le moins de connexions
 label.level=Niveau
 label.linklocal.ip=Adresse IP lien local
 label.load.balancer=R\u00e9partiteur de charge
@@ -1227,7 +1229,6 @@ label.root.certificate=Certificat racine
 label.root.disk.controller=Contr\u00f4leur de disque principal
 label.root.disk.offering=Offre de disque racine
 label.root.disk.size=Taille disque principal
-label.round.robin=Al\u00e9atoire
 label.router.vm.scaled.up=VM Routeur agrandi
 label.routing.host=H\u00f4te de routage
 label.routing=Routage
@@ -1314,7 +1315,6 @@ label.sockets=Sockets
 label.source.ip.address=Adresse IP source
 label.source.nat=NAT Source
 label.source.nat.supported=Source NAT support\u00e9
-label.source=Origine
 label.source.port=Port Source
 label.specify.IP.ranges=Sp\u00e9cifier des plages IP
 label.specify.vlan=Pr\u00e9ciser le VLAN

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ba6dfd84/client/WEB-INF/classes/resources/messages_it_IT.properties
----------------------------------------------------------------------
diff --git a/client/WEB-INF/classes/resources/messages_it_IT.properties b/client/WEB-INF/classes/resources/messages_it_IT.properties
index 9dc2218..053d6ab 100644
--- a/client/WEB-INF/classes/resources/messages_it_IT.properties
+++ b/client/WEB-INF/classes/resources/messages_it_IT.properties
@@ -408,6 +408,8 @@ label.label=Label
 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.load.balancing=Bilanciamento di Carico
 label.load.balancing.policies=Politiche di Bilanciamento di Carico
@@ -519,7 +521,6 @@ label.restore=Restore
 label.review=Riesaminare
 label.revoke.project.invite=Revocare un invit
 label.root.disk.controller=Controller del disco root
-label.round.robin=Round-robin
 label.rules=Regole
 label.s3.access_key=Access Key
 label.s3.connection_timeout=Tempo di scadenza connessione
@@ -552,7 +553,6 @@ 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.source=Sorgente
 label.specify.IP.ranges=Specificare intervallo di indirizzi IP
 label.srx=SRX
 label.start.IP=Indirizzo IP iniziale

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ba6dfd84/client/WEB-INF/classes/resources/messages_ja_JP.properties
----------------------------------------------------------------------
diff --git a/client/WEB-INF/classes/resources/messages_ja_JP.properties b/client/WEB-INF/classes/resources/messages_ja_JP.properties
index 80ebf2a..85d211f 100644
--- a/client/WEB-INF/classes/resources/messages_ja_JP.properties
+++ b/client/WEB-INF/classes/resources/messages_ja_JP.properties
@@ -859,11 +859,13 @@ label.latest.events=\u6700\u65b0\u30a4\u30d9\u30f3\u30c8
 label.launch=\u8d77\u52d5
 label.launch.vm=VM \u306e\u8d77\u52d5
 label.launch.zone=\u30be\u30fc\u30f3\u306e\u8d77\u52d5
+label.lb.algorithm.leastconn=\u6700\u5c0f\u63a5\u7d9a
+label.lb.algorithm.roundrobin=\u30e9\u30a6\u30f3\u30c9\u30ed\u30d3\u30f3
+label.lb.algorithm.source=\u9001\u4fe1\u5143
 label.LB.isolation=LB \u5206\u96e2
 label.ldap.configuration=LDAP \u69cb\u6210
 label.ldap.group.name=LDAP \u30b0\u30eb\u30fc\u30d7
 label.ldap.port=LDAP \u30dd\u30fc\u30c8
-label.least.connections=\u6700\u5c0f\u63a5\u7d9a
 label.level=\u30ec\u30d9\u30eb
 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
@@ -1226,7 +1228,6 @@ label.root.certificate=\u30eb\u30fc\u30c8\u8a3c\u660e\u66f8
 label.root.disk.controller=\u30eb\u30fc\u30c8 \u30c7\u30a3\u30b9\u30af \u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc
 label.root.disk.offering=\u30eb\u30fc\u30c8 \u30c7\u30a3\u30b9\u30af \u30aa\u30d5\u30a1\u30ea\u30f3\u30b0
 label.root.disk.size=\u30eb\u30fc\u30c8 \u30c7\u30a3\u30b9\u30af \u30b5\u30a4\u30ba
-label.round.robin=\u30e9\u30a6\u30f3\u30c9\u30ed\u30d3\u30f3
 label.router.vm.scaled.up=\u30eb\u30fc\u30bf\u30fc VM \u306e\u30b5\u30a4\u30ba\u304c\u62e1\u5927\u3055\u308c\u307e\u3057\u305f
 label.routing.host=\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0 \u30db\u30b9\u30c8
 label.routing=\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0
@@ -1314,7 +1315,6 @@ label.source.ip.address=\u9001\u4fe1\u5143 IP \u30a2\u30c9\u30ec\u30b9
 label.source.nat.supported=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u308b\u9001\u4fe1\u5143 NAT
 label.source.nat=\u9001\u4fe1\u5143 NAT
 label.source.port=\u9001\u4fe1\u5143\u30dd\u30fc\u30c8
-label.source=\u9001\u4fe1\u5143
 label.specify.IP.ranges=IP \u30a2\u30c9\u30ec\u30b9\u306e\u7bc4\u56f2\u306e\u6307\u5b9a
 label.specify.vlan=VLAN \u3092\u6307\u5b9a\u3059\u308b
 label.specify.vxlan=VXLAN \u3092\u6307\u5b9a\u3059\u308b

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ba6dfd84/client/WEB-INF/classes/resources/messages_ko_KR.properties
----------------------------------------------------------------------
diff --git a/client/WEB-INF/classes/resources/messages_ko_KR.properties b/client/WEB-INF/classes/resources/messages_ko_KR.properties
index 1e3a4b6..42ffe6c 100644
--- a/client/WEB-INF/classes/resources/messages_ko_KR.properties
+++ b/client/WEB-INF/classes/resources/messages_ko_KR.properties
@@ -637,8 +637,10 @@ label.latest.events=\ucd5c\uc2e0 \uc774\ubca4\ud2b8
 label.launch=\uc2dc\uc791
 label.launch.vm=VM \uc2dc\uc791
 label.launch.zone=Zone \uc2dc\uc791
+label.lb.algorithm.leastconn=\ucd5c\uc18c \uc811\uc18d
+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.least.connections=\ucd5c\uc18c \uc811\uc18d
 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
@@ -898,7 +900,6 @@ label.role=\uc5ed\ud560
 label.root.disk.controller=\ub8e8\ud2b8 \ub514\uc2a4\ud06c \ucf58\ud2b8\ub864\ub7ec
 label.root.disk.offering=\ub8e8\ud2b8 \ub514\uc2a4\ud06c\uc81c\uacf5
 label.root.disk.size=\ub8e8\ud2b8 \ub514\uc2a4\ud06c
-label.round.robin=\ub77c\uc6b4\ub4dc \ub85c\ube48
 label.routing=\ub77c\uc6b0\ud305
 label.rules=\uaddc\uce59
 label.running.vms=\uc2e4\ud589\uc911 VM
@@ -955,7 +956,6 @@ label.snapshot.s=\uc2a4\ub0c5\uc0f7
 label.snapshots=\uc2a4\ub0c5\uc0f7
 label.snapshot=\uc2a4\ub0c5\uc0f7
 label.source.nat=\uc804\uc1a1\uc6d0 NAT
-label.source=\uc2dc\uc791 \uc704\uce58
 label.specify.IP.ranges=IP \uc8fc\uc18c \ubc94\uc704 \uc9c0\uc815
 label.specify.vlan=VLAN \uc9c0\uc815
 label.specify.vxlan=VXLAN \uc9c0\uc815

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ba6dfd84/client/WEB-INF/classes/resources/messages_nb_NO.properties
----------------------------------------------------------------------
diff --git a/client/WEB-INF/classes/resources/messages_nb_NO.properties b/client/WEB-INF/classes/resources/messages_nb_NO.properties
index 2154799..bf88907 100644
--- a/client/WEB-INF/classes/resources/messages_nb_NO.properties
+++ b/client/WEB-INF/classes/resources/messages_nb_NO.properties
@@ -541,8 +541,10 @@ label.last.name=Etternavn
 label.latest.events=Siste hendelser
 label.launch=Start
 label.launch.vm=Start VM
+label.lb.algorithm.leastconn=F\u00e6rrest tilkoblinger
+label.lb.algorithm.roundrobin=Ringdistribusjon
+label.lb.algorithm.source=Kilde
 label.LB.isolation=LB-isolering
-label.least.connections=F\u00e6rrest tilkoblinger
 label.load.balancer=Lastbalanserer
 label.load.balancing=Lastbalansering
 label.load.balancing.policies=Regler for lastbalansering
@@ -744,7 +746,6 @@ label.review=Gjennomg\u00e5
 label.revoke.project.invite=Tilbakekall invitasjonen
 label.role=Rolle
 label.root.disk.size=Rotdiskst\u00f8rrelse
-label.round.robin=Ringdistribusjon
 label.routing=Ruting
 label.rules=Regler
 label.running.vms=Kj\u00f8rende VMer
@@ -784,7 +785,6 @@ label.shared=Delt
 label.shutdown.provider=Steng tilbyder
 label.size=St\u00f8rrelse
 label.skip.guide=Jeg har brukt CloudStack tidligere. Hopp over denne veiviseren
-label.source=Kilde
 label.source.nat=Kilde NAT
 label.specify.IP.ranges=Spesifiser IP-rekker
 label.specify.vlan=Spesifiser VLAN

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ba6dfd84/client/WEB-INF/classes/resources/messages_nl_NL.properties
----------------------------------------------------------------------
diff --git a/client/WEB-INF/classes/resources/messages_nl_NL.properties b/client/WEB-INF/classes/resources/messages_nl_NL.properties
index 010b135..53c1dc4 100644
--- a/client/WEB-INF/classes/resources/messages_nl_NL.properties
+++ b/client/WEB-INF/classes/resources/messages_nl_NL.properties
@@ -808,11 +808,13 @@ label.latest.events=Laatste gebeurtenissen
 label.launch=Lanceer
 label.launch.vm=Lanceer VM
 label.launch.zone=Lanceer zone
+label.lb.algorithm.leastconn=Minste connecties
+label.lb.algorithm.roundrobin=Round-robin
+label.lb.algorithm.source=Bron
 label.LB.isolation=LB isolatie
 label.ldap.configuration=LDAP Configuratie
 label.ldap.group.name=LDAP Groep
 label.ldap.port=LDAP poort
-label.least.connections=Minste connecties
 label.level=Level
 label.linklocal.ip=Link Local IP Adres
 label.load.balancer=Load Balancer
@@ -1159,7 +1161,6 @@ label.role=Rol
 label.root.disk.controller=Root schijf controller
 label.root.disk.offering=Root Schijf Aanbieding
 label.root.disk.size=Grootte root volume
-label.round.robin=Round-robin
 label.router.vm.scaled.up=Router VM Omhoog  Geschaald
 label.routing=Routing
 label.rule.number=Regel Nummer
@@ -1240,7 +1241,6 @@ label.snapshots=Snapshots
 label.SNMP.community=SNMP Community
 label.SNMP.port=SNMP Poort
 label.sockets=CPU Sockets
-label.source=Bron
 label.source.nat=Source NAT
 label.specify.IP.ranges=Specificeer IP ranges
 label.specify.vlan=Specificeer VLAN

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ba6dfd84/client/WEB-INF/classes/resources/messages_pl.properties
----------------------------------------------------------------------
diff --git a/client/WEB-INF/classes/resources/messages_pl.properties b/client/WEB-INF/classes/resources/messages_pl.properties
index b28a00c..a0d1b35 100644
--- a/client/WEB-INF/classes/resources/messages_pl.properties
+++ b/client/WEB-INF/classes/resources/messages_pl.properties
@@ -284,7 +284,7 @@ label.lang.russian=Rosyjski
 label.lang.spanish=Hiszpia\u0144ski
 label.last.name=Nazwisko
 label.launch=Rozpocznij
-label.least.connections=Ostatnie po\u0142\u0105czenie
+label.lb.algorithm.leastconn=Ostatnie po\u0142\u0105czenie
 label.level=Poziom
 label.loading=Wczytywanie
 label.local=Lokalne

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ba6dfd84/client/WEB-INF/classes/resources/messages_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/WEB-INF/classes/resources/messages_pt_BR.properties b/client/WEB-INF/classes/resources/messages_pt_BR.properties
index c21d46d..d434fef 100644
--- a/client/WEB-INF/classes/resources/messages_pt_BR.properties
+++ b/client/WEB-INF/classes/resources/messages_pt_BR.properties
@@ -710,11 +710,13 @@ label.latest.events=\u00daltimos eventos
 label.launch=Executar
 label.launch.vm=Executar VM
 label.launch.zone=Executar zona.
+label.lb.algorithm.leastconn=Least connections
+label.lb.algorithm.roundrobin=Round-robin
+label.lb.algorithm.source=Origem
 label.LB.isolation=Isolamento de LB
 label.ldap.configuration=Configura\u00e7\u00e3o do LDAP
 label.ldap.group.name=Grupo LDAP
 label.ldap.port=Porta do LDAP
-label.least.connections=Least connections
 label.level=N\u00edvel
 label.linklocal.ip=Endere\u00e7o IP do Link Local
 label.load.balancer=Load Balancer
@@ -1018,7 +1020,6 @@ label.role=Fun\u00e7\u00e3o
 label.root.disk.controller=Controlador do disco Root
 label.root.disk.offering=Oferta de Disco ROOT
 label.root.disk.size=Tamanho do disco root
-label.round.robin=Round-robin
 label.routing=Roteamento
 label.rules=Regras
 label.running.vms=VMs Rodando
@@ -1088,7 +1089,6 @@ label.snapshot.s=Snapshot (s)
 label.snapshots=Snapshots
 label.sockets=Sockets
 label.source.nat=Source NAT
-label.source=Origem
 label.specify.IP.ranges=Especifique range de IP
 label.specify.vlan=Especificar VLAN
 label.specify.vxlan=Especificar VXLAN

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ba6dfd84/client/WEB-INF/classes/resources/messages_ru_RU.properties
----------------------------------------------------------------------
diff --git a/client/WEB-INF/classes/resources/messages_ru_RU.properties b/client/WEB-INF/classes/resources/messages_ru_RU.properties
index fc1247f..22b6c07 100644
--- a/client/WEB-INF/classes/resources/messages_ru_RU.properties
+++ b/client/WEB-INF/classes/resources/messages_ru_RU.properties
@@ -674,8 +674,10 @@ label.latest.events=\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0438 \u044
 label.launch=\u0417\u0430\u043f\u0443\u0441\u043a
 label.launch.vm=\u0417\u0430\u043f\u0443\u0441\u043a \u0412\u041c
 label.launch.zone=\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0437\u043e\u043d\u0443
+label.lb.algorithm.leastconn=Least connections
+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.least.connections=Least connections
 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\u043a\u0430 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438
@@ -956,7 +958,6 @@ label.role=\u0420\u043e\u043b\u044c
 label.root.disk.controller=\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0433\u043e \u0434\u0438\u0441\u043a\u0430
 label.root.disk.offering=\u0420\u0435\u0441\u0443\u0440\u0441 \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0433\u043e \u0434\u0438\u0441\u043a\u0430
 label.root.disk.size=\u0420\u0430\u0437\u043c\u0435\u0440 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0434\u0438\u0441\u043a\u0430
-label.round.robin=Round-robin
 label.routing=\u041c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u044f
 label.rules=\u041f\u0440\u0430\u0432\u0438\u043b\u0430
 label.running.vms=\u0417\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0435 \u0412\u041c
@@ -1019,7 +1020,6 @@ label.snapshots=\u0421\u043d\u0438\u043c\u043a\u0438
 label.snapshot.s=\u0421\u043d\u0438\u043c\u043e\u043a/\u0441\u043d\u0438\u043c\u043a\u0438
 label.snapshot=\u0421\u043d\u0438\u043c\u043e\u043a
 label.source.nat=Source NAT
-label.source=\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a
 label.specify.IP.ranges=\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d IP-\u0430\u0434\u0440\u0435\u0441\u043e\u0432
 label.specify.vlan=\u0423\u043a\u0430\u0436\u0438\u0442\u0435 VLAN
 label.specify.vxlan=\u0423\u043a\u0430\u0436\u0438\u0442\u0435 VXLAN

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ba6dfd84/client/WEB-INF/classes/resources/messages_zh_CN.properties
----------------------------------------------------------------------
diff --git a/client/WEB-INF/classes/resources/messages_zh_CN.properties b/client/WEB-INF/classes/resources/messages_zh_CN.properties
index f1d7a0b..cedd94f 100644
--- a/client/WEB-INF/classes/resources/messages_zh_CN.properties
+++ b/client/WEB-INF/classes/resources/messages_zh_CN.properties
@@ -859,11 +859,13 @@ label.latest.events=\u6700\u65b0\u4e8b\u4ef6
 label.launch=\u542f\u52a8
 label.launch.vm=\u542f\u52a8 VM
 label.launch.zone=\u542f\u52a8\u8d44\u6e90\u57df
+label.lb.algorithm.leastconn=\u6700\u5c11\u8fde\u63a5\u7b97\u6cd5
+label.lb.algorithm.roundrobin=\u8f6e\u8be2\u7b97\u6cd5
+label.lb.algorithm.source=\u6e90\u7b97\u6cd5
 label.LB.isolation=\u8d1f\u8f7d\u5e73\u8861\u5668\u9694\u79bb
 label.ldap.configuration=LDAP \u914d\u7f6e
 label.ldap.group.name=LDAP \u7ec4
 label.ldap.port=LDAP \u7aef\u53e3
-label.least.connections=\u6700\u5c11\u8fde\u63a5\u7b97\u6cd5
 label.level=\u7ea7\u522b
 label.linklocal.ip=\u94fe\u63a5\u672c\u5730 IP \u5730\u5740
 label.load.balancer.type=\u8d1f\u8f7d\u5e73\u8861\u5668\u7c7b\u578b
@@ -1226,7 +1228,6 @@ label.root.certificate=\u6839\u8bc1\u4e66
 label.root.disk.controller=\u6839\u78c1\u76d8\u63a7\u5236\u5668
 label.root.disk.offering=\u6839\u78c1\u76d8\u65b9\u6848
 label.root.disk.size=\u6839\u78c1\u76d8\u5927\u5c0f
-label.round.robin=\u8f6e\u5faa
 label.router.vm.scaled.up=\u5df2\u6269\u5c55\u8def\u7531\u5668 VM
 label.routing.host=\u6b63\u5728\u8def\u7531\u4e3b\u673a
 label.routing=\u6b63\u5728\u8def\u7531
@@ -1314,7 +1315,6 @@ label.source.ip.address=\u6e90 IP \u5730\u5740
 label.source.nat.supported=\u652f\u6301 SourceNAT
 label.source.nat=\u6e90 NAT
 label.source.port=\u6e90\u7aef\u53e3
-label.source=\u6e90\u7b97\u6cd5
 label.specify.IP.ranges=\u6307\u5b9a IP \u8303\u56f4
 label.specify.vlan=\u6307\u5b9a VLAN
 label.specify.vxlan=\u6307\u5b9a VXLAN

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ba6dfd84/ui/dictionary.jsp
----------------------------------------------------------------------
diff --git a/ui/dictionary.jsp b/ui/dictionary.jsp
index 7751b1f..272cc26 100644
--- a/ui/dictionary.jsp
+++ b/ui/dictionary.jsp
@@ -746,8 +746,10 @@ dictionary = {
 'label.latest.events': '<fmt:message key="label.latest.events" />',
 'label.launch': '<fmt:message key="label.launch" />',
 'label.launch.vm': '<fmt:message key="label.launch.vm" />',
+'label.lb.algorithm.leastconn': '<fmt:message key="label.lb.algorithm.leastconn" />',
+'label.lb.algorithm.roundrobin': '<fmt:message key="label.lb.algorithm.roundrobin" />',
+'label.lb.algorithm.source': '<fmt:message key="label.lb.algorithm.source" />',
 'label.LB.isolation': '<fmt:message key="label.LB.isolation" />',
-'label.least.connections': '<fmt:message key="label.least.connections" />',
 'label.level': '<fmt:message key="label.level" />',
 'label.linklocal.ip': '<fmt:message key="label.linklocal.ip" />',
 'label.load.balancer': '<fmt:message key="label.load.balancer" />',
@@ -1028,6 +1030,5 @@ dictionary = {
 'label.role': '<fmt:message key="label.role" />',
 'label.root.disk.controller': '<fmt:message key="label.root.disk.controller" />',
 'label.root.disk.offering': '<fmt:message key="label.root.disk.offering" />',
-'label.round.robin': '<fmt:message key="label.round.robin" />',
 };
 </script>

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ba6dfd84/ui/scripts/network.js
----------------------------------------------------------------------
diff --git a/ui/scripts/network.js b/ui/scripts/network.js
index 2047ecd..ab3698b 100755
--- a/ui/scripts/network.js
+++ b/ui/scripts/network.js
@@ -1679,17 +1679,9 @@
                                             'algorithm': {
                                                 label: 'label.algorithm',
                                                 select: function(args) {
+                                                    var data = getLBAlgorithms(args.context.networks[0]);
                                                     args.response.success({
-                                                        data: [{
-                                                            name: 'roundrobin',
-                                                            description: _l('label.round.robin')
-                                                        }, {
-                                                            name: 'leastconn',
-                                                            description: _l('label.least.connections')
-                                                        }, {
-                                                            name: 'source',
-                                                            description: _l('label.source')
-                                                        }]
+                                                        data: data
                                                     });
                                                 }
                                             },
@@ -3516,20 +3508,9 @@
                                                 label: 'label.algorithm',
                                                 isEditable: true,
                                                 select: function(args) {
+                                                    var data = getLBAlgorithms(args.context.networks[0]);
                                                     args.response.success({
-                                                        data: [{
-                                                            id: 'roundrobin',
-                                                            name: 'roundrobin',
-                                                            description: _l('label.round.robin')
-                                                        }, {
-                                                            id: 'leastconn',
-                                                            name: 'leastconn',
-                                                            description: _l('label.least.connections')
-                                                        }, {
-                                                            id: 'source',
-                                                            name: 'source',
-                                                            description: _l('label.source')
-                                                        }]
+                                                        data: data
                                                     });
                                                 }
                                             },
@@ -6412,6 +6393,44 @@
 				});             		
         	} 
         }
+    };
+
+    var getLBAlgorithms = function(networkObj) {
+        if (!networkObj || !networkObj.service) {
+            return [];
+        }
+
+        var lbService = $.grep(networkObj.service, function(service) {
+            return service.name == 'Lb';
+        })[0];
+
+        if (!lbService || !lbService.capability) {
+            return [];
+        }
+
+        var algorithmCapabilities = $.grep(
+            lbService.capability,
+            function(capability) {
+                return capability.name == 'SupportedLbAlgorithms';
+            }
+        )[0];
+
+        if (!algorithmCapabilities) {
+            return [];
+        }
+
+        var algorithms = algorithmCapabilities.value.split(',');
+
+        if (!algorithms) {
+            return [];
+        }
+
+        var data = [];
+        $(algorithms).each(function() {
+            data.push({id: this.valueOf(), name: this.valueOf(), description: _l('label.lb.algorithm.' + this.valueOf())});
+        });
+
+        return data;
     }
 
 })(cloudStack, jQuery);

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ba6dfd84/ui/scripts/vpc.js
----------------------------------------------------------------------
diff --git a/ui/scripts/vpc.js b/ui/scripts/vpc.js
index af19d87..92672e6 100644
--- a/ui/scripts/vpc.js
+++ b/ui/scripts/vpc.js
@@ -833,13 +833,13 @@
                                             args.response.success({
                                                 data: [{
                                                     id: 'source',
-                                                    description: 'source'
+                                                    description: _l('label.lb.algorithm.source')
                                                 }, {
                                                     id: 'roundrobin',
-                                                    description: 'roundrobin'
+                                                    description: _l('label.lb.algorithm.roundrobin')
                                                 }, {
                                                     id: 'leastconn',
-                                                    description: 'leastconn'
+                                                    description: _l('label.lb.algorithm.leastconn')
                                                 }]
                                             });
                                         }
@@ -3661,13 +3661,13 @@
                                             args.response.success({
                                                 data: [{
                                                     name: 'roundrobin',
-                                                    description: _l('label.round.robin')
+                                                    description: _l('label.lb.algorithm.roundrobin')
                                                 }, {
                                                     name: 'leastconn',
-                                                    description: _l('label.least.connections')
+                                                    description: _l('label.lb.algorithm.leastconn')
                                                 }, {
                                                     name: 'source',
-                                                    description: _l('label.source')
+                                                    description: _l('label.lb.algorithm.source')
                                                 }]
                                             });
                                         }


[3/3] git commit: updated refs/heads/4.5 to eae7338

Posted by ra...@apache.org.
CLOUDSTACK-6465: vmware.reserve.mem is missing from cluster level settings

Signed-off-by: Rajani Karuturi <ra...@gmail.com>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/eae73381
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/eae73381
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/eae73381

Branch: refs/heads/4.5
Commit: eae733817b3670b0151410c027325f78013392ad
Parents: ba6dfd8
Author: Harikrishna Patnala <ha...@citrix.com>
Authored: Mon Nov 10 14:30:42 2014 +0530
Committer: Rajani Karuturi <ra...@gmail.com>
Committed: Tue Nov 25 12:22:31 2014 +0530

----------------------------------------------------------------------
 .../src/com/cloud/hypervisor/guru/VMwareGuru.java |  8 ++++----
 .../vmware/manager/VmwareManagerImpl.java         | 13 -------------
 .../vmware/resource/VmwareResource.java           | 18 ++++--------------
 server/src/com/cloud/configuration/Config.java    | 16 ----------------
 4 files changed, 8 insertions(+), 47 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/eae73381/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java
index 7c23699..c0711f2 100644
--- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java
+++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java
@@ -149,11 +149,11 @@ public class VMwareGuru extends HypervisorGuruBase implements HypervisorGuru, Co
         super();
     }
 
-    static final ConfigKey<Boolean> VmwareReserveCpu = new ConfigKey<Boolean>(Boolean.class, "vmware.reserve.cpu", "Advanced", "false",
+    public static final ConfigKey<Boolean> VmwareReserveCpu = new ConfigKey<Boolean>(Boolean.class, "vmware.reserve.cpu", "Advanced", "false",
         "Specify whether or not to reserve CPU when not overprovisioning, In case of cpu overprovisioning we will always reserve cpu.", true, ConfigKey.Scope.Cluster,
         null);
 
-    static final ConfigKey<Boolean> VmwareReserveMemory = new ConfigKey<Boolean>(Boolean.class, "vmware.reserve.cpu", "Advanced", "false",
+    public static final ConfigKey<Boolean> VmwareReserveMemory = new ConfigKey<Boolean>(Boolean.class, "vmware.reserve.mem", "Advanced", "false",
         "Specify whether or not to reserve memory when not overprovisioning, In case of memory overprovisioning we will always reserve memory.", true,
         ConfigKey.Scope.Cluster, null);
 
@@ -221,8 +221,8 @@ public class VMwareGuru extends HypervisorGuruBase implements HypervisorGuru, Co
         }
 
         long clusterId = getClusterId(vm.getId());
-        details.put(Config.VmwareReserveCpu.key(), VmwareReserveCpu.valueIn(clusterId).toString());
-        details.put(Config.VmwareReserveMem.key(), VmwareReserveMemory.valueIn(clusterId).toString());
+        details.put(VmwareReserveCpu.key(), VmwareReserveCpu.valueIn(clusterId).toString());
+        details.put(VmwareReserveMemory.key(), VmwareReserveMemory.valueIn(clusterId).toString());
         to.setDetails(details);
 
         if (vmType.equals(VirtualMachine.Type.DomainRouter)) {

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/eae73381/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java
index 3121bfb..0e67a85 100755
--- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java
+++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java
@@ -183,10 +183,6 @@ public class VmwareManagerImpl extends ManagerBase implements VmwareManager, Vmw
     private int _routerExtraPublicNics = 2;
     private int _vCenterSessionTimeout = 1200000; // Timeout in milliseconds
 
-    private String _reserveCpu = "false";
-
-    private String _reserveMem = "false";
-
     private String _rootDiskController = DiskControllerType.ide.toString();
 
     private final Map<String, String> _storageMounts = new HashMap<String, String>();
@@ -284,15 +280,6 @@ public class VmwareManagerImpl extends ManagerBase implements VmwareManager, Vmw
         _vCenterSessionTimeout = NumbersUtil.parseInt(_configDao.getValue(Config.VmwareVcenterSessionTimeout.key()), 1200) * 1000;
         s_logger.info("VmwareManagerImpl config - vmware.vcenter.session.timeout: " + _vCenterSessionTimeout);
 
-        _reserveCpu = _configDao.getValue(Config.VmwareReserveCpu.key());
-        if (_reserveCpu == null || _reserveCpu.isEmpty()) {
-            _reserveCpu = "false";
-        }
-        _reserveMem = _configDao.getValue(Config.VmwareReserveMem.key());
-        if (_reserveMem == null || _reserveMem.isEmpty()) {
-            _reserveMem = "false";
-        }
-
         _recycleHungWorker = _configDao.getValue(Config.VmwareRecycleHungWorker.key());
         if (_recycleHungWorker == null || _recycleHungWorker.isEmpty()) {
             _recycleHungWorker = "false";

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/eae73381/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
index fa66769..b0aaa7f 100755
--- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
+++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
@@ -207,12 +207,12 @@ import com.cloud.agent.api.to.VirtualMachineTO;
 import com.cloud.agent.api.to.VolumeTO;
 import com.cloud.agent.resource.virtualnetwork.VirtualRouterDeployer;
 import com.cloud.agent.resource.virtualnetwork.VirtualRoutingResource;
-import com.cloud.configuration.Config;
 import com.cloud.dc.DataCenter.NetworkType;
 import com.cloud.dc.Vlan;
 import com.cloud.exception.CloudException;
 import com.cloud.exception.InternalErrorException;
 import com.cloud.host.Host.Type;
+import com.cloud.hypervisor.guru.VMwareGuru;
 import com.cloud.hypervisor.Hypervisor.HypervisorType;
 import com.cloud.hypervisor.vmware.manager.VmwareHostService;
 import com.cloud.hypervisor.vmware.manager.VmwareManager;
@@ -304,8 +304,6 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
     protected int _portsPerDvPortGroup;
     protected boolean _fullCloneFlag = false;
     protected boolean _instanceNameFlag = false;
-    protected boolean _reserveCpu;
-    protected boolean _reserveMem;
 
     protected boolean _recycleHungWorker = false;
     protected DiskControllerType _rootDiskController = DiskControllerType.ide;
@@ -1759,14 +1757,14 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
     }
 
     int getReservedMemoryMb(VirtualMachineTO vmSpec) {
-         if (vmSpec.getDetails().get(Config.VmwareReserveMem.key()).equalsIgnoreCase("true")) {
+         if (vmSpec.getDetails().get(VMwareGuru.VmwareReserveMemory.key()).equalsIgnoreCase("true")) {
              return  (int) (vmSpec.getMinRam() / (1024 * 1024));
          }
          return 0;
     }
 
     int getReservedCpuMHZ(VirtualMachineTO vmSpec) {
-         if (vmSpec.getDetails().get(Config.VmwareReserveCpu.key()).equalsIgnoreCase("true")) {
+         if (vmSpec.getDetails().get(VMwareGuru.VmwareReserveCpu.key()).equalsIgnoreCase("true")) {
              return vmSpec.getMinSpeed();
          }
          return 0;
@@ -4736,18 +4734,10 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
                 _privateNetworkVSwitchName = (String)params.get("private.network.vswitch.name");
             }
 
-            String value = (String)params.get("vmware.reserve.cpu");
-            if (value != null && value.equalsIgnoreCase("true"))
-                _reserveCpu = true;
-
-            value = (String)params.get("vmware.recycle.hung.wokervm");
+            String value = (String)params.get("vmware.recycle.hung.wokervm");
             if (value != null && value.equalsIgnoreCase("true"))
                 _recycleHungWorker = true;
 
-            value = (String)params.get("vmware.reserve.mem");
-            if (value != null && value.equalsIgnoreCase("true"))
-                _reserveMem = true;
-
             value = (String)params.get("vmware.root.disk.controller");
             if (value != null && value.equalsIgnoreCase("scsi"))
                 _rootDiskController = DiskControllerType.scsi;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/eae73381/server/src/com/cloud/configuration/Config.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/configuration/Config.java b/server/src/com/cloud/configuration/Config.java
index da3415f..3c17b5d 100755
--- a/server/src/com/cloud/configuration/Config.java
+++ b/server/src/com/cloud/configuration/Config.java
@@ -1190,22 +1190,6 @@ public enum Config {
             "Start port number of additional VNC port range",
             null),
     //VmwareGuestNicDeviceType("Advanced", ManagementServer.class, String.class, "vmware.guest.nic.device.type", "E1000", "Ethernet card type used in guest VM, valid values are E1000, PCNet32, Vmxnet2, Vmxnet3", null),
-    VmwareReserveCpu(
-            "Advanced",
-            ManagementServer.class,
-            Boolean.class,
-            "vmware.reserve.cpu",
-            "false",
-            "Specify whether or not to reserve CPU based on CPU overprovisioning factor",
-            null),
-    VmwareReserveMem(
-            "Advanced",
-            ManagementServer.class,
-            Boolean.class,
-            "vmware.reserve.mem",
-            "false",
-            "Specify whether or not to reserve memory based on memory overprovisioning factor",
-            null),
     VmwareRootDiskControllerType(
             "Advanced",
             ManagementServer.class,