Cherrypick stable2.7 44802 (#45332)

* fix blob in non-public azure cloud (#44802)

(cherry picked from commit b58141555d)
pull/45351/head
Yunge Zhu 6 years ago committed by Toshio Kuratomi
parent 351bb3dd9a
commit 2fcae8b367

@ -0,0 +1,3 @@
---
bugfixes:
- fix azure storage blob cannot create blob container in non-public azure cloud environment. (https://github.com/ansible/ansible/issues/35223)

@ -154,6 +154,7 @@ try:
from azure.mgmt.marketplaceordering import MarketplaceOrderingAgreements from azure.mgmt.marketplaceordering import MarketplaceOrderingAgreements
from azure.mgmt.trafficmanager import TrafficManagerManagementClient from azure.mgmt.trafficmanager import TrafficManagerManagementClient
from azure.storage.cloudstorageaccount import CloudStorageAccount from azure.storage.cloudstorageaccount import CloudStorageAccount
from azure.storage.blob import PageBlobService, BlockBlobService
from adal.authentication_context import AuthenticationContext from adal.authentication_context import AuthenticationContext
from azure.mgmt.sql import SqlManagementClient from azure.mgmt.sql import SqlManagementClient
from azure.mgmt.rdbms.postgresql import PostgreSQLManagementClient from azure.mgmt.rdbms.postgresql import PostgreSQLManagementClient
@ -533,9 +534,13 @@ class AzureRMModuleBase(object):
try: try:
self.log('Create blob service') self.log('Create blob service')
if storage_blob_type == 'page': if storage_blob_type == 'page':
return CloudStorageAccount(storage_account_name, account_keys.keys[0].value).create_page_blob_service() return PageBlobService(endpoint_suffix=self._cloud_environment.suffixes.storage_endpoint,
account_name=storage_account_name,
account_key=account_keys.keys[0].value)
elif storage_blob_type == 'block': elif storage_blob_type == 'block':
return CloudStorageAccount(storage_account_name, account_keys.keys[0].value).create_block_blob_service() return BlockBlobService(endpoint_suffix=self._cloud_environment.suffixes.storage_endpoint,
account_name=storage_account_name,
account_key=account_keys.keys[0].value)
else: else:
raise Exception("Invalid storage blob type defined.") raise Exception("Invalid storage blob type defined.")
except Exception as exc: except Exception as exc:

Loading…
Cancel
Save