Bug 51594

Summary: puppetserver не запускается после установки пакета
Product: Branch p10 Reporter: Ilya <a9166504651>
Component: puppetserverAssignee: majioa <majioa>
Status: RESOLVED WORKSFORME QA Contact: qa-p10 <qa-p10>
Severity: blocker    
Priority: P5 CC: 3aHyga, a9166504651, amakeenk, aovechkin, cas, tatyana
Version: не указана   
Hardware: x86_64   
OS: Linux   

Description Ilya 2024-09-30 12:24:04 MSK
Платформа p11, образ StarterKit alt-p11-kde-20240912-x86_64.iso
Версия пакета:

```sh
$ rpm -qa puppetserver
puppetserver-8.4.0-alt1.noarch
```

После установки пакета `apt-get install puppetserver` не запускается
служба командой `systemctl start puppetserver.service`

В попытках исправить запуск службы обнаружены следующие ошибки:

1. Вместо конфигурационного текстового файла `/etc/sysconfig/puppetserver`
  по указанному пути оказался tar-архив, в котором есть файл `ext/default`.
  По идее содеражние файла `ext/default` должно оказаться в `/etc/sysconfig/puppetserver`.

2. В скрипте запуска службы `/usr/share/puppetserver/cli/apps/start`
  явно указан путь к файлу:

   ```
   restartfile="/opt/puppetlabs/server/data/puppetserver/restartcounter"
   ```

   Установка puppetserver в АЛЬТ Линукс не использует путь `/opt/puppetlabs/...`,
   это на примере установки доступной версии на платформе p10

3. У файла `/etc/puppetserver/conf.d/puppetserver.conf` неверные (0640) права
  доступа.

   Из-за этого при старте службы под пользователем `puppet` программа
   не может прочитать файл конфигурации и запуск завершается с ошибкой.


С уважением,
Илья
Comment 1 Alexander Makeenkov 2024-10-07 12:40:42 MSK
# journalctl  -u puppetserver.service
systemd[1]: puppetserver.service: Failed to load environment files: Bad message
systemd[1]: puppetserver.service: Failed to spawn 'start' task: Bad message
systemd[1]: puppetserver.service: Failed with result 'resources'.

# file /etc/sysconfig/puppetserver 
/etc/sysconfig/puppetserver: POSIX tar archive
Comment 2 Repository Robot 2024-12-04 03:24:39 MSK
puppetserver-8.4.0-alt2 -> sisyphus:

 Wed Dec 04 2024 Pavel Skrylev <majioa@altlinux> 8.4.0-alt2
 - ! fixed start for the puppetserver service (closes #51594)
 - ![PATCH] fixed paths to puppet counter file
Comment 3 Tatyana Gagina 2024-12-10 16:28:37 MSK
Ошибка воспроизводится на p10 с версией puppetserver-6.20.0-alt4

#  systemctl status puppetserver.service× puppetserver.service - puppetserver Service
     Active: failed

#  journalctl  -u puppetserver.service
дек 10 16:17:16 localhost-20241203.localdomain systemd[1]: Starting puppetserver Service...
дек 10 16:17:16 localhost-20241203.localdomain puppetserver[3423]: /usr/share/puppetserver/cli/apps/star>
дек 10 16:17:16 localhost-20241203.localdomain puppetserver[3439]: /usr/share/puppetserver/cli/apps/star>
дек 10 16:17:16 localhost-20241203.localdomain puppetserver[3423]: Background process 3439 exited before>
дек 10 16:17:16 localhost-20241203.localdomain systemd[1]: puppetserver.service: Control process exited,>
дек 10 16:17:16 localhost-20241203.localdomain systemd[1]: puppetserver.service: Failed with result 'exi>
дек 10 16:17:16 localhost-20241203.localdomain systemd[1]: Failed to start puppetserver Service.
Comment 4 Малъ Скрылевъ 2024-12-10 18:07:20 MSK
Ошибка другая уже, почему мѣшаете всё въ одну кучу?
Comment 5 Tatyana Gagina 2024-12-11 11:18:46 MSK
(Ответ для Малъ Скрылевъ на комментарий #4)
> Ошибка другая уже, почему мѣшаете всё въ одну кучу?

Согласна, ошибка другая. Проблема была в другом: не запускался puppetserver без установленной java https://bugzilla.altlinux.org/show_bug.cgi?id=41623#c6. После установки java-11-openjdk-headless проблем в запуском не возникло.
Comment 6 Tatyana Gagina 2024-12-11 11:21:37 MSK
Так как поведение, описанное здесь https://bugzilla.altlinux.org/show_bug.cgi?id=51594#c1, не воспроизводится, ошибку закрываю.
Comment 7 Овечкин Андрей Евгеньевич 2024-12-17 08:24:55 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>'