DIRACGrid / DIRACOS

Project for creating bundle of DIRAC dependencies.
GNU General Public License v3.0
2 stars 9 forks source link

Old / incompatible HTCondor bundled with DIRACOS6 #179

Closed vokac closed 3 years ago

vokac commented 3 years ago

Latest version of DIRACOS6 v1r21 still use quite old HTCondor 8.6.9 released 4+ years ago. This version doesn't work with default configuration that comes with stable 9.0.x series and python interface no longer works

$ python
Python 2.7.13 (default, Apr 23 2021, 14:43:32) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import htcondor
Error: use security:recommended_v9_0: does not recognise recommended_v9_0
Config source Error "/etc/condor/config.d/00-htcondor-9.0.config", Line 26: at use security:recommended_v9_0:recommended_v9_0
Configuration Error Line 26 while reading config source /etc/condor/config.d/00-htcondor-9.0.config

As you can see from error message condor bundled with DIRACOS doesn't recognize metaknob security:recommended_v9_0 which is by default installed in the /etc/condor/config.d/00-htcondor-9.0.config. With expanded configuration from this metaknob

# output of `condor_config_val use security:recommended_v9_0`
# Make it easy to detect if this metaknob was set.
SECURITY_MODEL = 9.0

# Assume that FS and IDTOKENS are in SEC_DEFAULT_AUTHENTICATION_METHODS,
# which they are by default.
use security:strong

# This allows anyone who can access port 9618 to READ, which lets
# condor_status and condor_q work over the network out of the box.
SEC_READ_AUTHENTICATION = OPTIONAL

ALLOW_ADMINISTRATOR = root@*, condor@*, condor_pool@*
ALLOW_DAEMON = condor@*, condor_pool@*
ALLOW_NEGOTIATOR = condor@*, condor_pool@*
ALLOW_WRITE = *
ALLOW_READ = *

it is possible to import htcondor again.

It would be nice if DIRACOS provide by default condor that can be used without this additional workaround.

chaen commented 3 years ago

I am a bit confused. We do not import htcondor anywhere in DIRAC. And we do not rely on the /etc/ directory normally.

We do had a plan to update if possible though https://github.com/DIRACGrid/DIRACOS/issues/171

chrisburr commented 3 years ago

I think an environment variable is missing in the diracosrc: CONDOR_CONFIG=$DIRACOS/etc/condor/condor_config

fstagni commented 3 years ago

We don't use the python bindings, just the CLI. There might be few advantages in using the python binding, I guess.

I suggest to move this issue in https://github.com/DIRACGrid/DIRACOS/issues/171

vokac commented 3 years ago

Thanks, DIRACGrid/DIRACOS#171 is better place for this issue.

Problem was found by our local users that often use DIRAC client tools and unfortunately they used their own python+htcondor scripts within DIRAC environment (this worked fine until our recent condor upgrade).

fstagni commented 3 years ago

OK, so I close this issue as anyway linked to the other one. Thanks for reporting.

chrisburr commented 3 years ago

This shouldn't be closed. The bug is that CONDOR_CONFIG isn't being set in the diracosrc so it relies on the host system's configuration file.

chaen commented 3 years ago

@vokac please try setting the CONDOR_CONFIG as @chrisburr mentions and report back