This is an automated email from the ASF dual-hosted git repository.

abhi pushed a commit to branch ranger-2.8
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/ranger-2.8 by this push:
     new 5adb85a37 RANGER-5396: Use Volume Mounts for all ranger-service 
configs (#728)
5adb85a37 is described below

commit 5adb85a3727af2b4151aac6a15ded476651d23eb
Author: Abhishek Kumar <[email protected]>
AuthorDate: Fri Nov 14 12:38:19 2025 -0800

    RANGER-5396: Use Volume Mounts for all ranger-service configs (#728)
    
    - Update hadoop_conf prop in install.properties to /home/ranger/scripts
    - Add try except in usersync setup script to avoid installation failures on 
CI runner.
    
    (cherry picked from commit 0f980ba6e64fd52fa672116e010e92a97020fdcf)
---
 dev-support/ranger-docker/Dockerfile.ranger        | 25 +++++++---------------
 dev-support/ranger-docker/Dockerfile.ranger-kms    | 11 ++--------
 .../ranger-docker/Dockerfile.ranger-tagsync        | 11 ++--------
 .../ranger-docker/Dockerfile.ranger-usersync       | 17 +++------------
 .../ranger-docker/docker-compose.ranger-kms.yml    |  4 ++++
 .../docker-compose.ranger-tagsync.yml              |  5 +++++
 .../docker-compose.ranger-usersync.yml             |  5 +++++
 .../ranger-docker/docker-compose.ranger.yml        |  4 ++++
 .../usersync/ranger-usersync-install.properties    |  2 +-
 unixauthservice/scripts/setup.py                   | 20 ++++++++++-------
 10 files changed, 46 insertions(+), 58 deletions(-)

diff --git a/dev-support/ranger-docker/Dockerfile.ranger 
b/dev-support/ranger-docker/Dockerfile.ranger
index ed6770832..a030464aa 100644
--- a/dev-support/ranger-docker/Dockerfile.ranger
+++ b/dev-support/ranger-docker/Dockerfile.ranger
@@ -23,30 +23,21 @@ ARG RANGER_VERSION
 ARG RANGER_DB_TYPE
 ARG TARGETARCH
 
-VOLUME /etc/keytabs
-
-COPY ./dist/version                               /home/ranger/dist/
-COPY ./dist/ranger-${RANGER_VERSION}-admin.tar.gz /home/ranger/dist/
-
-COPY ./scripts/admin/ranger.sh                                         
${RANGER_SCRIPTS}/
-COPY ./scripts/admin/ranger-admin-install-${RANGER_DB_TYPE}.properties 
${RANGER_SCRIPTS}/ranger-admin-install.properties
-COPY ./scripts/admin/create-ranger-services.py                         
${RANGER_SCRIPTS}/
-COPY ./scripts/hadoop/core-site.xml                                    
${RANGER_SCRIPTS}/
-COPY ./scripts/wait_for_keytab.sh                                      
${RANGER_SCRIPTS}/
-COPY ./scripts/kdc/krb5.conf                                           
/etc/krb5.conf
+COPY ./dist/ranger-${RANGER_VERSION}-admin.tar.gz     /home/ranger/dist/
+COPY ./scripts/admin/ranger.sh                        ${RANGER_SCRIPTS}/
+COPY ./scripts/admin/create-ranger-services.py        ${RANGER_SCRIPTS}/
+COPY ./scripts/wait_for_keytab.sh                     ${RANGER_SCRIPTS}/
 
 RUN    tar xvfz /home/ranger/dist/ranger-${RANGER_VERSION}-admin.tar.gz 
--directory=${RANGER_HOME} \
     && ln -s ${RANGER_HOME}/ranger-${RANGER_VERSION}-admin 
${RANGER_HOME}/admin \
     && rm -f /home/ranger/dist/ranger-${RANGER_VERSION}-admin.tar.gz \
-    && cp -f ${RANGER_SCRIPTS}/ranger-admin-install.properties 
${RANGER_HOME}/admin/install.properties \
-    && mkdir -p /var/run/ranger \
-    && mkdir -p /var/log/ranger \
+    && rm -f /opt/ranger/admin/install.properties \
+    && mkdir -p /var/run/ranger /var/log/ranger /usr/share/java/ \
     && chown -R ranger:ranger ${RANGER_HOME}/admin/ ${RANGER_SCRIPTS}/ 
/var/run/ranger/ /var/log/ranger/ \
-    && chmod 755 ${RANGER_SCRIPTS}/ranger.sh 
${RANGER_SCRIPTS}/wait_for_keytab.sh \
-    && mkdir -p /usr/share/java/
+    && chmod 755 ${RANGER_SCRIPTS}/ranger.sh 
${RANGER_SCRIPTS}/wait_for_keytab.sh
 
 FROM ranger AS ranger_postgres
-COPY ./downloads/postgresql-42.2.16.jre7.jar      /home/ranger/dist/
+COPY ./downloads/postgresql-42.2.16.jre7.jar         /home/ranger/dist/
 RUN mv /home/ranger/dist/postgresql-42.2.16.jre7.jar 
/usr/share/java/postgresql.jar
 
 FROM ranger AS ranger_mysql
diff --git a/dev-support/ranger-docker/Dockerfile.ranger-kms 
b/dev-support/ranger-docker/Dockerfile.ranger-kms
index 7a3edc4dd..ff94b6223 100644
--- a/dev-support/ranger-docker/Dockerfile.ranger-kms
+++ b/dev-support/ranger-docker/Dockerfile.ranger-kms
@@ -21,22 +21,15 @@ FROM ${RANGER_BASE_IMAGE}:${RANGER_BASE_VERSION} AS 
ranger-kms
 ARG KMS_VERSION
 ARG RANGER_DB_TYPE
 
-VOLUME /etc/keytabs
-
-COPY ./dist/version                                            
/home/ranger/dist/
-COPY ./dist/ranger-${KMS_VERSION}-kms.tar.gz                   
/home/ranger/dist/
-
+COPY ./dist/ranger-${KMS_VERSION}-kms.tar.gz                       
/home/ranger/dist/
 COPY ./scripts/kms/ranger-kms.sh                                   
${RANGER_SCRIPTS}/
-COPY ./scripts/kms/ranger-kms-install-${RANGER_DB_TYPE}.properties 
${RANGER_SCRIPTS}/ranger-kms-install.properties
-COPY ./scripts/hadoop/core-site.xml                                
${RANGER_SCRIPTS}/
 COPY ./scripts/wait_for_keytab.sh                                  
${RANGER_SCRIPTS}/
-COPY ./scripts/kdc/krb5.conf                                       
/etc/krb5.conf
 
 RUN tar xvfz /home/ranger/dist/ranger-${KMS_VERSION}-kms.tar.gz 
--directory=${RANGER_HOME} && \
     ln -s ${RANGER_HOME}/ranger-${KMS_VERSION}-kms ${RANGER_HOME}/kms && \
     rm -f /home/ranger/dist/ranger-${KMS_VERSION}-kms.tar.gz && \
+    rm -f ${RANGER_HOME}/kms/install.properties && \
     mkdir -p /var/run/ranger_kms /var/log/ranger/kms /etc/ranger 
/usr/share/java/ && \
-    cp -f ${RANGER_SCRIPTS}/ranger-kms-install.properties 
${RANGER_HOME}/kms/install.properties && \
     touch /etc/init.d/ranger-kms && \
     ln -s /etc/init.d/ranger-kms /etc/rc2.d/S88ranger-kms && \
     ln -s /etc/init.d/ranger-kms /etc/rc2.d/K90ranger-kms && \
diff --git a/dev-support/ranger-docker/Dockerfile.ranger-tagsync 
b/dev-support/ranger-docker/Dockerfile.ranger-tagsync
index 9f95a8fce..bd81e938e 100644
--- a/dev-support/ranger-docker/Dockerfile.ranger-tagsync
+++ b/dev-support/ranger-docker/Dockerfile.ranger-tagsync
@@ -20,21 +20,14 @@ FROM ${RANGER_BASE_IMAGE}:${RANGER_BASE_VERSION}
 
 ARG TAGSYNC_VERSION
 
-VOLUME /etc/keytabs
-
-COPY ./dist/version                                  /home/ranger/dist/
-COPY ./dist/ranger-${TAGSYNC_VERSION}-tagsync.tar.gz /home/ranger/dist/
-
+COPY ./dist/ranger-${TAGSYNC_VERSION}-tagsync.tar.gz     /home/ranger/dist/
 COPY ./scripts/tagsync/ranger-tagsync.sh                 ${RANGER_SCRIPTS}/
-COPY ./scripts/tagsync/ranger-tagsync-install.properties ${RANGER_SCRIPTS}/
-COPY ./scripts/tagsync/ranger-tagsync-tags.json          ${RANGER_SCRIPTS}/
-COPY ./scripts/hadoop/core-site.xml                      ${RANGER_SCRIPTS}/
 COPY ./scripts/wait_for_keytab.sh                        ${RANGER_SCRIPTS}/
-COPY ./scripts/kdc/krb5.conf                             /etc/krb5.conf
 
 RUN tar xvfz /home/ranger/dist/ranger-${TAGSYNC_VERSION}-tagsync.tar.gz 
--directory=${RANGER_HOME} && \
     ln -s ${RANGER_HOME}/ranger-${TAGSYNC_VERSION}-tagsync 
${RANGER_HOME}/tagsync && \
     rm -f /home/ranger/dist/ranger-${TAGSYNC_VERSION}-tagsync.tar.gz && \
+    rm -f ${RANGER_HOME}/tagsync/install.properties && \
     mkdir -p /opt/ranger/tagsync/data /var/run/ranger /var/log/ranger/tagsync 
/etc/ranger && \
     cp -f ${RANGER_SCRIPTS}/ranger-tagsync-install.properties 
${RANGER_HOME}/tagsync/install.properties && \
     cp -f ${RANGER_SCRIPTS}/ranger-tagsync-tags.json 
${RANGER_HOME}/tagsync/data/tags.json && \
diff --git a/dev-support/ranger-docker/Dockerfile.ranger-usersync 
b/dev-support/ranger-docker/Dockerfile.ranger-usersync
index 89e711d60..12d5f7369 100644
--- a/dev-support/ranger-docker/Dockerfile.ranger-usersync
+++ b/dev-support/ranger-docker/Dockerfile.ranger-usersync
@@ -20,26 +20,15 @@ FROM ${RANGER_BASE_IMAGE}:${RANGER_BASE_VERSION}
 
 ARG USERSYNC_VERSION
 
-VOLUME /etc/keytabs
-
-COPY ./dist/version                                    /home/ranger/dist/
-COPY ./dist/ranger-${USERSYNC_VERSION}-usersync.tar.gz /home/ranger/dist/
-
+COPY ./dist/ranger-${USERSYNC_VERSION}-usersync.tar.gz     /home/ranger/dist/
 COPY ./scripts/usersync/ranger-usersync.sh                 ${RANGER_SCRIPTS}/
-COPY ./scripts/usersync/ranger-usersync-install.properties ${RANGER_SCRIPTS}/
-COPY ./scripts/usersync/ugsync-file-source.csv             ${RANGER_SCRIPTS}/
-COPY ./scripts/hadoop/core-site.xml                        ${RANGER_SCRIPTS}/
 COPY ./scripts/wait_for_keytab.sh                          ${RANGER_SCRIPTS}/
-COPY ./scripts/kdc/krb5.conf                               /etc/krb5.conf
 
 RUN tar xvfz /home/ranger/dist/ranger-${USERSYNC_VERSION}-usersync.tar.gz 
--directory=${RANGER_HOME} && \
     ln -s ${RANGER_HOME}/ranger-${USERSYNC_VERSION}-usersync 
${RANGER_HOME}/usersync && \
     rm -f /home/ranger/dist/ranger-${USERSYNC_VERSION}-usersync.tar.gz && \
-    cp -f ${RANGER_SCRIPTS}/ranger-usersync-install.properties 
${RANGER_HOME}/usersync/install.properties && \
-    mkdir -p /var/run/ranger /var/log/ranger/usersync /etc/ranger && \
-    mkdir /etc/init.d || true && \
-    mkdir /etc/rc2.d  || true && \
-    mkdir /etc/rc3.d  || true && \
+    rm -f ${RANGER_HOME}/usersync/install.properties && \
+    mkdir -p /var/run/ranger /var/log/ranger/usersync /etc/ranger /etc/init.d 
/etc/rc2.d /etc/rc3.d && \
     touch /etc/init.d/ranger-usersync && \
     ln -s /etc/init.d/ranger-usersync /etc/rc2.d/S99ranger-usersync && \
     ln -s /etc/init.d/ranger-usersync /etc/rc2.d/K00ranger-usersync && \
diff --git a/dev-support/ranger-docker/docker-compose.ranger-kms.yml 
b/dev-support/ranger-docker/docker-compose.ranger-kms.yml
index 5dd6679fd..e12fb0046 100644
--- a/dev-support/ranger-docker/docker-compose.ranger-kms.yml
+++ b/dev-support/ranger-docker/docker-compose.ranger-kms.yml
@@ -14,6 +14,10 @@ services:
     hostname: ranger-kms.rangernw
     volumes:
       - ./dist/keytabs/ranger-kms:/etc/keytabs
+      - ./scripts/kdc/krb5.conf:/etc/krb5.conf
+      - ./scripts/hadoop/core-site.xml:/home/ranger/scripts/core-site.xml:ro
+      - ./dist/version:/home/ranger/dist/version:ro
+      - 
./scripts/kms/ranger-kms-install-${RANGER_DB_TYPE}.properties:/opt/ranger/kms/install.properties
     stdin_open: true
     tty: true
     networks:
diff --git a/dev-support/ranger-docker/docker-compose.ranger-tagsync.yml 
b/dev-support/ranger-docker/docker-compose.ranger-tagsync.yml
index 6c1e11a45..0b9bb7011 100644
--- a/dev-support/ranger-docker/docker-compose.ranger-tagsync.yml
+++ b/dev-support/ranger-docker/docker-compose.ranger-tagsync.yml
@@ -13,6 +13,11 @@ services:
     hostname: ranger-tagsync.rangernw
     volumes:
       - ./dist/keytabs/ranger-tagsync:/etc/keytabs
+      - ./scripts/kdc/krb5.conf:/etc/krb5.conf
+      - ./scripts/hadoop/core-site.xml:/home/ranger/scripts/core-site.xml:ro
+      - ./dist/version:/home/ranger/dist/version:ro
+      - 
./scripts/tagsync/ranger-tagsync-tags.json:/home/ranger/scripts/ranger-tagsync-tags.json
+      - 
./scripts/tagsync/ranger-tagsync-install.properties:/opt/ranger/tagsync/install.properties
     stdin_open: true
     tty: true
     networks:
diff --git a/dev-support/ranger-docker/docker-compose.ranger-usersync.yml 
b/dev-support/ranger-docker/docker-compose.ranger-usersync.yml
index 10e3f029e..d3b7bce47 100644
--- a/dev-support/ranger-docker/docker-compose.ranger-usersync.yml
+++ b/dev-support/ranger-docker/docker-compose.ranger-usersync.yml
@@ -13,6 +13,11 @@ services:
     hostname: ranger-usersync.rangernw
     volumes:
       - ./dist/keytabs/ranger-usersync:/etc/keytabs
+      - ./scripts/kdc/krb5.conf:/etc/krb5.conf
+      - ./scripts/hadoop/core-site.xml:/home/ranger/scripts/core-site.xml
+      - ./dist/version:/home/ranger/dist/version:ro
+      - 
./scripts/usersync/ugsync-file-source.csv:/home/ranger/scripts/ugsync-file-source.csv
+      - 
./scripts/usersync/ranger-usersync-install.properties:/opt/ranger/usersync/install.properties
     stdin_open: true
     tty: true
     networks:
diff --git a/dev-support/ranger-docker/docker-compose.ranger.yml 
b/dev-support/ranger-docker/docker-compose.ranger.yml
index 90f65a6f1..6f9fd1390 100644
--- a/dev-support/ranger-docker/docker-compose.ranger.yml
+++ b/dev-support/ranger-docker/docker-compose.ranger.yml
@@ -14,6 +14,10 @@ services:
     hostname: ranger.rangernw
     volumes:
       - ./dist/keytabs/ranger:/etc/keytabs
+      - ./dist/version:/home/ranger/dist/version:ro
+      - ./scripts/kdc/krb5.conf:/etc/krb5.conf:ro
+      - ./scripts/hadoop/core-site.xml:/home/ranger/scripts/core-site.xml:ro
+      - 
./scripts/admin/ranger-admin-install-${RANGER_DB_TYPE}.properties:/opt/ranger/admin/install.properties
     stdin_open: true
     tty: true
     networks:
diff --git 
a/dev-support/ranger-docker/scripts/usersync/ranger-usersync-install.properties 
b/dev-support/ranger-docker/scripts/usersync/ranger-usersync-install.properties
old mode 100644
new mode 100755
index 0ec2eb121..ae6c750a4
--- 
a/dev-support/ranger-docker/scripts/usersync/ranger-usersync-install.properties
+++ 
b/dev-support/ranger-docker/scripts/usersync/ranger-usersync-install.properties
@@ -55,7 +55,7 @@ rangerUsersync_password=rangerR0cks!
 #Set to run in kerberos environment
 usersync_principal=rangerusersync/[email protected]
 usersync_keytab=/etc/keytabs/rangerusersync.keytab
-hadoop_conf=/etc/hadoop/conf
+hadoop_conf=/home/ranger/scripts
 #
 # The file where all credential is kept in cryptic format
 #
diff --git a/unixauthservice/scripts/setup.py b/unixauthservice/scripts/setup.py
index d6ce8b037..e219b5e21 100755
--- a/unixauthservice/scripts/setup.py
+++ b/unixauthservice/scripts/setup.py
@@ -550,18 +550,22 @@ def main():
 
     fixPermList = [".", usersyncBaseDirFullName, confFolderName, 
certFolderName]
 
+    def _safe_chown_chmod(path, uid, gid, mode):
+        try:
+            os.chown(path, uid, gid)
+            os.chmod(path, mode)
+        except PermissionError as e:
+            print(f"Skipping {path}: Permission denied ({e})")
+        except OSError as e:
+            print(f"Skipping {path}: OS error ({e})")
+
     for dir in fixPermList:
         for root, dirs, files in os.walk(dir):
-            os.chown(root, ownerId, groupId)
-            os.chmod(root, 0o755)
+            _safe_chown_chmod(root, ownerId, groupId, 0o755)
             for obj in dirs:
-                dn = join(root, obj)
-                os.chown(dn, ownerId, groupId)
-                os.chmod(dn, 0o755)
+                _safe_chown_chmod(join(root, obj), ownerId, groupId, 0o755)
             for obj in files:
-                fn = join(root, obj)
-                os.chown(fn, ownerId, groupId)
-                os.chmod(fn, 0o750)
+                _safe_chown_chmod(join(root, obj), ownerId, groupId, 0o750)
 
     if isfile(nativeAuthProgramName):
         try:

Reply via email to