diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c2777f49b9..654727a986 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -235,11 +235,15 @@ jobs: -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 + -f docker-compose.ranger-ozone.yml up -d --wait + + - name: Debug Logs in OM Container + if: ${{ always() }} + run: | + docker logs -f ozone-om || true - name: Check status of containers and remove them run: | - sleep 60 containers=(ranger ranger-zk ranger-solr ranger-postgres ranger-hadoop ranger-hbase ranger-kafka ranger-hive ranger-knox ozone-om ozone-scm ozone-datanode); flag=true; for container in "${containers[@]}"; do diff --git a/dev-support/ranger-docker/docker-compose.ranger-hadoop.yml b/dev-support/ranger-docker/docker-compose.ranger-hadoop.yml index 71e1d40fd3..acca87f15b 100644 --- a/dev-support/ranger-docker/docker-compose.ranger-hadoop.yml +++ b/dev-support/ranger-docker/docker-compose.ranger-hadoop.yml @@ -27,8 +27,8 @@ services: ranger: condition: service_started healthcheck: - test: ["CMD-SHELL", "/home/ranger/scripts/ranger-hadoop-healthcheck.sh"] - interval: 20s + test: [ "CMD-SHELL", "su hdfs -c \"/opt/hadoop/bin/hdfs dfsadmin -report | grep -q 'Live datanodes'\"" ] + interval: 30s timeout: 10s retries: 40 start_period: 40s diff --git a/dev-support/ranger-docker/docker-compose.ranger-hbase.yml b/dev-support/ranger-docker/docker-compose.ranger-hbase.yml index 103eba6615..de3a1c618a 100644 --- a/dev-support/ranger-docker/docker-compose.ranger-hbase.yml +++ b/dev-support/ranger-docker/docker-compose.ranger-hbase.yml @@ -28,6 +28,12 @@ services: condition: service_healthy ranger-zk: condition: service_started + healthcheck: + test: [ "CMD", "wget", "-q", "--spider", "http://localhost:16030/rs-status" ] + interval: 30s + timeout: 10s + retries: 30 + start_period: 40s environment: - HBASE_VERSION - HBASE_PLUGIN_VERSION diff --git a/dev-support/ranger-docker/docker-compose.ranger-hive.yml b/dev-support/ranger-docker/docker-compose.ranger-hive.yml index 715c186b59..ad11ce5fc0 100644 --- a/dev-support/ranger-docker/docker-compose.ranger-hive.yml +++ b/dev-support/ranger-docker/docker-compose.ranger-hive.yml @@ -31,6 +31,12 @@ services: condition: service_started ranger-hadoop: condition: service_healthy + healthcheck: + test: [ "CMD-SHELL", "su hdfs -c \"/opt/hadoop/bin/hdfs dfsadmin -report | grep -q 'Live datanodes'\"" ] + interval: 30s + timeout: 10s + retries: 30 + start_period: 40s environment: - HIVE_HADOOP_VERSION - HIVE_VERSION diff --git a/dev-support/ranger-docker/docker-compose.ranger-kafka.yml b/dev-support/ranger-docker/docker-compose.ranger-kafka.yml index 7aa363c4f7..f824be4d98 100644 --- a/dev-support/ranger-docker/docker-compose.ranger-kafka.yml +++ b/dev-support/ranger-docker/docker-compose.ranger-kafka.yml @@ -25,10 +25,19 @@ services: condition: service_started ranger-zk: condition: service_started + healthcheck: + test: [ "CMD-SHELL", "echo 'ping' | kafka-console-producer.sh --broker-list localhost:9092 --topic health-check-topic && kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic health-check-topic --from-beginning --max-messages 1 | grep 'ping'" ] + interval: 60s + timeout: 20s + retries: 5 + start_period: 60s environment: - - KAFKA_VERSION - - KAFKA_PLUGIN_VERSION - - KERBEROS_ENABLED + KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092 + KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://ranger-kafka:9092,PLAINTEXT_HOST://localhost:9092 + KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT + KAFKA_VERSION: ${KAFKA_VERSION} + KAFKA_PLUGIN_VERSION: ${KAFKA_PLUGIN_VERSION} + KERBEROS_ENABLED: ${KERBEROS_ENABLED} networks: ranger: diff --git a/dev-support/ranger-docker/docker-compose.ranger-kms.yml b/dev-support/ranger-docker/docker-compose.ranger-kms.yml index e12fb0046b..9fd3e8760b 100644 --- a/dev-support/ranger-docker/docker-compose.ranger-kms.yml +++ b/dev-support/ranger-docker/docker-compose.ranger-kms.yml @@ -27,6 +27,12 @@ services: depends_on: ranger: condition: service_started + healthcheck: + test: [ "CMD-SHELL", "grep 'Ranger KMS Started' /var/log/ranger/kms/ranger-kms*.log" ] + interval: 40s + timeout: 5s + retries: 10 + start_period: 40s environment: - KMS_VERSION - RANGER_DB_TYPE diff --git a/dev-support/ranger-docker/docker-compose.ranger-knox.yml b/dev-support/ranger-docker/docker-compose.ranger-knox.yml index f9435ef459..a298abc559 100644 --- a/dev-support/ranger-docker/docker-compose.ranger-knox.yml +++ b/dev-support/ranger-docker/docker-compose.ranger-knox.yml @@ -25,6 +25,12 @@ services: condition: service_started ranger-zk: condition: service_started + healthcheck: + test: [ "CMD-SHELL", "curl -k -i -u admin:admin-password 'https://localhost:8443/gateway/sandbox/webhdfs/v1/?op=LISTSTATUS'" ] + interval: 60s + timeout: 10s + retries: 10 + start_period: 10s environment: - KNOX_VERSION - KNOX_PLUGIN_VERSION diff --git a/dev-support/ranger-docker/docker-compose.ranger-ozone.yml b/dev-support/ranger-docker/docker-compose.ranger-ozone.yml index 9b7aad5c6d..945395013b 100644 --- a/dev-support/ranger-docker/docker-compose.ranger-ozone.yml +++ b/dev-support/ranger-docker/docker-compose.ranger-ozone.yml @@ -39,6 +39,12 @@ services: condition: service_started ranger-solr: condition: service_started + healthcheck: + test: [ "CMD-SHELL", "su om -c \"/opt/hadoop/bin/ozone fs -ls ofs://om/\"" ] + interval: 40s + timeout: 10s + retries: 5 + start_period: 30s environment: ENSURE_OM_INITIALIZED: /data/metadata/om/current/VERSION OZONE_OPTS: -Dcom.sun.net.ssl.checkRevocation=false diff --git a/dev-support/ranger-docker/docker-compose.ranger-tagsync.yml b/dev-support/ranger-docker/docker-compose.ranger-tagsync.yml index 0b9bb70115..5c89d9f7ac 100644 --- a/dev-support/ranger-docker/docker-compose.ranger-tagsync.yml +++ b/dev-support/ranger-docker/docker-compose.ranger-tagsync.yml @@ -25,6 +25,12 @@ services: depends_on: ranger: condition: service_started + healthcheck: + test: [ "CMD-SHELL", "grep 'Initializing TAG source and sink' /var/log/ranger/tagsync/tagsync*log*" ] + interval: 30s + timeout: 3s + retries: 10 + start_period: 40s environment: - TAGSYNC_VERSION - DEBUG_TAGSYNC=${DEBUG_TAGSYNC:-false} diff --git a/dev-support/ranger-docker/docker-compose.ranger-usersync.yml b/dev-support/ranger-docker/docker-compose.ranger-usersync.yml index d3b7bce47d..e546a5e864 100644 --- a/dev-support/ranger-docker/docker-compose.ranger-usersync.yml +++ b/dev-support/ranger-docker/docker-compose.ranger-usersync.yml @@ -25,6 +25,12 @@ services: depends_on: ranger: condition: service_started + healthcheck: + test: [ "CMD-SHELL", "grep 'uploaded to ranger admin' /var/log/ranger/usersync/usersync*.log*" ] + interval: 30s + timeout: 3s + retries: 10 + start_period: 40s environment: - USERSYNC_VERSION - ENABLE_FILE_SYNC_SOURCE diff --git a/dev-support/ranger-docker/docker-compose.ranger.yml b/dev-support/ranger-docker/docker-compose.ranger.yml index 6f9fd13907..6242ed9486 100644 --- a/dev-support/ranger-docker/docker-compose.ranger.yml +++ b/dev-support/ranger-docker/docker-compose.ranger.yml @@ -33,6 +33,12 @@ services: condition: service_healthy ranger-solr: condition: service_started + healthcheck: + test: [ "CMD-SHELL", "curl -i -u admin:rangerR0cks! 'http://localhost:6080'" ] + interval: 60s + timeout: 10s + retries: 3 + start_period: 40s environment: - RANGER_VERSION - RANGER_DB_TYPE @@ -82,6 +88,14 @@ services: - ranger ports: - "2181:2181" + healthcheck: + test: [ "CMD-SHELL", "echo ruok | nc localhost 2181 | grep imok" ] + interval: 30s + timeout: 10s + retries: 5 + start_period: 20s + environment: + ZOO_4LW_COMMANDS_WHITELIST: "mntr,conf,ruok" environment: - KERBEROS_ENABLED @@ -106,6 +120,12 @@ services: condition: service_started ranger-zk: condition: service_started + healthcheck: + test: [ "CMD-SHELL", "curl -f http://localhost:8983/solr/ranger_audits/admin/ping" ] + interval: 30s + timeout: 10s + retries: 5 + start_period: 20s environment: - KERBEROS_ENABLED - KRB5_CONFIG=/etc/krb5.conf diff --git a/dev-support/ranger-docker/scripts/ozone/ranger-ozone-setup.sh b/dev-support/ranger-docker/scripts/ozone/ranger-ozone-setup.sh index 8c52474fd0..2b08a4ffd2 100644 --- a/dev-support/ranger-docker/scripts/ozone/ranger-ozone-setup.sh +++ b/dev-support/ranger-docker/scripts/ozone/ranger-ozone-setup.sh @@ -18,6 +18,7 @@ cd "${OZONE_HOME}"/ranger-ozone-plugin || exit +rm -f "${OZONE_HOME}"/.setupDone if [[ ! -f "${OZONE_HOME}"/.setupDone ]]; then if [ ! -d conf ]; then