[Bug 1474030] Re: amulet _get_proc_start_time has a race which causes service restart checks to fail
Liam Young
liam.young at canonical.com
Fri Jul 29 07:22:08 UTC 2016
** Changed in: heat (Juju Charms Collection)
Milestone: 16.07 => 16.10
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to cinder in Juju Charms Collection.
Matching subscriptions: charm-bugs
https://bugs.launchpad.net/bugs/1474030
Title:
amulet _get_proc_start_time has a race which causes service restart
checks to fail
Status in Charm Helpers:
Fix Released
Status in cinder package in Juju Charms Collection:
Fix Released
Status in glance package in Juju Charms Collection:
Confirmed
Status in heat package in Juju Charms Collection:
Confirmed
Status in neutron-api package in Juju Charms Collection:
Fix Released
Status in neutron-gateway package in Juju Charms Collection:
Fix Released
Status in neutron-openvswitch package in Juju Charms Collection:
Fix Released
Status in openstack-dashboard package in Juju Charms Collection:
Fix Released
Bug description:
Although most frequently observed in the openstack-dashboard, neutron-
api and neutron-gateway charms, this affects all OpenStack charm
amulet tests which utilize a service restart check.
The test is to make a charm config change, then inspect the unit for
process start time, and compare that start time with file modification
time of the relevant config file. In some cases, that arbitrary sleep
results in the _get_proc_start_time checking for a service start time
before the service is started, yielding OSError: [Errno 2] No such
file or directory: '/proc/1242'.
2015-07-13 14:57:39,934 test_900_restart_on_config_change DEBUG: Making config change on neutron-api...
2015-07-13 14:57:40,527 test_900_restart_on_config_change DEBUG: Checking that service restarted: neutron-server
2015-07-13 14:59:29,632 _get_proc_start_time DEBUG: CMDout: (u'1242', 0)
2015-07-13 14:59:29,632 _get_proc_start_time DEBUG: Pid for neutron-server 1242
Traceback (most recent call last):
File "tests/019-basic-vivid-kilo", line 9, in <module>
deployment.run_tests()
File "/home/ubuntu/bzr/next/neutron-api/tests/charmhelpers/contrib/amulet/deployment.py", line 93, in run_tests
getattr(self, test)()
File "/home/ubuntu/bzr/next/neutron-api/tests/basic_deployment.py", line 516, in test_900_restart_on_config_change
pgrep_full=True):
File "/home/ubuntu/bzr/next/neutron-api/tests/charmhelpers/contrib/amulet/utils.py", line 290, in service_restarted
if (self._get_proc_start_time(sentry_unit, service, pgrep_full) >=
File "/home/ubuntu/bzr/next/neutron-api/tests/charmhelpers/contrib/amulet/utils.py", line 279, in _get_proc_start_time
return self._get_dir_mtime(sentry_unit, proc_dir)
File "/home/ubuntu/bzr/next/neutron-api/tests/charmhelpers/contrib/amulet/utils.py", line 260, in _get_dir_mtime
return sentry_unit.directory_stat(directory)['mtime']
File "/usr/lib/python2.7/dist-packages/amulet/sentry.py", line 88, in directory_stat
return self._fs_data(path)
File "/usr/lib/python2.7/dist-packages/amulet/sentry.py", line 75, in _fs_data
return self._run_unit_script("filesystem_data.py {}".format(path))
File "/usr/lib/python2.7/dist-packages/amulet/sentry.py", line 126, in _run_unit_script
raise IOError(output)
IOError: Traceback (most recent call last):
File "/tmp/amulet/filesystem_data.py", line 7, in <module>
s = os.stat(sys.argv[1])
OSError: [Errno 2] No such file or directory: '/proc/1242'
ERROR subprocess encountered error code 1
real 17m21.555s
To manage notifications about this bug go to:
https://bugs.launchpad.net/charm-helpers/+bug/1474030/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list