From 4c9f4fcdd3784eda560e9df97cc59e7aef65c504 Mon Sep 17 00:00:00 2001 From: wilderrodrigues Date: Wed, 4 Feb 2015 17:07:17 +0100 Subject: [PATCH] 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 --- .../classes/resources/messages.properties | 2 + .../classes/resources/messages_ar.properties | 1 + .../resources/messages_de_DE.properties | 1 + .../classes/resources/messages_es.properties | 2 + .../resources/messages_fr_FR.properties | 2 + .../resources/messages_it_IT.properties | 3 ++ .../resources/messages_ja_JP.properties | 2 + .../resources/messages_ko_KR.properties | 2 + .../resources/messages_nb_NO.properties | 2 + .../resources/messages_nl_NL.properties | 4 +- .../resources/messages_pt_BR.properties | 6 ++- .../resources/messages_ru_RU.properties | 2 + .../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(-) diff --git a/client/WEB-INF/classes/resources/messages.properties b/client/WEB-INF/classes/resources/messages.properties index 6709603c79e..6beab8a6be5 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 diff --git a/client/WEB-INF/classes/resources/messages_ar.properties b/client/WEB-INF/classes/resources/messages_ar.properties index a36399fcca1..728b2d427e8 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 diff --git a/client/WEB-INF/classes/resources/messages_de_DE.properties b/client/WEB-INF/classes/resources/messages_de_DE.properties index bd360882ef7..f0754d618d5 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 diff --git a/client/WEB-INF/classes/resources/messages_es.properties b/client/WEB-INF/classes/resources/messages_es.properties index 91faf777369..c0c1b9b0910 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 diff --git a/client/WEB-INF/classes/resources/messages_fr_FR.properties b/client/WEB-INF/classes/resources/messages_fr_FR.properties index 1180465f196..30dbe2e51d7 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 diff --git a/client/WEB-INF/classes/resources/messages_it_IT.properties b/client/WEB-INF/classes/resources/messages_it_IT.properties index 053d6ab70df..a18126b25ff 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 diff --git a/client/WEB-INF/classes/resources/messages_ja_JP.properties b/client/WEB-INF/classes/resources/messages_ja_JP.properties index 550d12ad7b7..46cc35d731b 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 diff --git a/client/WEB-INF/classes/resources/messages_ko_KR.properties b/client/WEB-INF/classes/resources/messages_ko_KR.properties index 4b7e0908043..7f293992d4c 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 diff --git a/client/WEB-INF/classes/resources/messages_nb_NO.properties b/client/WEB-INF/classes/resources/messages_nb_NO.properties index b9ade48935d..9a2273a1fc0 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 diff --git a/client/WEB-INF/classes/resources/messages_nl_NL.properties b/client/WEB-INF/classes/resources/messages_nl_NL.properties index a296088aec7..64789c25307 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 diff --git a/client/WEB-INF/classes/resources/messages_pt_BR.properties b/client/WEB-INF/classes/resources/messages_pt_BR.properties index 4eb699717b6..40b7b12d636 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 diff --git a/client/WEB-INF/classes/resources/messages_ru_RU.properties b/client/WEB-INF/classes/resources/messages_ru_RU.properties index e82560570ef..085af0f0f80 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 diff --git a/client/WEB-INF/classes/resources/messages_zh_CN.properties b/client/WEB-INF/classes/resources/messages_zh_CN.properties index 427b06006fe..969391f7364 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 diff --git a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index eb6496c25a5..5bca748700a 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 { 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 routers; @@ -1605,9 +1604,14 @@ Configurable, StateListener { 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); 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 8561e8de302..7e4dcab2699 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() diff --git a/ui/dictionary.jsp b/ui/dictionary.jsp index 895f4269e03..3f5d73b8d2c 100644 --- a/ui/dictionary.jsp +++ b/ui/dictionary.jsp @@ -1028,6 +1028,8 @@ dictionary = { 'label.restart.network': '', 'label.restart.required': '', 'label.restart.vpc': '', +'label.redundant.vpc': '', +'message.restart.vpc.remark': '', 'label.restore': '', 'label.retry.interval': '', 'label.review': '', diff --git a/ui/scripts/network.js b/ui/scripts/network.js index b1e4d2267ec..e7ab5fcde85 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 "Yes"; + return "Yes"; } return "No"; @@ -5729,7 +5759,7 @@ label: 'label.redundant.router', converter: function(booleanValue) { if (booleanValue == true) { - return "Yes"; + return "Yes"; } return "No"; }