@@ -87,43 +87,22 @@ c.Application.logging_config = {
8787EOT
8888fi
8989
90- # Add debug call to get domain info
91- if [ ! -z " $dataZoneEndPoint " ]; then
92- domain_response=$( aws datazone get-domain --debug --endpoint-url " $dataZoneEndPoint " --identifier " $dataZoneDomainId " --region " $dataZoneDomainRegion " 2>&1 )
90+ # Setting this to +x to not log credentials from the response of fetching credentials.
91+ set +x
9392
94- else
95- domain_response=$( aws datazone get-domain --debug --identifier " $dataZoneDomainId " --region " $dataZoneDomainRegion " 2>&1 )
96- fi
97-
98- # Check if domain is in express mode
99- response_body=$( echo " $domain_response " | grep -A1 " Response body:" | tail -n1 | sed ' s/^b' \' ' //;s/' \' ' $//' )
100- # Remove leading/trailing whitespace and the 'b' prefix
101- cleaned_response=$( echo " $response_body " | sed ' s/\\n//g' )
102- is_express_mode=$( echo " $cleaned_response " | jq -r ' .preferences.DOMAIN_MODE == "EXPRESS"' )
103-
104- if [ " $is_express_mode " = " true" ]; then
105- echo " Domain is in express mode. Using default credentials"
106- # Use default credentials - no additional configuration needed
107- aws configure set credential_source EcsContainer --profile DomainExecutionRoleCreds
108- echo " Successfully configured DomainExecutionRoleCreds profile with default credentials"
109- else
110- echo " Domain is not in express mode"
111- # Setting this to +x to not log credentials from the response of fetching credentials.
112- set +x
113- # Note: The $? check immediately follows the sagemaker-studio command to ensure we're checking its exit status.
114- # Adding commands between these lines could lead to incorrect error handling.
115- response=$( timeout 30 sagemaker-studio credentials get-domain-execution-role-credential-in-space --domain-id " $dataZoneDomainId " --profile default)
116- responseStatus=$?
93+ # Note: The $? check immediately follows the sagemaker-studio command to ensure we're checking its exit status.
94+ # Adding commands between these lines could lead to incorrect error handling.
95+ response=$( timeout 30 sagemaker-studio credentials get-domain-execution-role-credential-in-space --domain-id " $dataZoneDomainId " --profile default)
96+ responseStatus=$?
11797
118- set -x
98+ set -x
11999
120- if [ $responseStatus -ne 0 ]; then
100+ if [ $responseStatus -ne 0 ]; then
121101 echo " Failed to fetch domain execution role credentials. Will skip adding new credentials profile: DomainExecutionRoleCreds."
122102 write_status_to_file " error" " Network issue detected. Your domain may be using a public subnet, which affects IDE functionality. Please contact your admin."
123- else
103+ else
124104 aws configure set credential_process " sagemaker-studio credentials get-domain-execution-role-credential-in-space --domain-id $dataZoneDomainId --profile default" --profile DomainExecutionRoleCreds
125105 echo " Successfully configured DomainExecutionRoleCreds profile"
126- fi
127106fi
128107
129108# Run AWS CLI command to get the username from DataZone User Profile.
@@ -200,7 +179,7 @@ mkdir -p "$HOME/.config" # Create config directory if it doesn't exist
200179jq -n \
201180 --arg smusProjectDirectory " $SMUS_PROJECT_DIR " \
202181 --arg isGitProject " $IS_GIT_PROJECT " \
203- ' {
182+ ' {
204183 smusProjectDirectory: $smusProjectDirectory,
205184 isGitProject: ($isGitProject == "true")
206185 }' > " $HOME /.config/smus-storage-metadata.json"
231210
232211# Generate sagemaker pysdk intelligent default config
233212nohup python /etc/sagemaker/sm_pysdk_default_config.py &
234- # Only run the following commands if SAGEMAKER_APP_TYPE_LOWERCASE is jupyterlab and domain is not in express mode
235- if [ " ${SAGEMAKER_APP_TYPE_LOWERCASE} " = " jupyterlab" ] && [ " $is_express_mode " != " true " ] ; then
213+ # Only run the following commands if SAGEMAKER_APP_TYPE_LOWERCASE is jupyterlab
214+ if [ " ${SAGEMAKER_APP_TYPE_LOWERCASE} " = " jupyterlab" ]; then
236215 # do not fail immediately for non-zero exit code returned
237216 # by start-workflows-container. An expected non-zero exit
238217 # code will be returned if there is not a minimum of 2
@@ -245,7 +224,7 @@ if [ "${SAGEMAKER_APP_TYPE_LOWERCASE}" = "jupyterlab" ] && [ "$is_express_mode"
245224
246225 # write unexpected error to file if any of the remaining scripts fail.
247226 trap ' write_status_to_file "error" "An unexpected error occurred. Please stop and restart your space to retry."' ERR
248-
227+
249228 # Install conda and pip dependencies if lib mgmt config existing
250229 bash /etc/sagemaker-ui/libmgmt/install-lib.sh
251230
0 commit comments