archivematica / Issues

Issues repository for the Archivematica project
GNU Affero General Public License v3.0
16 stars 1 forks source link

Problem: It isn't easy to find versions and dependencies without accessing the operating system itself #522

Open ross-spencer opened 5 years ago

ross-spencer commented 5 years ago

Please describe the problem you'd like to be solved.

The tickets listed as 'related' below are all open and all identify some form of issue around dependencies and versioning.

Versioning is complex in digital preservation tools.

While one approach is to make the control of versioning much tighter, sometimes as a tester, or a developer, devops, or a user in the wild, coming up against issues we're finding to be 'inconsistent' the first piece of information we should be able to access easily is the version information of the environment Archivematica is running on.

Archivematica's scripts have access to all of this information at varying degrees, the question for this question, if taken up, is how much do we report, or how do we slowly build up a report that is useful.

Related: https://github.com/archivematica/Issues/issues/520 Related: https://github.com/archivematica/Issues/issues/191 Related: https://github.com/archivematica/Issues/issues/394 Related: https://github.com/archivematica/Issues/issues/95 Related: https://github.com/artefactual/archivematica/issues/1053 Related: https://github.com/archivematica/Issues/issues/513#issue-413139158 Related: https://github.com/archivematica/Issues/issues/521 Related: https://github.com/archivematica/Issues/issues/634

Describe the solution you'd like to see implemented.

Describe alternatives you've considered.

I think looking at controlling versions, vs. providing information on versions, this would be a great first step to maintaining Archivematica, as a tester/developer as well as a user running it live. I think it would also enable the issues above to be resolved more easily, and on a more consistent basis, e.g. when versions do fall out of synch which they might.

Additional context

Other than wrestling this weekend with versions!! :wink: The reason this hits home, is that currently, to access this information, we often have to access a distribution directly, accessing kernel version information, or tool information directly. In the case of what Python might be doing, we might have to access virtual environments which themselves might be configured differently to what vanilla-python might be running on the server itself. This is especially difficult during release testing if the version of a tool might be what is causing inconsistencies between versions of Archivematica.

See Also

This study of the tools in the FPR and the versions appearing across all AM deployments.


For Artefactual use: Please make sure these steps are taken before moving this issue from Review to Verified in Waffle:

alexwlchan commented 5 years ago
do-not-edit-start-codetree-epic-issues

Issues in this epic:

Title Milestone Assignees Stage State
problem: signature file version is not captured during format identification #1053 N/A N/A Open
Problem: Storage Service Locations "Usage" does not update when AIPs are moved #495 N/A N/A Open
Problem: Tesseract is out of 4.0.0-beta and 4.1.1 available #1045 N/A N/A Closed
Archivematica should pin exact package versions in requirements.txt for predictable deployments #634 1.10.0 N/A Closed
Problem: There are JHOVE inconsistencies across deployments and in the FPR/PREMIS output #524 1.10.0 ablwr, mamedin Closed
Problem: Fido is being reported as 1.3.12 from FPR Database where only 1.3.10 is on the system through PIP requirements #520 1.11.0 N/A Closed
Problem: FPR "related tool" options are duplicated and with incorrect versions #394 N/A ablwr Closed
Problem: the versions shown for fpr tools are outdated #191 1.10.0 sallain Closed
do-not-edit-end-codetree-epic-issues

At Wellcome, we bake the Git commit we built from into the container, and log it at startup time: https://github.com/wellcometrust/archivematica/blob/15bc0b6879d9d7231bf8b55439644ddce6e41021/src/run_dashboard.sh#L6

Combined with pinned dependencies (see #634), this means we can have a pretty good idea what versions were running inside Archivematica at that time. This is especially pressing for us, because we deploy new code fairly rapidly and so an instance may have stopped by the time we want to do any debugging.