Giuseppe Lavagetto has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/342666 )
Change subject: Add cache wipe + warmup phase implementation
......................................................................
Add cache wipe + warmup phase implementation
Change-Id: Ib0bc18812e425a0033048f864097d9fc4e1be738
---
A switchdc/stages/t03_cache_wipe.py
1 file changed, 42 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/switchdc
refs/changes/66/342666/1
diff --git a/switchdc/stages/t03_cache_wipe.py
b/switchdc/stages/t03_cache_wipe.py
new file mode 100644
index 0000000..58853a7
--- /dev/null
+++ b/switchdc/stages/t03_cache_wipe.py
@@ -0,0 +1,42 @@
+from switchdc.log import logger
+from switchdc import remote
+from switchdc.stages import get_module_config, get_module_config_dir
+
+__title__ = "wipe and warmup caches"
+
+config = get_module_config('t05_redis')
+config_dir = get_module_config_dir('t05_redis')
+
+
+def execute(dc_from, dc_to):
+ """
+ Wipes out the caches in the inactive datacenter, and then warms them up
+ """
+ logger.info("Wiping out the MediaWiki caches in %s", dc_to)
+ rc, _ = remote.run('R:Class = Role::Memcached and
*.{}.wmnet'.format(dc_to),
+ 'sync', ['service memcached restart'],
+ success_threshold=1.0)
+ if rc != 0:
+ return rc
+
+ rc, _ = remote.run('R:Class = Role::Mediawiki::Webserver and *.{}.wmnet',
+ 'sync', ['service hhvm restart'], batch_size=25)
+ if rc != 0:
+ return rc
+
+ logger.info("Now running the global warmup job")
+ warmup_dir = config.get('warmup_dir', '/var/lib/mediawiki-cache-warmup')
+ base_warmup = "nodejs {wd}/warmup.js {wd}".format(wd=warmup_dir)
+ memc_warmup = "{basecmd}/urls-cluster.txt spread " \
+ "appservers.svc.{dc}.wmnet".format(
+ dc=dc_to, basecmd=base_warmup)
+ appserver_warmup = "{basecmd}urls-server.txt clone {dc} appserver".format(
+ dc=dc_to
+ )
+ api_warmup = "{basecmd}urls-server.txt clone {dc} api_appserver".format(
+ dc=dc_to
+ )
+ rc, _ = remote.execute(['wasat.codfw.wmnet'], 'sync',
+ [memc_warmup, appserver_warmup, api_warmup])
+ # TODO: log something is rc is != 0 ?
+ return 0
--
To view, visit https://gerrit.wikimedia.org/r/342666
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib0bc18812e425a0033048f864097d9fc4e1be738
Gerrit-PatchSet: 1
Gerrit-Project: operations/switchdc
Gerrit-Branch: master
Gerrit-Owner: Giuseppe Lavagetto <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits