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

Change-Id: I4301a6cbea0688369c735d4751c741106b3fe7ab
This commit is contained in:
az7961 2023-07-06 09:49:51 -05:00
parent b1f74a351a
commit 5ef1d54607
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,13 +243,16 @@ 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:
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['exit_count'] + 1
data['exit_count'] = data.get('exit_count', 0) + 1
with open(pidfile, 'w') as f:
json.dump(data, f)
sys.exit(0)

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