summaryrefslogtreecommitdiff
path: root/azurelinuxagent/common/osutil/factory.py
diff options
context:
space:
mode:
Diffstat (limited to 'azurelinuxagent/common/osutil/factory.py')
-rw-r--r--azurelinuxagent/common/osutil/factory.py51
1 files changed, 30 insertions, 21 deletions
diff --git a/azurelinuxagent/common/osutil/factory.py b/azurelinuxagent/common/osutil/factory.py
index 2718ba1..acd7f6e 100644
--- a/azurelinuxagent/common/osutil/factory.py
+++ b/azurelinuxagent/common/osutil/factory.py
@@ -17,9 +17,7 @@
import azurelinuxagent.common.logger as logger
from azurelinuxagent.common.utils.textutil import Version
-from azurelinuxagent.common.version import DISTRO_NAME, DISTRO_VERSION, \
- DISTRO_FULL_NAME
-
+from azurelinuxagent.common.version import *
from .default import DefaultOSUtil
from .clearlinux import ClearLinuxUtil
from .coreos import CoreOSUtil
@@ -27,54 +25,65 @@ from .debian import DebianOSUtil
from .freebsd import FreeBSDOSUtil
from .redhat import RedhatOSUtil, Redhat6xOSUtil
from .suse import SUSEOSUtil, SUSE11OSUtil
-from .ubuntu import UbuntuOSUtil, Ubuntu12OSUtil, Ubuntu14OSUtil, \
- UbuntuSnappyOSUtil
+from .ubuntu import UbuntuOSUtil, Ubuntu12OSUtil, Ubuntu14OSUtil, UbuntuSnappyOSUtil
from .alpine import AlpineOSUtil
from .bigip import BigIpOSUtil
-def get_osutil(distro_name=DISTRO_NAME, distro_version=DISTRO_VERSION,
+
+def get_osutil(distro_name=DISTRO_NAME,
+ distro_code_name=DISTRO_CODE_NAME,
+ distro_version=DISTRO_VERSION,
distro_full_name=DISTRO_FULL_NAME):
+
if distro_name == "clear linux software for intel architecture":
return ClearLinuxUtil()
+
if distro_name == "ubuntu":
- if Version(distro_version) == Version("12.04") or \
- Version(distro_version) == Version("12.10"):
+ if Version(distro_version) == Version("12.04") or Version(distro_version) == Version("12.10"):
return Ubuntu12OSUtil()
- elif Version(distro_version) == Version("14.04") or \
- Version(distro_version) == Version("14.10"):
+ elif Version(distro_version) == Version("14.04") or Version(distro_version) == Version("14.10"):
return Ubuntu14OSUtil()
elif distro_full_name == "Snappy Ubuntu Core":
return UbuntuSnappyOSUtil()
else:
return UbuntuOSUtil()
+
if distro_name == "alpine":
return AlpineOSUtil()
+
if distro_name == "kali":
- return DebianOSUtil()
- if distro_name == "coreos":
+ return DebianOSUtil()
+
+ if distro_name == "coreos" or distro_code_name == "coreos":
return CoreOSUtil()
+
if distro_name == "suse":
- if distro_full_name=='SUSE Linux Enterprise Server' and \
- Version(distro_version) < Version('12') or \
- distro_full_name == 'openSUSE' and \
- Version(distro_version) < Version('13.2'):
+ if distro_full_name == 'SUSE Linux Enterprise Server' \
+ and Version(distro_version) < Version('12') \
+ or distro_full_name == 'openSUSE' and Version(distro_version) < Version('13.2'):
return SUSE11OSUtil()
else:
return SUSEOSUtil()
+
elif distro_name == "debian":
return DebianOSUtil()
- elif distro_name == "redhat" or distro_name == "centos" or \
- distro_name == "oracle":
+
+ elif distro_name == "redhat" \
+ or distro_name == "centos" \
+ or distro_name == "oracle":
if Version(distro_version) < Version("7"):
return Redhat6xOSUtil()
else:
return RedhatOSUtil()
+
elif distro_name == "freebsd":
return FreeBSDOSUtil()
+
elif distro_name == "bigip":
return BigIpOSUtil()
+
else:
- logger.warn("Unable to load distro implementation for {0}.", distro_name)
- logger.warn("Use default distro implementation instead.")
+ logger.warn("Unable to load distro implementation for {0}. Using "
+ "default distro implementation instead.",
+ distro_name)
return DefaultOSUtil()
-