From 98c6a4b65a1567731a858b80c2cba3118617b0e3 Mon Sep 17 00:00:00 2001
From: likui <likui@yovole.com>
Date: Fri, 12 Nov 2021 15:02:04 +0800
Subject: [PATCH] Use Docker healthchecks for ironic-neutron-agent services

This change enables the use of Docker healthchecks for ironic-neutron-agent services.

Change-Id: I80f8319b2cf2e4ae09904a08532cde5ec0385fa3
Implements: blueprint container-health-check
---
 ansible/roles/neutron/defaults/main.yml            | 14 ++++++++++++++
 ...-for-ironic-neutron-agent-61ec4d0d237da075.yaml |  6 ++++++
 2 files changed, 20 insertions(+)
 create mode 100644 ansible/roles/neutron/defaults/releasenotes/notes/implement-docker-healthchecks-for-ironic-neutron-agent-61ec4d0d237da075.yaml

diff --git a/ansible/roles/neutron/defaults/main.yml b/ansible/roles/neutron/defaults/main.yml
index 4535ae0f4..3de1a5e2a 100644
--- a/ansible/roles/neutron/defaults/main.yml
+++ b/ansible/roles/neutron/defaults/main.yml
@@ -173,6 +173,7 @@ neutron_services:
     host_in_groups: "{{ inventory_hostname in groups['ironic-neutron-agent'] }}"
     volumes: "{{ ironic_neutron_agent_default_volumes + ironic_neutron_agent_extra_volumes }}"
     dimensions: "{{ ironic_neutron_agent_dimensions }}"
+    healthcheck: "{{ ironic_neutron_agent_healthcheck }}"
   neutron-tls-proxy:
     container_name: neutron_tls_proxy
     group: neutron-server
@@ -420,6 +421,19 @@ neutron_sriov_agent_healthcheck:
   test: "{% if neutron_sriov_agent_enable_healthchecks | bool %}{{ neutron_sriov_agent_healthcheck_test }}{% else %}NONE{% endif %}"
   timeout: "{{ neutron_sriov_agent_healthcheck_timeout }}"
 
+ironic_neutron_agent_enable_healthchecks: "{{ enable_container_healthchecks }}"
+ironic_neutron_agent_healthcheck_interval: "{{ default_container_healthcheck_interval }}"
+ironic_neutron_agent_healthcheck_retries: "{{ default_container_healthcheck_retries }}"
+ironic_neutron_agent_healthcheck_start_period: "{{ default_container_healthcheck_start_period }}"
+ironic_neutron_agent_healthcheck_test: ["CMD-SHELL", "healthcheck_port ironic-neutron-agent {{ om_rpc_port }}"]
+ironic_neutron_agent_healthcheck_timeout: "{{ default_container_healthcheck_timeout }}"
+ironic_neutron_agent_healthcheck:
+  interval: "{{ ironic_neutron_agent_healthcheck_interval }}"
+  retries: "{{ ironic_neutron_agent_healthcheck_retries }}"
+  start_period: "{{ ironic_neutron_agent_healthcheck_start_period }}"
+  test: "{% if ironic_neutron_agent_enable_healthchecks | bool %}{{ ironic_neutron_agent_healthcheck_test }}{% else %}NONE{% endif %}"
+  timeout: "{{ ironic_neutron_agent_healthcheck_timeout }}"
+
 neutron_dhcp_agent_default_volumes:
   - "{{ node_config_directory }}/neutron-dhcp-agent/:{{ container_config_directory }}/:ro"
   - "/etc/localtime:/etc/localtime:ro"
diff --git a/ansible/roles/neutron/defaults/releasenotes/notes/implement-docker-healthchecks-for-ironic-neutron-agent-61ec4d0d237da075.yaml b/ansible/roles/neutron/defaults/releasenotes/notes/implement-docker-healthchecks-for-ironic-neutron-agent-61ec4d0d237da075.yaml
new file mode 100644
index 000000000..c20ce774b
--- /dev/null
+++ b/ansible/roles/neutron/defaults/releasenotes/notes/implement-docker-healthchecks-for-ironic-neutron-agent-61ec4d0d237da075.yaml
@@ -0,0 +1,6 @@
+---
+features:
+  - |
+    Implements container healthchecks for ironic-neutron-agent service.
+    See `blueprint
+    <https://blueprints.launchpad.net/kolla-ansible/+spec/container-health-check>`__
-- 
GitLab