openstack-ansible/scripts/os-detection.py
Major Hayden d9b9a427aa Add reliable OS detection for ansible bootstrap
Python's platform module provides a very reliable method for determining
the Linux distribution, its version, and any applicable codenames.  This
patch adds three bash variables that can be brought into the bash scripts
to take different actions depending on the operating system that is
detected.

Implements: blueprint multi-platform-host

Change-Id: I98bcb478e99e11956618b2327399e18471aab534
2015-10-19 09:07:01 -05:00

26 lines
831 B
Python
Executable File

#!/usr/bin/env python
# Copyright 2015, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Determines the operating system of a host and returns bash variables."""
import platform
template = """
HOST_DISTRO="{0}"
HOST_VERSION="{1}"
HOST_CODENAME="{2}"
""".format(*platform.linux_distribution())
print(template)