ansible_distribution: Add support for Uos/Deepin (#77275)

* ansible_distribution: Add support for Uos/Deepin

* Add changelog fragment.
pull/77320/head
ChanthMiao 4 years ago committed by GitHub
parent 4d984613f5
commit 34e60c0a7a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,2 @@
bugfixes:
- facts - add support for deepin distro information detection (https://github.com/ansible/ansible/issues/77286).

@ -375,6 +375,24 @@ class DistributionFiles:
if version:
debian_facts['distribution_version'] = version.group(1)
debian_facts['distribution_major_version'] = version.group(1).split('.')[0]
elif 'UOS' in data or 'Uos' in data or 'uos' in data:
debian_facts['distribution'] = 'Uos'
release = re.search(r"VERSION_CODENAME=\"?([^\"]+)\"?", data)
if release:
debian_facts['distribution_release'] = release.groups()[0]
version = re.search(r"VERSION_ID=\"(.*)\"", data)
if version:
debian_facts['distribution_version'] = version.group(1)
debian_facts['distribution_major_version'] = version.group(1).split('.')[0]
elif 'Deepin' in data or 'deepin' in data:
debian_facts['distribution'] = 'Deepin'
release = re.search(r"VERSION_CODENAME=\"?([^\"]+)\"?", data)
if release:
debian_facts['distribution_release'] = release.groups()[0]
version = re.search(r"VERSION_ID=\"(.*)\"", data)
if version:
debian_facts['distribution_version'] = version.group(1)
debian_facts['distribution_major_version'] = version.group(1).split('.')[0]
else:
return False, debian_facts
@ -490,7 +508,7 @@ class Distribution(object):
'EuroLinux'],
'Debian': ['Debian', 'Ubuntu', 'Raspbian', 'Neon', 'KDE neon',
'Linux Mint', 'SteamOS', 'Devuan', 'Kali', 'Cumulus Linux',
'Pop!_OS', 'Parrot', 'Pardus GNU/Linux'],
'Pop!_OS', 'Parrot', 'Pardus GNU/Linux', 'Uos', 'Deepin'],
'Suse': ['SuSE', 'SLES', 'SLED', 'openSUSE', 'openSUSE Tumbleweed',
'SLES_SAP', 'SUSE_LINUX', 'openSUSE Leap'],
'Archlinux': ['Archlinux', 'Antergos', 'Manjaro'],

@ -778,6 +778,18 @@ class RaspbianHostname(Hostname):
strategy_class = FileStrategy
class UosHostname(Hostname):
platform = 'Linux'
distribution = 'Uos'
strategy_class = FileStrategy
class DeepinHostname(Hostname):
platform = 'Linux'
distribution = 'Deepin'
strategy_class = FileStrategy
class GentooHostname(Hostname):
platform = 'Linux'
distribution = 'Gentoo'

@ -0,0 +1,29 @@
{
"name": "Deepin 20.4",
"distro": {
"codename": "apricot",
"id": "Deepin",
"name": "Deepin",
"version": "20.4",
"version_best": "20.4",
"os_release_info": {},
"lsb_release_info": {}
},
"input": {
"/etc/os-release": "PRETTY_NAME=\"Deepin 20.4\"\nNAME=\"Deepin\"\nVERSION_ID=\"20.4\"\nVERSION=\"20.4\"\nVERSION_CODENAME=\"apricot\"\nID=Deepin\nHOME_URL=\"https://www.deepin.org/\"\nBUG_REPORT_URL=\"https://bbs.deepin.org/\"\n",
"/etc/lsb-release": "DISTRIB_ID=Deepin\nDISTRIB_RELEASE=20.4\nDISTRIB_DESCRIPTION=\"Deepin 20.4\"\nDISTRIB_CODENAME=apricot\n",
"/usr/lib/os-release": "PRETTY_NAME=\"Deepin 20.4\"\nNAME=\"Deepin\"\nVERSION_ID=\"20.4\"\nVERSION=\"20.4\"\nVERSION_CODENAME=\"apricot\"\nID=Deepin\nHOME_URL=\"https://www.deepin.org/\"\nBUG_REPORT_URL=\"https://bbs.deepin.org/\"\n"
},
"platform.dist": [
"Deepin",
"20.4",
"apricot"
],
"result": {
"distribution": "Deepin",
"distribution_version": "20.4",
"distribution_release": "apricot",
"distribution_major_version": "20",
"os_family": "Debian"
}
}

@ -0,0 +1,29 @@
{
"name": "Uos 20",
"distro": {
"codename": "fou",
"id": "Uos",
"name": "Uos",
"version": "20",
"version_best": "20",
"os_release_info": {},
"lsb_release_info": {}
},
"input": {
"/etc/os-release": "PRETTY_NAME=\"UnionTech OS Server 20\"\nNAME=\"UnionTech OS Server 20\"\nVERSION_ID=\"20\"\nVERSION=\"20\"\nID=UOS\nHOME_URL=\"https://www.chinauos.com/\"\nBUG_REPORT_URL=\"https://bbs.chinauos.com/\"\nVERSION_CODENAME=fou",
"/etc/lsb-release": "DISTRIB_ID=uos\nDISTRIB_RELEASE=20\nDISTRIB_DESCRIPTION=\"UnionTech OS Server 20\"\nDISTRIB_CODENAME=fou\n",
"/usr/lib/os-release": "PRETTY_NAME=\"UnionTech OS Server 20\"\nNAME=\"UnionTech OS Server 20\"\nVERSION_ID=\"20\"\nVERSION=\"20\"\nID=UOS\nHOME_URL=\"https://www.chinauos.com/\"\nBUG_REPORT_URL=\"https://bbs.chinauos.com/\"\nVERSION_CODENAME=fou"
},
"platform.dist": [
"uos",
"20",
"fou"
],
"result": {
"distribution": "Uos",
"distribution_version": "20",
"distribution_release": "fou",
"distribution_major_version": "20",
"os_family": "Debian"
}
}
Loading…
Cancel
Save