Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
currently, when we want to upgrade a slider app, each containers should be restarted manually.
this makes upgrading very inconvenient.
I propose the AutoRollingUpgrader.
- the AutoRollingUpgrader is a thread running periodically.
- if container’s appVersion is different from that Slider-AM know, the container will be restarted.
- to avoid application down, container should be restarted one at a time.
- configurations should be added as follows
site.global.auto_rolling_upgrade_enabled: if this is set to true, the AutoRollingUpgrader is enabled.
site.global.auto_rolling_upgrade_interval: the interval in milliseconds at which the AutoRollingUpgrader runs.
upgrade scenario when the AutoRollingUpgrader is enabled
1. user write a new appConfig file including changed “site.global.app_version"
2. user execute "slider upgrade" command with new appConfig.
3. slider-AM is killed and new slider-AM is launched with new appConfig.
4. new Slider-AM reregister with previous containers.
5. containers that have old appVersion are restarted by the AutoRollingUpgrader.
a user want to upgrade only need to do 1,2.