Как мне отложить выполнение сценария, чтобы FreeIPA запустился первым?

У меня есть несколько контейнеров с сервером FreeIPA, на котором проходят аутентификацию все пользователи. Все ОС — Linux. В некоторых из моих контейнеров есть службы, которые запускаются при запуске через systemd. К сожалению, похоже, что эти сценарии терпят неудачу из-за сбоя аутентификации. Однако если я вручную запущу службу позже, используя systemctl start , служба запустится нормально.

Вот пример вывода статуса службы для одной из моих служб:

      ● emby-server.service - Emby Server is a personal media server with apps on just about every device.
   Loaded: loaded (/etc/systemd/system/emby-server.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/emby-server.service.d
           └─override.conf
   Active: failed (Result: exit-code) since Tue 2021-01-19 11:25:45 GMT; 35s ago
  Process: 163 ExecStart=/opt/emby-server/bin/emby-server (code=exited, status=217/USER)
  Process: 150 ExecStartPre=/bin/sleep 20 (code=exited, status=217/USER)
 Main PID: 163 (code=exited, status=217/USER)

Jan 19 11:25:45 emby systemd[1]: Starting Emby Server is a personal media server with apps on just about every device....
Jan 19 11:25:45 emby systemd[150]: emby-server.service: Failed to determine user credentials: Connection refused
Jan 19 11:25:45 emby systemd[150]: emby-server.service: Failed at step USER spawning /bin/sleep: Connection refused
Jan 19 11:25:45 emby systemd[1]: Started Emby Server is a personal media server with apps on just about every device..
Jan 19 11:25:45 emby systemd[163]: emby-server.service: Failed to determine user credentials: Connection refused
Jan 19 11:25:45 emby systemd[163]: emby-server.service: Failed at step USER spawning /opt/emby-server/bin/emby-server: Connection refused
Jan 19 11:25:45 emby systemd[1]: emby-server.service: Main process exited, code=exited, status=217/USER
Jan 19 11:25:45 emby systemd[1]: emby-server.service: Failed with result 'exit-code'.

Я подозреваю, что мне нужно ввести паузу перед запуском сценария, чтобы позволить клиенту FreeIPA запуститься первым, потому что сценарий завершается с ошибкой с вышеуказанной ошибкой при запуске, но работает нормально, если запустить его позже.

Я попытался добавить спящий режим в сценарий /etc/systemd/system/servicename.service с помощью ExecStartPre=-/bin/sleep 20, но я предполагаю, что до этого он не работает, потому что сам сценарий не может запуститься, пока пользователь не будет аутентифицирован.

Пожалуйста, не могли бы вы мне помочь с:

  1. Судя по приведенной выше информации, правильно ли я определил проблему
  2. Должен/могу ли я сделать что-нибудь еще, чтобы подтвердить причину проблемы
  3. Как я могу ввести паузу перед запуском сценария servicename.service?

Спасибо

0 ответов

Другие вопросы по тегам