Bug 55327 - Отсутствует символ перевода строки в конце файла /etc/sysconfig/opensearch
Summary: Отсутствует символ перевода строки в конце файла /etc/sysconfig/opensearch
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: opensearch (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Andrey Cherepanov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-07-23 17:55 MSK by Tatyana Gagina
Modified: 2025-07-24 10:32 MSK (History)
2 users (show)

See Also:


Attachments
opensearch.log (11.88 KB, text/x-log)
2025-07-23 17:55 MSK, Tatyana Gagina
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tatyana Gagina 2025-07-23 17:55:37 MSK
Created attachment 19175 [details]
opensearch.log

Стенд, обновлённый до Sisyphus:
ALT Server x86_64
(Виртуальная машина в виртуальном окружении Proxmox)
ОЗУ > 8Гб

Версия: opensearch-3.1.0-alt3


Шаги:
1. Установить пакет:
# apt-get install opensearch

2. Проверить статус до запуска:
# systemctl status opensearch
○ opensearch.service - OpenSearch
     Loaded: loaded (/lib/systemd/system/opensearch.service; disabled; vendor preset: disabled)
     Active: inactive (dead)
Не запущен.

3. Изменить в конфигурационном файле параметр, отвечающий за потребление ОЗУ:
# sed -i 's/1g/4g/g' /etc/opensearch/jvm.options

Запустить opensearch и проверить статус:
Добавить  в автозагрузку:
# systemctl enable --now opensearch && sleep 5; systemctl status opensearch --no-pager -l
Active: active (running) - запущен

4. Установить пароль на хранилище:
# /usr/share/opensearch/bin/opensearch-keystore passwd
(задать пароль 12345678)
Проверить: #  /usr/share/opensearch/bin/opensearch-keystore has-passwd

Пароль установлен:
OpenSearch keystore password changed successfully.
Keystore is password-protected

5. Указать пароль от хранилища:
# echo KEYSTORE_PASSWORD=12345678 >> /etc/sysconfig/opensearch

Исправить права на хранилище (поскольку его редактирование возможно только под root пользователем, то права после редактирования изменились):
# chgrp opensearch /etc/opensearch/opensearch.keystore

6. Перезапустить сервис:
# systemctl restart opensearch; systemctl status opensearch --no-pager -l

Результат: Active: failed 

Job for opensearch.service failed because the control process exited with error code.
See "systemctl status opensearch.service" and "journalctl -xeu opensearch.service" for details.
× opensearch.service - OpenSearch
     Loaded: loaded (/usr/lib/systemd/system/opensearch.service; enabled; preset: disabled)
     Active: failed (Result: exit-code) since Wed 2025-07-23 17:47:27 MSK; 17ms ago
   Duration: 1min 7.024s
 Invocation: d173f91989ec4a698f46a5f92ca08706
       Docs: https://opensearch.org/
    Process: 2469 ExecStartPre=/bin/mkdir -p /dev/shm/performanceanalyzer (code=exited, status=0/SUCCESS)
    Process: 2474 ExecStartPre=/bin/chown opensearch:opensearch /dev/shm/performanceanalyzer (code=exited, status=0/SUCCESS)
    Process: 2478 ExecStart=/usr/share/opensearch/bin/systemd-entrypoint -p ${PID_DIR}/opensearch.pid --quiet (code=exited, status=1/FAILURE)
   Main PID: 2478 (code=exited, status=1/FAILURE)
   Mem peak: 57.4M
        CPU: 3.112s

июл 23 17:47:25 server-11-0-x86-64-minimal-20250723.localdomain systemd[1]: Starting opensearch.service - OpenSearch...
июл 23 17:47:25 server-11-0-x86-64-minimal-20250723.localdomain opensearch[2478]: warning: no-jdk distributions that do not bundle a JDK are deprecated and will be removed in a future release
июл 23 17:47:26 server-11-0-x86-64-minimal-20250723.localdomain opensearch[2545]: warning: no-jdk distributions that do not bundle a JDK are deprecated and will be removed in a future release
июл 23 17:47:27 server-11-0-x86-64-minimal-20250723.localdomain opensearch[2478]: Failed to read keystore password on console
июл 23 17:47:27 server-11-0-x86-64-minimal-20250723.localdomain systemd[1]: opensearch.service: Main process exited, code=exited, status=1/FAILURE
июл 23 17:47:27 server-11-0-x86-64-minimal-20250723.localdomain systemd[1]: opensearch.service: Failed with result 'exit-code'.
июл 23 17:47:27 server-11-0-x86-64-minimal-20250723.localdomain systemd[1]: Failed to start opensearch.service - OpenSearch.
июл 23 17:47:27 server-11-0-x86-64-minimal-20250723.localdomain systemd[1]: opensearch.service: Consumed 3.112s CPU time, 57.4M memory peak

Детали:
До установки пароля сервис запущен.

Во вложении логи /var/log/opensearch/opensearch.log

Ожидаемый результат: без ошибок opensearch после установки пароля на хранилище.
Comment 1 Tatyana Gagina 2025-07-24 10:18:11 MSK
Замечание:

если использовать команду
# echo -e "\nKEYSTORE_PASSWORD=12345678" >> /etc/sysconfig/opensearch
вместо
# echo KEYSTORE_PASSWORD=12345678 >> /etc/sysconfig/opensearch

то сервис не упадёт.

Смотреть шаг №5 из описания (https://bugzilla.altlinux.org/show_bug.cgi?id=55327#c0)

Причина, по которой упал сервис:
потому что opensearch не  смог распознать эту переменную, 
так как она неправильно записалась в файл /etc/sysconfig/opensearch 
посредством команды 
echo KEYSTORE_PASSWORD=12345678 >> /etc/sysconfig/opensearch

Получилось, что в конце файла /etc/sysconfig/opensearch склеенные 2 строки: #MAX_MAP_COUNT=262144 и KEYSTORE_PASSWORD=12345678
#MAX_MAP_COUNT=262144KEYSTORE_PASSWORD=12345678

Перепроверено, после корректно отрабатывает с данной командой, сервис не падает:
 Active: active (running)

(К примеру, на p10 с версией opensearch-2.15.0-alt2 такой проблемы не было, строка ставилась автоматически в конец без склеиваний даже с командой # echo KEYSTORE_PASSWORD=12345678 >> /etc/sysconfig/opensearch).

Как итог, причина в самой записи в файл /etc/sysconfig/opensearch.
Comment 2 Alexander Makeenkov 2025-07-24 10:28:42 MSK
(Ответ для Tatyana Gagina на комментарий #1)
> Как итог, причина в самой записи в файл /etc/sysconfig/opensearch.

Не в записи, а в том, что в конце файла /etc/sysconfig/opensearch нет символа перевода строки:

[root@server ~]# tail -2 /etc/sysconfig/opensearch
# property is set at boot time in /usr/lib/sysctl.d/opensearch.conf
#MAX_MAP_COUNT=262144[root@server ~]#
Comment 3 Tatyana Gagina 2025-07-24 10:32:40 MSK
(Ответ для Alexander Makeenkov на комментарий #2)
> (Ответ для Tatyana Gagina на комментарий #1)
> > Как итог, причина в самой записи в файл /etc/sysconfig/opensearch.
> 
> Не в записи, а в том, что в конце файла /etc/sysconfig/opensearch нет
> символа перевода строки:
> 
Благодарю за уточнение.