upgrade-zulip: Exit if OS is unsupported.

This is to prevent folks who accidentally try to
upgrade their system to an unsupported platform
from getting into a bad place.
This commit is contained in:
Aman Agrawal 2020-04-22 11:24:07 +05:30 committed by Tim Abbott
parent 0f4b1076ad
commit 120144e099
1 changed files with 21 additions and 1 deletions

View File

@ -22,7 +22,8 @@ os.environ["LANG"] = "en_US.UTF-8"
os.environ["LANGUAGE"] = "en_US.UTF-8"
sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..'))
from scripts.lib.zulip_tools import DEPLOYMENTS_DIR, su_to_zulip, assert_running_as_root
from scripts.lib.zulip_tools import DEPLOYMENTS_DIR, su_to_zulip, \
assert_running_as_root, parse_os_release
assert_running_as_root()
@ -30,6 +31,25 @@ logging.Formatter.converter = time.gmtime
logging.basicConfig(format="%(asctime)s upgrade-zulip-stage-2: %(message)s",
level=logging.INFO)
# Do not upgrade on unsupported OS versions.
UNSUPPORTED_DISTROS = [
('ubuntu', '14.04'),
('ubuntu', '16.04'),
('debian', '9'),
]
distro_info = parse_os_release()
vendor = distro_info['ID']
os_version = distro_info['VERSION_ID']
if (vendor, os_version) in UNSUPPORTED_DISTROS:
# Link to documentation for how to correctly upgrade the OS.
logging.critical("Unsupported platform: {} {}".format(vendor, os_version))
logging.info("Sorry! The support for your OS has been discontinued.\n"
"Please upgrade your OS to a supported release first.\n"
"See https://zulip.readthedocs.io/en/latest/production/"
"upgrade-or-modify.html#upgrading-the-operating-system")
sys.exit(1)
# make sure we have appropriate file permissions
os.umask(0o22)