From c4e2463db1fe2f156fc112b3d8c8c97c6af070a0 Mon Sep 17 00:00:00 2001 From: Matthew Jones Date: Mon, 10 Nov 2014 15:12:14 -0500 Subject: [PATCH] Sanity check for tower version metadata file in wsgi bootstrap --- awx/wsgi.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/awx/wsgi.py b/awx/wsgi.py index f7e84dbbf6..6baa09a2f6 100644 --- a/awx/wsgi.py +++ b/awx/wsgi.py @@ -14,6 +14,20 @@ https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/ from awx import prepare_env prepare_env() +import os +import logging +from django.conf import settings +from awx import __version__ as tower_version +logger = logging.getLogger('awx.main.models.jobs') +try: + fd = open("/var/lib/awx/.tower_version", "r") + if fd.read().strip() != tower_version: + logger.error("Tower Versions don't match, potential invalid setup detected") + raise Exception("Tower Versions don't match, potential invalid setup detected") +except Exception: + logger.error("Missing tower version metadata at /var/lib/awx/.tower_version") + raise Exception("Missing tower version metadata at /var/lib/awx/.tower_version") + # Return the default Django WSGI application. from django.core.wsgi import get_wsgi_application application = get_wsgi_application()