This is an automated email from the ASF dual-hosted git repository. madhan pushed a commit to branch ranger-2.7 in repository https://gitbox.apache.org/repos/asf/ranger.git
commit 69e9c3675dc8d406e0ad044c53daef18b4b50f7f Author: Abhishek Kumar <abhishekkumar100...@gmail.com> AuthorDate: Sat Mar 29 16:30:21 2025 -0700 RANGER-5167: Merge all database compose files and use extends (#542) (cherry picked from commit 38e762f329cd9015a7fc961a9bbeea529207c87e) --- .github/workflows/maven.yml | 2 - dev-support/ranger-docker/README.md | 12 +-- .../docker-compose.ranger-db-mounted.yml | 11 +++ .../ranger-docker/docker-compose.ranger-db.yml | 86 ++++++++++++++++++++++ .../ranger-docker/docker-compose.ranger-mysql.yml | 25 ------- .../ranger-docker/docker-compose.ranger-oracle.yml | 23 ------ .../docker-compose.ranger-postgres-mounted.yml | 24 ------ .../docker-compose.ranger-postgres.yml | 23 ------ .../docker-compose.ranger-sqlserver.yml | 27 ------- .../ranger-docker/docker-compose.ranger.yml | 5 ++ ranger_in_docker | 7 +- 11 files changed, 110 insertions(+), 135 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index b556905e5..94cc5c32b 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -130,7 +130,6 @@ jobs: export COMPOSE_DOCKER_CLI_BUILD=1 export RANGER_DB_TYPE=postgres docker compose \ - -f docker-compose.ranger-${RANGER_DB_TYPE}.yml \ -f docker-compose.ranger.yml \ -f docker-compose.ranger-usersync.yml \ -f docker-compose.ranger-tagsync.yml \ @@ -148,7 +147,6 @@ jobs: ./scripts/ozone-plugin-docker-setup.sh export RANGER_DB_TYPE=postgres docker compose \ - -f docker-compose.ranger-${RANGER_DB_TYPE}.yml \ -f docker-compose.ranger.yml \ -f docker-compose.ranger-usersync.yml \ -f docker-compose.ranger-tagsync.yml \ diff --git a/dev-support/ranger-docker/README.md b/dev-support/ranger-docker/README.md index 346ac5e66..05de7f839 100644 --- a/dev-support/ranger-docker/README.md +++ b/dev-support/ranger-docker/README.md @@ -83,33 +83,33 @@ docker-compose -f docker-compose.ranger-base-ubi.yml build --no-cache # valid values for RANGER_DB_TYPE: mysql/postgres/oracle -docker-compose -f docker-compose.ranger.yml -f docker-compose.ranger-${RANGER_DB_TYPE}.yml -f docker-compose.ranger-usersync.yml -f docker-compose.ranger-tagsync.yml up -d +docker-compose -f docker-compose.ranger.yml -f docker-compose.ranger-usersync.yml -f docker-compose.ranger-tagsync.yml up -d # Ranger Admin can be accessed at http://localhost:6080 (admin/rangerR0cks!) ~~~ #### Bring up hive container ~~~ -docker-compose -f docker-compose.ranger.yml -f docker-compose.ranger-${RANGER_DB_TYPE}.yml -f docker-compose.ranger-hadoop.yml -f docker-compose.ranger-hive.yml up -d +docker-compose -f docker-compose.ranger.yml -f docker-compose.ranger-hadoop.yml -f docker-compose.ranger-hive.yml up -d ~~~ #### Bring up hbase container ~~~ -docker-compose -f docker-compose.ranger.yml -f docker-compose.ranger-${RANGER_DB_TYPE}.yml -f docker-compose.ranger-hadoop.yml -f docker-compose.ranger-hbase.yml up -d +docker-compose -f docker-compose.ranger.yml -f docker-compose.ranger-hadoop.yml -f docker-compose.ranger-hbase.yml up -d ~~~ #### Bring up ozone containers ~~~ ./scripts/ozone-plugin-docker-setup.sh -docker-compose -f docker-compose.ranger.yml -f docker-compose.ranger-${RANGER_DB_TYPE}.yml -f docker-compose.ranger-ozone.yml up -d +docker-compose -f docker-compose.ranger.yml -f docker-compose.ranger-ozone.yml up -d ~~~ #### Bring up trino container (requires docker build with jdk 11): ~~~ -docker-compose -f docker-compose.ranger.yml -f docker-compose.ranger-${RANGER_DB_TYPE}.yml -f docker-compose.ranger-trino.yml up -d +docker-compose -f docker-compose.ranger.yml -f docker-compose.ranger-trino.yml up -d ~~~ Similarly, check the `depends` section of the `docker-compose.ranger-service.yaml` file and add docker-compose files for these services when trying to bring up the `service` container. #### Bring up all containers ~~~ ./scripts/ozone-plugin-docker-setup.sh -docker compose -f docker-compose.ranger-${RANGER_DB_TYPE}.yml -f docker-compose.ranger.yml -f docker-compose.ranger-usersync.yml -f docker-compose.ranger-tagsync.yml -f docker-compose.ranger-kms.yml -f docker-compose.ranger-hadoop.yml -f docker-compose.ranger-hbase.yml -f docker-compose.ranger-kafka.yml -f docker-compose.ranger-hive.yml -f docker-compose.ranger-knox.yml -f docker-compose.ranger-ozone.yml up -d +docker compose -f docker-compose.ranger.yml -f docker-compose.ranger-usersync.yml -f docker-compose.ranger-tagsync.yml -f docker-compose.ranger-kms.yml -f docker-compose.ranger-hadoop.yml -f docker-compose.ranger-hbase.yml -f docker-compose.ranger-kafka.yml -f docker-compose.ranger-hive.yml -f docker-compose.ranger-knox.yml -f docker-compose.ranger-ozone.yml up -d ~~~ #### To rebuild specific images and start containers with the new image: diff --git a/dev-support/ranger-docker/docker-compose.ranger-db-mounted.yml b/dev-support/ranger-docker/docker-compose.ranger-db-mounted.yml new file mode 100644 index 000000000..2ab8aff31 --- /dev/null +++ b/dev-support/ranger-docker/docker-compose.ranger-db-mounted.yml @@ -0,0 +1,11 @@ +services: + ranger-db: + extends: + service: ${RANGER_DB_TYPE} + file: docker-compose.ranger-db.yml + volumes: + - ./postgres-db-mount:/var/lib/postgresql/data + +networks: + ranger: + name: rangernw diff --git a/dev-support/ranger-docker/docker-compose.ranger-db.yml b/dev-support/ranger-docker/docker-compose.ranger-db.yml new file mode 100644 index 000000000..3688a2a6d --- /dev/null +++ b/dev-support/ranger-docker/docker-compose.ranger-db.yml @@ -0,0 +1,86 @@ +services: + postgres: + build: + context: . + dockerfile: Dockerfile.ranger-postgres + args: + - POSTGRES_VERSION=${POSTGRES_VERSION} + image: ranger-postgres + container_name: ranger-postgres + hostname: ranger-db.example.com + ports: + - "5432:5432" + networks: + - ranger + healthcheck: + test: 'su -c "pg_isready -q" postgres' + interval: 10s + timeout: 2s + retries: 30 + + mysql: + build: + context: . + dockerfile: Dockerfile.ranger-mysql + args: + - MARIADB_VERSION=${MARIADB_VERSION} + image: ranger-mysql + command: --default-authentication-plugin=mysql_native_password + container_name: ranger-mysql + hostname: ranger-db.example.com + ports: + - "3306:3306" + networks: + - ranger + healthcheck: + # Double dollar($$) is required to expand the env variable + test: "mysql -u root -p$$MYSQL_ROOT_PASSWORD ranger -e 'select 1' > /dev/null" + interval: 10s + timeout: 2s + retries: 30 + + oracle: + build: + context: . + dockerfile: Dockerfile.ranger-oracle + args: + - ORACLE_VERSION=${ORACLE_VERSION} + image: ranger-oracle + container_name: ranger-oracle + hostname: ranger-db.example.com + ports: + - "1521:1521" + networks: + - ranger + healthcheck: + test: ["CMD", "healthcheck.sh"] + interval: 10s + timeout: 2s + retries: 30 + + sqlserver: + build: + context: . + dockerfile: Dockerfile.ranger-sqlserver + args: + - SQLSERVER_VERSION=${SQLSERVER_VERSION} + image: ranger-sqlserver + container_name: ranger-sqlserver + hostname: ranger-db.example.com + ports: + - "1433:1433" + networks: + - ranger + healthcheck: + test: [ + "CMD-SHELL", + "/opt/mssql-tools18/bin/sqlcmd -S localhost -U SA -P rangerR0cks! -Q \"SELECT 1\" -C" # -C bypasses SSL validation + ] + interval: 15s + timeout: 10s + retries: 3 + start_period: 10s + +networks: + ranger: + name: rangernw diff --git a/dev-support/ranger-docker/docker-compose.ranger-mysql.yml b/dev-support/ranger-docker/docker-compose.ranger-mysql.yml deleted file mode 100644 index 25641a338..000000000 --- a/dev-support/ranger-docker/docker-compose.ranger-mysql.yml +++ /dev/null @@ -1,25 +0,0 @@ -services: - ranger-db: - build: - context: . - dockerfile: Dockerfile.ranger-mysql - args: - - MARIADB_VERSION=${MARIADB_VERSION} - image: ranger-mysql - command: --default-authentication-plugin=mysql_native_password - container_name: ranger-mysql - hostname: ranger-db.example.com - ports: - - "3306:3306" - networks: - - ranger - healthcheck: - # Double dollar($$) is required to expand the env variable - test: "mysql -u root -p$$MYSQL_ROOT_PASSWORD ranger -e 'select 1' > /dev/null" - interval: 10s - timeout: 2s - retries: 30 - -networks: - ranger: - name: rangernw diff --git a/dev-support/ranger-docker/docker-compose.ranger-oracle.yml b/dev-support/ranger-docker/docker-compose.ranger-oracle.yml deleted file mode 100644 index bab2ffa06..000000000 --- a/dev-support/ranger-docker/docker-compose.ranger-oracle.yml +++ /dev/null @@ -1,23 +0,0 @@ -services: - ranger-db: - build: - context: . - dockerfile: Dockerfile.ranger-oracle - args: - - ORACLE_VERSION=${ORACLE_VERSION} - image: ranger-oracle - container_name: ranger-oracle - hostname: ranger-db.example.com - ports: - - "1521:1521" - networks: - - ranger - healthcheck: - test: ["CMD", "healthcheck.sh"] - interval: 10s - timeout: 2s - retries: 30 - -networks: - ranger: - name: rangernw diff --git a/dev-support/ranger-docker/docker-compose.ranger-postgres-mounted.yml b/dev-support/ranger-docker/docker-compose.ranger-postgres-mounted.yml deleted file mode 100644 index 0ecbb139d..000000000 --- a/dev-support/ranger-docker/docker-compose.ranger-postgres-mounted.yml +++ /dev/null @@ -1,24 +0,0 @@ -services: - ranger-db: - build: - context: . - dockerfile: Dockerfile.ranger-postgres - args: - - POSTGRES_VERSION=${POSTGRES_VERSION} - image: ranger-postgres - container_name: ranger-postgres - hostname: ranger-db.example.com - ports: - - "5432:5432" - networks: - - ranger - volumes: - - ./postgres-db-mount:/var/lib/postgresql/data - healthcheck: - test: 'su -c "pg_isready -q" postgres' - interval: 10s - timeout: 2s - retries: 30 -networks: - ranger: - name: rangernw diff --git a/dev-support/ranger-docker/docker-compose.ranger-postgres.yml b/dev-support/ranger-docker/docker-compose.ranger-postgres.yml deleted file mode 100644 index 22d166b9d..000000000 --- a/dev-support/ranger-docker/docker-compose.ranger-postgres.yml +++ /dev/null @@ -1,23 +0,0 @@ -services: - ranger-db: - build: - context: . - dockerfile: Dockerfile.ranger-postgres - args: - - POSTGRES_VERSION=${POSTGRES_VERSION} - image: ranger-postgres - container_name: ranger-postgres - hostname: ranger-db.example.com - ports: - - "5432:5432" - networks: - - ranger - healthcheck: - test: 'su -c "pg_isready -q" postgres' - interval: 10s - timeout: 2s - retries: 30 - -networks: - ranger: - name: rangernw diff --git a/dev-support/ranger-docker/docker-compose.ranger-sqlserver.yml b/dev-support/ranger-docker/docker-compose.ranger-sqlserver.yml deleted file mode 100644 index da15e17af..000000000 --- a/dev-support/ranger-docker/docker-compose.ranger-sqlserver.yml +++ /dev/null @@ -1,27 +0,0 @@ -services: - ranger-db: - build: - context: . - dockerfile: Dockerfile.ranger-sqlserver - args: - - SQLSERVER_VERSION=${SQLSERVER_VERSION} - image: ranger-sqlserver - container_name: ranger-sqlserver - hostname: ranger-db.example.com - ports: - - "1433:1433" - networks: - - ranger - healthcheck: - test: [ - "CMD-SHELL", - "/opt/mssql-tools18/bin/sqlcmd -S localhost -U SA -P rangerR0cks! -Q \"SELECT 1\" -C" # -C bypasses SSL validation - ] - interval: 15s - timeout: 10s - retries: 3 - start_period: 10s - -networks: - ranger: - name: rangernw diff --git a/dev-support/ranger-docker/docker-compose.ranger.yml b/dev-support/ranger-docker/docker-compose.ranger.yml index 08518c0b1..a7ac101ed 100644 --- a/dev-support/ranger-docker/docker-compose.ranger.yml +++ b/dev-support/ranger-docker/docker-compose.ranger.yml @@ -30,6 +30,11 @@ services: command: - /home/ranger/scripts/ranger.sh + ranger-db: + extends: + service: ${RANGER_DB_TYPE} + file: docker-compose.ranger-db.yml + ranger-zk: build: context: . diff --git a/ranger_in_docker b/ranger_in_docker index 99089f878..f1499b184 100755 --- a/ranger_in_docker +++ b/ranger_in_docker @@ -61,15 +61,12 @@ ENABLED_RANGER_SERVICE_FILE=${HOME}/.ranger_docker_services export ENABLE_DB_MOUNT +CORE_SERVICES="ranger-base,ranger,ranger-usersync" if [ "${ENABLE_DB_MOUNT}" = "true" ]; then - DB_SERVICE_NAME="ranger-${RANGER_DB_TYPE}-mounted" -else - DB_SERVICE_NAME="ranger-${RANGER_DB_TYPE}" + CORE_SERVICES="ranger-base,ranger,ranger-db-mounted,ranger-usersync" fi -CORE_SERVICES="ranger-base,ranger,${DB_SERVICE_NAME},ranger-usersync" - if [ -z "${ENABLED_RANGER_SERVICES}" ] then if [ -f ${ENABLED_RANGER_SERVICE_FILE} ]