Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
57f9678
Starting development wth manual installation
shimomut Aug 19, 2025
83d3eb1
Adding install_efa_exporter
shimomut Aug 19, 2025
8456e8b
Rename container
shimomut Aug 19, 2025
38a0035
Adding node exporter
shimomut Aug 19, 2025
261fb0c
Adding otel-collector
shimomut Aug 20, 2025
49ee0a1
Added installation for head node
shimomut Aug 20, 2025
a64e61a
organize make targets
shimomut Aug 21, 2025
554f5fc
Starting to use Python as the main observability installation script
shimomut Aug 22, 2025
b26ed22
Create OTEL config from template
shimomut Aug 22, 2025
d318aa9
Adding Python script to stop all
shimomut Aug 22, 2025
813403b
Adding initial version of dashboard jsons
shimomut Aug 22, 2025
13a0e84
Pass REGION variable from main script
shimomut Aug 22, 2025
bb75ac1
Get region from cluster ARN automatically
shimomut Aug 22, 2025
8b4008f
Updating lifecycle_script.sh to use install_observability.py
shimomut Aug 22, 2025
b4d8b36
Deleting legacy observability scripts
shimomut Aug 22, 2025
1c7406c
Feed additional arguments when advanced mode
shimomut Aug 22, 2025
15df85e
Typo
shimomut Aug 22, 2025
6e02701
Use https://github.com/SckyzO/slurm_exporter.git instead of https://g…
shimomut Aug 26, 2025
665c198
Adding Dashboard Custom Resource for Slurm Observability template (#833)
Madhubalasri-B Aug 28, 2025
a8dfd03
Fixing parameters for template (#843)
Madhubalasri-B Sep 10, 2025
5b337db
Deleting dashboard files because now CF template contains them.
shimomut Sep 10, 2025
efe6e2a
Updating FSX and EFA dashboard metrics (#848)
Madhubalasri-B Sep 10, 2025
d3394cd
Updating EFA, Node and FSx metrics for slurm (#853)
Madhubalasri-B Sep 15, 2025
fa9c472
Add region name suffix to the S3 bucket
shimomut Sep 15, 2025
aaf5132
Updating Node Dashboard JSON (#854)
Madhubalasri-B Sep 16, 2025
a30b8bd
Deleting unnecessary files for publishing
shimomut Sep 16, 2025
ca220a1
Updating comment lines in config.py
shimomut Sep 16, 2025
ade4bf9
Updating Node Dashboard JSON
Madhubalasri-B Sep 16, 2025
1ed1b1d
Updating Node Dashboard JSON (#855)
Madhubalasri-B Sep 16, 2025
e512aea
Updating Node dashboard for instances (#856)
Madhubalasri-B Sep 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Adding install_efa_exporter
  • Loading branch information
shimomut committed Aug 19, 2025
commit 83d3eb1bb2cb90b443e000f8729698fe6b8cbcb8
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@ install-on-head:

install-on-workers:
srun -N 2 sudo bash ./install_dcgm_exporter.sh
srun -N 2 sudo bash ./install_efa_exporter.sh

Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,9 @@

> An error occurred (AccessDeniedException) when calling the GetAuthorizationToken operation: User: arn:aws:sts::662012767933:assumed-role/sagemaker-slurm-observability-1-c77364c3ExecRole/SageMaker is not authorized to perform: ecr:GetAuthorizationToken on resource: * because no identity-based policy allows the ecr:GetAuthorizationToken action

> Error response from daemon: pull access denied for 602401143452.dkr.ecr.us-west-2.amazonaws.com/hyperpod/dcgm_exporter, repository does not exist or may require 'docker login': denied: User: arn:aws:sts::662012767933:assumed-role/sagemaker-slurm-observability-1-c77364c3ExecRole/SageMaker is not authorized to perform: ecr:BatchGetImage on resource: arn:aws:ecr:us-west-2:602401143452:repository/hyperpod/dcgm_exporter because no identity-based policy allows the ecr:BatchGetImage action
> Error response from daemon: pull access denied for 602401143452.dkr.ecr.us-west-2.amazonaws.com/hyperpod/dcgm_exporter, repository does not exist or may require 'docker login': denied: User: arn:aws:sts::662012767933:assumed-role/sagemaker-slurm-observability-1-c77364c3ExecRole/SageMaker is not authorized to perform: ecr:BatchGetImage on resource: arn:aws:ecr:us-west-2:602401143452:repository/hyperpod/dcgm_exporter because no identity-based policy allows the ecr:BatchGetImage action


- Adding "aws ecr get-login-password" in multiple places but this can be a single place.


Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
#!/bin/bash

# FIXME: should auto detect
REGION=us-west-2

# Define the container name
CONTAINER_NAME="efa-node-exporter"

ECR_ACCOUNT_ID=602401143452

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hard coded account ID

@shimomut shimomut Sep 16, 2025

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is EKS add-on's ECR repo - officially documented here:
https://docs.aws.amazon.com/eks/latest/userguide/add-ons-images.html

I can add comment to clarify this point.

VERSION=1.0.0
IMAGE="$ECR_ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com/hyperpod/efa_exporter:${VERSION}"

# Maximum number of retries
MAX_RETRIES=5
RETRY_DELAY=5 # Initial delay in seconds

# Check if the container exists and is running
if docker ps --filter "name=$CONTAINER_NAME" --filter "status=running" | grep -q "$CONTAINER_NAME"; then
echo "Container $CONTAINER_NAME is already running."
exit 0
else
echo "Container $CONTAINER_NAME is not running or does not exist..."
echo "Checking if $CONTAINER_NAME container exists but is not running. If yes, removing it..."
docker rm -f $CONTAINER_NAME && echo "Container $CONTAINER_NAME has been removed."
echo "Proceeding with script..."
fi

# Retry logic for pulling the image
attempt=0
while [ $attempt -lt $MAX_RETRIES ]; do
echo "Attempting to pull image ($attempt/$MAX_RETRIES)..."

aws ecr get-login-password --region $REGION | docker login --username AWS --password-stdin $ECR_ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com

if sudo docker pull "$IMAGE"; then
echo "Successfully pulled image."
break
else
attempt=$((attempt + 1))
if [ $attempt -lt $MAX_RETRIES ]; then
echo "Pull failed. Retrying in $RETRY_DELAY seconds..."
sleep $RETRY_DELAY
RETRY_DELAY=$((RETRY_DELAY * 2)) # Exponential backoff
else
echo "Failed to pull Docker image after $MAX_RETRIES attempts. Exiting..."
exit 1
fi
fi
done

# Run the Docker container with appropriate configurations
if sudo docker run -d --restart always \
--name=$CONTAINER_NAME \
--net="host" \
--pid="host" \
-v "/:/host:ro,rslave" \
$IMAGE \
--path.rootfs=/host; then
echo "Successfully started EFA Node Exporter on node"
exit 0
else
echo "Failed to run Docker container"
exit 1
fi