The DIRAC release v6r0 marks a significant step in the DIRAC software evolution. This concerns both the software itself and the new development model that we are adopting. With version v6r0 DIRAC finalizes the migration from the CERN SVN code repository to the GitHub git repository. This changes considerably the way developers are working and new contributions are incorporated into the common code base. The distribution tools and the way different user communities control the DIRAC dependence of their extensions has been updated. At the same time, a number of new features have been added with respect to the previous production version (v5r13), mostly in the framework, and some precautions should be taken into account when updating your installations.
For the full list of the changes, please, look at the release notes. This is just a selection of highlights that should be taken into account when updating your DIRAC installation.
- The DISET protocol for client-server communication has been updated to the new OpenSSL version () and new functionality has been added. The new DISET functionality will allow to produce a new type of DIRAC components, the executors. Some features of this new version are no longer backwards compatible. They are disabled by default in v6r0 to make it compatible with v5r13. They will be enabled in the next releases.
- dirac-proxy-init is now the only universal tool to create proxies, adding VOMS extensions and delegating a long-living proxy to the ProxyManager to be used by DIRAC. Several Configuration options allow to define the default behavior in each installation. When a user certificate is close to expiration, notifications to affected users will be sent out.
- dirac-distribution and dirac-install have been greatly modified. The concept of Installation and Project is introduced. The former is describing the way how the DIRAC software should be installed for a given client. The latter is describing the composition and dependencies of the DIRAC software modules. The Installation and Project defaults can be defined at external locations. In this way each community can have full control of the versions, extensions, repository and download servers used for their distributions and installations. DIRAC extensions cn have now independent release, see detailed instructions at http://diracgrid.org/files/docs/DeveloperGuide/ReleaseProcedure/index.html
How to update?
When updating from v5r13 to v6r0 few things are to be taken into account. The most important one is that v5r13 dirac-install script is not able to install the new version. Thus a migration version, currently v5r14p1, should be used as an intermediate step. The new version of OpenSSL requires a new environment variable to work properly. Thus, bashrc file needs to be updated. This file does not get overwritten when doing new installations, therefore you need to remove it before doing the installation of v6r0 (make a backup if you have some customizations in this this file).
Client update, retrieve new dirac-install script:
$ wget --no-check-certificate -O dirac-install 'https://github.com/DIRACGrid/DIRAC/raw/integration/Core/scripts/dirac-install.py' $ mv bashrc bashrc.bak $ python dirac-install -V "Name of your installation"
Server update, using the CLI (first update the client to v6r0):
$ dirac-proxy-init -g dirac_admin $ dirac-admin-sysadmin-cli -H "Host name of server" > update v5r14p1 # or a version of your project based on that DIRAC version > restart Framework SystemAdministrator > set project DIRAC # or Name of your project > exec rm /opt/dirac/bashrc # > update v6r0 # or a version of your project based on this DIRAC version > restart * * # to get all components restarted
Few databases has schema changes:
- FileCatalogDB: increased depth of directory hierarchy. Ask for support if you are using the DIRAC FC in v5r13.
- UserProfileDB: added VOId column in the up_ProfilesData. If no user profiles yet, the best is to drop the table and restart the service.
Update the Configuration to take advantage of the new features of dirac-proxy-init, the following Options can be defined for any user group:
- SafeCertificateLifeTime (default = 2592000, 1 month): send mail to the user if the certificate will expire in less than this time.
- AutoUploadProxy (default = False): Delegate a proxy to DIRAC ProxyManager as long as the certificate is valid when a proxy for that group is created.
- AutoUploadPilotProxy (default = False): Delegate a proxy for any Pilot group to which the user belong.
- AutoAddVOMS (default = False): Attempt to add VOMS extension to the proxy if the group has one.
There are many other important improvements and bug fixes. For the detailed list please see the release notes at http://lhcbproject.web.cern.ch/lhcbproject/dist/Dirac_project/installSource/releasenotes.DIRAC.v6r0.html