The 9th DUW
Core, Framework and Configuration System
Federico Stagni
1
Core
2
DBs and MQs supported
3
DISET
DISET is the communication, authorization and authentication framework on top of which DIRAC services are built
Services expose rpc calls
4
dips://
ALWAYS: Listening at dips://localhost:9170/WorkloadManagement/Matcher
5
DISET implements THIS guy
its “s” is for “secure” (SSL-TLS)
exists also the “dip” version
Why?
Long story short: once upon a time, xmlrpc was tried, and it was slow.
So, DIPS was implemented.
DIPS = sockets + SSL + DEncode
(DEncode = DIRAC marshalling library)
We’d like to change this one and move to HTTPs with Tornado
[More info in 2 days]
Support for IPv4 and IPv6 as well
AuthN/AuthZ
X509 certificates and proxies are, for the moment, the only authentication/authorization mean
before anything else: dirac-proxy-init
and put your certificate in the browser
Prototype of OAuth2 authentication
EGI Check-In SSO
Web Portal authentication (depending from WebApp4)
Command line client authentication with conversion to proxy
→ see pres by Andrei on Thursday
6
AutheNtication
7
AuthoriZation
All the above defined in CS in /Registry section
→ A user creates a proxy with a group and this guarantees certain properties
8
VOMS
No VOMS? Users can be added in the configuration by hand. Other means of managing users automatically can be added
some will, again see pres by Andrei on Thursday
9
On logging
gLogger for every DIRAC component, and every script. Based on python logging module
Logs centralization:
10
Configuration System
11
Configuration sources
dirac-wms-job-submit job.jdl -o /DIRAC/Setup=Dirac-Production
dirac-wms-job-submit job.jdl my.cfg
12
Configuration in a cascade
The client needing a configuration option is:
These gives a flexible mechanism of overriding global options by specific local settings.
All managed by gConfig
13
“The CS”
The Configuration System is DIRAC’s backbone
no Configuration System → no DIRAC
NB: we often refer to “the CS” as DIRAC’s Configuration Service (not the system…)
→ you want/need: 1 master (rw), n slaves (ro)
14
Framework
15
Framework: functionalities
but also DIRAC commands (scripts)
http://dirac.readthedocs.io/en/latest/AdministratorGuide/Systems/Framework/index.html
16
Components (un)installation
Interaction via:
17
Components monitoring
18
CAs update
19
Other Framework components
20
Proxies management
Be careful with authorization properties:
Your pilot jobs will access the ProxyManagement for running the payloads
→ Your pilot group needs the LimitedDelegation property
21
Questions/comments
?
22
Components
The DIRAC components (what DIRAC runs, and what you install) are:
Services, Agents, and Executors.
23
Systems and Setups
http://dirac.readthedocs.io/en/latest/AdministratorGuide/SetupStructure/index.html
24
Configuration structure
Sections at the top level:
DIRAC: the most general information about the DIRAC installation.
Systems: Configuration data for all the DIRAC Systems, their instances and components
Registry: Information about DIRAC users, groups and communities (VOs).
Resources: description of all the resources: include computing, storage elements, third party services.
Operations: operational parameters needed to run the system.
25
Some properties
# CS Administrator - possibility to edit the Configuration Service
CS_ADMINISTRATOR = "CSAdministrator"
# Job Administrator can manipulate everybody's jobs
JOB_ADMINISTRATOR = "JobAdministrator"
# Job Monitor - can get job monitoring information
JOB_MONITOR = "JobMonitor"
#Allow managing production
PRODUCTION_MANAGEMENT = "ProductionManagement"
26