From 41d891df2887cd44c63192a379b032c5929eac31 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 20 Oct 2025 12:18:07 +0000 Subject: [PATCH 1/4] Initial plan From fea02a3f0cbca0cd8c6d957f1919c31f16bb5817 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 20 Oct 2025 12:23:37 +0000 Subject: [PATCH 2/4] Fix accumulo init ListInstances grep to avoid false positives from ZooKeeper hostname Co-authored-by: phrocker <1781585+phrocker@users.noreply.github.com> --- charts/accumulo/templates/accumulo-manager-deployment.yaml | 3 ++- docker/accumulo/docker-entrypoint.sh | 3 ++- scripts/validate-accumulo-init.sh | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/charts/accumulo/templates/accumulo-manager-deployment.yaml b/charts/accumulo/templates/accumulo-manager-deployment.yaml index f13ae3e7924..6964acb10f8 100644 --- a/charts/accumulo/templates/accumulo-manager-deployment.yaml +++ b/charts/accumulo/templates/accumulo-manager-deployment.yaml @@ -112,7 +112,8 @@ spec: INSTANCE_EXISTS=false # Use ListInstances to check ZooKeeper (works with Java 17) - if /opt/accumulo/bin/accumulo org.apache.accumulo.server.util.ListInstances 2>/dev/null | grep -q "{{ .Values.accumulo.instance.name }}"; then + # Match instance name with quotes to avoid false positives from ZooKeeper hostname + if /opt/accumulo/bin/accumulo org.apache.accumulo.server.util.ListInstances 2>/dev/null | grep -q "\"{{ .Values.accumulo.instance.name }}\""; then echo "✓ Accumulo instance '{{ .Values.accumulo.instance.name }}' already exists in ZooKeeper" INSTANCE_EXISTS=true diff --git a/docker/accumulo/docker-entrypoint.sh b/docker/accumulo/docker-entrypoint.sh index 16820f3a9f2..7bad66f022d 100755 --- a/docker/accumulo/docker-entrypoint.sh +++ b/docker/accumulo/docker-entrypoint.sh @@ -89,7 +89,8 @@ init_accumulo() { wait_for_service "$zk_host" "$zk_port" "ZooKeeper" # Check if instance already exists - if "$ACCUMULO_HOME"/bin/accumulo org.apache.accumulo.server.util.ListInstances 2>/dev/null | grep -q "$ACCUMULO_INSTANCE_NAME"; then + # Match instance name with quotes to avoid false positives from ZooKeeper hostname + if "$ACCUMULO_HOME"/bin/accumulo org.apache.accumulo.server.util.ListInstances 2>/dev/null | grep -q "\"$ACCUMULO_INSTANCE_NAME\""; then echo "Accumulo instance '$ACCUMULO_INSTANCE_NAME' already exists" else echo "Initializing Accumulo instance '$ACCUMULO_INSTANCE_NAME'..." diff --git a/scripts/validate-accumulo-init.sh b/scripts/validate-accumulo-init.sh index 6c00418a92e..ac6aa114013 100755 --- a/scripts/validate-accumulo-init.sh +++ b/scripts/validate-accumulo-init.sh @@ -195,7 +195,8 @@ check_accumulo_init() { fi # Check if instance exists in ZooKeeper - if kubectl exec -n "$NAMESPACE" "$MANAGER_POD" -- /opt/accumulo/bin/accumulo org.apache.accumulo.server.util.ListInstances 2>/dev/null | grep -q "$INSTANCE_NAME"; then + # Match instance name with quotes to avoid false positives from ZooKeeper hostname + if kubectl exec -n "$NAMESPACE" "$MANAGER_POD" -- /opt/accumulo/bin/accumulo org.apache.accumulo.server.util.ListInstances 2>/dev/null | grep -q "\"$INSTANCE_NAME\""; then validate_check "Accumulo instance '$INSTANCE_NAME' exists in ZooKeeper" "pass" else validate_check "Accumulo instance '$INSTANCE_NAME' NOT found in ZooKeeper" "fail" From 0f72e5307f5ba1030fcda7bb6571431bb702c9d3 Mon Sep 17 00:00:00 2001 From: Marc Parisi Date: Mon, 20 Oct 2025 08:36:46 -0400 Subject: [PATCH 3/4] Fix problems --- .../templates/alluxio-worker-daemonset.yaml | 18 +++++++++++++++--- charts/accumulo/templates/configmap.yaml | 6 +++--- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/charts/accumulo/templates/alluxio-worker-daemonset.yaml b/charts/accumulo/templates/alluxio-worker-daemonset.yaml index 7eaaea74d1a..6ba6ffaf95d 100644 --- a/charts/accumulo/templates/alluxio-worker-daemonset.yaml +++ b/charts/accumulo/templates/alluxio-worker-daemonset.yaml @@ -71,9 +71,21 @@ spec: # Add to alluxio-site.properties dynamically cat >> /opt/alluxio/conf/alluxio-site.properties < /opt/alluxio/conf/alluxio-site.properties < Date: Mon, 20 Oct 2025 12:43:24 +0000 Subject: [PATCH 4/4] Fix Alluxio worker init: Remove attempts to modify read-only config and manual tmpfs mount Co-authored-by: phrocker <1781585+phrocker@users.noreply.github.com> --- .../templates/alluxio-worker-daemonset.yaml | 39 +++++-------------- 1 file changed, 10 insertions(+), 29 deletions(-) diff --git a/charts/accumulo/templates/alluxio-worker-daemonset.yaml b/charts/accumulo/templates/alluxio-worker-daemonset.yaml index 6ba6ffaf95d..f239381857c 100644 --- a/charts/accumulo/templates/alluxio-worker-daemonset.yaml +++ b/charts/accumulo/templates/alluxio-worker-daemonset.yaml @@ -61,38 +61,15 @@ spec: sleep 5 done - # Set worker hostname to FQDN for Kubernetes DNS resolution - WORKER_FQDN="${POD_NAME}.{{ include "accumulo.fullname" . }}-alluxio-worker.${POD_NAMESPACE}.svc.cluster.local" - echo "Setting Alluxio worker hostname to: ${WORKER_FQDN}" + # Worker hostname is set via ALLUXIO_WORKER_HOSTNAME environment variable + echo "Alluxio worker hostname: ${ALLUXIO_WORKER_HOSTNAME}" + echo "Alluxio job worker hostname: ${ALLUXIO_JOB_WORKER_HOSTNAME}" - # Export as environment variables for Alluxio to pick up - export ALLUXIO_WORKER_HOSTNAME="${WORKER_FQDN}" - export ALLUXIO_JOB_WORKER_HOSTNAME="${WORKER_FQDN}" - - # Add to alluxio-site.properties dynamically - cat >> /opt/alluxio/conf/alluxio-site.properties < /opt/alluxio/conf/alluxio-site.properties <