Cleanup jobs requesting an empty OS at the job classad
**Impact of the bug**
WMAgent

**Describe the bug**
While validating these job wrapper changes:
https://github.com/dmwm/WMCore/pull/11077

I noticed that Cleanup jobs actually define an empty string for the required OS:
```
  CMS_JobType = "Cleanup"
  REQUIRED_OS = ""
```

**How to reproduce it**
Create a workflow and check the job classads for a Cleanup job.

**Expected behavior**
Cleanup jobs don't rely on any CMSSW release, so ScramArch is actually not defined for this step.
When converting the job/step requirements into job classads, we should make sure that `REQUIRED_OS` has a correct value, which is either `any` or the `rhelX` string.

**Additional context and error message**
None
diff --git a/src/python/WMCore/BossAir/Plugins/BasePlugin.py b/src/python/WMCore/BossAir/Plugins/BasePlugin.py
index 4eedec0d8..f6981b2d2 100644
--- a/src/python/WMCore/BossAir/Plugins/BasePlugin.py
+++ b/src/python/WMCore/BossAir/Plugins/BasePlugin.py
@@ -138,7 +138,7 @@ class BasePlugin(object):
             string to be matched for OS requirements for job
         """
         requiredOSes = set()
-        if scramArch is None:
+        if not scramArch:
             requiredOSes.add('any')
         elif isinstance(scramArch, (str, bytes)):
             for arch, validOSes in viewitems(ARCH_TO_OS):
diff --git a/test/python/WMCore_t/BossAir_t/BasePlugin_t.py b/test/python/WMCore_t/BossAir_t/BasePlugin_t.py
index 4a90cadf1..eb167b4f3 100644
--- a/test/python/WMCore_t/BossAir_t/BasePlugin_t.py
+++ b/test/python/WMCore_t/BossAir_t/BasePlugin_t.py
@@ -33,8 +33,14 @@ class BasePluginTest(BossAirTest):
         self.assertEqual(bp.scramArchtoRequiredOS('slc5_blah_blah'), 'rhel6')
         self.assertEqual(bp.scramArchtoRequiredOS('slc6_blah_blah'), 'rhel6')
         self.assertEqual(bp.scramArchtoRequiredOS('slc7_blah_blah'), 'rhel7')
+        self.assertEqual(bp.scramArchtoRequiredOS('cc8_blah_blah'), 'rhel8')
+        self.assertEqual(bp.scramArchtoRequiredOS('cs8_blah_blah'), 'rhel8')
+        self.assertEqual(bp.scramArchtoRequiredOS('alma8_blah_blah'), 'rhel8')
+        self.assertEqual(bp.scramArchtoRequiredOS('el88_blah_blah'), 'rhel8')
 
         self.assertEqual(bp.scramArchtoRequiredOS(None), 'any')
+        self.assertEqual(bp.scramArchtoRequiredOS(""), 'any')
+        self.assertEqual(bp.scramArchtoRequiredOS([]), 'any')
 
         self.assertEqual(bp.scramArchtoRequiredOS(['slc6_blah_blah', 'slc7_blah_blah']), 'rhel6,rhel7')
 
['src/python/WMCore/BossAir/Plugins/BasePlugin.py', 'test/python/WMCore_t/BossAir_t/BasePlugin_t.py']