Bug 41623

Summary: Не хватает зависимости на java
Product: Branch p10 Reporter: Alexander Makeenkov <amakeenk>
Component: puppetserverAssignee: majioa <majioa>
Status: REOPENED --- QA Contact: qa-p10 <qa-p10>
Severity: normal    
Priority: P5 CC: 3aHyga, al.tar44046, aovechkin, cas, majioa, tatyana
Version: не указана   
Hardware: x86_64   
OS: Linux   
Attachments:
Description Flags
puppetserver_p10.log none

Description Alexander Makeenkov 2021-12-24 11:33:11 MSK
Если в системе не установлена java, то puppetserver становится нерабочий.
Столкнулся с данной проблемной на системе ALT Workstation K 10.0 BETA, на которой java по умолчанию не установлена в дистрибутиве.

-== Шаги воспроизведения ==-
# hostnamectl set-hostname master
# apt-get install puppetserver
# cat > /etc/puppet/puppet.conf <<EOF
[master]
certname = master

[main]
server = master
environment = production
runinterval = 15m
EOF
# systemctl start puppetserver; systemctl status puppetserver
# l /etc/puppet/ssl/private_keys/master.pem; l /etc/puppet/ssl/certs/{master.pem,ca.pem}

-== Результат ==-
После запуска сервиса ключ и сертификат не создались.

Статус сервиса без установленной java:
# systemctl status puppetserver
● puppetserver.service - LSB: puppetserver
     Loaded: loaded (/etc/rc.d/init.d/puppetserver; generated)
     Active: active (exited) since Fri 2021-12-24 11:22:25 MSK; 3s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 7253 ExecStart=/etc/rc.d/init.d/puppetserver start (code=exited, status=0/SUCCESS)
        CPU: 12ms

дек 24 11:22:25 master systemd[1]: Starting LSB: puppetserver...
дек 24 11:22:25 master systemd[1]: Started LSB: puppetserver.

С установленной:
# systemctl status puppetserver
● puppetserver.service - LSB: puppetserver
     Loaded: loaded (/etc/rc.d/init.d/puppetserver; generated)
     Active: active (running) since Fri 2021-12-24 11:19:18 MSK; 8s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 6004 ExecStart=/etc/rc.d/init.d/puppetserver start (code=exited, status=0/SUCCESS)
      Tasks: 71 (limit: 10462)
     Memory: 1.2G
        CPU: 1min 40.327s
     CGroup: /system.slice/puppetserver.service
             └─6039 /usr/bin/java -Xms2g -Xmx2g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger -XX:+CrashOnOutOfMemoryError -XX:ErrorFile=/var/log/puppetserver/puppetserver_err_pid%p.log -cp "/usr/share/puppetserver/>
дек 24 11:18:54 master systemd[1]: Starting LSB: puppetserver...
гдек 24 11:19:18 master puppetserver[6004]: Starting puppetserver Puppet Labs version-checking backend: puppetserver
дек 24 11:19:18 master puppetserver[6175]: . [ DONE ]
дек 24 11:19:18 master systemd[1]: Started LSB: puppetserver.

Версия: puppetserver-6.13.0-alt3.1
Comment 1 Alexander Makeenkov 2022-02-17 14:09:18 MSK
Достаточно установить только пакет java-11-openjdk-headless
Comment 2 alexunderboots 2023-02-21 18:53:06 MSK
Таже проблема в p10 и Альт-Сервере
Comment 3 Alexander Makeenkov 2023-02-22 11:08:55 MSK
(Ответ для alexunderboots на комментарий #2)
> Таже проблема в p10 и Альт-Сервере

Надо сначала починить в сизифе, а только потом уже в p10.
Comment 4 Repository Robot 2024-03-15 15:50:17 MSK
puppetserver-8.4.0-alt1 -> sisyphus:

 Fri Mar 15 2024 Pavel Skrylev <majioa@altlinux> 8.4.0-alt1
 - ^ 6.20.0 -> 8.4.0 by cas@ (ALT #38464).
 - Added requires java-17-openjdk by cas@ (ALT #41623).
 - Set current version in executables by cas@ (ALT #47704).
 - Used bundled jruby by cas@ (ALT #47705).
 - * put proper config
Comment 5 Tatyana Gagina 2024-12-04 15:31:11 MSK
На Sisyphus не воспроизводится с версией puppetserver-8.4.0-alt2
(на версии 8.4.0-alt1 не проверить из-за ошибки запуска сервиса https://bugzilla.altlinux.org/51594, исправлено в версии 8.4.0-alt2 только).

Однако ошибка остаётся на p10 с версией puppetserver-6.20.0-alt4

Проблема.
Без установленного пакета java-11-openjdk-headless не создаётся ключ и сертификат.
 
Без установленного пакета java-11-openjdk-headless:
 l /etc/puppet/ssl/private_keys/master.pem; l /etc/puppet/ssl/certs/{master.pem,ca.pem}
ls: невозможно получить доступ к '/etc/puppet/ssl/private_keys/master.pem': Нет такого файла или каталога
ls: невозможно получить доступ к '/etc/puppet/ssl/certs/master.pem': Нет такого файла или каталога
-rw-r--r-- 1 puppet puppet 2098 дек  4 12:17 /etc/puppet/ssl/certs/ca.pem

С установленным java-11-openjdk-headless:
 l /etc/puppet/ssl/private_keys/master.pem; l /etc/puppet/ssl/certs/{master.pem,ca.pem}
-rw-r----- 1 puppet puppet 3243 дек  4 12:57 /etc/puppet/ssl/private_keys/master.pem
-rw-r--r-- 1 puppet puppet 2167 дек  4 12:57 /etc/puppet/ssl/certs/master.pem
-rw-r--r-- 1 puppet puppet 2098 дек  4 12:17 /etc/puppet/ssl/certs/ca.pem
Comment 6 Tatyana Gagina 2024-12-05 13:19:45 MSK
(Ответ для Tatyana Gagina на комментарий #5)
> На Sisyphus не воспроизводится с версией puppetserver-8.4.0-alt2
> Однако ошибка остаётся на p10 с версией puppetserver-6.20.0-alt4
> 
То есть, суть ошибки остаётся: если в системе не установлен пакет java-11-openjdk-headless, то puppetserver становится нерабочий. 
Статус без данного пакета: failed 
(перезапуск сервиса puppetserver.service и другие workaround'ы не помогают).
Comment 7 Tatyana Gagina 2024-12-11 11:13:44 MSK
(Ответ для Tatyana Gagina на комментарий #6)
> (Ответ для Tatyana Gagina на комментарий #5)
> > На Sisyphus не воспроизводится с версией puppetserver-8.4.0-alt2
> > Однако ошибка остаётся на p10 с версией puppetserver-6.20.0-alt4
> > 
> То есть, суть ошибки остаётся: если в системе не установлен пакет
> java-11-openjdk-headless, то puppetserver становится нерабочий. 
> Статус без данного пакета: failed 
> (перезапуск сервиса puppetserver.service и другие workaround'ы не помогают).

Прикладываю логи puppetserver (puppetserver_p10.log).
Comment 8 Tatyana Gagina 2024-12-11 11:14:01 MSK
Created attachment 17369 [details]
puppetserver_p10.log
Comment 9 Овечкин Андрей Евгеньевич 2024-12-17 08:28:01 MSK
После установки с Sisyphus  puppetserver java-11-openjdk-headless pupet server запустился, но с предупреждениями.

systemctl status puppetserver
● puppetserver.service - puppetserver Service
     Loaded: loaded (/usr/lib/systemd/system/puppetserver.service; enabled; preset: disabled)
     Active: active (running) since Tue 2024-12-17 08:00:06 MSK; 22min ago
    Process: 58538 ExecStart=/usr/bin/puppetserver start (code=exited, status=0/SUCCESS)
   Main PID: 58593 (java)
      Tasks: 54 (limit: 4915)
     Memory: 1.8G (peak: 1.8G)
        CPU: 4min 9.993s
     CGroup: /system.slice/puppetserver.service
             └─58593 /usr/bin/java -Xms2g -Xmx2g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger -Dlogappender=F1 -XX:+CrashOnOutOfMemoryError -XX:ErrorFile=/var/log/puppetserver/puppetserver_err_pid%p.log -cp /usr/sha>

Dec 17 08:02:01 rdcaltterrez.rpkb.ru puppetserver[58593]: Ignoring strscan-3.1.1 because its extensions are not built. Try: gem pristine strscan --version 3.1.1
Dec 17 08:02:01 rdcaltterrez.rpkb.ru puppetserver[58593]: Ignoring websocket-driver-0.7.6 because its extensions are not built. Try: gem pristine websocket-driver --version 0.7.6
Dec 17 08:02:01 rdcaltterrez.rpkb.ru puppetserver[58593]: Ignoring byebug-11.1.3 because its extensions are not built. Try: gem pristine byebug --version 11.1.3
Dec 17 08:02:01 rdcaltterrez.rpkb.ru puppetserver[58593]: Ignoring ffi-1.17.0 because its extensions are not built. Try: gem pristine ffi --version 1.17.0
Dec 17 08:02:01 rdcaltterrez.rpkb.ru puppetserver[58593]: Ignoring nio4r-2.7.3 because its extensions are not built. Try: gem pristine nio4r --version 2.7.3
Dec 17 08:02:01 rdcaltterrez.rpkb.ru puppetserver[58593]: Ignoring nokogiri-1.16.7.371 because its extensions are not built. Try: gem pristine nokogiri --version 1.16.7.371
Dec 17 08:02:01 rdcaltterrez.rpkb.ru puppetserver[58593]: Ignoring puma-6.4.3 because its extensions are not built. Try: gem pristine puma --version 6.4.3
Dec 17 08:02:01 rdcaltterrez.rpkb.ru puppetserver[58593]: Ignoring racc-1.8.0 because its extensions are not built. Try: gem pristine racc --version 1.8.0
Dec 17 08:02:01 rdcaltterrez.rpkb.ru puppetserver[58593]: Ignoring strscan-3.1.1 because its extensions are not built. Try: gem pristine strscan --version 3.1.1
Dec 17 08:02:01 rdcaltterrez.rpkb.ru puppetserver[58593]: Ignoring websocket-driver-0.7.6 because its extensions are not built. Try: gem pristine websocket-driver --version 0.7.6

Чем то не нравятся имеющиеся гемы, рекомендованные действия заканчиваются ошибкой.


 gem pristine websocket-driver --version 0.7.6
Restoring gems to pristine condition...
Building native extensions. This could take a while...
ERROR:  While executing gem ... (Gem::Ext::BuildError)
    ERROR: Failed to build gem native extension.

    current directory: /usr/lib/ruby/gemie/gems/websocket-driver-0.7.6/ext/websocket-driver
/usr/lib/ruby/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/include/ruby.h

You might have to install separate package for the ruby development
environment, ruby-dev or ruby-devel for example.

extconf failed, exit code 1

Gem files will remain installed in /usr/lib/ruby/gemie/gems/websocket-driver-0.7.6 for inspection.
Results logged to /usr/lib64/ruby/gemie/extensions/websocket-driver-0.7.6/gem_make.out
        /usr/lib/ruby/rubygems/ext/builder.rb:125:in `run'
        /usr/lib/ruby/rubygems/ext/ext_conf_builder.rb:28:in `build'
        /usr/lib/ruby/rubygems/ext/builder.rb:193:in `build_extension'
        /usr/lib/ruby/rubygems/ext/builder.rb:227:in `block in build_extensions'
        /usr/lib/ruby/rubygems/ext/builder.rb:224:in `each'
        /usr/lib/ruby/rubygems/ext/builder.rb:224:in `build_extensions'
        /usr/lib/ruby/rubygems/installer.rb:859:in `build_extensions'
        /usr/lib/ruby/rubygems/installer.rb:330:in `install'
        /usr/lib/ruby/rubygems/commands/pristine_command.rb:201:in `block in execute'
        /usr/lib/ruby/rubygems/commands/pristine_command.rb:137:in `each'
        /usr/lib/ruby/rubygems/commands/pristine_command.rb:137:in `execute'
        /usr/lib/ruby/rubygems/command.rb:326:in `invoke_with_build_args'
        /usr/lib/ruby/rubygems/command_manager.rb:255:in `invoke_command'
        /usr/lib/ruby/rubygems/command_manager.rb:194:in `process_args'
        /usr/lib/ruby/rubygems/command_manager.rb:152:in `run'
        /usr/lib/ruby/rubygems/gem_runner.rb:56:in `run'
        /usr/bin/gem:12:in `<main>'
Comment 10 Малъ Скрылевъ 2024-12-17 10:59:03 MSK
(Ответ для Овечкин Андрей Евгеньевич на комментарий #9)
> После установки с Sisyphus  puppetserver java-11-openjdk-headless pupet
> server запустился, но с предупреждениями.
> 
> systemctl status puppetserver
> ● puppetserver.service - puppetserver Service
>      Loaded: loaded (/usr/lib/systemd/system/puppetserver.service; enabled;
> preset: disabled)
>      Active: active (running) since Tue 2024-12-17 08:00:06 MSK; 22min ago
>     Process: 58538 ExecStart=/usr/bin/puppetserver start (code=exited,
> status=0/SUCCESS)
>    Main PID: 58593 (java)
>       Tasks: 54 (limit: 4915)
>      Memory: 1.8G (peak: 1.8G)
>         CPU: 4min 9.993s
>      CGroup: /system.slice/puppetserver.service
>              └─58593 /usr/bin/java -Xms2g -Xmx2g
> -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger
> -Dlogappender=F1 -XX:+CrashOnOutOfMemoryError
> -XX:ErrorFile=/var/log/puppetserver/puppetserver_err_pid%p.log -cp /usr/sha>
> 
> Dec 17 08:02:01 rdcaltterrez.rpkb.ru puppetserver[58593]: Ignoring
> strscan-3.1.1 because its extensions are not built. Try: gem pristine
> strscan --version 3.1.1
> Dec 17 08:02:01 rdcaltterrez.rpkb.ru puppetserver[58593]: Ignoring
> websocket-driver-0.7.6 because its extensions are not built. Try: gem
> pristine websocket-driver --version 0.7.6
> Dec 17 08:02:01 rdcaltterrez.rpkb.ru puppetserver[58593]: Ignoring
> byebug-11.1.3 because its extensions are not built. Try: gem pristine byebug
> --version 11.1.3
> Dec 17 08:02:01 rdcaltterrez.rpkb.ru puppetserver[58593]: Ignoring
> ffi-1.17.0 because its extensions are not built. Try: gem pristine ffi
> --version 1.17.0
> Dec 17 08:02:01 rdcaltterrez.rpkb.ru puppetserver[58593]: Ignoring
> nio4r-2.7.3 because its extensions are not built. Try: gem pristine nio4r
> --version 2.7.3
> Dec 17 08:02:01 rdcaltterrez.rpkb.ru puppetserver[58593]: Ignoring
> nokogiri-1.16.7.371 because its extensions are not built. Try: gem pristine
> nokogiri --version 1.16.7.371
> Dec 17 08:02:01 rdcaltterrez.rpkb.ru puppetserver[58593]: Ignoring
> puma-6.4.3 because its extensions are not built. Try: gem pristine puma
> --version 6.4.3
> Dec 17 08:02:01 rdcaltterrez.rpkb.ru puppetserver[58593]: Ignoring
> racc-1.8.0 because its extensions are not built. Try: gem pristine racc
> --version 1.8.0
> Dec 17 08:02:01 rdcaltterrez.rpkb.ru puppetserver[58593]: Ignoring
> strscan-3.1.1 because its extensions are not built. Try: gem pristine
> strscan --version 3.1.1
> Dec 17 08:02:01 rdcaltterrez.rpkb.ru puppetserver[58593]: Ignoring
> websocket-driver-0.7.6 because its extensions are not built. Try: gem
> pristine websocket-driver --version 0.7.6

это не рекомендованные дѣйствія, это просто авоматическія замѣчанія, для puppetserver на нихъ обращать вниманія не надо, т.к. онъ используетъ не обычный ruby, а jruby, который не разпознаётъ .so разширенія.