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
This commit is contained in:
wilderrodrigues 2015-02-04 17:07:17 +01:00
parent 7a9a356094
commit 4c9f4fcdd3
17 changed files with 71 additions and 10 deletions

View File

@ -998,6 +998,7 @@ label.reboot=Reboot
label.recent.errors=Recent Errors label.recent.errors=Recent Errors
label.redundant.router.capability=Redundant router capability label.redundant.router.capability=Redundant router capability
label.redundant.router=Redundant Router label.redundant.router=Redundant Router
label.redundant.vpc=Redundant VPC
label.redundant.state=Redundant state label.redundant.state=Redundant state
label.refresh=Refresh label.refresh=Refresh
label.region=Region label.region=Region
@ -1034,6 +1035,7 @@ label.resources=Resources
label.restart.network=Restart network label.restart.network=Restart network
label.restart.required=Restart required label.restart.required=Restart required
label.restart.vpc=Restart VPC 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.restore=Restore
label.retry.interval=Retry Interval label.retry.interval=Retry Interval
label.review=Review label.review=Review

View File

@ -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.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.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 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.restore=\u0625\u0633\u062a\u0639\u0627\u062f\u0629
label.review=\u0645\u0631\u0627\u062c\u0639\u0629 label.review=\u0645\u0631\u0627\u062c\u0639\u0629
label.revoke.project.invite=\u0625\u0644\u063a\u0627\u0621 \u0627\u0644\u062f\u0639\u0648\u0629 label.revoke.project.invite=\u0625\u0644\u063a\u0627\u0621 \u0627\u0644\u062f\u0639\u0648\u0629

View File

@ -752,6 +752,7 @@ label.rbd=RBD
label.reboot=Neustart label.reboot=Neustart
label.recent.errors=Aktuelle Fehler label.recent.errors=Aktuelle Fehler
label.redundant.router=Redundanter Router label.redundant.router=Redundanter Router
label.redundant.vpc=Redundanter VPC
label.refresh=Aktualisieren label.refresh=Aktualisieren
label.region=Region label.region=Region
label.reinstall.vm=VM neu installieren label.reinstall.vm=VM neu installieren

View File

@ -735,6 +735,7 @@ label.quickview=Vista R\u00e1pida
label.reboot=Reiniciar label.reboot=Reiniciar
label.recent.errors=recientes errores label.recent.errors=recientes errores
label.redundant.router=enrutador redundante label.redundant.router=enrutador redundante
label.redundant.vpc=VPC redundante
label.refresh=Actualizar label.refresh=Actualizar
label.related=relacionados label.related=relacionados
label.remind.later=Recordar mas tarde label.remind.later=Recordar mas tarde
@ -758,6 +759,7 @@ label.resource.state=Estado del recurso
label.restart.network=Reiniciar red label.restart.network=Reiniciar red
label.restart.required=Reiniciado requerido label.restart.required=Reiniciado requerido
label.restart.vpc=Reiniciar VPC 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.restore=Restaurar
label.role=Papel label.role=Papel
label.root.disk.offering=Root Disco Offering label.root.disk.offering=Root Disco Offering

View File

@ -1163,6 +1163,7 @@ label.recent.errors=Erreurs r\u00e9centes
label.recover.vm=Restaurer VM label.recover.vm=Restaurer VM
label.redundant.router.capability=Router redondant label.redundant.router.capability=Router redondant
label.redundant.router=Routeur redondant label.redundant.router=Routeur redondant
label.redundant.vpc=VPC redondant
label.redundant.state=\u00c9tat de la redondance label.redundant.state=\u00c9tat de la redondance
label.refresh=Actualiser label.refresh=Actualiser
label.refresh.blades=Rafra\u00eechir Lames 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.network=Red\u00e9marrage du r\u00e9seau
label.restart.required=Red\u00e9marrage n\u00e9cessaire label.restart.required=Red\u00e9marrage n\u00e9cessaire
label.restart.vpc=Red\u00e9marrer le VPC 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.restore=Restaurer
label.retry.interval=Interval du nouvel essai label.retry.interval=Interval du nouvel essai
label.review=Revoir label.review=Revoir

View File

@ -276,6 +276,8 @@ label.CIDR.list=Lista CIDR
label.CIDR.of.destination.network=Valore CIDR della rete di destinazione label.CIDR.of.destination.network=Valore CIDR della rete di destinazione
label.clear.list=Pulizia dell\\'elenco label.clear.list=Pulizia dell\\'elenco
label.cloud.console=Console di Gestione Cloud 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=Cluster
label.cluster.name=Nome del Cluster label.cluster.name=Nome del Cluster
label.clusters=Cluster label.clusters=Cluster
@ -517,6 +519,7 @@ label.resource.state=Stato della risorsa
label.restart.network=Riavviare il servizio di rete label.restart.network=Riavviare il servizio di rete
label.restart.required=E\\' necessario un riavvio label.restart.required=E\\' necessario un riavvio
label.restart.vpc=Riavviare VPC label.restart.vpc=Riavviare VPC
message.restart.vpc.remark=
label.restore=Restore label.restore=Restore
label.review=Riesaminare label.review=Riesaminare
label.revoke.project.invite=Revocare un invit label.revoke.project.invite=Revocare un invit

View File

@ -988,6 +988,7 @@ label.reboot=\u518d\u8d77\u52d5
label.recent.errors=\u6700\u8fd1\u306e\u30a8\u30e9\u30fc label.recent.errors=\u6700\u8fd1\u306e\u30a8\u30e9\u30fc
label.redundant.router.capability=\u5197\u9577\u30eb\u30fc\u30bf\u30fc\u6a5f\u80fd label.redundant.router.capability=\u5197\u9577\u30eb\u30fc\u30bf\u30fc\u6a5f\u80fd
label.redundant.router=\u5197\u9577\u30eb\u30fc\u30bf\u30fc label.redundant.router=\u5197\u9577\u30eb\u30fc\u30bf\u30fc
label.redundant.vpc=\u5197\u9577 VPC
label.redundant.state=\u5197\u9577\u72b6\u614b label.redundant.state=\u5197\u9577\u72b6\u614b
label.refresh=\u66f4\u65b0 label.refresh=\u66f4\u65b0
label.region=\u9818\u57df 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.network=\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u518d\u8d77\u52d5
label.restart.required=\u518d\u8d77\u52d5\u304c\u5fc5\u8981 label.restart.required=\u518d\u8d77\u52d5\u304c\u5fc5\u8981
label.restart.vpc=VPC \u306e\u518d\u8d77\u52d5 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.restore=\u5fa9\u5143
label.retry.interval=\u518d\u8a66\u884c\u9593\u9694 label.retry.interval=\u518d\u8a66\u884c\u9593\u9694
label.review=\u78ba\u8a8d label.review=\u78ba\u8a8d

View File

@ -861,6 +861,7 @@ label.reboot=\uc7ac\uc2dc\uc791
label.recent.errors=\ucd5c\uadfc \uc624\ub958 label.recent.errors=\ucd5c\uadfc \uc624\ub958
label.redundant.router.capability=\uc911\ubcf5 \ub77c\uc6b0\ud130 \uae30\ub2a5 label.redundant.router.capability=\uc911\ubcf5 \ub77c\uc6b0\ud130 \uae30\ub2a5
label.redundant.router=\uc911\ubcf5 \ub77c\uc6b0\ud130 label.redundant.router=\uc911\ubcf5 \ub77c\uc6b0\ud130
label.redundant.vpc=\uc911\ubcf5 VPC
label.redundant.state=\uc911\ubcf5 \uc0c1\ud0dc label.redundant.state=\uc911\ubcf5 \uc0c1\ud0dc
label.refresh=\uc5c5\ub370\uc774\ud2b8 label.refresh=\uc5c5\ub370\uc774\ud2b8
label.reinstall.vm=VM \uc7ac\uc124\uce58 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.network=\ub124\ud2b8\uc6cc\ud06c \uc7ac\uc2dc\uc791
label.restart.required=\uc7ac\uc2dc\uc791 \ud544\uc694 label.restart.required=\uc7ac\uc2dc\uc791 \ud544\uc694
label.restart.vpc=VPC \uc7ac\uc2dc\uc791 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.review=\ud655\uc778
label.revoke.project.invite=\ucd08\ub300 \ucde8\uc18c label.revoke.project.invite=\ucd08\ub300 \ucde8\uc18c
label.role=\uc5ed\ud560 label.role=\uc5ed\ud560

View File

@ -717,6 +717,7 @@ label.rbd=RBD
label.reboot=Restart label.reboot=Restart
label.redundant.router.capability=Redundant ruter label.redundant.router.capability=Redundant ruter
label.redundant.router=Redundant ruter label.redundant.router=Redundant ruter
label.redundant.vpc=Redundant VPC
label.redundant.state=Redundant tilstand label.redundant.state=Redundant tilstand
label.refresh=Oppfrisk label.refresh=Oppfrisk
label.region=Region label.region=Region
@ -742,6 +743,7 @@ label.resources=Ressurser
label.restart.network=Nettverksomstart label.restart.network=Nettverksomstart
label.restart.required=Omstart p\u00e5krevd label.restart.required=Omstart p\u00e5krevd
label.restart.vpc=Omstart VPC 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.restore=Gjenopprett
label.review=Gjennomg\u00e5 label.review=Gjennomg\u00e5
label.revoke.project.invite=Tilbakekall invitasjonen label.revoke.project.invite=Tilbakekall invitasjonen

View File

@ -1101,6 +1101,7 @@ label.recent.errors=Recente Fouten
label.recover.vm=Herstel VM label.recover.vm=Herstel VM
label.redundant.router.capability=Redundante router mogelijkheden label.redundant.router.capability=Redundante router mogelijkheden
label.redundant.router=Redundante Router label.redundant.router=Redundante Router
label.redundant.vpc=Redundante VPC
label.redundant.state=Redundante staat label.redundant.state=Redundante staat
label.refresh.blades=Ververs Blades label.refresh.blades=Ververs Blades
label.refresh=Ververs label.refresh=Ververs
@ -1155,7 +1156,8 @@ label.resources=Verbruiken
label.resource=Verbruik label.resource=Verbruik
label.restart.network=Herstart netwerk label.restart.network=Herstart netwerk
label.restart.required=Herstart benodigd 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.restore=Herstel
label.review=Beoordeel label.review=Beoordeel
label.revoke.project.invite=Trek uitnodiging in label.revoke.project.invite=Trek uitnodiging in

View File

@ -975,7 +975,8 @@ label.reboot=Reiniciar
label.recent.errors=Erros Recentes label.recent.errors=Erros Recentes
label.recover.vm=Recuperar VM label.recover.vm=Recuperar VM
label.redundant.router.capability=Recurso de roteador redundante 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.redundant.state=Estado redundante
label.refresh=Atualizar label.refresh=Atualizar
label.region=Regi\u00e3o label.region=Regi\u00e3o
@ -1014,7 +1015,8 @@ label.resources=Recursos
label.resource.state=Estado do Recurso label.resource.state=Estado do Recurso
label.restart.network=Reiniciar rede label.restart.network=Reiniciar rede
label.restart.required=Reiniciar obrigat\u00f3rio 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.restore=Restaurar
label.review=Revisar label.review=Revisar
label.revoke.project.invite=Revogar convite label.revoke.project.invite=Revogar convite

View File

@ -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.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.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.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.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.refresh=\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c
label.region=\u0420\u0435\u0433\u0438\u043e\u043d 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.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.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=\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.restore=\u0412\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c
label.review=\u041e\u0431\u0437\u043e\u0440 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 label.revoke.project.invite=\u041e\u0442\u043e\u0437\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u0435

View File

@ -988,6 +988,7 @@ label.reboot=\u91cd\u65b0\u542f\u52a8
label.recent.errors=\u6700\u8fd1\u51fa\u73b0\u7684\u9519\u8bef label.recent.errors=\u6700\u8fd1\u51fa\u73b0\u7684\u9519\u8bef
label.redundant.router.capability=\u5197\u4f59\u8def\u7531\u5668\u529f\u80fd label.redundant.router.capability=\u5197\u4f59\u8def\u7531\u5668\u529f\u80fd
label.redundant.router=\u5197\u4f59\u8def\u7531\u5668 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.redundant.state=\u5197\u4f59\u72b6\u6001
label.refresh=\u5237\u65b0 label.refresh=\u5237\u65b0
label.region=\u5730\u7406\u533a\u57df 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.network=\u91cd\u65b0\u542f\u52a8\u7f51\u7edc
label.restart.required=\u9700\u8981\u91cd\u65b0\u542f\u52a8 label.restart.required=\u9700\u8981\u91cd\u65b0\u542f\u52a8
label.restart.vpc=\u91cd\u65b0\u542f\u52a8 VPC 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.restore=\u8fd8\u539f
label.retry.interval=\u91cd\u8bd5\u65f6\u95f4\u95f4\u9694 label.retry.interval=\u91cd\u8bd5\u65f6\u95f4\u95f4\u9694
label.review=\u6838\u5bf9 label.review=\u6838\u5bf9

View File

@ -1590,7 +1590,6 @@ Configurable, StateListener<State, VirtualMachine.Event, VirtualMachine> {
final boolean isRedundant = router.getIsRedundantRouter(); final boolean isRedundant = router.getIsRedundantRouter();
if (isRedundant) { if (isRedundant) {
buf.append(" redundant_router=1"); buf.append(" redundant_router=1");
buf.append(" router_id=").append(router.getId());
final Long vpcId = router.getVpcId(); final Long vpcId = router.getVpcId();
final List<DomainRouterVO> routers; final List<DomainRouterVO> routers;
@ -1605,9 +1604,14 @@ Configurable, StateListener<State, VirtualMachine.Event, VirtualMachine> {
if (routers.size() == 0) { if (routers.size() == 0) {
redundantState = RedundantState.MASTER.toString(); redundantState = RedundantState.MASTER.toString();
router.setRedundantState(RedundantState.MASTER); router.setRedundantState(RedundantState.MASTER);
buf.append(" router_id=").append(router.getId());
} else { } else {
final DomainRouterVO router0 = routers.get(0); 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()) { if (router.getId() == router0.getId()) {
redundantState = RedundantState.MASTER.toString(); redundantState = RedundantState.MASTER.toString();
router.setRedundantState(RedundantState.MASTER); router.setRedundantState(RedundantState.MASTER);

View File

@ -116,7 +116,7 @@ class CsRedundant(object):
#file.search(" weight ", " weight %s" % 2) #file.search(" weight ", " weight %s" % 2)
# file.search(" state ", " state %s" % self.cl.get_state()) # file.search(" state ", " state %s" % self.cl.get_state())
file.search(" state ", " state %s" % "EQUAL") 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.greplace("[RROUTER_BIN_PATH]", self.CS_ROUTER_DIR)
file.section("virtual_ipaddress {", "}", self._collect_ips()) file.section("virtual_ipaddress {", "}", self._collect_ips())
file.commit() file.commit()

View File

@ -1028,6 +1028,8 @@ dictionary = {
'label.restart.network': '<fmt:message key="label.restart.network" />', 'label.restart.network': '<fmt:message key="label.restart.network" />',
'label.restart.required': '<fmt:message key="label.restart.required" />', 'label.restart.required': '<fmt:message key="label.restart.required" />',
'label.restart.vpc': '<fmt:message key="label.restart.vpc" />', '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.restore': '<fmt:message key="label.restore" />',
'label.retry.interval': '<fmt:message key="label.retry.interval" />', 'label.retry.interval': '<fmt:message key="label.retry.interval" />',
'label.review': '<fmt:message key="label.review" />', 'label.review': '<fmt:message key="label.review" />',

View File

@ -5510,7 +5510,14 @@
label: 'label.restart.vpc', label: 'label.restart.vpc',
createForm: { createForm: {
title: 'label.restart.vpc', 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) { preFilter: function(args) {
var zoneObj; var zoneObj;
$.ajax({ $.ajax({
@ -5521,10 +5528,18 @@
zoneObj = json.listzonesresponse.zone[0]; 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]').find('input').attr('checked', 'checked'); //checked
args.$form.find('.form-item[rel=cleanup]').css('display', 'inline-block'); //shown 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]').find('input').attr('checked', 'checked'); //checked
args.$form.find('.form-item[rel=makeredundant]').css('display', 'inline-block'); //shown 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: { fields: {
cleanup: { cleanup: {
@ -5651,14 +5666,29 @@
}, },
ispersistent: { ispersistent: {
label: 'label.persistent', 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: { restartrequired: {
label: 'label.restart.required', label: 'label.restart.required',
converter: function(booleanValue) { converter: function(booleanValue) {
if (booleanValue == true) { if (booleanValue == true) {
return "<font color='red'>Yes</font>"; return "Yes";
} }
return "No"; return "No";
@ -5729,7 +5759,7 @@
label: 'label.redundant.router', label: 'label.redundant.router',
converter: function(booleanValue) { converter: function(booleanValue) {
if (booleanValue == true) { if (booleanValue == true) {
return "<font color='red'>Yes</font>"; return "Yes";
} }
return "No"; return "No";
} }