Project

General

Profile

Bug #34824

Updated by Evgeni Golov over 2 years ago

Copied Cloned from #33973 -- the fix there was not sufficient 

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

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

 # 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 

 # 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. 

 # 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: 

 # 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: 

 # 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

Back