Set-AzureStorageAccount incorrectly sets Geo-Replication States

There has been a bug identified in the Set-AzureStorageAccount cmdlet that could inadvertently enable or disable your storage account geo-replication settings.
Those who have used this cmdlet should check the geo-replication for their accounts in the Azure Portal immediately.

Note: For more information on Geo-Replication in Windows Azure Storage please visit the following post: http://blogs.msdn.com/b/windowsazurestorage/archive/2011/09/15/introducing-geo-replication-for-windows-azure-storage.aspx

Scenario 1: Changing the label or description of your storage account without specifying -GeoReplicationEnabled will disable geo-replication

PS C:\> Set-AzureStorageAccount -StorageAccountName mwweststorage -Label “updated label”

StorageAccountDescription : 
AffinityGroup             : 
Location                  : West US 
GeoReplicationEnabled     : False
GeoPrimaryLocation        : West US
GeoSecondaryLocation      : 
Label                     : "updated label"
StorageAccountStatus      : Created
StatusOfPrimary           : 
StatusOfSecondary         : 
Endpoints                 : {http://mwweststorage.blob.core.windows.net/, http://mwweststorage.queue.core.windows.net/, 
                            http://mwweststorage.table.core.windows.net/
StorageAccountName        : mwweststorage
OperationDescription      : Get-AzureStorageAccount
OperationId               : 8dc5e76c-e8ac-460f-a76c-5a0c6f96e2c6
OperationStatus           : Succeeded

Scenario 2: Setting geo-replication to disabled in your storage account via PowerShell will actually enable it.

PS C:\> Set-AzureStorageAccount -StorageAccountName mwweststorage -GeoReplicationEnabled $false -Label “disabled geo replication”

StorageAccountDescription : 
AffinityGroup             : 
Location                  : West US 
GeoReplicationEnabled     : True
GeoPrimaryLocation        : West US
GeoSecondaryLocation      : 
Label                     : "disabled geo replication"
StorageAccountStatus      : Created
StatusOfPrimary           : 
StatusOfSecondary         : 
Endpoints                 : {http://mwweststorage.blob.core.windows.net/, http://mwweststorage.queue.core.windows.net/, 
                            http://mwweststorage.table.core.windows.net/
StorageAccountName        : mwweststorage
OperationDescription      : Get-AzureStorageAccount
OperationId               : 8dc5e76c-e8ac-460f-a76c-5a0c6f96e2c6
OperationStatus           : Succeeded

Mitigation Strategy:

  • From PowerShell
  • To enable: Pass GeoReplicationEnabled $true
  • To disable: Do not pass GeoReplicationEnabled
  • From the Windows Azure Management Portal
  • Click on your Storage Account
  • Click on Configure
  • Verify the geo-replication configuration

What are we in the Windows Azure PowerShell Team(s) doing about it?

We will be releasing an updated version of the current release (0.6.13) to include a fix in the Set-AzureStorageAccount cmdlet in the very near future.
This will be a BREAKING CHANGE. Note: We have determined a solution that will not be a breaking change.

Update – 4/23/2013

The Windows Azure PowerShell cmdlets have been updated with this fix. Please download the latest and verify your Storage Account settings.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s