11#! /bin/bash
22
3+ # Show debug info about the environment files
4+ echo " ==== The content of env_input ===="
5+ cat ./env_input
6+ echo " ==============================================="
7+
8+ echo " ==== The content of env_vars ===="
9+ cat ./env_vars
10+ echo " ==============================================="
11+
312source ./env_input
413source ./env_vars
514
6- if [ " $ONSTART_DEEP_HEALTHCHECKS " == " " ]; then
7-
15+ # Start writing the JSON
816cat > hyperpod-update-config.json << EOL
917{
1018 "ClusterName": "${HYPERPOD_NAME} ",
@@ -26,54 +34,14 @@ cat > hyperpod-update-config.json << EOL
2634 },
2735 "ExecutionRole": "${EXECUTION_ROLE} ",
2836 "ThreadsPerCore": 1
29- },
30- {
31- "InstanceGroupName": "worker-group-2",
32- "InstanceType": "${GEN_INSTANCE_TYPE} ",
33- "InstanceCount": ${GEN_COUNT} ,
34- "InstanceStorageConfigs": [
35- {
36- "EbsVolumeConfig": {
37- "VolumeSizeInGB": ${GEN_VOLUME_SIZE}
38- }
39- }
40- ],
41- "LifeCycleConfig": {
42- "SourceS3Uri": "s3://${S3_BUCKET_NAME} ",
43- "OnCreate": "on_create.sh"
44- },
45- "ExecutionRole": "${EXECUTION_ROLE} ",
46- "ThreadsPerCore": 1
47- }
48- ],
49- "NodeRecovery": "${NODE_RECOVERY} "
50- }
5137EOL
5238
53- else
39+ # Conditionally add OnStartDeepHealthChecks only if not empty
40+ if [ -n " ${ONSTART_DEEP_HEALTHCHECKS} " ]; then
41+ echo ' ,"OnStartDeepHealthChecks": ' ${ONSTART_DEEP_HEALTHCHECKS} >> hyperpod-update-config.json
42+ fi
5443
55- cat > hyperpod-update-config.json << EOL
56- {
57- "ClusterName": "${HYPERPOD_NAME} ",
58- "InstanceGroups": [
59- {
60- "InstanceGroupName": "worker-group-1",
61- "InstanceType": "${ACCEL_INSTANCE_TYPE} ",
62- "InstanceCount": ${ACCEL_COUNT} ,
63- "InstanceStorageConfigs": [
64- {
65- "EbsVolumeConfig": {
66- "VolumeSizeInGB": ${ACCEL_VOLUME_SIZE}
67- }
68- }
69- ],
70- "LifeCycleConfig": {
71- "SourceS3Uri": "s3://${S3_BUCKET_NAME} ",
72- "OnCreate": "on_create.sh"
73- },
74- "ExecutionRole": "${EXECUTION_ROLE} ",
75- "ThreadsPerCore": 1,
76- "OnStartDeepHealthChecks": ${ONSTART_DEEP_HEALTHCHECKS}
44+ cat >> hyperpod-update-config.json << EOL
7745 },
7846 {
7947 "InstanceGroupName": "worker-group-2",
@@ -98,4 +66,19 @@ cat > hyperpod-update-config.json << EOL
9866}
9967EOL
10068
101- fi
69+ # Display the generated JSON file
70+ echo " ==== Generated hyperpod-update-config.json ===="
71+ cat hyperpod-update-config.json
72+ echo " =================================================="
73+
74+ # Validate the JSON if jq is available
75+ if command -v jq & > /dev/null; then
76+ echo " ==== Validate output JSON ===="
77+ if jq empty hyperpod-update-config.json 2> /dev/null; then
78+ echo " JSON is valid"
79+ else
80+ echo " ERROR: Invalid JSON"
81+ jq empty hyperpod-update-config.json
82+ fi
83+ echo " =================================="
84+ fi
0 commit comments