You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -6,35 +6,97 @@ Installing and running HEPCloud's Decision Engine on EL9
6
6
7
7
Currently the only version supporting EL9 is the development version, DE 2.0.x, which corresponds to the master branch in Git.
8
8
9
-
Decision engine uses a PostgreSQL database back-end and Redis as message broker and cache.
9
+
Decision Engine uses a PostgreSQL database back-end and Redis as message broker and cache.
10
10
11
-
You need to install first PostgreSQL, Redis, and then the Decision engine framework (decisionengine) and install and add the standard channels (decisionengine_modules).
11
+
The first one is installed as RPM requirement, the second is used as container. You need to install the pre-requisites RPM and then the Python packages for Decision Engine framework (decisionengine) and install and add the standard channels (decisionengine_modules).
12
12
13
13
The following instructions assume Alma Linux 9. You may need to adapt them slightly for other EL9 flavors.
14
14
15
15
These also assume a system installation, performed as ``root``.
16
16
decisionengine will run as the decisionengine user.
17
17
18
18
19
-
Install PostgreSQL
20
-
------------------
19
+
Install Decision Engine and the standard modules
20
+
------------------------------------------------
21
+
22
+
RPM installation
23
+
24
+
1. Prerequisites setup. Make sure that the required yum repositories and some required packages (python3, gcc, ...) are installed and up to date. ::
@@ -51,8 +113,15 @@ Install the default postgresql distributed on RHEL9, Postgresql 13:
51
113
> host all all ::1/128 trust
52
114
53
115
116
+
(difference of the correct file from the default one - `pg_hba.conf~`)
54
117
This is setting the authentication method to `trust`
55
118
119
+
4. Fix the PostgreSQL installation. Not sure why, but the run directory was missing and causing the startup to fail. ::
120
+
121
+
# Without this the systemctl start was failing and the error was in /var/lib/pgsql/data/log/postgresql-*.log
122
+
mkdir -p /var/run/postgresql
123
+
chown postgres: /var/run/postgresql
124
+
56
125
5. start the database ::
57
126
58
127
systemctl start postgresql
@@ -61,170 +130,33 @@ Install the default postgresql distributed on RHEL9, Postgresql 13:
61
130
62
131
createdb -U postgres decisionengine
63
132
64
-
The schema and the connection will be created and configured during the Decision engine framework installation.
65
-
66
-
To use the database you have to add it to the environment::
133
+
The schema and the connection will be created and configured during the Decision Engine framework initialization.
67
134
68
-
export PG_VERSION=13
69
-
export PATH="~/.local/bin:$PATH"
70
-
# you may also add these lines to ~/.bashrc
135
+
RHEL also provides other PostgreSQL versions via streams. These may require changes to environment variables like PG_VERSION and PATH to use the database.
71
136
72
137
73
138
Install Redis
74
139
-------------
75
140
76
141
Install and start the message broker (Redis) container on your system. You can find more details on the :doc:`redis document <redis>`
77
142
78
-
1. Install Padman ::
143
+
1. You may need to fix the firewall used ::
144
+
145
+
dnf rm iptables-legacy
146
+
dnf install iptables-nft
147
+
148
+
2. Install Padman ::
79
149
80
150
dnf install -y podman
81
151
82
-
2. Run the Redis container ::
152
+
3. Run the Redis container ::
83
153
84
154
podman run --name decisionengine-redis -p 127.0.0.1:6379:6379 -d redis:6 --loglevel warning
85
155
# When prompted to select an image, pick "docker.io/library/redis:6".
86
156
87
157
88
-
Install Decision Engine and the standard modules
89
-
------------------------------------------------
90
-
91
-
92
-
Install needed RPMs prerequisites
93
-
---------------------------------
94
-
95
-
1. Make sure the correct repositories and priorities are set. ::
96
-
97
-
# CRB ("Code Ready Builder" - PowerTools ) is used for swig and other dependencies
You can install using the provided RPMs (recommended for production) or via PIP install (recommended for development whnen you want to clone the Git repository and change the code).
130
-
This section is for the RPM installation, the next one for the PIP installation. Use one or the other.
131
-
132
-
1. The yum repositories are available only within Fermilab. From the outside you will have to download the RPMs from `GitHub<https://github.com/HEPCloud/decisionengine/releases>` or use the PIP installarion (below).
133
-
Setup the decision engine yum repositories ::
134
-
135
-
# You need the development version wget -O /etc/yum.repos.d/ssi-hepcloud.repo http://ssi-rpm.fnal.gov/hep/ssi-hepcloud.repo
# This is the same as the EL9 development repo: http://ssi-rpm.fnal.gov/hep/hepcloud-el9/ssi-hepcloud-dev.repo (http://ssi-rpm.fnal.gov/hep/hepcloud-el9/development/)
138
-
139
-
2. Install the decision engine and add ``--enablerepo=ssi-hepcloud-dev`` for the latest development version ::
140
-
141
-
dnf install decisionengine
142
-
dnf install decisionengine_modules
143
-
144
-
3. Not all packages are available as RPM. It is necessary to install directly some Python dependencies.
145
-
To avoid to pollute the system Python we will install them for the ``decisionengine`` user,
146
-
the user the service is running as.
147
-
Install the required Python packages (these are taken from setup.py) ::
Now you can type ``decisionengine --help`` to print the help message.
183
-
To do more you need first to configure Decision Engine.
184
-
Skip the PIP installation and go to the configuration section.
185
-
186
-
..
187
-
188
-
189
-
Install via PIP
190
-
---------------
191
-
192
-
Skip this if you did the RPM installation. This PIP installation is recommended for development whnen you want to clone the Git repository and change the code.
193
-
There are a few extra steps (dependencies installation and setups) that are automated in the RPM installation.
194
-
195
-
1. GlideinWMS (3.10.x) and HTCondor (aka HTCSS) are needed for Decision Engine. The ``glideinwms`` packages will pull all the other dependencies.
196
-
The complete version of the GlideinWMS installation instructions is available `here<https://opensciencegrid.org/docs/other/install-gwms-frontend/>`.
197
-
For a minimal installation, you can use the following command: ::
0 commit comments