@@ -100,6 +100,16 @@ stages:
100100 exit 2
101101 fi
102102
103+ echo -e "$green--- Define variables ---$reset"
104+ cd $HOME_CONFIG/SYSTEM/$(sap_system_folder)
105+
106+ export REMOTE_STATE_SA=$(cat ${environment_file_name} | grep REMOTE_STATE_SA | awk -F'=' '{print $2}' | xargs) ; echo 'Terraform state file storage account' $REMOTE_STATE_SA
107+ export STATE_SUBSCRIPTION=$(cat ${environment_file_name} | grep STATE_SUBSCRIPTION | awk -F'=' '{print $2}' | xargs) ; echo 'Terraform state file subscription' $STATE_SUBSCRIPTION
108+ export deployer_tfstate_key=$(cat ${environment_file_name} | grep deployer_tfstate_key | awk -F'=' '{print $2}' | xargs) ; echo 'Deployer State File' $deployer_tfstate_key
109+ export key_vault=$(cat ${environment_file_name} | grep keyvault= | awk -F'=' '{print $2}' | xargs) ; echo 'Deployer Key Vault' ${key_vault}
110+ export landscape_tfstate_key=$(cat "${environment_file_name}" | grep landscape_tfstate_key | awk -F'=' '{print $2}' | xargs) ; echo 'landscape_tfstate_key' $landscape_tfstate_key
111+ export workload_key_vault=$(cat "${environment_file_name}" | grep workloadkeyvault | awk -F'=' '{print $2}' | xargs) ; echo 'Workload Key Vault' ${workload_key_vault}
112+
103113 # Check if running on deployer
104114 if [[ ! -f /etc/profile.d/deploy_server.sh ]]; then
105115 echo -e "$green --- Install dos2unix ---$reset"
@@ -126,26 +136,31 @@ stages:
126136 else
127137 echo -e "$green --- Running on deployer ---$reset"
128138 az login --identity --output none
139+
140+ tfstate_resource_id=$(az resource list --name "${REMOTE_STATE_SA}" --subscription ${STATE_SUBSCRIPTION} --resource-type Microsoft.Storage/storageAccounts --query "[].id | [0]" -o tsv)
141+ if [ -z $tfstate_resource_id ]; then
142+ az login --service-principal --username $(ARM_CLIENT_ID) --password=$ARM_CLIENT_SECRET --tenant $(ARM_TENANT_ID) --output none
143+ return_code=$?
144+ if [ 0 != $return_code ]; then
145+ echo -e "$boldred--- Login failed ---$reset"
146+ echo "##vso[task.logissue type=error]az login failed."
147+ exit $return_code
148+ fi
149+
150+ fi
151+
152+
129153 fi
130154
131155 echo -e "$green--- Convert config file to UX format ---$reset"
132156
133157 dos2unix -q SYSTEM/$(sap_system_folder)/$(sap_system_configuration)
134158
135- echo -e "$green--- Define variables ---$reset"
136- cd $HOME_CONFIG/SYSTEM/$(sap_system_folder)
137-
138- export REMOTE_STATE_SA=$(cat ${environment_file_name} | grep REMOTE_STATE_SA | awk -F'=' '{print $2}' | xargs) ; echo 'Terraform state file storage account' $REMOTE_STATE_SA
139- export STATE_SUBSCRIPTION=$(cat ${environment_file_name} | grep STATE_SUBSCRIPTION | awk -F'=' '{print $2}' | xargs) ; echo 'Terraform state file subscription' $STATE_SUBSCRIPTION
140- export deployer_tfstate_key=$(cat ${environment_file_name} | grep deployer_tfstate_key | awk -F'=' '{print $2}' | xargs) ; echo 'Deployer State File' $deployer_tfstate_key
141- export key_vault=$(cat ${environment_file_name} | grep keyvault= | awk -F'=' '{print $2}' | xargs) ; echo 'Deployer Key Vault' ${key_vault}
142- export landscape_tfstate_key=$(cat "${environment_file_name}" | grep landscape_tfstate_key | awk -F'=' '{print $2}' | xargs) ; echo 'landscape_tfstate_key' $landscape_tfstate_key
143- export workload_key_vault=$(cat "${environment_file_name}" | grep workloadkeyvault | awk -F'=' '{print $2}' | xargs) ; echo 'Workload Key Vault' ${workload_key_vault}
144159
145160 echo -e "$green--- Run the installer script that deploys the SAP System ---$reset"
146161 $SAP_AUTOMATION_REPO_PATH/deploy/scripts/installer.sh --parameterfile $(sap_system_configuration) --type sap_system \
147- --state_subscription ${STATE_SUBSCRIPTION} --storageaccountname ${REMOTE_STATE_SA} \
148- --deployer_tfstate_key ${deployer_tfstate_key} --landscape_tfstate_key ${landscape_tfstate_key} \
162+ --state_subscription ${STATE_SUBSCRIPTION} --storageaccountname ${REMOTE_STATE_SA} \
163+ --deployer_tfstate_key ${deployer_tfstate_key} --landscape_tfstate_key ${landscape_tfstate_key} \
149164 --ado --auto-approve
150165
151166 return_code=$?
0 commit comments