Project

General

Profile

Bug #33973

The Installer does not restart foreman.service when changing puma configuration

Added by William Clark about 1 year ago. Updated 6 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Difficulty:
Triaged:
No
Bugzilla link:
Fixed in Releases:
Found in Releases:
Red Hat JIRA:

Description

Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=2025760

Initial Setup: puma configured and running with 4 workers and 4 workers per thread

  1. grep -n puma /etc/foreman-installer/scenarios.d/satellite-answers.yaml
    122: foreman_service_puma_threads_min:
    123: foreman_service_puma_threads_max: 4
    124: foreman_service_puma_workers: 4
  1. ps aux | grep -v grep | grep -e USER -e puma
    USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
    foreman 3472 0.6 2.2 951716 462672 ? Ssl 18:08 0:47 puma 5.3.2 (unix:///run/foreman.sock) [foreman]
    foreman 4060 0.0 3.1 1141940 648704 ? Sl 18:09 0:05 puma: cluster worker 0: 3472 [foreman]
    foreman 4061 0.0 3.1 1139888 648544 ? Sl 18:09 0:06 puma: cluster worker 1: 3472 [foreman]
    foreman 4064 0.1 3.0 1119804 618152 ? Sl 18:09 0:12 puma: cluster worker 2: 3472 [foreman]
    foreman 4065 0.0 3.0 1143428 631664 ? Sl 18:09 0:05 puma: cluster worker 3: 3472 [foreman]

Reproduction steps:

1. change puma configuration foreman_service_threads_max and/or foreman_service_puma_workers.

  1. satellite-installer --foreman-foreman-service-puma-workers 5 --foreman-foreman-service-puma-threads-max 5 --verbose-log-level=info

2. check # of puma worker processes running is still 4 after installer has completed:

  1. ps aux | grep -v grep | grep -e USER -e puma
    USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
    foreman 8148 11.9 2.2 951776 462376 ? Ssl 20:21 0:43 puma 5.3.2 (unix:///run/foreman.sock) [foreman]
    foreman 8219 1.2 3.1 1150208 649108 ? Sl 20:22 0:03 puma: cluster worker 0: 8148 [foreman]
    foreman 8223 0.0 2.2 978532 456372 ? Sl 20:22 0:00 puma: cluster worker 1: 8148 [foreman]
    foreman 8227 0.0 2.2 978532 456260 ? Sl 20:22 0:00 puma: cluster worker 2: 8148 [foreman]
    foreman 8236 0.0 2.2 978532 456492 ? Sl 20:22 0:00 puma: cluster worker 3: 8148 [foreman]

3. restart foreman.service: # systemctl restart foreman.service

4. Observe there are now 5 puma worker processes running:

  1. ps aux | grep -v grep | grep -e USER -e puma
    USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
    foreman 8857 76.2 2.2 947880 457108 ? Ssl 20:28 0:44 puma 5.3.2 (unix:///run/foreman.sock) [foreman]
    foreman 8883 1.2 2.1 976688 450764 ? Sl 20:28 0:00 puma: cluster worker 0: 8857 [foreman]
    foreman 8886 1.1 2.1 976688 450628 ? Sl 20:28 0:00 puma: cluster worker 1: 8857 [foreman]
    foreman 8894 1.1 2.1 976688 450616 ? Sl 20:28 0:00 puma: cluster worker 2: 8857 [foreman]
    foreman 8900 1.1 2.1 976688 450956 ? Sl 20:28 0:00 puma: cluster worker 3: 8857 [foreman]
    foreman 8902 1.2 2.1 976688 450748 ? Sl 20:28 0:00 puma: cluster worker 4: 8857 [foreman]

Further information:

You can observe that foreman.socket was restarted while foreman.service was not restarted:

2021-11-22 20:21:22 [DEBUG ] [configure] Executing: '/bin/systemctl restart -- foreman.socket'
2021-11-22 20:21:23 [INFO ] [configure] /Service[foreman.socket]: Triggered 'refresh' from 1 event
2021-11-22 20:21:23 [DEBUG ] [configure] /Service[foreman.socket]: The container Class[Foreman::Service] will propagate my refresh event
2021-11-22 20:21:23 [DEBUG ] [configure] /Service[foreman.socket]: Evaluated in 1.36 seconds
2021-11-22 20:21:23 [DEBUG ] [configure] /Service[foreman]: Starting to evaluate the resource (1592 of 2025)
2021-11-22 20:21:23 [DEBUG ] [configure] Executing: '/bin/systemctl is-active -- foreman'
2021-11-22 20:21:23 [DEBUG ] [configure] Executing: '/bin/systemctl is-enabled -- foreman'
2021-11-22 20:21:23 [DEBUG ] [configure] Executing: '/bin/systemctl show --property=NeedDaemonReload -- foreman'
2021-11-22 20:21:23 [DEBUG ] [configure] Executing: '/bin/systemctl daemon-reload'
2021-11-22 20:21:23 [DEBUG ] [configure] Executing: '/bin/systemctl unmask -- foreman'
2021-11-22 20:21:23 [DEBUG ] [configure] Executing: '/bin/systemctl start -- foreman'
2021-11-22 20:22:08 [DEBUG ] [configure] Executing: '/bin/systemctl is-enabled -- foreman'
2021-11-22 20:22:08 [INFO ] [configure] /Stage[main]/Foreman::Service/Service[foreman]/ensure: ensure changed 'stopped' to 'running'
2021-11-22 20:22:08 [DEBUG ] [configure] /Service[foreman]: The container Class[Foreman::Service] will propagate my refresh event
2021-11-22 20:22:08 [DEBUG ] [configure] /Service[foreman]: Unscheduling refresh on Service[foreman]
2021-11-22 20:22:08 [DEBUG ] [configure] /Service[foreman]: Evaluated in 44.66 seconds


Related issues

Copied to Installer - Bug #34824: Installer does not restart foreman.service when changing Puma configurationClosed

Associated revisions

Revision 559f6dbc (diff)
Added by William Clark about 1 year ago

Fixes #33973 - Notify foreman service/socket when configuration changes

History

#1 Updated by The Foreman Bot about 1 year ago

  • Status changed from New to Ready For Testing
  • Pull request https://github.com/theforeman/puppet-foreman/pull/1008 added

#2 Updated by The Foreman Bot about 1 year ago

  • Fixed in Releases 3.2.0 added

#3 Updated by William Clark about 1 year ago

  • Status changed from Ready For Testing to Closed

#4 Updated by Evgeni Golov 7 months ago

  • Copied to Bug #34824: Installer does not restart foreman.service when changing Puma configuration added

#5 Updated by Amit Upadhye 6 months ago

  • Subject changed from installer does not restart foreman.service when changing puma configuration to The Installer does not restart foreman.service when changing puma configuration

Also available in: Atom PDF