Please update AMO this Thursday. This is a huge push, finally launching the code we've been writing for 2-3 months. I'm coming up with a list of steps but wanted to file this a day or two early so you could be prepared.
There's nothing specific that takes downtime that I can think of yet, but I think we should announce it and be prepared to take it down anyway since this is a big push.
Jeremy will be back and should be able to do this, unless he hits the big bucks in Vegas..
This is the current list: http://etherpad.mozilla.org:9000/amo-5-12-6-push
Still doing some final tweaks, but that's 95% of it. This is not a normal push so please read through each step and let me know if there are questions. I'd rather get them resolved before we start. Thanks.
) Turn off the production crontab
) Flip the site into read-only mode, push this change out
) Update to 5.12.6
) Update submodules. The way we handle /locales/ changed (it's no longer a submodule).
) rm -rf locale && svn co http://svn.mozilla.org/addons/trunk/site/app/locale/ locale
) Update vendor
) ./manage.py compress_assets
) schematic migrations # this took me 12 minutes
) Add to settings_local.py:
# Needs to point to the spidermonkey executable.
# On preview that's /data/bin/tracemonkey/tracemonkey
SPIDERMONKEY = ''
# Below where MEDIA_URL is set add these:
ADDON_ICONS_DEFAULT_URL = MEDIA_URL + '/img/addon-icons'
ADDON_ICON_BASE_URL = MEDIA_URL + 'img/amo2009/icons/'
# After PREVIEWS_PATH is defined
PREVIEW_THUMBNAIL_PATH = PREVIEWS_PATH + '/thumbs/%s/%d.png'
PREVIEW_FULL_PATH = PREVIEWS_PATH + '/full/%s/%d.png'
# This is the same path as REPO_PATH in remora
ADDONS_PATH = '/mnt/netapp_amo/addons.mozilla.org-remora/files'
# There is a FILES_URL already, but we're switching the SITE_URL to STATIC_URL
# Everything else about that line should be the same
FILES_URL = STATIC_URL + "/%s/%s/downloads/file/%d/%s?src=%s"
) Push code changes only to celeryd boxes
# Probably 10-15 minutes to finish all these jobs
) python26 manage.py convert_icons
) python26 manage.py convert_icons --delete
) python26 manage.py cron build_reverse_name_lookup
) python26 manage.py search_platforms --report # Give us the output of this
) python26 manage.py search_platforms --change
) python26 manage.py build_reverse_name_lookup # Bug 614383
) python26 manage.py cron migrate_logs
) python26 manage.py cron dissolve_outgoing_urls # Bug 608117
) python26 manage.py addons_add_slugs
) Adjust the apache .conf:
# First change is for add-on slugs. See bug 620877 for the exact change.
# Second change is developer URLs. See bug 625185 for the exact change.
) `svn revert -R` remora and then `svn up`
) make sure the config you're about to push has read only mode off
) push all sites to all webheads
) clear memcache & redis
) update and restart sphinx
) restart celeryd
) import scripts/crontab/prod to crontab