Browse Source

Merge "Wait until child process will be killed"

changes/92/199392/3
Jenkins 7 years ago committed by Gerrit Code Review
parent
commit
6a11253907
  1. 4
      heat_integrationtests/common/config.py
  2. 17
      heat_integrationtests/functional/test_reload_on_sighup.py

4
heat_integrationtests/common/config.py

@ -109,6 +109,10 @@ IntegrationTestGroup = [
default=120,
help="Timeout in seconds to wait for connectivity to "
"server."),
cfg.IntOpt('sighup_timeout',
default=30,
help="Timeout in seconds to wait for adding or removing child"
"process after receiving of sighup signal")
]

17
heat_integrationtests/functional/test_reload_on_sighup.py

@ -10,6 +10,8 @@
# License for the specific language governing permissions and limitations
# under the License.
import time
import eventlet
from oslo_concurrency import processutils
@ -67,11 +69,18 @@ class ReloadOnSighupTest(test.HeatIntegrationTest):
self._set_config_value(service, 'workers', new_workers)
cmd = "kill -HUP %s" % pre_reload_parent
processutils.execute(cmd, shell=True)
# wait till heat-api reloads
eventlet.sleep(2)
post_reload_parent, post_reload_children = self._get_heat_api_pids(
service)
# wait till heat-api reloads
start_time = time.time()
while time.time() - start_time < self.conf.sighup_timeout:
post_reload_parent, post_reload_children = self._get_heat_api_pids(
service)
intersect = set(post_reload_children) & set(pre_reload_children)
if (new_workers == len(post_reload_children)
and pre_reload_parent == post_reload_parent
and intersect == set()):
break
eventlet.sleep(1)
self.assertEqual(pre_reload_parent, post_reload_parent)
self.assertEqual(new_workers, len(post_reload_children))
# test if all child processes are newly created

Loading…
Cancel
Save