Kode Kloud engineering 100days of cloud(Azure) day 2 VM creation

I’m facing an issue with an Azure practice lab where the task was marked as not completed successfully, even though the virtual machine appears to have been created correctly.

Task requirements

  • Use an existing resource group
  • VM name: nautilus-vm
  • Region: Central US
  • Image: Ubuntu 22.04 LTS
  • Size: Standard_B1s
  • OS disk: 30 GB
  • Network Security Group: default NSG allowing inbound SSH (port 22)
  • Availability options left as default (no infrastructure redundancy)

After completing the task in the Azure portal, the lab still showed the result as failed. with error message VM ‘nautilus-vm’ was not created successfully.
To verify, I checked the configuration using Azure Cloud Shell, and the outputs below confirm the VM exists and matches the requirements.

Azure CLI verification output

~ ➜ az vm list --output table Name ResourceGroup Location Zones ----------- ---------------------------- ---------- ------- nautilus-vm KML_RG_MAIN-CFE3F5783E434DE5 centralus
~ ➜ az vm show \ –name nautilus-vm \ –resource-group kml_rg_main-cfe3f5783e434de5 \ –query “{location:location, size:hardwareProfile.vmSize}” \ –output table Location Size ---------- ------------ centralus Standard_B1s
~ ➜ az vm show \ –name nautilus-vm \ –resource-group kml_rg_main-cfe3f5783e434de5 \ –query “storageProfile.osDisk.{size:diskSizeGb, type:managedDisk.storageAccountType}” \ –output table Size ------ 30
~ ➜ az network nsg rule list \ –resource-group kml_rg_main-cfe3f5783e434de5 \ –nsg-name $(az network nsg list --resource-group kml_rg_main-cfe3f5783e434de5 --query “[0].name” -o tsv) \ –query “[?destinationPortRange==‘22’].{Port:destinationPortRange, Access:access}” \ –output table Port Access ------ -------- 22 Allow
~ ➜ az vm show \ –name nautilus-vm \ –resource-group kml_rg_main-cfe3f5783e434de5 \ –query “zones”

~ ➜

Could someone please help review this and let me know why the task might be marked as failed despite the VM being created and verified through the Azure CLI?

Thank you.

I’m facing an issue with an Azure practice lab where the task was marked as not completed successfully, even though the virtual machine appears to have been created correctly.

Task requirements

  • Use an existing resource group
  • VM name: nautilus-vm
  • Region: Central US
  • Image: Ubuntu 22.04 LTS
  • Size: Standard_B1s
  • OS disk: 30 GB
  • Network Security Group: default NSG allowing inbound SSH (port 22)
  • Availability options left as default (no infrastructure redundancy)

After completing the task in the Azure portal, the lab still showed the result as failed.
To verify, I checked the configuration using Azure Cloud Shell, and the outputs below confirm the VM exists and matches the requirements.

Azure CLI verification output

~ ➜ az vm list --output table Name ResourceGroup Location Zones ----------- ---------------------------- ---------- ------- nautilus-vm KML_RG_MAIN-CFE3F5783E434DE5 centralus
~ ➜ az vm show \ –name nautilus-vm \ –resource-group kml_rg_main-cfe3f5783e434de5 \ –query “{location:location, size:hardwareProfile.vmSize}” \ –output table Location Size ---------- ------------ centralus Standard_B1s
~ ➜ az vm show \ –name nautilus-vm \ –resource-group kml_rg_main-cfe3f5783e434de5 \ –query “storageProfile.osDisk.{size:diskSizeGb, type:managedDisk.storageAccountType}” \ –output table Size ------ 30
~ ➜ az network nsg rule list \ –resource-group kml_rg_main-cfe3f5783e434de5 \ –nsg-name $(az network nsg list --resource-group kml_rg_main-cfe3f5783e434de5 --query “[0].name” -o tsv) \ –query “[?destinationPortRange==‘22’].{Port:destinationPortRange, Access:access}” \ –output table Port Access ------ -------- 22 Allow
~ ➜ az vm show \ –name nautilus-vm \ –resource-group kml_rg_main-cfe3f5783e434de5 \ –query “zones”

~ ➜

Could someone please help review this and let me know why the task might be marked as failed despite the VM being created and verified through the Azure CLI?

Thank you.

We recently made some changes in this and some related labs, and it looks like it’s a problem. I’ve told the engineer to look into this and possibly roll the change back.

/usr/local/bin/showcreds missing on vm. By creating this is as executable script that performs "cat /opt/*.json - all is working

This is how I solved from 4th time this task. Looks like this command is used for calculating resource group name.

Thanks for the update, Rob.

As pinigai mentioned below, the issue in my case was related to the missing showcreds file on the azure-client host.
The command /usr/local/bin/showcreds was not present, and after creating it as an executable script that runs:

cat /opt/*.json

the credentials were displayed correctly and the lab started working as expected.
After applying this workaround, I was able to complete the task successfully.