Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unattended config setup for iRODS #1

Merged
merged 7 commits into from
Oct 19, 2021
Merged

Unattended config setup for iRODS #1

merged 7 commits into from
Oct 19, 2021

Conversation

mikkonie
Copy link
Contributor

@mikkonie mikkonie commented Oct 8, 2021

Working on an unattended config setup for iRODS.

TODO

  • Move vault away from /var/lib
  • Fix "already provisioned" check
  • Fix "error encountered in graceful shutdown" error from iRODS at the end of iCAT setup (see Graceful shutdown error in setup_irods.py #2)
  • Add support for "resc-only" mode
  • Find replacement for ugly b64encode hack
  • Ensure irods_python-re_installer.py works, update as needed
  • Update README
  • Fix default for IRODS_CATALOG_PROVIDER_HOST
  • Test with sodar-docker-compose to see what fails, fix accordingly

Copy link
Member

@holtgrewe holtgrewe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, see comments. I don't think we can get rid of the b64 hack.

@@ -23,52 +51,41 @@ RUN yum install -y epel-release && \

# Install dependency packages
RUN yum install -y \
postgresql12 \
sudo
postgresql11 \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why 11 and not 12?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because sodar-docker-compose uses 11 for postgres. Just went with the same version to maintain consistency. Can update both of course.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. I'd say we should start out with the latest stable version.

https://www.postgresql.org/support/versioning/

VarFish uses 12. But maybe for SODAR/iRODS we should go for 14.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also related to this: bihealth/sodar-docker-compose#1

Copy link
Contributor Author

@mikkonie mikkonie Oct 13, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are there some killer features iRODS specifically needs from the later Postgres versions?

if [ -f /irods_python-re_installer.py ]; then
./irods_python-re_installer.py
fi

touch /etc/irods/.provisioned
fi

find /var/lib/irods -not -path '/var/lib/irods/Vault*' -exec chown -c irods:irods {} \;
chown -cR irods:irods /etc/irods
find /var/lib/irods -not -path '/var/lib/irods/Vault*' -exec chown -c $IRODS_SERVICE_ACCOUNT_GROUP:$IRODS_SERVICE_ACCOUNT_USER {} \;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we move the vault out to a bind mount to /data? I have earlier had problems with irods doing a chown -R on the /var/lib/irods and this then going into the full ceph file system...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a TODO for this.

}
}

{# XXX #}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this stay?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably not! :)

@mikkonie
Copy link
Contributor Author

mikkonie commented Oct 8, 2021

Note to self, check this for the b64encode workaround: https://pypi.org/project/jinja2-base64-filters/

@mikkonie
Copy link
Contributor Author

Note to self, check this for the b64encode workaround: https://pypi.org/project/jinja2-base64-filters/

Meh, looks like this isn't compatible with j2cli. Keeping the existing hack for now. It works and can be nicened up later if needed.

@mikkonie mikkonie marked this pull request as ready for review October 19, 2021 11:29
@mikkonie mikkonie merged commit 1108e17 into master Oct 19, 2021
@mikkonie mikkonie deleted the unattended-config branch October 19, 2021 11:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants