Commit e65387e7408406ad977b1a583364c3fa90e3bace
1 parent
0ee683a4
Exists in
master
and in
11 other branches
0-downtime upgrades with the Debian package
Instead of stopping the service, running migrations etc (those take time), and then starting again, let's only restart the service after the uprada has already happened. Now that we are using unicorn, which supports restarting with dropping connections, with this we should have 0 downtime upgrades. Also removed some unecessary buts deom debian/noosfero.prerm: - remove restarting of memcached, which is broken behavior as it could affect other services using memcached. Just set a namespace for our cache keys, and all caches will be automatically invalidated when the application is restarted after an upgrade with a new version number - remove removal of cache/*, since script/production already does that. NOTE: since this behavior change depends on changes to the prerm script, this won't take effect until the next upgrade _after_ the upgrade to first version including this change.
Showing
3 changed files
with
2 additions
and
9 deletions
Show diff stats
config/environments/production.rb
@@ -44,7 +44,7 @@ Noosfero::Application.configure do | @@ -44,7 +44,7 @@ Noosfero::Application.configure do | ||
44 | # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new) | 44 | # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new) |
45 | 45 | ||
46 | # Use a different cache store in production | 46 | # Use a different cache store in production |
47 | - config.cache_store = :dalli_store, "127.0.0.1:11211" | 47 | + config.cache_store = :dalli_store, "127.0.0.1:11211", { :namespace => "noosfero/#{Noosfero::VERSION}" } |
48 | 48 | ||
49 | # Enable serving of images, stylesheets, and javascripts from an asset server | 49 | # Enable serving of images, stylesheets, and javascripts from an asset server |
50 | # config.action_controller.asset_host = "http://assets.example.com" | 50 | # config.action_controller.asset_host = "http://assets.example.com" |
debian/noosfero.prerm
@@ -8,14 +8,7 @@ dbc_go noosfero $@ | @@ -8,14 +8,7 @@ dbc_go noosfero $@ | ||
8 | 8 | ||
9 | #DEBHELPER# | 9 | #DEBHELPER# |
10 | 10 | ||
11 | -# some dirty work is needed after Noosfero is stopped | ||
12 | if [ "$1" = "upgrade" ]; then | 11 | if [ "$1" = "upgrade" ]; then |
13 | - # delete cached files | ||
14 | - rm -f /var/lib/noosfero-data/cache/* | ||
15 | - | ||
16 | - # restart memcache | ||
17 | - invoke-rc.d memcached restart | ||
18 | - | ||
19 | # stop debconf to avoid the problem with infinite hanging, cfe | 12 | # stop debconf to avoid the problem with infinite hanging, cfe |
20 | # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=295477 | 13 | # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=295477 |
21 | db_stop | 14 | db_stop |
debian/rules
@@ -25,7 +25,7 @@ override_dh_auto_install: | @@ -25,7 +25,7 @@ override_dh_auto_install: | ||
25 | debian/filter-gemfile > $(CURDIR)/debian/noosfero/usr/share/noosfero/Gemfile | 25 | debian/filter-gemfile > $(CURDIR)/debian/noosfero/usr/share/noosfero/Gemfile |
26 | 26 | ||
27 | override_dh_installinit: | 27 | override_dh_installinit: |
28 | - dh_installinit -pnoosfero --onlyscripts | 28 | + dh_installinit -pnoosfero --onlyscripts --restart-after-upgrade |
29 | 29 | ||
30 | override_dh_clean: | 30 | override_dh_clean: |
31 | dh_clean | 31 | dh_clean |