2020-08-07 - System Operations and Management SIG Agenda and Notes
Date
Attendees
- Hkaplanian
- Tod Olson
- Anton Emelianov (Deactivated)
- Catherine Smith
- Chris Rutledge
- jroot
- Philip Robinson
- Robert Douglas
- spampell
Goals
Discussion items
Time | Item | Who | Notes |
---|---|---|---|
5 | Welcome | Ingolf |
|
30 | Deployment with Debian packages and deployment scripts - Towards a Deployment with one keystroke | Jo plans to deploy on Debian servers using Debian packages. Jo has written a set of deployment scripts, along with Debian packages, which he wants to show to us. The demo will be the installation of the scripts themselves, the installation of Okapi and the installation of a test module (mod-test). It requires a postgres server to be already running. The demo will be only for the backend, no Stripes components will be installed, yet. Jo will install 3 Debian packages:
folio-libmods: It manages the whole setup of talking to Okapi. He will the install Okapi, connect it to the database and deploy one test module and register and enable it at Okapi. Jo has developed a highly functional and intuitively to use interactive graphical dialog in the style of Debian package installers. The goal of his effort is to be able to install Okapi and register all modules with one keystroke. So far, Jo has developed a set of easy to maintain, robust shell scripts with good documentation. His time schedule is to have a version of his procedure to deploy a full Folio instance by mid September. Jo also has a plan for an easy to use update mechanism which avoids downtimes ( due to time reasons, we might likely defer this part to a later session ). Meeting Notes PostgreSQL needs to be setup and running prior to installation. Installer will create the required folio database & tenant. All done via "apt-get". Can be used to install apps as well. This writes the config file for Okapi. It creates a service for Okapi and starts Okapi: sudo apt-get install folio okapi To see if Okapi is running and with what parameters: sudo systemctl status okapi.service When installing apps, will ask for database names & passwords and the number of instances for each module. This will install a Folio test module: sudo apt-get install folio-mod-test This will invoke a graphical installer for module setup. The module automatically binds to tenant diku . Because it finds that there is one tenant in Okapi, "diku", so it binds to it. Tenants: There is a file called "tenants" in /etc/folio. Add a tenant: There is a script /usr/share/folio/okapi/bin/addtenants. Configuration of Okapi: ls /etc/folio/okapi hazelcast.xml log4j2.properties okapi.conf okapi.conf is only readable by the "root" user. Services There is a (Debian)-Service for Okapi and each module. The services are being automatically created. Service file for folio-okapi: /usr/share/folio/okapi/bin/okapi-settings . Service for the test module: /usr/lib/systemd/system/folio-mod-test@.service Restart-Handling If a service goes down, the system will try to restart it. E.g. it will start 3 times within 60 seconds (configurable). Call Tower A script "call_tower" tells Okapi where the module is, on which instance it runs. Registration of a module: foliolibs board on call_tower signon call_tower signoff Each module directory looks like this: ls /etc/folio/mod-test dbcredentials.env module.env okapi_connect.env tenants Discussion Harry: What about maintainance ? How to keep it up to date ? Tod: This is ready to got to Folio Labs, https://github.com/folio-labs Steve: What about high availability ? Is this a single server solution ? Does port mapping need to be done by hand ? Jo: You can have multiple services on multiple servers. Port mapping is done by the installer. It assigns a random dynamic port. Memory footprint of a module is about 71 MB, much less than in Docker deployment. Steve: What is the target audience for this? To what extend would they be interested in using it ? What kind of use cases would they be interested in to see ? IS this for someone that wants to install and test (simple)? Is this for highly scalable IT environments? Jo feels it's ready for both. How will this be maintained in the future? Is there anything that the developers need to do to make sure this is supported? Tod: This solution makes it quicker to spin up dev instances. What about upgrades and the upgrade scripts? Jo: The module itself should be in charge of upgrading its own database. What happens when you want to add an okapi? Just restart the installer. The installer assigns them a random port. Works on single or multiple hosts. Should use less ram since they all share the same space vs docker. Should probably test to be sure. Targeted to people comfortable with a traditional IT setup. What Kuberenetes does in additional:
Ingolf: Dependence on Debian packages ? Affinity to Debian ? Jo will build the Debian packages for all who want to use this. Also runs on Ubuntu servers. | |
25 | Test automatic migration for Goldenrod | jroot, others |