Merge "Ensure that the script handles cases where the PID file exists but is empty or does not contain the expected data structure."

This commit is contained in:
Zuul 2023-07-09 01:12:30 +00:00 committed by Gerrit Code Review
commit 0499cebd3c
3 changed files with 15 additions and 11 deletions

View File

@ -14,7 +14,7 @@ apiVersion: v1
appVersion: v1.0.0
description: OpenStack-Helm Nova
name: nova
version: 0.3.14
version: 0.3.15
home: https://docs.openstack.org/nova/latest/
icon: https://www.openstack.org/themes/openstack/images/project-mascots/Nova/OpenStack_Project_Nova_vertical.png
sources:

View File

@ -243,16 +243,19 @@ if __name__ == "__main__":
data = {}
if os.path.isfile(pidfile):
with open(pidfile,'r') as f:
data = json.load(f)
if check_pid_running(data['pid']):
if data['exit_count'] > 1:
# Third time in, kill the previous process
os.kill(int(data['pid']), signal.SIGTERM)
else:
data['exit_count'] = data['exit_count'] + 1
with open(pidfile, 'w') as f:
json.dump(data, f)
sys.exit(0)
file_content = f.read().strip()
if file_content:
data = json.loads(file_content)
if 'pid' in data and check_pid_running(data['pid']):
if 'exit_count' in data and data['exit_count'] > 1:
# Third time in, kill the previous process
os.kill(int(data['pid']), signal.SIGTERM)
else:
data['exit_count'] = data.get('exit_count', 0) + 1
with open(pidfile, 'w') as f:
json.dump(data, f)
sys.exit(0)
data['pid'] = os.getpid()
data['exit_count'] = 0
with open(pidfile, 'w') as f:

View File

@ -83,4 +83,5 @@ nova:
- 0.3.12 Update oslo_messaging_RPCClient
- 0.3.13 Add Zed overrides
- 0.3.14 Add 2023.1 overrides
- 0.3.15 Ensure that the health check script handles cases where the PID file exists but is empty or does not contain the expected data structure.
...