Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Storage Explorer does not show classic storage accounts. #323

Closed
jkoehring opened this issue Jun 19, 2018 · 21 comments
Closed

Storage Explorer does not show classic storage accounts. #323

jkoehring opened this issue Jun 19, 2018 · 21 comments
Assignees
Labels
🪲 bug Issue is not intended behavior ❔ more info More information is needed from issue author to proceed ✅ merged A fix for this issue has been merged
Milestone

Comments

@jkoehring
Copy link

Storage Explorer Version: 1.2.0
Platform/OS Version: Windows 10 Pro 1709
Architecture: 64-bit Intel Core i7-6820HQ
Regression From: Yes. This definitely worked on a version prior to 1.2.0, but not sure which version.

Steps to Reproduce:

  1. Create a classic storage account in Azure Portal.
  2. Wait for storage account creation to complete.
  3. Make sure the classic storage account is displayed in the Azure Portal.
  4. Open Storage Explorer.
  5. Make sure Storage Explorer is logged in to the subscription in which the classic storage account was created.
  6. Search for the classic storage account in Storage Explorer. Or, list all storage accounts in Storage Explorer and look for the classic storage account.

Expected Experience:

I expect to see the classic storage account in Storage Explorer.

Actual Experience:

The classic storage account is not displayed in Storage Explorer.

@JasonYeMSFT
Copy link
Contributor

Hi @jkoehring ,

I have followed your steps and the created classic storage accounts did show up in my Storage Explorer. Does this issue still happen in your machine? If it still happens, could you please press F12 to turn on the developer tools and see if there is any error?

Thanks!

@jkoehring
Copy link
Author

Hi @JasonYeMSFT ,

It's still not working for me, even after I completely re-installed Storage Explorer. The attached is a screen shot of the only errors I see in developer tools. BTW, I have a co-worker here who is experiencing the same problem.

storageexplorererrors

@jinglouMSFT
Copy link

@jkoehring can you try to sign out of your accounts and resign in? In normal situations, we show both the classic accounts and the ARM based accounts.

@jkoehring
Copy link
Author

@jinglouMSFT, still no joy. Could this be due to some configuration created by our Azure account administrators? I am still able to see all our classic storage accounts in Azure Portal. However, I am not able to see the classic storage accounts in the Cloud Explorer in Visual Studio 2017, Version 15.7.4.

@JasonYeMSFT
Copy link
Contributor

Hi @jkoehring , thank you for raising this hypothesis. If possible, could you please tell us what specific configurations you have selected in order to reproduce the bug? For example, the Location, Replication, Performance, the Resource Group name and the role of your azure account (the Access control of the storage account). It is also helpful if you can change your configurations to see whether there are some working cases.

We used to have an issue about not showing storage accounts with invalid names. Although this doesn't seem to be the issue here, it is still likely that the bug is caused by corner cases of the Azure Storage Platform. Hopefully, with these additional information, we can reproduce the bug and fix it.

Thank you very much!

@jkoehring
Copy link
Author

Hi @JasonYeMSFT. One of the storage accounts that I cannot see in Storage Explorer has the following attributes:
Name: jkoehringclassictest
Location: East US, West US
Performance: Standard
Replication: Read-access geo-redundant storage
Resource Group: Dev
Subscription: Production
Subscription ID: 01edc676-6fd4-4b3b-9f87-120579ab5fdd
Status: Primary: Available, Secondary: Available
Role: Apparently, I have no roles assigned to me for the given storage account. But then, I also do not have any roles assigned to me for non-classic storage accounts that I can see in Storage Explorer.

@craxal craxal added the ❔ more info More information is needed from issue author to proceed label Jun 22, 2018
@JasonYeMSFT
Copy link
Contributor

Hi @jkoehring , we have tried creating some classic storage accounts using similar configurations, but none of them reproduces this bug. I suggest you try attaching those storage accounts using Shared Access Signature or Name Keys as a work around. If neither of these work around works, we are sorry that we cannot fix this issue without more information. Please tell us if you want an older version of Storage Explorer for your work. Thank you.

@cg6
Copy link

cg6 commented Jun 28, 2018

I can confirm classic storage accounts are not being shown for me either. To debug I've configured Storage Explorer to connect via Fiddler with SSL decryption. I see the following request:
https://management.azure.com//subscriptions/{guid}/resources?api-version=2014-04-01&$filter=substringof(%27%27,name)%20and%20%28resourceType%20eq%20%27Microsoft.Storage%2FstorageAccounts%27%29
Azure API responds with all the resource manager storage accounts only.

In Fiddler I Reissue and Edit the request and change the URL to:
https://management.azure.com//subscriptions/{guid}/resources?api-version=2014-04-01&$filter=substringof(%27%27,name)%20and%20%28resourceType%20eq%20%27Microsoft.ClassicStorage%2FstorageAccounts%27%29
Azure API then responds with the classic storage accounts.

Storage Explorer never makes a request for Microsoft.ClassicStorage resources.

@ccanuel
Copy link

ccanuel commented Jul 6, 2018

Was just passing though and saw the topic title. I recently had issues with classic stuff in powershell and VSTS and my solution was to confirm that you have the old "co-administrator" attached to your azure subscription user. Even if you are "owner" you won't see classic stuff.
It's an old user setting from the Azure v1 & v2 portals.

@cg6
Copy link

cg6 commented Jul 12, 2018

This problem still exists in the new 1.3 version. Another look at the API calls used by Fiddler makes me think it is an issue with some code to discover what types of storage exist in a subscription. Additionally it may depend on how many storage accounts a subscription has.

Our DMZ subscription has only 5 storage accounts. Our Prod subscription has many storage accounts, and results in API paging. Storage Explorer finds the Classic accounts in our DMZ subscription only.

Below are the API calls Storage Explorer makes when expanding the "Storage Accounts" tree. Notice there is an initial request for several resource types. Then there is a follow up request for a smaller set of resource types. For the Prod subscription Storage Explorer drops the Microsoft.ClassicStorage from the follow up request.

DMZ Request 1

$filter = 
substringof('',name) and (resourceType eq 'Microsoft.ClassicStorage/storageAccounts' or resourceType eq 'Microsoft.Storage/storageAccounts' or resourceType eq 'Microsoft.DocumentDb/databaseAccounts' or resourceType eq 'Microsoft.DataLakeStore/accounts')

DMZ Request 2

$filter = 
substringof('',name) and (resourceType eq 'Microsoft.ClassicStorage/storageAccounts' or resourceType eq 'Microsoft.Storage/storageAccounts')

Prod Request 1
Returns a mix of Classic and Standard accounts:

$filter = 
substringof('',name) and (resourceType eq 'Microsoft.ClassicStorage/storageAccounts' or resourceType eq 'Microsoft.Storage/storageAccounts' or resourceType eq 'Microsoft.DocumentDb/databaseAccounts' or resourceType eq 'Microsoft.DataLakeStore/accounts')

Prod Request 2
Notice it is a continuation (skiptoken). Only two standard accounts are returned here:

$filter = 
substringof('',name) and (resourceType eq 'Microsoft.ClassicStorage/storageAccounts' or resourceType eq 'Microsoft.Storage/storageAccounts' or resourceType eq 'Microsoft.DocumentDb/databaseAccounts' or resourceType eq 'Microsoft.DataLakeStore/accounts')

$skiptoken= .....

Prod Request 3

$filter = 
substringof('',name) and (resourceType eq 'Microsoft.Storage/storageAccounts')

Prod Request 4

$filter = 
substringof('',name) and (resourceType eq 'Microsoft.Storage/storageAccounts')

$skiptoken= .....

@MRayermannMSFT MRayermannMSFT added the 🪲 bug Issue is not intended behavior label Jul 12, 2018
@MRayermannMSFT MRayermannMSFT self-assigned this Jul 12, 2018
@MRayermannMSFT MRayermannMSFT added this to the 1.4.0 milestone Jul 12, 2018
@MRayermannMSFT
Copy link
Member

Hey @cg6 , thank you for the awesome investigation! We're going to look into getting this fixed. Thanks!

@MRayermannMSFT
Copy link
Member

@cg6 or @jkoehring , if I sent y'all a patch/private build with a possible fix, would y'all be willing to give it a shot?

@jkoehring
Copy link
Author

@MRayermannMSFT, I'm game.

@MRayermannMSFT
Copy link
Member

MRayermannMSFT commented Jul 16, 2018

Awesome! Thank you for being a willing test subject. 😄
Here's how you can try the patch:

  1. Close Storage Explorer
  2. Make a backup of "C:\Program Files (x86)\Microsoft Azure Storage Explorer\resources\app\out\CloudHub\js\Providers\Azure\Producers\AzureResourceTypeProducer.js"
  3. Download the new version of AzureResourceTypeProducer from here. (link is active for the next 10 days, and you may night to right-click+Save Target As...)
  4. Place the file in "C:\Program Files (x86)\Microsoft Azure Storage Explorer\resources\app\out\CloudHub\js\Providers\Azure\Producers"
  5. Start Storage Explorer and try to get to your classic accounts

Thanks!

@MRayermannMSFT
Copy link
Member

Hey @jkoehring , did you have a chance to try the patch?

@jkoehring
Copy link
Author

Hey @MRayermannMSFT , sorry, I meant to and then got distracted. Qill do so ASAP.

@jkoehring
Copy link
Author

Just tried it out and I am now seeing our classic storage accounts. Thank you!

@MRayermannMSFT
Copy link
Member

Huzzah! Thank you for verifying. We'll keep this issue updated as we figure out when we'll ship this fix. Until then, feel free to continue using the workaround and let us know if anything else goes wrong.

@cg6
Copy link

cg6 commented Jul 20, 2018

@MRayermannMSFT I've also applied the patch and it works well thanks.

@MRayermannMSFT MRayermannMSFT added the ✅ merged A fix for this issue has been merged label Jul 20, 2018
@MRayermannMSFT
Copy link
Member

We've merged this into our master branch which means it will be included in our next non-hotfix release. I'm going to go ahead and close the issue since y'all are unblocked.

@rawin1015
Copy link

Hello, MRayermannMSFT, I have the same issue. could you please share the new version of AzureResourceTypeProducer with me? thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🪲 bug Issue is not intended behavior ❔ more info More information is needed from issue author to proceed ✅ merged A fix for this issue has been merged
Projects
None yet
Development

No branches or pull requests

8 participants