From 0b5ebf21c34c102cd04d2eb739d027e541260f1d Mon Sep 17 00:00:00 2001 From: Antoine H Date: Fri, 9 Jan 2026 10:17:22 +0100 Subject: [PATCH 1/4] Modify MySQL healthcheck to wait for script completion. Updated the docker-compose healthcheck for MySQL to ensure dependent services like IS-AS-KM start only after the database initialization scripts have completed. --- docker-compose/apim-is-as-km-with-analytics/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose/apim-is-as-km-with-analytics/docker-compose.yml b/docker-compose/apim-is-as-km-with-analytics/docker-compose.yml index 2eba2f0e..79086b3b 100755 --- a/docker-compose/apim-is-as-km-with-analytics/docker-compose.yml +++ b/docker-compose/apim-is-as-km-with-analytics/docker-compose.yml @@ -29,7 +29,7 @@ services: hard: 40000 command: [--ssl=0] healthcheck: - test: ["CMD", "sh", "-c", "mysqladmin ping -uroot -proot && [ -f /var/lib/mysql/initialization-complete.flag ]"] + test: ["CMD", "mysql", "-h", "localhost", "-uroot", "-proot", "-D", "WSO2AM_SHARED_DB", "-e", "SELECT 1 FROM UM_ORG LIMIT 1;"] interval: 30s timeout: 60s retries: 5 From 76a43463d0c55777ad2b7d2995f5c2191a7a163b Mon Sep 17 00:00:00 2001 From: Antoine H Date: Fri, 9 Jan 2026 10:35:17 +0100 Subject: [PATCH 2/4] align all docker-compose with same sql check in addition to initialization-complete.flag --- docker-compose/apim-is-as-km-with-analytics/docker-compose.yml | 2 +- docker-compose/apim-with-analytics/docker-compose.yml | 3 +-- docker-compose/apim-with-mi/docker-compose.yml | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/docker-compose/apim-is-as-km-with-analytics/docker-compose.yml b/docker-compose/apim-is-as-km-with-analytics/docker-compose.yml index 79086b3b..f2ccfdff 100755 --- a/docker-compose/apim-is-as-km-with-analytics/docker-compose.yml +++ b/docker-compose/apim-is-as-km-with-analytics/docker-compose.yml @@ -29,7 +29,7 @@ services: hard: 40000 command: [--ssl=0] healthcheck: - test: ["CMD", "mysql", "-h", "localhost", "-uroot", "-proot", "-D", "WSO2AM_SHARED_DB", "-e", "SELECT 1 FROM UM_ORG LIMIT 1;"] + test: ["CMD", "sh", "-c", "mysqladmin ping -uroot -proot && [ -f /var/lib/mysql/initialization-complete.flag ] && mysql -h localhost -uroot -proot -D WSO2AM_SHARED_DB -e 'SELECT 1 FROM UM_ORG LIMIT 1;'"] interval: 30s interval: 30s timeout: 60s retries: 5 diff --git a/docker-compose/apim-with-analytics/docker-compose.yml b/docker-compose/apim-with-analytics/docker-compose.yml index e3c91675..07401d03 100755 --- a/docker-compose/apim-with-analytics/docker-compose.yml +++ b/docker-compose/apim-with-analytics/docker-compose.yml @@ -29,8 +29,7 @@ services: hard: 40000 command: [--ssl=0] healthcheck: - test: ["CMD", "sh", "-c", "mysqladmin ping -uroot -proot && [ -f /var/lib/mysql/initialization-complete.flag ]"] - interval: 30s + test: ["CMD", "sh", "-c", "mysqladmin ping -uroot -proot && [ -f /var/lib/mysql/initialization-complete.flag ] && mysql -h localhost -uroot -proot -D WSO2AM_SHARED_DB -e 'SELECT 1 FROM UM_ORG LIMIT 1;'"] interval: 30s timeout: 60s retries: 5 start_period: 80s diff --git a/docker-compose/apim-with-mi/docker-compose.yml b/docker-compose/apim-with-mi/docker-compose.yml index 9610a5e5..1bed1d46 100644 --- a/docker-compose/apim-with-mi/docker-compose.yml +++ b/docker-compose/apim-with-mi/docker-compose.yml @@ -29,7 +29,7 @@ services: hard: 40000 command: [--ssl=0] healthcheck: - test: ["CMD", "sh", "-c", "mysqladmin ping -uroot -proot && [ -f /var/lib/mysql/initialization-complete.flag ]"] + test: ["CMD", "sh", "-c", "mysqladmin ping -uroot -proot && [ -f /var/lib/mysql/initialization-complete.flag ] && mysql -h localhost -uroot -proot -D WSO2AM_SHARED_DB -e 'SELECT 1 FROM UM_ORG LIMIT 1;'"] interval: 30s interval: 30s timeout: 60s retries: 5 From 0223abe7153b5ef415c4597b830930ca11dc7d52 Mon Sep 17 00:00:00 2001 From: Antoine H Date: Fri, 9 Jan 2026 10:50:51 +0100 Subject: [PATCH 3/4] with interval fixed --- docker-compose/apim-is-as-km-with-analytics/docker-compose.yml | 3 ++- docker-compose/apim-with-analytics/docker-compose.yml | 3 ++- docker-compose/apim-with-mi/docker-compose.yml | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/docker-compose/apim-is-as-km-with-analytics/docker-compose.yml b/docker-compose/apim-is-as-km-with-analytics/docker-compose.yml index f2ccfdff..3a704af5 100755 --- a/docker-compose/apim-is-as-km-with-analytics/docker-compose.yml +++ b/docker-compose/apim-is-as-km-with-analytics/docker-compose.yml @@ -29,7 +29,8 @@ services: hard: 40000 command: [--ssl=0] healthcheck: - test: ["CMD", "sh", "-c", "mysqladmin ping -uroot -proot && [ -f /var/lib/mysql/initialization-complete.flag ] && mysql -h localhost -uroot -proot -D WSO2AM_SHARED_DB -e 'SELECT 1 FROM UM_ORG LIMIT 1;'"] interval: 30s + test: ["CMD", "sh", "-c", "mysqladmin ping -uroot -proot && [ -f /var/lib/mysql/initialization-complete.flag ] && mysql -h localhost -uroot -proot -D WSO2AM_SHARED_DB -e 'SELECT 1 FROM UM_ORG LIMIT 1;'"] + interval: 30s interval: 30s timeout: 60s retries: 5 diff --git a/docker-compose/apim-with-analytics/docker-compose.yml b/docker-compose/apim-with-analytics/docker-compose.yml index 07401d03..063025af 100755 --- a/docker-compose/apim-with-analytics/docker-compose.yml +++ b/docker-compose/apim-with-analytics/docker-compose.yml @@ -29,7 +29,8 @@ services: hard: 40000 command: [--ssl=0] healthcheck: - test: ["CMD", "sh", "-c", "mysqladmin ping -uroot -proot && [ -f /var/lib/mysql/initialization-complete.flag ] && mysql -h localhost -uroot -proot -D WSO2AM_SHARED_DB -e 'SELECT 1 FROM UM_ORG LIMIT 1;'"] interval: 30s + test: ["CMD", "sh", "-c", "mysqladmin ping -uroot -proot && [ -f /var/lib/mysql/initialization-complete.flag ] && mysql -h localhost -uroot -proot -D WSO2AM_SHARED_DB -e 'SELECT 1 FROM UM_ORG LIMIT 1;'"] + interval: 30s timeout: 60s retries: 5 start_period: 80s diff --git a/docker-compose/apim-with-mi/docker-compose.yml b/docker-compose/apim-with-mi/docker-compose.yml index 1bed1d46..bfb5b8d5 100644 --- a/docker-compose/apim-with-mi/docker-compose.yml +++ b/docker-compose/apim-with-mi/docker-compose.yml @@ -29,7 +29,8 @@ services: hard: 40000 command: [--ssl=0] healthcheck: - test: ["CMD", "sh", "-c", "mysqladmin ping -uroot -proot && [ -f /var/lib/mysql/initialization-complete.flag ] && mysql -h localhost -uroot -proot -D WSO2AM_SHARED_DB -e 'SELECT 1 FROM UM_ORG LIMIT 1;'"] interval: 30s + test: ["CMD", "sh", "-c", "mysqladmin ping -uroot -proot && [ -f /var/lib/mysql/initialization-complete.flag ] && mysql -h localhost -uroot -proot -D WSO2AM_SHARED_DB -e 'SELECT 1 FROM UM_ORG LIMIT 1;'"] + interval: 30s interval: 30s timeout: 60s retries: 5 From 34695db46f25b7fb1bd4c93de585a9e3a9ffb41e Mon Sep 17 00:00:00 2001 From: Antoine H Date: Fri, 9 Jan 2026 10:58:25 +0100 Subject: [PATCH 4/4] remove duplicated interval --- docker-compose/apim-is-as-km-with-analytics/docker-compose.yml | 1 - docker-compose/apim-with-mi/docker-compose.yml | 1 - 2 files changed, 2 deletions(-) diff --git a/docker-compose/apim-is-as-km-with-analytics/docker-compose.yml b/docker-compose/apim-is-as-km-with-analytics/docker-compose.yml index 3a704af5..072a548a 100755 --- a/docker-compose/apim-is-as-km-with-analytics/docker-compose.yml +++ b/docker-compose/apim-is-as-km-with-analytics/docker-compose.yml @@ -31,7 +31,6 @@ services: healthcheck: test: ["CMD", "sh", "-c", "mysqladmin ping -uroot -proot && [ -f /var/lib/mysql/initialization-complete.flag ] && mysql -h localhost -uroot -proot -D WSO2AM_SHARED_DB -e 'SELECT 1 FROM UM_ORG LIMIT 1;'"] interval: 30s - interval: 30s timeout: 60s retries: 5 start_period: 80s diff --git a/docker-compose/apim-with-mi/docker-compose.yml b/docker-compose/apim-with-mi/docker-compose.yml index bfb5b8d5..daebc544 100644 --- a/docker-compose/apim-with-mi/docker-compose.yml +++ b/docker-compose/apim-with-mi/docker-compose.yml @@ -31,7 +31,6 @@ services: healthcheck: test: ["CMD", "sh", "-c", "mysqladmin ping -uroot -proot && [ -f /var/lib/mysql/initialization-complete.flag ] && mysql -h localhost -uroot -proot -D WSO2AM_SHARED_DB -e 'SELECT 1 FROM UM_ORG LIMIT 1;'"] interval: 30s - interval: 30s timeout: 60s retries: 5 start_period: 80s