You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bh...@apache.org on 2015/03/17 11:26:22 UTC

[20/50] git commit: updated refs/heads/master to 3c429ee

Make virtual router id unique per redundant group
Customise the messages showed during VPC restart based on redundancy
Do not show "Make Redundant" option if VPC is already redundant
Show on VPC details if a VPC is redundant


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

Branch: refs/heads/master
Commit: 4c9f4fcdd3784eda560e9df97cc59e7aef65c504
Parents: 7a9a356
Author: wilderrodrigues <wr...@schubergphilis.com>
Authored: Wed Feb 4 17:07:17 2015 +0100
Committer: wilderrodrigues <wr...@schubergphilis.com>
Committed: Mon Mar 16 11:39:58 2015 +0100

----------------------------------------------------------------------
 .../classes/resources/messages.properties       |  2 +
 .../classes/resources/messages_ar.properties    |  1 +
 .../classes/resources/messages_de_DE.properties |  1 +
 .../classes/resources/messages_es.properties    |  2 +
 .../classes/resources/messages_fr_FR.properties |  2 +
 .../classes/resources/messages_it_IT.properties |  3 ++
 .../classes/resources/messages_ja_JP.properties |  2 +
 .../classes/resources/messages_ko_KR.properties |  2 +
 .../classes/resources/messages_nb_NO.properties |  2 +
 .../classes/resources/messages_nl_NL.properties |  4 +-
 .../classes/resources/messages_pt_BR.properties |  6 ++-
 .../classes/resources/messages_ru_RU.properties |  2 +
 .../classes/resources/messages_zh_CN.properties |  2 +
 .../VirtualNetworkApplianceManagerImpl.java     |  6 ++-
 .../config/opt/cloud/bin/cs/CsRedundant.py      |  2 +-
 ui/dictionary.jsp                               |  2 +
 ui/scripts/network.js                           | 40 +++++++++++++++++---
 17 files changed, 71 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4c9f4fcd/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 6709603..6beab8a 100644
--- a/client/WEB-INF/classes/resources/messages.properties
+++ b/client/WEB-INF/classes/resources/messages.properties
@@ -998,6 +998,7 @@ label.reboot=Reboot
 label.recent.errors=Recent Errors
 label.redundant.router.capability=Redundant router capability
 label.redundant.router=Redundant Router
+label.redundant.vpc=Redundant VPC
 label.redundant.state=Redundant state
 label.refresh=Refresh
 label.region=Region
@@ -1034,6 +1035,7 @@ label.resources=Resources
 label.restart.network=Restart network
 label.restart.required=Restart required
 label.restart.vpc=Restart VPC
+message.restart.vpc.remark=Remark: making a single VPC redundant will force a clean up. The network will not be available for a couple of minutes.
 label.restore=Restore
 label.retry.interval=Retry Interval
 label.review=Review

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4c9f4fcd/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 a36399f..728b2d4 100644
--- a/client/WEB-INF/classes/resources/messages_ar.properties
+++ b/client/WEB-INF/classes/resources/messages_ar.properties
@@ -160,6 +160,7 @@ label.reset.VPN.connection=\u0625\u0639\u0627\u062f\u0629 \u062a\u0639\u064a\u06
 label.restart.network=\u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0634\u0628\u0643\u0629
 label.restart.required=\u0645\u0637\u0644\u0648\u0628 \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u062a\u0634\u063a\u064a\u0644
 label.restart.vpc=\u0625\u0639\u062f\u0627\u0629 \u062a\u0634\u063a\u064a\u0644 VPC
+message.restart.vpc.remark=\u0645\u0644\u0627\u062d\u0638\u0629\u003a \u062c\u0639\u0644 \u0632\u0627\u0626\u062f\u0629 \u0639\u0646 \u0627\u0644\u062d\u0627\u062c\u0629 \u0056\u0050\u0043 \u0633\u064a\u062c\u0628\u0631 \u0639\u0644\u0649 \u062a\u0646\u0638\u064a\u0641\u002e \u0644\u0646 \u062a\u0643\u0648\u0646 \u0627\u0644\u0634\u0628\u0643\u0629 \u0645\u062a\u0627\u062d\u0629 \u0644\u0628\u0636\u0639 \u062f\u0642\u0627\u0626\u0642\u002e
 label.restore=\u0625\u0633\u062a\u0639\u0627\u062f\u0629
 label.review=\u0645\u0631\u0627\u062c\u0639\u0629
 label.revoke.project.invite=\u0625\u0644\u063a\u0627\u0621 \u0627\u0644\u062f\u0639\u0648\u0629

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4c9f4fcd/client/WEB-INF/classes/resources/messages_de_DE.properties
----------------------------------------------------------------------
diff --git a/client/WEB-INF/classes/resources/messages_de_DE.properties b/client/WEB-INF/classes/resources/messages_de_DE.properties
index bd36088..f0754d6 100644
--- a/client/WEB-INF/classes/resources/messages_de_DE.properties
+++ b/client/WEB-INF/classes/resources/messages_de_DE.properties
@@ -752,6 +752,7 @@ label.rbd=RBD
 label.reboot=Neustart
 label.recent.errors=Aktuelle Fehler
 label.redundant.router=Redundanter Router
+label.redundant.vpc=Redundanter VPC
 label.refresh=Aktualisieren
 label.region=Region
 label.reinstall.vm=VM neu installieren

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4c9f4fcd/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 91faf77..c0c1b9b 100644
--- a/client/WEB-INF/classes/resources/messages_es.properties
+++ b/client/WEB-INF/classes/resources/messages_es.properties
@@ -735,6 +735,7 @@ label.quickview=Vista R\u00e1pida
 label.reboot=Reiniciar
 label.recent.errors=recientes errores
 label.redundant.router=enrutador redundante
+label.redundant.vpc=VPC redundante
 label.refresh=Actualizar
 label.related=relacionados
 label.remind.later=Recordar mas tarde
@@ -758,6 +759,7 @@ label.resource.state=Estado del recurso
 label.restart.network=Reiniciar red
 label.restart.required=Reiniciado requerido
 label.restart.vpc=Reiniciar VPC
+message.restart.vpc.remark=\u004f\u0062\u0073\u0065\u0072\u0076\u0061\u0063\u0069\u00f3\u006e\u003a \u0068\u0061\u0063\u0065\u0072 \u0075\u006e\u0061 \u0072\u0065\u0064\u0075\u006e\u0064\u0061\u006e\u0074\u0065 \u0056\u0050\u0043 \u006f\u0062\u006c\u0069\u0067\u0061\u0072\u00e1 \u0061 \u0075\u006e\u0061 \u006c\u0069\u006d\u0070\u0069\u0065\u007a\u0061\u002e \u004c\u0061 \u0072\u0065\u0064 \u006e\u006f \u0065\u0073\u0074\u0061\u0072\u00e1 \u0064\u0069\u0073\u0070\u006f\u006e\u0069\u0062\u006c\u0065 \u0064\u0075\u0072\u0061\u006e\u0074\u0065 \u0075\u006e \u0070\u0061\u0072 \u0064\u0065 \u006d\u0069\u006e\u0075\u0074\u006f\u0073\u002e
 label.restore=Restaurar
 label.role=Papel
 label.root.disk.offering=Root Disco Offering

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4c9f4fcd/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 1180465..30dbe2e 100644
--- a/client/WEB-INF/classes/resources/messages_fr_FR.properties
+++ b/client/WEB-INF/classes/resources/messages_fr_FR.properties
@@ -1163,6 +1163,7 @@ label.recent.errors=Erreurs r\u00e9centes
 label.recover.vm=Restaurer VM
 label.redundant.router.capability=Router redondant
 label.redundant.router=Routeur redondant
+label.redundant.vpc=VPC redondant
 label.redundant.state=\u00c9tat de la redondance
 label.refresh=Actualiser
 label.refresh.blades=Rafra\u00eechir Lames
@@ -1223,6 +1224,7 @@ label.response.timeout.in.sec=D\u00e9lai d\\'attente de r\u00e9ponse (sec)
 label.restart.network=Red\u00e9marrage du r\u00e9seau
 label.restart.required=Red\u00e9marrage n\u00e9cessaire
 label.restart.vpc=Red\u00e9marrer le VPC
+message.restart.vpc.remark=\u0052\u0065\u006d\u0061\u0072\u0071\u0075\u0065\u003a \u0066\u0061\u0069\u0072\u0065 \u0075\u006e\u0065 \u0072\u0065\u0064\u006f\u006e\u0064\u0061\u006e\u0074\u0065 \u0056\u0050\u0043 \u0076\u0061 \u0066\u006f\u0072\u0063\u0065\u0072 \u0075\u006e \u006e\u0065\u0074\u0074\u006f\u0079\u0061\u0067\u0065\u002e \u0052\u00e9\u0073\u0065\u0061\u0075 \u006e\u0065 \u0073\u0065\u0072\u0061 \u0070\u0061\u0073 \u0064\u0069\u0073\u0070\u006f\u006e\u0069\u0062\u006c\u0065 \u0070\u006f\u0075\u0072 \u0075\u006e \u0063\u006f\u0075\u0070\u006c\u0065 \u0064\u0065 \u006d\u0069\u006e\u0075\u0074\u0065\u0073\u002e
 label.restore=Restaurer
 label.retry.interval=Interval du nouvel essai
 label.review=Revoir

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4c9f4fcd/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 053d6ab..a18126b 100644
--- a/client/WEB-INF/classes/resources/messages_it_IT.properties
+++ b/client/WEB-INF/classes/resources/messages_it_IT.properties
@@ -276,6 +276,8 @@ label.CIDR.list=Lista CIDR
 label.CIDR.of.destination.network=Valore CIDR della rete di destinazione
 label.clear.list=Pulizia dell\\'elenco
 label.cloud.console=Console di Gestione Cloud
+label.clean.up=Ripulire
+label.make.redundant=\u004e\u006f\u0074\u0061\u003a \u0066\u0061\u0063\u0065\u006e\u0064\u006f \u0075\u006e \u0072\u0069\u0064\u006f\u006e\u0064\u0061\u006e\u0074\u0065 \u0056\u0050\u0043 \u0066\u006f\u0072\u007a\u0065\u0072\u00e0 \u0075\u006e\u0061 \u0070\u0075\u006c\u0069\u007a\u0069\u0061\u002e \u004e\u0065\u0074\u0077\u006f\u0072\u006b \u006e\u006f\u006e \u0073\u0061\u0072\u00e0 \u0064\u0069\u0073\u0070\u006f\u006e\u0069\u0062\u0069\u006c\u0065 \u0070\u0065\u0072 \u0075\u006e \u0070\u0061\u0069\u006f \u0064\u0069 \u006d\u0069\u006e\u0075\u0074\u0069\u002e
 label.cluster=Cluster
 label.cluster.name=Nome del Cluster
 label.clusters=Cluster
@@ -517,6 +519,7 @@ label.resource.state=Stato della risorsa
 label.restart.network=Riavviare il servizio di rete
 label.restart.required=E\\' necessario un riavvio
 label.restart.vpc=Riavviare VPC
+message.restart.vpc.remark=
 label.restore=Restore
 label.review=Riesaminare
 label.revoke.project.invite=Revocare un invit

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4c9f4fcd/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 550d12a..46cc35d 100644
--- a/client/WEB-INF/classes/resources/messages_ja_JP.properties
+++ b/client/WEB-INF/classes/resources/messages_ja_JP.properties
@@ -988,6 +988,7 @@ label.reboot=\u518d\u8d77\u52d5
 label.recent.errors=\u6700\u8fd1\u306e\u30a8\u30e9\u30fc
 label.redundant.router.capability=\u5197\u9577\u30eb\u30fc\u30bf\u30fc\u6a5f\u80fd
 label.redundant.router=\u5197\u9577\u30eb\u30fc\u30bf\u30fc
+label.redundant.vpc=\u5197\u9577 VPC
 label.redundant.state=\u5197\u9577\u72b6\u614b
 label.refresh=\u66f4\u65b0
 label.region=\u9818\u57df
@@ -1024,6 +1025,7 @@ label.resources=\u30ea\u30bd\u30fc\u30b9
 label.restart.network=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u518d\u8d77\u52d5
 label.restart.required=\u518d\u8d77\u52d5\u304c\u5fc5\u8981
 label.restart.vpc=VPC \u306e\u518d\u8d77\u52d5
+message.restart.vpc.remark=\u5099\u8003\uff1a\u30af\u30ea\u30fc\u30f3\u30a2\u30c3\u30d7\u3092\u5f37\u5236\u7684\u306b\u0056\u0050\u0043\u306e\u5197\u9577\u5316\u3092\u884c\u3046\u3002\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304c\u6570\u5206\u9593\u4f7f\u7528\u3067\u304d\u306a\u304f\u306a\u308a\u307e\u3059\u3002
 label.restore=\u5fa9\u5143
 label.retry.interval=\u518d\u8a66\u884c\u9593\u9694
 label.review=\u78ba\u8a8d

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4c9f4fcd/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 4b7e090..7f29399 100644
--- a/client/WEB-INF/classes/resources/messages_ko_KR.properties
+++ b/client/WEB-INF/classes/resources/messages_ko_KR.properties
@@ -861,6 +861,7 @@ label.reboot=\uc7ac\uc2dc\uc791
 label.recent.errors=\ucd5c\uadfc \uc624\ub958
 label.redundant.router.capability=\uc911\ubcf5 \ub77c\uc6b0\ud130 \uae30\ub2a5
 label.redundant.router=\uc911\ubcf5 \ub77c\uc6b0\ud130
+label.redundant.vpc=\uc911\ubcf5 VPC
 label.redundant.state=\uc911\ubcf5 \uc0c1\ud0dc
 label.refresh=\uc5c5\ub370\uc774\ud2b8
 label.reinstall.vm=VM \uc7ac\uc124\uce58
@@ -896,6 +897,7 @@ label.resource=\uc790\uc6d0
 label.restart.network=\ub124\ud2b8\uc6cc\ud06c \uc7ac\uc2dc\uc791
 label.restart.required=\uc7ac\uc2dc\uc791 \ud544\uc694
 label.restart.vpc=VPC \uc7ac\uc2dc\uc791
+message.restart.vpc.remark=\ube44\uace0 \u003a \uc815\ub9ac\ub97c \uac15\uc81c \u0056\u0050\u0043\uc758 \uc911\ubcf5\uc744\u002e \ub124\ud2b8\uc6cc\ud06c\ub294 \uba87 \ubd84\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4\u002e
 label.review=\ud655\uc778
 label.revoke.project.invite=\ucd08\ub300 \ucde8\uc18c
 label.role=\uc5ed\ud560

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4c9f4fcd/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 b9ade48..9a2273a 100644
--- a/client/WEB-INF/classes/resources/messages_nb_NO.properties
+++ b/client/WEB-INF/classes/resources/messages_nb_NO.properties
@@ -717,6 +717,7 @@ label.rbd=RBD
 label.reboot=Restart
 label.redundant.router.capability=Redundant ruter
 label.redundant.router=Redundant ruter
+label.redundant.vpc=Redundant VPC
 label.redundant.state=Redundant tilstand
 label.refresh=Oppfrisk
 label.region=Region
@@ -742,6 +743,7 @@ label.resources=Ressurser
 label.restart.network=Nettverksomstart
 label.restart.required=Omstart p\u00e5krevd
 label.restart.vpc=Omstart VPC
+label.restart.vpc.remrak=\u0042\u0065\u006d\u0065\u0072\u006b\u006e\u0069\u006e\u0067\u003a \u00e5 \u006c\u0061\u0067\u0065 \u0065\u006e \u0056\u0050\u0043 \u006f\u0076\u0065\u0072\u0066\u006c\u00f8\u0064\u0069\u0067 \u0076\u0069\u006c \u0074\u0076\u0069\u006e\u0067\u0065 \u0065\u006e \u0072\u0065\u006e \u006f\u0070\u0070\u002e \u004e\u0065\u0074\u0074\u0076\u0065\u0072\u006b \u0076\u0069\u006c \u0069\u006b\u006b\u0065 \u0076\u00e6\u0072\u0065 \u0074\u0069\u006c\u0067\u006a\u0065\u006e\u0067\u0065\u006c\u0069\u0067 \u0066\u006f\u0072 \u0065\u0074 \u0070\u0061\u0072 \u006d\u0069\u006e\u0075\u0074\u0074\u0065\u0072\u002e
 label.restore=Gjenopprett
 label.review=Gjennomg\u00e5
 label.revoke.project.invite=Tilbakekall invitasjonen

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4c9f4fcd/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 a296088..64789c2 100644
--- a/client/WEB-INF/classes/resources/messages_nl_NL.properties
+++ b/client/WEB-INF/classes/resources/messages_nl_NL.properties
@@ -1101,6 +1101,7 @@ label.recent.errors=Recente Fouten
 label.recover.vm=Herstel VM
 label.redundant.router.capability=Redundante router mogelijkheden
 label.redundant.router=Redundante Router
+label.redundant.vpc=Redundante VPC
 label.redundant.state=Redundante staat
 label.refresh.blades=Ververs Blades
 label.refresh=Ververs
@@ -1155,7 +1156,8 @@ label.resources=Verbruiken
 label.resource=Verbruik
 label.restart.network=Herstart netwerk
 label.restart.required=Herstart benodigd
-label.restart.vpc=herstart VPC
+label.restart.vpc=Herstart VPC
+label.restart.vpc.remrak=\u004f\u0070\u006d\u0065\u0072\u006b\u0069\u006e\u0067\u003a \u0068\u0065\u0074 \u006d\u0061\u006b\u0065\u006e \u0076\u0061\u006e \u0065\u0065\u006e \u0056\u0050\u0043 \u006f\u0076\u0065\u0072\u0062\u006f\u0064\u0069\u0067 \u007a\u0061\u006c \u0065\u0065\u006e \u0073\u0063\u0068\u006f\u006f\u006e \u0064\u0077\u0069\u006e\u0067\u0065\u006e\u002e \u004e\u0065\u0074\u0077\u0065\u0072\u006b \u007a\u0061\u006c \u006e\u0069\u0065\u0074 \u0062\u0065\u0073\u0063\u0068\u0069\u006b\u0062\u0061\u0061\u0072 \u007a\u0069\u006a\u006e \u0076\u006f\u006f\u0072 \u0065\u0065\u006e \u0070\u0061\u0061\u0072 \u006d\u0069\u006e\u0075\u0074\u0065\u006e\u002e
 label.restore=Herstel
 label.review=Beoordeel
 label.revoke.project.invite=Trek uitnodiging in

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4c9f4fcd/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 4eb6997..40b7b12 100644
--- a/client/WEB-INF/classes/resources/messages_pt_BR.properties
+++ b/client/WEB-INF/classes/resources/messages_pt_BR.properties
@@ -975,7 +975,8 @@ label.reboot=Reiniciar
 label.recent.errors=Erros Recentes
 label.recover.vm=Recuperar VM
 label.redundant.router.capability=Recurso de roteador redundante
-label.redundant.router=Roteador Redundantee
+label.redundant.router=Roteador Redundante
+label.redundant.vpc=VPC Redundante
 label.redundant.state=Estado redundante
 label.refresh=Atualizar
 label.region=Regi\u00e3o
@@ -1014,7 +1015,8 @@ label.resources=Recursos
 label.resource.state=Estado do Recurso
 label.restart.network=Reiniciar rede
 label.restart.required=Reiniciar obrigat\u00f3rio
-label.restart.vpc=reiniciar a VPC
+label.restart.vpc=Reiniciar a VPC
+label.restart.vpc.remrak=\u004f\u0062\u0073\u0065\u0072\u0076\u0061\u00e7\u00e3\u006f\u003a \u0074\u006f\u0072\u006e\u0061\u0072 \u0075\u006d\u0061 \u0056\u0050\u0043 \u0072\u0065\u0064\u0075\u006e\u0064\u0061\u006e\u0074\u0065 \u0066\u006f\u0072\u00e7\u0061\u0072\u00e1 \u0075\u006d\u0061 \u006c\u0069\u006d\u0070\u0065\u007a\u0061\u002e \u0041 \u0072\u0065\u0064\u0065 \u006e\u00e3\u006f \u0065\u0073\u0074\u0061\u0072\u00e1 \u0064\u0069\u0073\u0070\u006f\u006e\u00ed\u0076\u0065\u006c \u0070\u006f\u0072 \u0061\u006c\u0067\u0075\u006e\u0073 \u006d\u0069\u006e\u0075\u0074\u006f\u0073\u002e
 label.restore=Restaurar
 label.review=Revisar
 label.revoke.project.invite=Revogar convite

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4c9f4fcd/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 e825605..085af0f 100644
--- a/client/WEB-INF/classes/resources/messages_ru_RU.properties
+++ b/client/WEB-INF/classes/resources/messages_ru_RU.properties
@@ -917,6 +917,7 @@ label.reboot=\u041f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\
 label.recent.errors=\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438
 label.redundant.router.capability=\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u0440\u043e\u0443\u0442\u0435\u0440\u0430
 label.redundant.router=\u0420\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0439 \u0440\u043e\u0443\u0442\u0435\u0440
+label.redundant.vpc=\u0420\u0435\u0437\u0435\u0440\u0432\u043d\u044b\u0439 \u0056\u0050\u0043
 label.redundant.state=\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u0430
 label.refresh=\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c
 label.region=\u0420\u0435\u0433\u0438\u043e\u043d
@@ -953,6 +954,7 @@ label.resource=\u0420\u0435\u0441\u0443\u0440\u0441
 label.restart.network=\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0435\u0442\u044c
 label.restart.required=\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a
 label.restart.vpc=\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c VPC
+label.restart.vpc.remrak=\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435\u003a \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438\u0437\u043b\u0438\u0448\u043d\u0438\u043c \u0056\u0050\u0043 \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442 \u0443\u0431\u0438\u0440\u0430\u0442\u044c\u002e\u0421\u0435\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043c\u0438\u043d\u0443\u0442\u002e
 label.restore=\u0412\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c
 label.review=\u041e\u0431\u0437\u043e\u0440
 label.revoke.project.invite=\u041e\u0442\u043e\u0437\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u0435

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4c9f4fcd/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 427b060..969391f 100644
--- a/client/WEB-INF/classes/resources/messages_zh_CN.properties
+++ b/client/WEB-INF/classes/resources/messages_zh_CN.properties
@@ -988,6 +988,7 @@ label.reboot=\u91cd\u65b0\u542f\u52a8
 label.recent.errors=\u6700\u8fd1\u51fa\u73b0\u7684\u9519\u8bef
 label.redundant.router.capability=\u5197\u4f59\u8def\u7531\u5668\u529f\u80fd
 label.redundant.router=\u5197\u4f59\u8def\u7531\u5668
+label.redundant.vpc=\u591a\u9918\u7684\u0056\u0050\u0043
 label.redundant.state=\u5197\u4f59\u72b6\u6001
 label.refresh=\u5237\u65b0
 label.region=\u5730\u7406\u533a\u57df
@@ -1024,6 +1025,7 @@ label.resources=\u8d44\u6e90
 label.restart.network=\u91cd\u65b0\u542f\u52a8\u7f51\u7edc
 label.restart.required=\u9700\u8981\u91cd\u65b0\u542f\u52a8
 label.restart.vpc=\u91cd\u65b0\u542f\u52a8 VPC
+message.restart.vpc.remark=\u5099\u8a3b\uff1a\u88fd\u4f5c\u0056\u0050\u0043\u5197\u9918\u5c07\u5f37\u5236\u6e05\u7406\u3002\u8a72\u7db2\u7d61\u5c07\u4e0d\u53ef\u7528\u4e86\u5e7e\u5206\u9418\u3002
 label.restore=\u8fd8\u539f
 label.retry.interval=\u91cd\u8bd5\u65f6\u95f4\u95f4\u9694
 label.review=\u6838\u5bf9

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4c9f4fcd/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
index eb6496c..5bca748 100644
--- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
+++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
@@ -1590,7 +1590,6 @@ Configurable, StateListener<State, VirtualMachine.Event, VirtualMachine> {
         final boolean isRedundant = router.getIsRedundantRouter();
         if (isRedundant) {
             buf.append(" redundant_router=1");
-            buf.append(" router_id=").append(router.getId());
 
             final Long vpcId = router.getVpcId();
             final List<DomainRouterVO> routers;
@@ -1605,9 +1604,14 @@ Configurable, StateListener<State, VirtualMachine.Event, VirtualMachine> {
             if (routers.size() == 0) {
                 redundantState = RedundantState.MASTER.toString();
                 router.setRedundantState(RedundantState.MASTER);
+
+                buf.append(" router_id=").append(router.getId());
             } else {
                 final DomainRouterVO router0 = routers.get(0);
 
+                //For a redundant router, both shall have the same router id. It will be used by the VRRP virtural_router_id attribute.
+                buf.append(" router_id=").append(router0.getId());
+
                 if (router.getId() == router0.getId()) {
                     redundantState = RedundantState.MASTER.toString();
                     router.setRedundantState(RedundantState.MASTER);

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4c9f4fcd/systemvm/patches/debian/config/opt/cloud/bin/cs/CsRedundant.py
----------------------------------------------------------------------
diff --git a/systemvm/patches/debian/config/opt/cloud/bin/cs/CsRedundant.py b/systemvm/patches/debian/config/opt/cloud/bin/cs/CsRedundant.py
index 8561e8d..7e4dcab 100644
--- a/systemvm/patches/debian/config/opt/cloud/bin/cs/CsRedundant.py
+++ b/systemvm/patches/debian/config/opt/cloud/bin/cs/CsRedundant.py
@@ -116,7 +116,7 @@ class CsRedundant(object):
         #file.search(" weight ", "    weight %s" % 2)
         # file.search(" state ", "    state %s" % self.cl.get_state())
         file.search(" state ", "    state %s" % "EQUAL")
-        # file.search(" virtual_router_id ", "    virtual_router_id %s" % self.cl.get_router_id())
+        file.search(" virtual_router_id ", "    virtual_router_id %s" % self.cl.get_router_id())
         file.greplace("[RROUTER_BIN_PATH]", self.CS_ROUTER_DIR)
         file.section("virtual_ipaddress {", "}", self._collect_ips())
         file.commit()

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4c9f4fcd/ui/dictionary.jsp
----------------------------------------------------------------------
diff --git a/ui/dictionary.jsp b/ui/dictionary.jsp
index 895f426..3f5d73b 100644
--- a/ui/dictionary.jsp
+++ b/ui/dictionary.jsp
@@ -1028,6 +1028,8 @@ dictionary = {
 'label.restart.network': '<fmt:message key="label.restart.network" />',
 'label.restart.required': '<fmt:message key="label.restart.required" />',
 'label.restart.vpc': '<fmt:message key="label.restart.vpc" />',
+'label.redundant.vpc': '<fmt:message key="label.redundant.vpc" />',
+'message.restart.vpc.remark': '<fmt:message key="message.restart.vpc.remark" />',
 'label.restore': '<fmt:message key="label.restore" />',
 'label.retry.interval': '<fmt:message key="label.retry.interval" />',
 'label.review': '<fmt:message key="label.review" />',

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4c9f4fcd/ui/scripts/network.js
----------------------------------------------------------------------
diff --git a/ui/scripts/network.js b/ui/scripts/network.js
index b1e4d22..e7ab5fc 100755
--- a/ui/scripts/network.js
+++ b/ui/scripts/network.js
@@ -5510,7 +5510,14 @@
                                 label: 'label.restart.vpc',
                                 createForm: {
 		                            title: 'label.restart.vpc',
-		                            desc: 'message.restart.vpc',
+		                            desc: function(args) {
+		                                if (Boolean(args.context.vpc[0].redundantvpcrouter)) {
+		                                   return 'message.restart.vpc';
+		                               } else {
+		                                   return 'message.restart.vpc.remark';
+		                               }
+		                            },
+                                    
 		                            preFilter: function(args) {
 		                               var zoneObj;
 		                               $.ajax({
@@ -5521,10 +5528,18 @@
 		                                       zoneObj = json.listzonesresponse.zone[0];
 		                                   }
 		                               });
+		                               
+		                               
 		                               args.$form.find('.form-item[rel=cleanup]').find('input').attr('checked', 'checked'); //checked
 		                               args.$form.find('.form-item[rel=cleanup]').css('display', 'inline-block'); //shown
 	                                   args.$form.find('.form-item[rel=makeredundant]').find('input').attr('checked', 'checked'); //checked
 	                                   args.$form.find('.form-item[rel=makeredundant]').css('display', 'inline-block'); //shown
+	                                   
+		                               if (Boolean(args.context.vpc[0].redundantvpcrouter)) {
+		                                   args.$form.find('.form-item[rel=makeredundant]').hide();
+		                               } else {
+		                                   args.$form.find('.form-item[rel=makeredundant]').show();
+		                               }
 		                           },
 		                           fields: {
 		                               cleanup: {
@@ -5539,7 +5554,7 @@
 		                        },
                                 messages: {
                                     confirm: function(args) {
-                                        return 'message.restart.vpc';
+		                                return 'message.restart.vpc';
                                     },
                                     notification: function(args) {
                                         return 'label.restart.vpc';
@@ -5651,14 +5666,29 @@
                                     },
                                     ispersistent: {
                                         label: 'label.persistent',
-                                        converter: cloudStack.converters.toBooleanText
+                                        converter: function(booleanValue) {
+                                            if (booleanValue == true) {
+                                                return "Yes";
+                                            }
+
+                                            return "No";
+                                        }
+                                    },
+                                    redundantvpcrouter: {
+                                        label: 'label.redundant.vpc',
+                                        converter: function(booleanValue) {
+                                            if (booleanValue == true) {
+                                                return "Yes";
+                                            }
 
+                                            return "No";
+                                        }
                                     },
                                     restartrequired: {
                                         label: 'label.restart.required',
                                         converter: function(booleanValue) {
                                             if (booleanValue == true) {
-                                                return "<font color='red'>Yes</font>";
+                                                return "Yes";
                                             }
 
                                             return "No";
@@ -5729,7 +5759,7 @@
                                         label: 'label.redundant.router',
                                         converter: function(booleanValue) {
                                             if (booleanValue == true) {
-                                                return "<font color='red'>Yes</font>";
+                                                return "Yes";
                                             }
                                             return "No";
                                         }