Warning
There are known security vulnerabilities in Open XDMoD versions ≤11.0.2. We strongly encourage upgrading immediately to the latest version of Open XDMoD, 11.0.3, which contains fixes for these vulnerabilities.
To upgrade version 9.0 to 11.0.3, you will first need to upgrade to version 9.5.0, then upgrade to version 10.0.3, then upgrade to version 10.5.1, then upgrade to version 11.0.3.
If you cannot upgrade immediately, you can follow the instructions below to manually patch your installation as a temporary workaround before upgrading later.
Workaround instructions
- First, make sure you are on the correct web page for your version of Open XDMoD. The web page you are on now is for version 9.0. Other versions' pages are linked below:
- Download the patch file for your version:
- Copy the patch file to your Open XDMoD web server.
-
Make sure you have the
patchcommand installed; it can be installed withdnf install patch. -
Apply the patch by running the command below, replacing
[PATH_TO_XDMOD_SHARE_DIR]with the path to the share directory (/usr/share/xdmodfor RPM-based installs,/opt/xdmod/shareor another location for source code installs) and replacing[PATH_TO_PATCH_FILE]with the path to the patch file.# patch -p1 -d [PATH_TO_XDMOD_SHARE_DIR] < [PATH_TO_PATCH_FILE]
NOTE: A previous version of this web page instructed you to manually patch the fileclasses/Realm/GroupBy.php. If you did so, you will see the following prompt:patching file classes/Realm/GroupBy.php
Make sure to choose
Reversed (or previously applied) patch detected! Assume -R? [n]n, and when it asks "Apply anyway? [n]", choosenagain. - Upgrade to the latest version of Open XDMoD as soon as you can.
Using → Ingestor Guide
This guide will attempt to outline the use of the Open XDMoD ingestor command line utility. The ingestor is responsible for preparing data that has already been loaded by the shredder into the Open XDMoD databases so that is can be queried by the Open XDMoD portal. This process also includes aggregating the data in the Open XDMoD database to increase the performance of the queries performed by the Open XDMoD portal.
General Usage
By default, the ingestor with process new job data entered into the Open XDMoD database whose end times are within the past 7 days.
$ xdmod-ingestor
The ingestor should be run after you have shredded your data. If you have multiple clusters, you may run the shredder multiple times followed by a single use of the ingestor.
Start and End Date
If you have changed any data in the Open XDMoD database it is necessary to re-ingest that data. This can be accomplished by specifying a start and end date, formatted as YYYY-MM-DD, that include the dates associated with the modified data.
$ xdmod-ingestor --start-date *start-date* --end-date *end-date*
Last Modified Start Date
When aggregating data use this date as the basis of what jobs to include. Only jobs ingested on or after this date will be aggregated. This defaults to the start of the ingest and aggregation process.
$ xdmod-ingestor --last-modified-start-date *date*
The value specified for the date must be an ISO 8601 date or date and
time (e.g. “2019-01-01” or “2019-01-01 12:00:00”).
Advanced Usage
The ingestor may be set to only ingest specific realms or time frames. You must also set the last modified start date for aggregation to work properly.
Jobs:
The following is an example of only aggregating the jobs realm.
Set timestamp:
$ last_modified_start_date=$(date +'%F %T')
Ingest shredded jobs to staging table:
$ xdmod-ingestor --ingest-shredded
Ingest staging table jobs to HPcDB:
$ xdmod-ingestor --ingest-staging
Ingest all HPcDB jobs to the data warehouse:
$ xdmod-ingestor --ingest-hpcdb
Aggregate:
$ xdmod-ingestor --aggregate=job --last-modified-start-date "$last_modified_start_date"
Cloud:
If you do not have jobs data and/or wish to break down your ingestion process to exclusively ingest cloud data, you may do so as such.
You will need to specify the type of cloud data (genericcloud, openstack):
Set timestamp:
$ last_modified_start_date=$(date +'%F %T')
Ingest Generic logs:
$ xdmod-ingestor --datatype=genericcloud
Ingest OpenStack logs:
$ xdmod-ingestor --datatype=openstack
Aggregate:
$ xdmod-ingestor --aggregate=cloud --last-modified-start-date "$last_modified_start_date"
Storage:
If you do not have jobs data and/or wish to break down your ingestion process to exclusively ingest storage data, you may do so as such.
Set timestamp:
$ last_modified_start_date=$(date +'%F %T')
Ingest storage logs:
$ xdmod-ingestor --datatype=storage
Aggregate:
$ xdmod-ingestor --aggregate=storage --last-modified-start-date "$last_modified_start_date"
Help
To display the ingestor help text from the command line:
$ xdmod-ingestor -h
Verbose Output
By default the Open XDMoD ingestor only outputs what it considers to be warnings, errors or notices. If you would like to see informational output about what is being performed, use the verbose option:
$ xdmod-ingestor -v
Debugging output is also available:
$ xdmod-ingestor --debug


