The Resource logo

The Resource

Archives
Subscribe
June 20, 2022

June 2022 Edition of The Resource

Hello Reader, here is this month’s iRODS news and developments!

If you’re facing an issue with iRODS you’re not sure how to solve, please do drop me a line; if I’ve come across a solution or seen something relevant elsewhere, I’ll do my best to let you know. Or just drop me a mail to say ‘Hi’. Always nice to hear from people, particularly in these pandemic times!

I’d love your thoughts and feedback on how this newsletter could be better for you.

News

I shall be attending the UGM and giving a talk, if you’re going to be there in-person or virtually, do let me know, especially if we’ve not met before!

User Group Meeting 2022

This year's #iRODSUGM will begin on July 5. This event is the best opportunity to connect with and learn from over 150 #iRODS users, Consortium members, + staff representing dozens of academic, government, + commercial institutions. #DataManagement
The agenda for the #iRODSUGM has been posted on our website. Follow the link to learn more about the planned presentations, live demonstrations + open discussions about requested #iRODS features.
https://irods.org/ugm2022/

iRODS 4.3.0 is released!

Big one this - it’s been in the works for a while. Hats off to RENCI for all the work involved in getting it out,

​Release announcement​

I’d recommend you read the announcement yourself, however the things that I’m most interested in are, since I’ve been working with the Delay Server a lot more recently;

  • Expanded 10-level Permission Model
  • New rsyslog-based Logging Framework
  • New Delay Server Implementation
  • Delay Server Migration

See also the release notes.

The only thing I think is missing from this otherwise fine documentation is a set of notes of what’s changed when you upgrade from 4.2.x to 4.3 that will need changing. The upgrade notes are a good start, but some areas I can see that people might want to be aware of;

  • server_config.json is now consolidated from some other json files - if you made use of them or templated your server_config with config management tools, you’ll need to update the template.
  • core.re is updated only at the template, so you might want to update your core.re file if you want the new defaults, especially if you have modified it.
  • Default SSL policy has changed to, CS_NEG_REFUSE which might be important if you were relying on the previous more permissive setting.
  • Unattended installation mechanism has been updated (#6330), so worth checking your pre 4.3 deployment scripts will do what you expect.
  • Check out the deprecated section of the release notes, along with the rules mentioned in the removed section, and work out if any of your code/users make use of them and start the process of moving away from them.
  • Ubuntu 14 and 16 are deprecated - I hope you’re not still using those, but if you are, extra pressure to upgrade them!
  • All the plugins have been upgraded for compatibility. Some of them have config changes that come with it, so do check the releases for them as well!

Something else I haven’t had a chance to check yet - since Ubuntu 20 is now supported, how does it work with systemd? In 4.2.7 we needed to write our own service file, in part because the systems I look after have additional dependencies, such as before the service can start.

If anyone is around on the Friday morning of the UGM and fancies collaborating on an upgrading guide we can contribute back to the community, let me know.

OMERO

There has been a lot of work in the Consortium around OMERO, so if your organisation uses it, I’d highly recommend attending the Technical Working Groups.

Trying a new approach of quoting the issue raised where it’s a short summary. If I leave it uncommented, It’s either because it’s a complicated issue, or I don’t understand it well enough to make a helpful commentary (I’m no C programmer, amongst many other things!). Sometimes both! Let me know if you prefer this, or the previous approach.

Main Repository Activity

Open Issues

​Enhancement Request: A Way To Debug PEP Connections​

"At least on 4.2.7, it can be hard to know which PEP's will be interacted with by a particular operation when designing a rule.
It would be very helpful we we could enable a setting on the server (perhaps via .irods/irods_envionment.json) that caused it to log every PEP that fires from a particular user.
The we could run the operation we want to affect, take note of which PEP's fire and then design the rule around that.
At the moment, I believe this is only possible, by using the Audit plugin and having it capture all the PEPs, which on a busy Zone would generate a lot of logs."

​iRODS v4.3 test installation on Rocky Linux v8.6​

​Investigate test_control_plane.py with PREP on Debian 11​

​Investigate test_resource_types.Test_Resource_CompoundWithUnivmss with Python REP on Almalinux 8​

​msiDataObjChksum documentation of replNum option incorrect​

"I noticed that the documentation for the microservice msiDataObkChksum on https://docs.irods.org/4.2.11/doxygen/reDataObjOpr_8cpp.html#aae61683c7a9ab9cc59cb2125426387ef states that the optional parameter replNum has no value. This is incorrect. It takes the value of the replica number to be generate a checksum of."

​itouch fails silently in several cases​

​Inconsistent errors for irm of object with own permission in collection with read permission​

​Messages added to RError stack after redirect do not make it back to the client​

​remote rule execution does not return errors when run with irule​

​Setting irods::indexing::index has no side effect when done from msiModAVUMetadata​

This is linked to the Indexing Plugin, if you’re wondering why, is oddly specific and not run into it before!

​SYS_AGENT_INIT_ERR When attempting to iget a file across federation​

"iget a file from a remote zone where the user account doesn't have a federated user, but only a local user of the same name."
"Just hit this again, but this time there was no corresponding user on the remote zone, so I would have expected an error relating to that."

​Add timestamps to messages in reLog files​

I’d never noticed this! Nice work in highlighting it!

​irods setup fails on centOS 7​

I think here the issue reporter was running the software direct from the main branch, rather than a particular release.

I think this highlights a mismatch of expectations from the community and from the maintainers - many people are used to just pulling a repo and building it, and that’s not really how iRODS is managed - perhaps some notes in the README or BUILD documentation might help clarify things?

​Release activities for 4.3.1​

Just the start of the checkbox for next release!

Closed Issues

Closed on - 2022-06-18 10:21:35 iget -r cannot be combined with -n​

"Well, they can combine? But in this case, there was not a replica number 10 for every object under that collection?"

:-)

Closed on - 2022-06-12 19:26:26 Add support for 4.3.0-targeted platforms to plugin build/test hooks​

Closed on - 2022-06-06 15:52:16 irods-database-plugin-mysql shows no dependencies on Debian 11​

Closed on - 2022-06-02 17:09:50 Agent Factory respawn leads to orphaned agent factory and delay server​

Closed on - 2022-06-03 15:45:14 next_executor() does not rotate through the list of delay_rule_executors​

Closed on - 2022-05-26 21:11:12 Cannot start server on debian:11 - missing library libicudata.so.66​

Closed on - 2022-05-24 13:11:36 Deprecate imeta rmw​

Closed on - 2022-05-24 13:19:25 Deprecate imeta addw​

Closed on - 2022-05-24 14:01:46 SSL key size too small in tests​

Closed on - 2022-05-24 13:17:26 Replace time.clock with time.process_time in python tests​

Closed on - 2022-05-24 13:18:56 CAT_SQL_ERR on attempting to make an identical metadata/object ID association​

"Overwrite a data object with the same metadata AVUs attached."

Fixed in 4.3.0.

Closed on - 2022-05-23 16:57:11 Remove support for password argument from iinit​

"iinit allows the user to supply a password as an argument which will be used in lieu of the password prompt. This should be removed as it is insecure and does not add anything that cannot be accomplished through other means (i.e. scripting)."

Closed on - 2022-05-20 16:32:26 Ensure icommands userspace tarball packaging still works for 4.3​

Closed on - 2022-06-03 15:09:01 Add full utf8 support to mysql​

Closed on - 2022-06-12 19:45:11 release activities for 4.3.0​

Closed on - 2022-01-10 21:07:07 ilsresc -l cross-version failure​

"Closing - we've seen federation with 3.x work for a while."

Closed on - 2017-09-05 02:10:34 Replace getopt() with Boost.Program_options in icommands​

Python iRODS Client Activity

Open Issues

​remove dynamic class reconfiguration​

If I understand this correctly, this is built in backwards compatibility, which is great. Since the plugin doesn’t document which version works with which version of iRODS, it therefore should support all of them, which is a bit of a tall order!

​Noisy socket exit message​

externals Activity

Open Issues

​Remove cpr externals package​

​Boost debian packages lack icu dependency declaration​

If you think someone else would appreciate this newsletter, they can sign up at https://theresource.metadata.school/​

Some Yaks were shaved in the making of this newsletter.

Don't miss what's next. Subscribe to The Resource:
Powered by Buttondown, the easiest way to start and grow your newsletter.