File add-almalinux-and-alibaba-cloud-linux-to-the-os-fami.patch of Package py27-compat-salt

From 212c22238f97ad395055dafd75f5f682ad90f354 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Julio=20Gonz=C3=A1lez=20Gil?=
 <juliogonzalez@users.noreply.github.com>
Date: Wed, 24 Mar 2021 14:12:57 +0100
Subject: [PATCH] Add AlmaLinux and Alibaba Cloud Linux to the OS
 Family list (#342)

* Add AlmaLinux and Alibaba Cloud Linux to the OS Family list

* Add AlmaLinux to the OS Family list
---
 salt/grains/core.py            |  4 ++++
 tests/unit/grains/test_core.py | 41 ++++++++++++++++++++++++++++++++++
 2 files changed, 45 insertions(+)

diff --git a/salt/grains/core.py b/salt/grains/core.py
index 38290d034a..4eb4fed9b5 100644
--- a/salt/grains/core.py
+++ b/salt/grains/core.py
@@ -1453,6 +1453,7 @@ _OS_NAME_MAP = {
     'oracleserv': 'OEL',
     'cloudserve': 'CloudLinux',
     'cloudlinux': 'CloudLinux',
+    'almalinux': 'AlmaLinux',
     'pidora': 'Fedora',
     'scientific': 'ScientificLinux',
     'synology': 'Synology',
@@ -1467,6 +1468,7 @@ _OS_NAME_MAP = {
     'slesexpand': 'RES',
     'linuxmint': 'Mint',
     'neon': 'KDE neon',
+    'alibaba': 'Alibaba Cloud (Aliyun)',
 }
 
 # Map the 'os' grain to the 'os_family' grain
@@ -1484,6 +1486,7 @@ _OS_FAMILY_MAP = {
     'Scientific': 'RedHat',
     'Amazon': 'RedHat',
     'CloudLinux': 'RedHat',
+    'AlmaLinux': 'RedHat',
     'OVS': 'RedHat',
     'OEL': 'RedHat',
     'XCP': 'RedHat',
@@ -1540,6 +1543,7 @@ _OS_FAMILY_MAP = {
     'AIX': 'AIX',
     'TurnKey': 'Debian',
     'AstraLinuxCE': 'Debian',
+    'Alibaba Cloud (Aliyun)': 'RedHat',
 }
 
 # Matches any possible format:
diff --git a/tests/unit/grains/test_core.py b/tests/unit/grains/test_core.py
index d3b6515d00..c7a9610828 100644
--- a/tests/unit/grains/test_core.py
+++ b/tests/unit/grains/test_core.py
@@ -568,6 +568,27 @@ class CoreGrainsTestCase(TestCase, LoaderModuleMockMixin):
         }
         self._run_os_grains_tests("debian-9", _os_release_map, expectation)
 
+    @skipIf(not salt.utils.platform.is_linux(), 'System is not Linux')
+    def test_almalinux_8_os_grains(self):
+        '''
+        Test if OS grains are parsed correctly in AlmaLinux 8
+        '''
+        _os_release_map = {
+            'linux_distribution': ('AlmaLinux', '8.3', 'Purple Manul'),
+        }
+
+        expectation = {
+            'os': 'AlmaLinux',
+            'os_family': 'RedHat',
+            'oscodename': 'Purple Manul',
+            'osfullname': 'AlmaLinux',
+            'osrelease': '8.3',
+            'osrelease_info': (8, 3,),
+            'osmajorrelease': 8,
+            'osfinger': 'AlmaLinux-8',
+        }
+        self._run_os_grains_tests(None, _os_release_map, expectation)
+
     @skipIf(not salt.utils.platform.is_linux(), 'System is not Linux')
     def test_ubuntu_xenial_os_grains(self):
         '''
@@ -628,6 +649,26 @@ class CoreGrainsTestCase(TestCase, LoaderModuleMockMixin):
         }
         self._run_os_grains_tests("astralinuxce-2.12.22", _os_release_map, expectation)
 
+    @skipIf(not salt.utils.platform.is_linux(), 'System is not Linux')
+    def test_aliyunlinux2_os_grains(self):
+        '''
+        Test if OS grains are parsed correctly in Alibaba Cloud Linux (Aliyun Linux) 2.1903 LTS
+        '''
+        _os_release_map = {
+            'linux_distribution': ('Alibaba Cloud Linux (Aliyun Linux)', '2.1903', 'Alibaba Cloud Linux (Aliyun Linux) 2.1903 LTS (Hunting Beagle)'),
+        }
+        expectation = {
+            'os': 'Alibaba Cloud (Aliyun)',
+            'os_family': 'RedHat',
+            'oscodename': 'Alibaba Cloud Linux (Aliyun Linux) 2.1903 LTS (Hunting Beagle)',
+            'osfullname': 'Alibaba Cloud Linux (Aliyun Linux)',
+            'osrelease': '2.1903',
+            'osrelease_info': (2, 1903),
+            'osmajorrelease': 2,
+            'osfinger': 'Alibaba Cloud Linux (Aliyun Linux)-2',
+        }
+        self._run_os_grains_tests(None, _os_release_map, expectation)
+
     @skipIf(not salt.utils.platform.is_windows(), 'System is not Windows')
     def test_windows_platform_data(self):
         '''
-- 
2.30.2


openSUSE Build Service is sponsored by