From 6ce6afff2aff405ca6ab60cc6c97ffc01d2814f2 Mon Sep 17 00:00:00 2001 From: Ales Rothbauer Date: Tue, 11 Nov 2025 18:56:11 +0100 Subject: [PATCH] glance-api+neutron-server: add raise_for_status method call to livenessProbe Without it, the livenessProbe will accept error return codes (4xx, 5xx). In our case it was causing problems in glance-api and this fix solved the condition where glance-api, e.g. in cases of controller node restarts during maintenance, raised this error: socket.gaierror: [Errno -3] Temporary failure in name resolution and glace-api container didn't work since then correctly, showing this: "--- no python application found, check your startup logs for errors ---" As for neutron-server, I haven't seen the same issue yet but as the probe's command is the same as for glance-api the fix applies as well. I tested both glance-api and neutron-server - they works fine with this fix. Change-Id: Ia9663a74a3fcdfe676362bc6bd7b72e69156cbb8 Signed-off-by: Ales Rothbauer --- glance/templates/deployment-api.yaml | 2 +- neutron/templates/deployment-server.yaml | 4 ++-- releasenotes/notes/glance-cb814fab2bccc95e.yaml | 6 ++++++ releasenotes/notes/neutron-3c11cf48f8c7c592.yaml | 6 ++++++ 4 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 releasenotes/notes/glance-cb814fab2bccc95e.yaml create mode 100644 releasenotes/notes/neutron-3c11cf48f8c7c592.yaml diff --git a/glance/templates/deployment-api.yaml b/glance/templates/deployment-api.yaml index 239a58fcf9..d402eddadd 100644 --- a/glance/templates/deployment-api.yaml +++ b/glance/templates/deployment-api.yaml @@ -20,7 +20,7 @@ exec: command: - python - -c - - "import requests; requests.get('http://127.0.0.1:{{ $health_port }}{{ $health_path }}')" + - "import requests; r = requests.get('http://127.0.0.1:{{ $health_port }}{{ $health_path }}'); r.raise_for_status()" {{- else }} httpGet: path: {{ $health_path }} diff --git a/neutron/templates/deployment-server.yaml b/neutron/templates/deployment-server.yaml index 07de4e8443..ab8e4e679e 100644 --- a/neutron/templates/deployment-server.yaml +++ b/neutron/templates/deployment-server.yaml @@ -18,7 +18,7 @@ exec: command: - python - -c - - "import requests; requests.get('http://127.0.0.1:{{ tuple "network" "service" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}')" + - "import requests; r = requests.get('http://127.0.0.1:{{ tuple "network" "service" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}'); r.raise_for_status()" initialDelaySeconds: 30 {{- else }} httpGet: @@ -33,7 +33,7 @@ exec: command: - python - -c - - "import requests; requests.get('http://127.0.0.1:{{ tuple "network" "service" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}')" + - "import requests; r = requests.get('http://127.0.0.1:{{ tuple "network" "service" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}'); r.raise_for_status()" initialDelaySeconds: 30 {{- else }} httpGet: diff --git a/releasenotes/notes/glance-cb814fab2bccc95e.yaml b/releasenotes/notes/glance-cb814fab2bccc95e.yaml new file mode 100644 index 0000000000..753403e53c --- /dev/null +++ b/releasenotes/notes/glance-cb814fab2bccc95e.yaml @@ -0,0 +1,6 @@ +--- +glance: + - | + add raise_for_status method call to the livenessProbe command to properly + raise an error when return code is 4xx (client error) or 5xx (server error) +... diff --git a/releasenotes/notes/neutron-3c11cf48f8c7c592.yaml b/releasenotes/notes/neutron-3c11cf48f8c7c592.yaml new file mode 100644 index 0000000000..f320382a89 --- /dev/null +++ b/releasenotes/notes/neutron-3c11cf48f8c7c592.yaml @@ -0,0 +1,6 @@ +--- +neutron: + - | + add raise_for_status method call to the livenessProbe command to properly + raise an error when return code is 4xx (client error) or 5xx (server error) +...