Skip to content

[v7r1] Make M2Crypto the default over pyGSI#4461

Merged
atsareg merged 1 commit into
DIRACGrid:rel-v7r1from
chaen:rel-v7r1_FEAT_defaultM2Crypto
Apr 19, 2020
Merged

[v7r1] Make M2Crypto the default over pyGSI#4461
atsareg merged 1 commit into
DIRACGrid:rel-v7r1from
chaen:rel-v7r1_FEAT_defaultM2Crypto

Conversation

@chaen

@chaen chaen commented Feb 20, 2020

Copy link
Copy Markdown
Contributor

First part of #4272

BEGINRELEASENOTES
*Core
CHANGE: use M2Crypto by default
ENDRELEASENOTES

@chaen

chaen commented Feb 20, 2020

Copy link
Copy Markdown
Contributor Author

@fstagni @atsareg there is a bad non resolved merged. I am fixing it here

@chaen

chaen commented Feb 20, 2020

Copy link
Copy Markdown
Contributor Author

@atsareg @TaykYoku The ProxyDB tests are failing

 test_connectDB (__main__.testDB)
Try to connect to the ProxyDB ... ok
test_getRemoveProxy (__main__.testDB)
Testing get, store proxy ... NOTE: __storeProxyOld function is deprecated (Only for DIRAC v6).
NOTE:   Used at /home/dirac/ServerInstallDIR/DIRAC/FrameworkSystem/DB/ProxyDB.py:352
FAIL
test_getUsers (__main__.testDB)
Try to get users from DB ... ok
test_purgeExpiredProxies (__main__.testDB)
Try to purge expired proxies ... ok

======================================================================
FAIL: test_getRemoveProxy (__main__.testDB)
Testing get, store proxy
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/dirac/ServerInstallDIR/DIRAC/tests/Integration/Framework/Test_ProxyDB.py", line 451, in test_getRemoveProxy
    ': %s' % result.get('Message') or 'Error message is absent.'))
AssertionError: Must be ended with error: None

----------------------------------------------------------------------

Can you please check ? Thanks

@chrisburr

Copy link
Copy Markdown
Member

@atsareg @TaykYoku this is still needs fixing before v7r1 can be released

@TaykYoku

Copy link
Copy Markdown
Contributor

@chaen @chrisburr yes, this fixing in a progress

@TaykYoku

Copy link
Copy Markdown
Contributor

@chaen @chrisburr fixed in #4469

@chaen chaen force-pushed the rel-v7r1_FEAT_defaultM2Crypto branch from 96a1029 to f5e4f3b Compare March 2, 2020 15:09
@chrisburr chrisburr mentioned this pull request Mar 5, 2020
@TaykYoku TaykYoku mentioned this pull request Mar 5, 2020
@chaen chaen force-pushed the rel-v7r1_FEAT_defaultM2Crypto branch from f5e4f3b to 81df8ea Compare March 10, 2020 09:12
@chaen

chaen commented Mar 10, 2020

Copy link
Copy Markdown
Contributor Author

Now I see two issues:

One is the known one with the proxy that @TaykYoku is looking at

 ======================================================================
ERROR: test_getRemoveProxy (__main__.testDB)
Testing get, store proxy
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/dirac/ServerInstallDIR/DIRAC/tests/Integration/Framework/Test_ProxyDB.py", line 540, in test_getRemoveProxy
    result = db.getVOMSProxy(dn, group, time, role)
  File "/home/dirac/ServerInstallDIR/DIRAC/FrameworkSystem/DB/ProxyDB.py", line 903, in getVOMSProxy
    attrs = vomsMgr.getVOMSAttributes(chain).get('Value') or ['']
  File "/home/dirac/ServerInstallDIR/DIRAC/Core/Security/VOMS.py", line 39, in getVOMSAttributes
    result = self.getVOMSProxyInfo(proxy, "all")
  File "/home/dirac/ServerInstallDIR/DIRAC/Core/Security/VOMS.py", line 131, in getVOMSProxyInfo
    res = proxyDict['chain'].getVOMSData()
  File "/home/dirac/ServerInstallDIR/DIRAC/Core/Security/m2crypto/X509Chain.py", line 580, in getVOMSData
    res = cert.getVOMSData()
  File "/home/dirac/ServerInstallDIR/DIRAC/Core/Utilities/Decorators.py", line 185, in innerFunc
    return meth(*args, **kwargs)
  File "/home/dirac/ServerInstallDIR/DIRAC/Core/Security/m2crypto/X509Certificate.py", line 382, in getVOMSData
    vomsExt = asn1_utils.decodeVOMSExtension(self.__certObj)
  File "/home/dirac/ServerInstallDIR/DIRAC/Core/Security/m2crypto/asn1_utils.py", line 227, in decodeVOMSExtension
    attrValStr = _decodeASN1String(rdnNameAttr['value'])
  File "/home/dirac/ServerInstallDIR/DIRAC/Core/Security/m2crypto/asn1_utils.py", line 119, in _decodeASN1String
    raise PyAsn1Error("Could not find a correct decoding type")
PyAsn1Error: Could not find a correct decoding type

And the other one is with the TaskQueueDB

2020-03-10 09:22:20 UTC WorkloadManagement/JobMonitoring ERROR: Exception while calling initialization function
Traceback (most recent call last):
  File "/home/dirac/ServerInstallDIR/DIRAC/Core/DISET/private/Service.py", line 133, in initialize
    result = initFunc(dict(self._serviceInfoDict))
  File "/home/dirac/ServerInstallDIR/DIRAC/WorkloadManagementSystem/Service/JobMonitoringHandler.py", line 43, in initializeJobMonitoringHandler
    gTaskQueueDB = TaskQueueDB()
  File "/home/dirac/ServerInstallDIR/DIRAC/WorkloadManagementSystem/DB/TaskQueueDB.py", line 67, in __init__
    raise Exception("Can't create tables: %s" % result['Message'])
Exception: Can't create tables: MySQL Error ( 1131 : Recursive Foreign Keys in tq_Jobs, tq_TQToSites, tq_TQToGridMiddlewares)
2020-03-10 09:22:20 UTC WorkloadManagement/JobMonitoring ERROR: Exception while calling initialization function: Can't create tables: MySQL Error ( 1131 : Recursive Foreign Keys in tq_Jobs, tq_TQToSites, tq_TQToGridMiddlewares)

@fstagni

fstagni commented Mar 10, 2020

Copy link
Copy Markdown
Contributor

Is the TaskQueueDB issue that you showed only for some specific MySQL version?

@chaen

chaen commented Mar 10, 2020

Copy link
Copy Markdown
Contributor Author

It only shows up in (8,slc6,yes)

@fstagni

fstagni commented Mar 10, 2020

Copy link
Copy Markdown
Contributor

I doubt that the yes (M2Crypto) flag there means something. If it does, I am not sure we want to debug it...

@TaykYoku

Copy link
Copy Markdown
Contributor

Is this test running with patch #4469 or not?

@TaykYoku

Copy link
Copy Markdown
Contributor

I already see that test running without #4469 patch.
PyAsn1Error: Could not find a correct decoding type should be resolved in #4469.

@chaen

chaen commented Mar 10, 2020

Copy link
Copy Markdown
Contributor Author

I believe yes is for the ThreadPool, not M2Crypto

@chaen

chaen commented Mar 10, 2020

Copy link
Copy Markdown
Contributor Author

#4469 hides the problem. The fact of having user_1 instead of user should not be a problem. But let's discuss it on that PR

@TaykYoku

Copy link
Copy Markdown
Contributor

@chaen can you describe your opinion in #4469 to start discuss, thanks.

@chaen chaen force-pushed the rel-v7r1_FEAT_defaultM2Crypto branch from 81df8ea to 7174be5 Compare March 12, 2020 10:24
@chaen

chaen commented Mar 13, 2020

Copy link
Copy Markdown
Contributor Author

@fstagni again the expected checks are not the correct one

@chaen

chaen commented Mar 16, 2020

Copy link
Copy Markdown
Contributor Author

@fstagni can you please correct the expected checks, and also look at the TaskQueueDB error ?

@fstagni

fstagni commented Mar 16, 2020

Copy link
Copy Markdown
Contributor

I have fixed the expected checks. I will have a look at the TaskQueueDB thing later.

@chaen

chaen commented Mar 23, 2020

Copy link
Copy Markdown
Contributor Author

@fstagni any news ?

@fstagni

fstagni commented Mar 23, 2020

Copy link
Copy Markdown
Contributor

Sorry, I was busy with other stuff and this slipped a bit below. I will try tomorrow morning.

@fstagni

fstagni commented Mar 24, 2020

Copy link
Copy Markdown
Contributor

The TaskQueueDB errors that you mention are not appearing in the last tests run.

@chaen

chaen commented Mar 24, 2020

Copy link
Copy Markdown
Contributor Author

you mean I should just rebase that one and re-run ?

@fstagni

fstagni commented Mar 24, 2020

Copy link
Copy Markdown
Contributor

I mean that this:

2020-03-10 09:22:20 UTC WorkloadManagement/JobMonitoring ERROR: Exception while calling initialization function
Traceback (most recent call last):
  File "/home/dirac/ServerInstallDIR/DIRAC/Core/DISET/private/Service.py", line 133, in initialize
    result = initFunc(dict(self._serviceInfoDict))
  File "/home/dirac/ServerInstallDIR/DIRAC/WorkloadManagementSystem/Service/JobMonitoringHandler.py", line 43, in initializeJobMonitoringHandler
    gTaskQueueDB = TaskQueueDB()
  File "/home/dirac/ServerInstallDIR/DIRAC/WorkloadManagementSystem/DB/TaskQueueDB.py", line 67, in __init__
    raise Exception("Can't create tables: %s" % result['Message'])
Exception: Can't create tables: MySQL Error ( 1131 : Recursive Foreign Keys in tq_Jobs, tq_TQToSites, tq_TQToGridMiddlewares)
2020-03-10 09:22:20 UTC WorkloadManagement/JobMonitoring ERROR: Exception while calling initialization function: Can't create tables: MySQL Error ( 1131 : Recursive Foreign Keys in tq_Jobs, tq_TQToSites, tq_TQToGridMiddlewares)

that you showed above does not appear anywhere in the last tests run.

@chaen chaen force-pushed the rel-v7r1_FEAT_defaultM2Crypto branch from 57850b4 to 74a9ae1 Compare March 24, 2020 13:23
@chaen chaen force-pushed the rel-v7r1_FEAT_defaultM2Crypto branch from 74a9ae1 to db1f395 Compare April 9, 2020 08:07
@chaen chaen force-pushed the rel-v7r1_FEAT_defaultM2Crypto branch from db1f395 to d8dfdd8 Compare April 16, 2020 13:56
@chaen chaen marked this pull request as ready for review April 16, 2020 14:26
@chaen chaen changed the title [WIP][v7r1] Make M2Crypto the default over pyGSI [v7r1] Make M2Crypto the default over pyGSI Apr 16, 2020
@atsareg atsareg merged commit d70aca3 into DIRACGrid:rel-v7r1 Apr 19, 2020
@chaen chaen deleted the rel-v7r1_FEAT_defaultM2Crypto branch August 11, 2022 12:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants