Skip to content

Commit

Permalink
Add CU scenario for puma worker count
Browse files Browse the repository at this point in the history
  • Loading branch information
Griffin-Sullivan committed Jan 9, 2024
1 parent 8d0d3ff commit d610fd3
Showing 1 changed file with 43 additions and 0 deletions.
43 changes: 43 additions & 0 deletions tests/foreman/destructive/test_installer.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
:Upstream: No
"""
import random

from fauxfactory import gen_domain, gen_string
import pytest

Expand Down Expand Up @@ -147,3 +149,44 @@ def test_positive_installer_certs_regenerate(target_sat):
)
assert result.status == 0
assert 'FAIL' not in target_sat.cli.Base.ping()


def test_positive_installer_puma_worker_count(target_sat):
"""Installer should set the puma worker count and thread max without having to manually
restart the foreman service.
:id: d0e7d958-dd3e-4962-bf5a-8d7ec36f3485
:steps:
1. Check how many puma workers there are by default (9)
2. Change answer's file to have 5 puma workers
3. Run satellite-installer --foreman-foreman-service-puma-workers 5 --foreman-foreman-service-puma-threads-max 5
:expectedresults: aux should show there are only 5 puma workers after installer runs
:BZ: 2025760
:customerscenario: true
"""
result = target_sat.execute('ps aux | grep -v grep | grep -e USER -e puma')
count = 0
for line in result.stdout:
if 'puma: cluster worker' in line:
count += 1
numbers = range(1, count)[:-1]
worker_count = str(random.choice(numbers))
result = target_sat.install(
InstallerCommand(
foreman_foreman_service_puma_workers=worker_count,
foreman_foreman_service_puma_threads_max=worker_count,
)
)
assert result.status == 0
result = target_sat.execute(f'grep "foreman_service_puma_workers" {SATELLITE_ANSWER_FILE}')
assert worker_count in result.stdout
result = target_sat.execute('ps aux | grep -v grep | grep -e USER -e puma')
for i in range(count):
if i < worker_count:
assert f'cluster worker {i}' in result.stdout
else:
assert f'cluster worker {i}' not in result.stdout

0 comments on commit d610fd3

Please sign in to comment.