skyplane-project / skyplane

๐Ÿ”ฅ Blazing fast bulk data transfers between any cloud ๐Ÿ”ฅ
https://skyplane.org
Apache License 2.0
999 stars 58 forks source link

Azure copy doesn't work [bug] #918

Closed maciej-wolny closed 12 months ago

maciej-wolny commented 12 months ago

Describe the bug While trying to copy data from an Azure account to S3 bucket I'm getting Storage account xxx not found error followed by KeyError: 'Invalid flag: default_azure_region'. The account is visible while doing az storage list accounts, also the flag for a default region was set using skyplane config set azure_default_region but it didn't fix the issue.

To Reproduce

Expected behavior The copy doesn't even start

Transfer client log

 skyplane cp -r "https://account.blob.core.windows.net/datastore" s3://datastore/ --debug
 _____ _   ____   _______ _       ___   _   _  _____ 
/  ___| | / /\ \ / / ___ \ |     / _ \ | \ | ||  ___|
\ `--.| |/ /  \ V /| |_/ / |    / /_\ \|  \| || |__  
 `--. \    \   \ / |  __/| |    |  _  || . ` ||  __| 
/\__/ / |\  \  | | | |   | |____| | | || |\  || |___ 
\____/\_| \_/  \_/ \_|   \_____/\_| |_/\_| \_/\____/

17:24:42 [ERROR] Exception: Storage account lanzaideliveries not found
Traceback (most recent call last):
  File "/opt/homebrew/lib/python3.11/site-packages/skyplane/obj_store/azure_storage_account_interface.py", line 29, in azure_region
    return self.storage_account_obj().location
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/skyplane/obj_store/azure_storage_account_interface.py", line 23, in storage_account_obj
    raise exceptions.MissingBucketException(f"Storage account {self.account_name} not found")
skyplane.exceptions.MissingBucketException: Storage account account not found
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Traceback (most recent call last) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ /opt/homebrew/lib/python3.11/site-packages/skyplane/obj_store/azure_storage_account_interface.py โ”‚
โ”‚ :29 in azure_region                                                                              โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   26 โ”‚   def azure_region(self):                                                                 โ”‚
โ”‚   27 โ”‚   โ”‚   """Return the Azure region of the storage account. If the user doesn't have acce    โ”‚
โ”‚   28 โ”‚   โ”‚   try:                                                                                โ”‚
โ”‚ โฑ 29 โ”‚   โ”‚   โ”‚   return self.storage_account_obj().location                                      โ”‚
โ”‚   30 โ”‚   โ”‚   except Exception as e:  # user does not have "Storage Account Contributor" role     โ”‚
โ”‚   31 โ”‚   โ”‚   โ”‚   logger.exception(e)                                                             โ”‚
โ”‚   32 โ”‚   โ”‚   โ”‚   return cloud_config.get_flag("default_azure_region")                            โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ locals โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚
โ”‚ โ”‚ self = <skyplane.obj_store.azure_storage_account_interface.AzureStorageAccountInterface      โ”‚ โ”‚
โ”‚ โ”‚        object at 0x146d6c250>                                                                โ”‚ โ”‚
โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /opt/homebrew/lib/python3.11/site-packages/skyplane/obj_store/azure_storage_account_interface.py โ”‚
โ”‚ :23 in storage_account_obj                                                                       โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   20 โ”‚   โ”‚   for storage_account in storage_accounts:                                            โ”‚
โ”‚   21 โ”‚   โ”‚   โ”‚   if storage_account.name == self.account_name:                                   โ”‚
โ”‚   22 โ”‚   โ”‚   โ”‚   โ”‚   return storage_account                                                      โ”‚
โ”‚ โฑ 23 โ”‚   โ”‚   raise exceptions.MissingBucketException(f"Storage account {self.account_name} no    โ”‚
โ”‚   24 โ”‚                                                                                           โ”‚
โ”‚   25 โ”‚   @property                                                                               โ”‚
โ”‚   26 โ”‚   def azure_region(self):                                                                 โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ locals โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚
โ”‚ โ”‚             self = <skyplane.obj_store.azure_storage_account_interface.AzureStorageAccountIโ€ฆ โ”‚ โ”‚
โ”‚ โ”‚                    object at 0x146d6c250>                                                    โ”‚ โ”‚
โ”‚ โ”‚        sm_client = <azure.mgmt.storage._storage_management_client.StorageManagementClient    โ”‚ โ”‚
โ”‚ โ”‚                    object at 0x146d6f290>                                                    โ”‚ โ”‚
โ”‚ โ”‚  storage_account = <azure.mgmt.storage.v2022_09_01.models._models_py3.StorageAccount object  โ”‚ โ”‚
โ”‚ โ”‚                    at 0x1474d1f90>                                                           โ”‚ โ”‚
โ”‚ โ”‚ storage_accounts = <iterator object azure.core.paging.ItemPaged at 0x1470ef450>              โ”‚ โ”‚
โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
MissingBucketException: Storage account account not found

During handling of the above exception, another exception occurred:

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Traceback (most recent call last) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ /opt/homebrew/lib/python3.11/site-packages/skyplane/cli/cli_transfer.py:462 in cp                โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   459 โ”‚   :param solver: The solver to use for the transfer (default: direct)                    โ”‚
โ”‚   460 โ”‚   :type solver: str                                                                      โ”‚
โ”‚   461 โ”‚   """                                                                                    โ”‚
โ”‚ โฑ 462 โ”‚   return run_transfer(src, dst, recursive, debug, multipart, confirm, max_instances, m   โ”‚
โ”‚   463                                                                                            โ”‚
โ”‚   464                                                                                            โ”‚
โ”‚   465 def sync(                                                                                  โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ locals โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚
โ”‚ โ”‚                          confirm = False                                                     โ”‚ โ”‚
โ”‚ โ”‚                            debug = True                                                      โ”‚ โ”‚
โ”‚ โ”‚                              dst = 's3://hs-research-cello/'                                 โ”‚ โ”‚
โ”‚ โ”‚                  max_connections = 32                                                        โ”‚ โ”‚
โ”‚ โ”‚                    max_instances = 1                                                         โ”‚ โ”‚
โ”‚ โ”‚                        multipart = True                                                      โ”‚ โ”‚
โ”‚ โ”‚                        recursive = True                                                      โ”‚ โ”‚
โ”‚ โ”‚                           solver = 'direct'                                                  โ”‚ โ”‚
โ”‚ โ”‚ solver_required_throughput_gbits = 1.0                                                       โ”‚ โ”‚
โ”‚ โ”‚                              src = 'https://account.blob.core.windows.net/datastoreโ€ฆ โ”‚ โ”‚
โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /opt/homebrew/lib/python3.11/site-packages/skyplane/cli/cli_transfer.py:328 in run_transfer      โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   325 โ”‚   elif provider_dst == "cloudflare":                                                     โ”‚
โ”‚   326 โ”‚   โ”‚   solver = "src_one_sided"                                                           โ”‚
โ”‚   327 โ”‚                                                                                          โ”‚
โ”‚ โฑ 328 โ”‚   src_region_tag = StorageInterface.create(f"{provider_src}:infer", bucket_src).region   โ”‚
โ”‚   329 โ”‚   dst_region_tag = StorageInterface.create(f"{provider_dst}:infer", bucket_dst).region   โ”‚
โ”‚   330 โ”‚   args = {                                                                               โ”‚
โ”‚   331 โ”‚   โ”‚   "cmd": cmd,                                                                        โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ locals โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚
โ”‚ โ”‚      bucket_dst = 'datastore'                                                        โ”‚ โ”‚
โ”‚ โ”‚      bucket_src = 'account/container โ”‚ โ”‚
โ”‚ โ”‚             cmd = 'cp'                                                                       โ”‚ โ”‚
โ”‚ โ”‚         confirm = False                                                                      โ”‚ โ”‚
โ”‚ โ”‚           debug = True                                                                       โ”‚ โ”‚
โ”‚ โ”‚             dst = 's3://datastore/'                                                  โ”‚ โ”‚
โ”‚ โ”‚ max_connections = 32                                                                         โ”‚ โ”‚
โ”‚ โ”‚   max_instances = 1                                                                          โ”‚ โ”‚
โ”‚ โ”‚       multipart = True                                                                       โ”‚ โ”‚
โ”‚ โ”‚        path_dst = ''                                                                         โ”‚ โ”‚
โ”‚ โ”‚        path_src = ''                                                                         โ”‚ โ”‚
โ”‚ โ”‚    provider_dst = 'aws'                                                                      โ”‚ โ”‚
โ”‚ โ”‚    provider_src = 'azure'                                                                    โ”‚ โ”‚
โ”‚ โ”‚       recursive = True                                                                       โ”‚ โ”‚
โ”‚ โ”‚          solver = 'direct'                                                                   โ”‚ โ”‚
โ”‚ โ”‚             src = 'https://account.blob.core.windows.net/datastoreโ”‚ โ”‚
โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /opt/homebrew/lib/python3.11/site-packages/skyplane/obj_store/azure_blob_interface.py:41 in      โ”‚
โ”‚ region_tag                                                                                       โ”‚
โ”‚                                                                                                  โ”‚
โ”‚    38 โ”‚   โ”‚   return f"https://{self.account_name}.blob.core.windows.net/{self.container_name}   โ”‚
โ”‚    39 โ”‚                                                                                          โ”‚
โ”‚    40 โ”‚   def region_tag(self):                                                                  โ”‚
โ”‚ โฑ  41 โ”‚   โ”‚   return f"azure:{self.storage_account_interface.azure_region}"                      โ”‚
โ”‚    42 โ”‚                                                                                          โ”‚
โ”‚    43 โ”‚   def bucket(self) -> str:                                                               โ”‚
โ”‚    44 โ”‚   โ”‚   return f"{self.account_name}/{self.container_name}"                                โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ locals โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ    โ”‚
โ”‚ โ”‚ self = <skyplane.obj_store.azure_blob_interface.AzureBlobInterface object at 0x13327d550> โ”‚    โ”‚
โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ    โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /opt/homebrew/lib/python3.11/site-packages/skyplane/obj_store/azure_storage_account_interface.py โ”‚
โ”‚ :32 in azure_region                                                                              โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   29 โ”‚   โ”‚   โ”‚   return self.storage_account_obj().location                                      โ”‚
โ”‚   30 โ”‚   โ”‚   except Exception as e:  # user does not have "Storage Account Contributor" role     โ”‚
โ”‚   31 โ”‚   โ”‚   โ”‚   logger.exception(e)                                                             โ”‚
โ”‚ โฑ 32 โ”‚   โ”‚   โ”‚   return cloud_config.get_flag("default_azure_region")                            โ”‚
โ”‚   33 โ”‚                                                                                           โ”‚
โ”‚   34 โ”‚   @property                                                                               โ”‚
โ”‚   35 โ”‚   def storage_management_client(self):                                                    โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ locals โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚
โ”‚ โ”‚ self = <skyplane.obj_store.azure_storage_account_interface.AzureStorageAccountInterface      โ”‚ โ”‚
โ”‚ โ”‚        object at 0x146d6c250>                                                                โ”‚ โ”‚
โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /opt/homebrew/lib/python3.11/site-packages/skyplane/config.py:322 in get_flag                    โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   319 โ”‚                                                                                          โ”‚
โ”‚   320 โ”‚   def get_flag(self, flag_name):                                                         โ”‚
โ”‚   321 โ”‚   โ”‚   if flag_name not in self.valid_flags():                                            โ”‚
โ”‚ โฑ 322 โ”‚   โ”‚   โ”‚   raise KeyError(f"Invalid flag: {flag_name}")                                   โ”‚
โ”‚   323 โ”‚   โ”‚   return getattr(self, f"flag_{flag_name}", _DEFAULT_FLAGS[flag_name])               โ”‚
โ”‚   324 โ”‚                                                                                          โ”‚
โ”‚   325 โ”‚   def set_flag(self, flag_name, value: Optional[Any]):                                   โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ locals โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ                โ”‚
โ”‚ โ”‚ flag_name = 'default_azure_region'                                            โ”‚                โ”‚
โ”‚ โ”‚      self = SkyplaneConfig(                                                   โ”‚                โ”‚
โ”‚ โ”‚             โ”‚   aws_enabled=True,                                             โ”‚                โ”‚
โ”‚ โ”‚             โ”‚   azure_enabled=False,                                          โ”‚                โ”‚
โ”‚ โ”‚             โ”‚   gcp_enabled=False,                                            โ”‚                โ”‚
โ”‚ โ”‚             โ”‚   cloudflare_enabled=False,                                     โ”‚                โ”‚
โ”‚ โ”‚             โ”‚   ibmcloud_enabled=False,                                       โ”‚                โ”‚
โ”‚ โ”‚             โ”‚   anon_clientid='00000000000000000000125140e9589c',             โ”‚                โ”‚
โ”‚ โ”‚             โ”‚   azure_principal_id='93105b18-d76c-4da5-8fce-cbcef5f42cd4',    โ”‚                โ”‚
โ”‚ โ”‚             โ”‚   azure_subscription_id='b153161a-9edf-4bf2-99fa-eed283a99834', โ”‚                โ”‚
โ”‚ โ”‚             โ”‚   azure_resource_group='skyplane',                              โ”‚                โ”‚
โ”‚ โ”‚             โ”‚   azure_umi_name='skyplane_umi',                                โ”‚                โ”‚
โ”‚ โ”‚             โ”‚   azure_client_id='7fd47b3d-88e5-403e-b3e7-b7b3cd41bd28',       โ”‚                โ”‚
โ”‚ โ”‚             โ”‚   cloudflare_access_key_id=None,                                โ”‚                โ”‚
โ”‚ โ”‚             โ”‚   cloudflare_secret_access_key=None,                            โ”‚                โ”‚
โ”‚ โ”‚             โ”‚   gcp_project_id=None,                                          โ”‚                โ”‚
โ”‚ โ”‚             โ”‚   ibmcloud_access_id=None,                                      โ”‚                โ”‚
โ”‚ โ”‚             โ”‚   ibmcloud_secret_key=None,                                     โ”‚                โ”‚
โ”‚ โ”‚             โ”‚   ibmcloud_iam_key=None,                                        โ”‚                โ”‚
โ”‚ โ”‚             โ”‚   ibmcloud_iam_endpoint=None,                                   โ”‚                โ”‚
โ”‚ โ”‚             โ”‚   ibmcloud_useragent=None,                                      โ”‚                โ”‚
โ”‚ โ”‚             โ”‚   ibmcloud_resource_group_id=None                               โ”‚                โ”‚
โ”‚ โ”‚             )                                                                 โ”‚                โ”‚
โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ                โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
KeyError: 'Invalid flag: default_azure_region'

Environment info (please complete the following information):

maciej-wolny commented 12 months ago

Resolved