Repository: dmwm/wmcore
Issue: WMCore Rucio wrapper breaks Rucio client 1.29 calls

**Impact of the bug**
WMCore Rucio module
MSMonitor
MSRuleCleaner

**Describe the bug**
While validating HG2212, I found out that all workflows with input data were sitting in status `staging` . All relevant transfer rules were created by `MSTRansferor`, but `MSMonitor` was failing to get any rule status with the following error: [1]. Digging deeper I find that the culprit is the following line: https://github.com/dmwm/WMCore/blob/efd8db5f37ff6aff8c83ab72c4397f58887c819a/src/python/WMCore/Services/Rucio/Rucio.py#L656) 

We seem to be passing the `estimate_ttc` parameter, which is obviously no longer accepted by Rucio client version 1.29 and later. I have not checked the Rucio release documentation, but I did check this explicitly with two different client versions as shown in the section bellow. 

I am not aware if we ever use/need this `ttc`  information, but a quick grep through our code, shows that we set this paramer in none of the calls we make to this method of the WMCore Rucio wrapper.  The parameter itself defaults to `False` in our code:  
https://github.com/dmwm/WMCore/blob/efd8db5f37ff6aff8c83ab72c4397f58887c819a/src/python/WMCore/Services/Rucio/Rucio.py#L645

It seems this should be safe enough to just remove this parameter from the call.

**How to reproduce it**
Use Rucio client 1.29.+ with the WMCore wrapper module and try to get any rule info:
```
In [1]: from rucio.vcsversion import VERSION_INFO

In [2]: VERSION_INFO
Out[2]: 
{'final': True,
 'version': '1.29.10',
 'branch_nick': 'release-1.29-LTS',
 'revision_id': '57de65622be650ec1e82be31c9f936adcec07d55',
 'revno': 12097}

In [3]: from WMCore.Services.Rucio.Rucio import Rucio

In [4]: rucio = Rucio(acct=msConfig['rucioAccount'], hostUrl=msConfig['rucioUrl'], authUrl=msConfig['rucioAuthUrl'])

In [5]: rucio.getRule("367c348c38ee4b868a3cc3b5e2418dfb")
2022-12-01 19:26:17,993:ERROR:Rucio: Exception getting rule id: 367c348c38ee4b868a3cc3b5e2418dfb. Error: get_replication_rule() got an unexpected keyword argument 'estimate_ttc'
Out[5]: {}

``` 

**Expected behavior**
```
In [1]: from rucio.vcsversion import VERSION_INFO

In [2]: VERSION_INFO
Out[2]: 
{'final': True,
 'version': '1.25.7',
 'branch_nick': 'release-1.25',
 'revision_id': '7c7137a28811ad8d7060088806e319a629f35215',
 'revno': 10570}

In [3]: from WMCore.Services.Rucio.Rucio import Rucio

In [4]: rucio = Rucio(acct=msConfig['rucioAccount'], hostUrl=msConfig['rucioUrl'], authUrl=msConfig['rucioAuthUrl'])

In [5]: rucio.getRule("367c348c38ee4b868a3cc3b5e2418dfb")
Out[5]: 
{'id': '367c348c38ee4b868a3cc3b5e2418dfb',
 'subscription_id': None,
 'account': 'wmcore_transferor',
 'scope': 'cms',
 'name': '/JetHT/Run2012C-v1/RAW#e759da30-f693-11e1-847a-842b2b4671d8',
 'did_type': 'DATASET',
 'state': 'OK',
 'error': None,
 'rse_expression': 'T1_US_FNAL_Disk|T2_CH_CERN',
 'copies': 1,
 'expires_at': None,
 'weight': 'ddm_quota',
 'locked': False,
 'locks_ok_cnt': 2,
 'locks_replicating_cnt': 0,
 'locks_stuck_cnt': 0,
 'source_replica_expression': None,
 'activity': 'Production Input',
 'grouping': 'DATASET',
 'notification': 'NO',
 'stuck_at': None,
 'purge_replicas': False,
 'ignore_availability': False,
 'ignore_account_limit': False,
 'priority': 3,
 'comments': 'WMCore MSTransferor input data placement',
 'child_rule_id': None,
 'eol_at': None,
 'split_container': False,
 'meta': '"{\\\\"workflow_group\\\\": \\\\"production\\\\"}"',
 'created_at': datetime.datetime(2021, 9, 13, 20, 19, 15),
 'updated_at': datetime.datetime(2021, 9, 14, 0, 1, 45)}


```

**Additional context and error message**
[1]
```
2022-12-01 18:49:17,558:ERROR:MSMonitor: Unknown exception checking workflow tivanov_TaskChain_LumiMask_multiRun_HG2212_Val_221130_180438_9198. Error: Failed to retrieve rule information from Rucio for rule ID: 367c348c38ee4b868a3cc3b5e2418dfb
Traceback (most recent call last):
  File "/data/srv/HG2212b/sw/slc7_amd64_gcc630/cms/reqmgr2ms/1.1.5.rc2/lib/python3.8/site-packages/WMCore/MicroService/MSMonitor/MSMonitor.py", line 159, in getTransferInfo
    completion = self._getRucioTransferstatus(rec['transferIDs'])
  File "/data/srv/HG2212b/sw/slc7_amd64_gcc630/cms/reqmgr2ms/1.1.5.rc2/lib/python3.8/site-packages/WMCore/MicroService/MSMonitor/MSMonitor.py", line 195, in _getRucioTransferstatus
    raise RuntimeError(msg)
RuntimeError: Failed to retrieve rule information from Rucio for rule ID: 367c348c38ee4b868a3cc3b5e2418dfb

```

Changed files:
src/python/WMCore/Services/Rucio/Rucio.py

diff --git a/src/python/WMCore/Services/Rucio/Rucio.py b/src/python/WMCore/Services/Rucio/Rucio.py
index 4df206fc9..365794eb3 100644
--- a/src/python/WMCore/Services/Rucio/Rucio.py
+++ b/src/python/WMCore/Services/Rucio/Rucio.py
@@ -642,18 +642,17 @@ class Rucio(object):
             self.logger.error("Exception listing parent DIDs for data: %s. Error: %s", name, str(ex))
         return list(res)
 
-    def getRule(self, ruleId, estimatedTtc=False):
+    def getRule(self, ruleId):
         """
         _getRule_
 
         Retrieve rule information for a given rule id
         :param ruleId: string with the rule id
-        :param estimatedTtc: bool, if rule_info should return ttc information
         :return: a dictionary with the rule data (or empty if no rule can be found)
         """
         res = {}
         try:
-            res = self.cli.get_replication_rule(ruleId, estimate_ttc=estimatedTtc)
+            res = self.cli.get_replication_rule(ruleId)
         except RuleNotFound:
             self.logger.error("Cannot find any information for rule id: %s", ruleId)
         except Exception as ex: