D64 OpenAIRE Maintenance Report » History » Revision 41
Revision 40 (Marek Horst, 15/12/2016 02:28 PM) → Revision 41/83 (Marek Horst, 15/12/2016 02:28 PM)
h1. D6.4 OpenAIRE Maintenance Report (v1, 9th of December 2016)
{{toc}}
h2. Overview
This document contains information about the deployment, status of OpenAIRE2020 services and content, and the history of major modifications of the system hosted at ICM, Poland. Zenodo repository is hosted at CERN, Switzerland.
The official maintenance of the OpenAIRE2020 services began on January 1st, 2015 when the project started.
*TODO: elaborate the following*
The deliverable will consist in a high-level report on the status of
* OpenAIRE workflows (CNR),
* services (ICM),
* and Information Space (UNIBI).
h2. Information Space
Brief description of the data model and status of content, i.e. numbers about data providers, their typology, publications, datasets, links... etc.
@UNIBI: your contribution is needed here
h3. Data Provider
h3. Content Status
|*data type*|*count*|
|publications|17460368|
|datasets|3226586|
|projects|653268|
|organizations|64591|
|authors|16188328|
|EuropePMC XML fulltext|1574358|
|PDF fulltext|2227458|
|*inference type*|*count*|
|datasets matched|88610|
|projects matched|351302|
|software urls references|21481|
|protein db references|196462|
|research initiatives references|7294|
|documents classified|2405869|
|similar documents found|164602477|
|citations matched by reference text|11390293|
|citations matched by id|3929053|
Tables based on IIS report generated on November 20, 2016 for OpenAIRE production infrastructure.
h3. Zenodo Content Status
|*data type*|*count or size*|
|records|96771|
|managed files|181778|
|files total size|8TB|
h2. [[OpenAIRE workflows]]
The OpenAIRE aggregation system is based on the "D-NET software toolkit":http://www.d-net.research-infrastructures.eu/. D-NET is a service-oriented framework specifically designed to support developers at constructing custom aggregative infrastructures in a cost-effective way. D-NET offers data management services capable of providing access to different kinds of external data sources, storing and processing information objects of any data models, converting them into common formats, and exposing information objects to third-party applications through a number of standard access API. Most importantly, D-NET offers infrastructure enabling services that facilitate the construction of domain-specific aggregative infrastructures by selecting and configuring the needed services and easily combining them to form autonomic data processing workflows.
The Enabling Layer contains the Services supporting the application framework. These provide functionalities such as Service registration, discovery, subscription and notification and data transfer mechanisms through ResultSet Services. Most importantly, these Services are configured to orchestrate Services of other layers to fulfil the OpenAIRE specific requirements and implement the *[[OpenAIRE workflows]]*.
h2. Services
How the system is maintained
h3. Software life-cycle
h4. D-NET services
The D-NET services are shipped as web applications and deployed on the tomcat application server (v7.0.52) on three distinct systems: dev, beta, production. To support the deployment process all the software artifacts are automatically built on a continuous integration system ("Jenkins":https://ci.research-infrastructures.eu) and hosted on a dedicated maven repository ("nexus":http://maven.research-infrastructures.eu/nexus), while webapp builds are made available via "http server":http://ppa.research-infrastructures.eu/ci_upload. The mentioned tools supporting the software lifecycle are maintained by CNR.
The D-NET services deployment is performed in subsequent stages:
* The development infrastructure plays the role of test bench for the integration of the software developed by different institutions. It is maintained by CNR and runs mostly un-released code and contains mock or subsets of the data available on the production system.
* The beta infrastructure runs only released code. It is maintained by ICM and consists of the final integration stage where all the system workflows are tested on the real data (not necessarily the same data as the production system) before making them available to the production system. Although the software running on the beta system is not yet production ready, its portal is publicly accessible in order to showcase new features and data.
* The production infrastructure is maintained by ICM and runs only code that was tested on the beta system.
D-NET backend services are packed in four different web applications, each of them running on a dedicated tomcat instance.
_@Claudio: could you fill that in? Probably you can rely on http://wiki.openaire.eu/xwiki/bin/view/OpenAIREplus%20Specific/WP5%20Maintenance%20Report_
h4. Information Inference Service
"Information Inference Service":https://github.com/openaire/iis versioning and deployment is described on "IIS versioning and deployment":https://issue.openaire.research-infrastructures.eu/projects/openaire/wiki/IIS_versioning_and_deployment wiki page.
Formerly IIS was being deployed on CDH4 cluster. Since October 1st, 2015 dedicated "cdh5 branch":https://github.com/openaire/iis/commits/cdh5 was created where new SPARK modules were introduced and existing modules were optimized. On November 20, 2016 for the first time all inferences in production infrastructure were generated by IIS deployed on new CDH5 OCEAN cluster. Both stability and major performance increase were noticed, inference generation time decreased from over 2 days to 12 hours.
h4. Portal
OpenAIRE portal is hosted at ICM. It uses Joomla! 3.6.2, a free dynamic portal engine and content management system (CMS).
The Joomla! depends on other upstream applications:
* Apache 2.4.7
* PHP 5.5.9
* MySQL 5.5.53
* OpenLDAP 2.4.31
h4. Zenodo
Zenodo repository employs an instance of the Invenio software, developed by CERN.
Repository is deployed in a production system (https://zenodo.org) and a QA system (https://sandbox.zenodo.org). In total the two systems are running on 30 VMs hosted in CERNs OpenStack infrastructure. All machines are configured using Puppet and are running on top of CERN CentOS 7.2.
Zenodo/Invenio depends on the following applications:
- HAProxy for load balancing
- Nginx for serving static content and proxying request to application server
- UWSGI as application server for Zenodo/Invenio application
- Redis for memory cache
- RabbitMQ as message broker
- Celery as distributed task queue
- PostgreSQL as database
- Elasticsearch as search engine
Deployment process is described at http://zenodo.readthedocs.io/projectlifecycle.html#release-process
See https://github.com/zenodo/zenodo/commits/production for changes to Zenodo production system (does not include changes to Invenio modules).
Zenodo repository was relaunched on Invenio v3 alpha on September 12, 2016.
h3. Infrastructure services
Because OpenAIRE2020 services are a continuation and incremental extension of the services already present that resulted from OpenAIRE+ project, so they are still hosted on that same machines. More details are available at "OpenAIRE+ WP5 Maintenance Report":http://wiki.openaire.eu/xwiki/bin/view/OpenAIREplus%20Specific/WP5%20Maintenance%20Report.
h4. Hadoop clusters
h5. DM hadoop cluster
CDH version: @cdh4.3.1@
h5. IIS hadoop cluster
There were two IIS clusters deployed:
* old CDH4 IIS cluster, version @cdh4.3.1@, in operation until December 9, 2016
* new CDH5 IIS cluster deployed on March 22, 2016 in OCEAN infrastructure, supports MRv2 on YARN and SPARK
CDH5 cluster version history:
** @5.5.2@ deployment on March 22, 2016
** @5.5.2 -> 5.7.5@ upgrade on November 30, 2016
** @5.7.5 -> 5.9.0@ upgrade on December 8, 2016
h4. Databases
|_database type_|_usage_|_version_|
| postgress | statistics | @9.1.23@ |
| postgress | DNet services | @9.3.14@ |
| mongodb | DNet services | @3.2.6@ |
| virtuoso | LOD | @7.2@ |
h4. Piwik analytics platform
Currently deployed Piwik version: @2.17.1@, since December 6, 2016.
h4. ownCloud filesync platform
Deployed at https://box.openaire.eu. Current version: @8.2.7@, since October 19, 2016.
h3. Architectural changes
[[D64_Servers_Administration_Operations_Changelog|Change Log for servers administration operations]]
h4. Introducing CDH5 IIS cluster hosted in OCEAN infrastructure
Slave node specification:
* Huawei RH1288 V3
* CPU: 2x Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz (24 cores, 48 threads)
* RAM: 128GB
* HDD: 4x SATA 6TB 7.2K RPM (HDFS)
Cluster summary (16 slaves):
* CPU: 384 cores, 768 threads
* RAM: 2048GB
* HDD: 384TB (HDFS)
YARN available resources:
* vcores: 640
* memory: 1.44TB
* HDFS: 344TB
h4. Incorporating resources from old CDH4 IIS cluster into existing DM CDH4 cluster
This task was possible after shutting down old IIS CDH4 cluster what happened on December 9, 2016.
h4. Deploying DNet postgress and mongodb databases on separate machines
Separating @openaire-services@ database instances into dedicated ones (since June 27, 2016):
* @openaire-services-postgresql@
* @openaire-services-mongodb@
h4. Updating Zenodo repository infrastructure at CERN
Several architectural changes were introduced in CERN's infrastructure:
* changed storage backend from OpenAFS to CERN EOS (18 PB disk cluster) for better scalability
* changed from self-managed MySQL database to CERN Database Team managed PostgreSQL database
* deployment of Elasticsearch clusters (6 VMs)
* SLC to CentOS 7 on all 30 VMs
h3. System downtimes
h4. @ICM
* [planned] November 14, 2016, 2 hours. #2423 dealing with Linux Dirty COW vulnerability: kernel upgrade, OpenAIRE services restart.
h4. @CERN
* [unplanned] September 16, 2016, 3 hours. Preparation of a new load balancer caused an automatic update of CERN outerperimeter firewall that automatically closed access to the operational load balancers.
* [planned] September 12, 2016, 8 hours. Complete migration from old infrastructure to new infrastructure
* minor incidents until September 12, 2016 due to overload of the legacy system