Missing plugin / microservice in /usr/lib/plugins ?

112 views
Skip to first unread message

Samuel Viscapi

unread,
Aug 8, 2017, 9:46:19 AM8/8/17
to iRODS-Chat
Hi,

I'm trying to test whether our local rule files (in /etc/irods, correctly referenced in server_config.json AFAIK) are working correctly on an iRODS 4.2.1 test server (CentOS 7 x86_64)

When I iput some file, which should trigger some action, I get the following error message in rodsLog instead:

Aug  8 15:28:37 pid:9383 remote addresses: 195.83.181.1, ::1 ERROR: [-] /home/irodsbuild/irods/server/re/src/irods_re_structs.cpp:43:int actionTableLookUp(irods::ms_table_entry &, char *) :  status [PLUGIN_ERROR_MISSING_SHARED_OBJECT]  errno [] -- message []
        [-]     /home/irodsbuild/irods/server/re/src/irods_ms_plugin.cpp:254:irods::error irods::load_microservice_plugin(ms_table &, const std::string) :  status [PLUGIN_ERROR_MISSING_SHARED_OBJECT]  errno [] -- message [Failed to create ms plugin entry.]
                [-]     /home/irodsbuild/irods/lib/core/include/irods_load_plugin.hpp:157:irods::error irods::load_plugin(PluginType *&, const std::string &, const std::string &, const std::string &, const std::string &) [PluginType = irods::ms_table_entry] :  status [PLUGIN_ERROR_MISSING_SHARED_OBJECT]  errno [] -- message [shared library does not exist [/usr/lib/irods/plugins/microservices/liblogInfo.so]]

Aug  8 15:28:37 pid:9383 remote addresses: 195.83.181.1, ::1 ERROR: executeRuleAction Failed for logInfo status = -1102000 NO_MICROSERVICE_FOUND_ERR
Aug  8 15:28:37 pid:9383 NOTICE: executeRuleBody: Microservice or Action logInfo Failed with status -1102000
Aug  8 15:28:37 pid:9383 remote addresses: 195.83.181.1, ::1 ERROR: executeRuleAction Failed for foreach status = -1102000 NO_MICROSERVICE_FOUND_ERR
Aug  8 15:28:37 pid:9383 NOTICE: executeRuleBody: Microservice or Action foreach Failed with status -1102000
Aug  8 15:28:37 pid:9383 NOTICE: execRuleNodeRes: applyRule Failed: countMetaKeys with status -1102000
Aug  8 15:28:37 pid:9383 remote addresses: 195.83.181.1, ::1 ERROR: executeRuleAction Failed for countMetaKeys status = -1102000 NO_MICROSERVICE_FOUND_ERR
Aug  8 15:28:37 pid:9383 NOTICE: executeRuleBody: Microservice or Action countMetaKeys Failed with status -1102000
Aug  8 15:28:37 pid:9383 NOTICE: execRuleNodeRes: applyRule Failed: changeValueinICAT with status -1102000
Aug  8 15:28:37 pid:9383 remote addresses: 195.83.181.1, ::1 ERROR: executeRuleAction Failed for changeValueinICAT status = -1102000 NO_MICROSERVICE_FOUND_ERR
Aug  8 15:28:37 pid:9383 NOTICE: executeRuleBody: Microservice or Action changeValueinICAT Failed with status -1102000
Aug  8 15:28:37 pid:9383 NOTICE: execRuleNodeRes: applyRule Failed: transferFinished with status -1102000
Aug  8 15:28:37 pid:9383 remote addresses: 195.83.181.1, ::1 ERROR: executeRuleAction Failed for transferFinished status = -1102000 NO_MICROSERVICE_FOUND_ERR
Aug  8 15:28:37 pid:9383 NOTICE: executeRuleBody: Microservice or Action transferFinished Failed with status -1102000
Aug  8 15:28:37 pid:9383 NOTICE: execRuleNodeRes: applyRule Failed: acPostProcForPut with status -1102000

What am I doing wrong (again) ? Is there some package I need to install in order to use this liblogInfo microservice ? I also compared this /usr/lib/irods/plugins directory with the corresponding directory on an older iRODS 4.1.6 installation in production, and several files are missing from the former.

Best regards,

Samuel from CINES (Montpellier, France)

Ben Keller

unread,
Aug 8, 2017, 11:23:16 AM8/8/17
to irod-chat
I am not familiar with the logInfo() microservice.

Possible causes of the error:
  1. if that is a microservice that is custom to your install, then it will need to be rebuilt for iRODS 4.2 and copied into the /usr/lib/irods/plugins/microservices
  2. if that was supposed to be a rule call and not a microservice call, then it's possible that either the rule definition didn't make it into your rule base, or your rule base is using additional rule files that are not mentioned in /etc/irods/server_config.json. If it is the latter, you will need to add the name of your auxiliary rule files to plugin_configuration -> rule_engines[0] -> plugin_specific_configuration -> re_rulebase_set

--
--
"iRODS: the Integrated Rule-Oriented Data-management System; A community driven, open source, data grid software solution" https://www.irods.org
 
iROD-Chat: http://groups.google.com/group/iROD-Chat

---
You received this message because you are subscribed to the Google Groups "iRODS-Chat" group.
To unsubscribe from this group and stop receiving emails from it, send an email to irod-chat+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Samuel Viscapi

unread,
Aug 16, 2017, 8:55:43 AM8/16/17
to iRODS-Chat
Hi Ben,

I found the culprits last week: EUDAT B2SAFE.

https://github.com/EUDAT-B2SAFE/B2SAFE-core

This package has to be installed for logInfo() to work.

Best regards,

Samuel
To unsubscribe from this group and stop receiving emails from it, send an email to irod-chat+...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages