You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by an...@apache.org on 2017/04/21 22:12:44 UTC

[7/9] libcloud git commit: Use compatability shim for urlparse. Don't use dict comprehension. Fix linting.

Use compatability shim for urlparse.  Don't use dict comprehension.  Fix
linting.


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/16a2611a
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/16a2611a
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/16a2611a

Branch: refs/heads/trunk
Commit: 16a2611a62af61aa1690d559a02d4a8c6af4bb62
Parents: 018e09f
Author: Peter Amstutz <pe...@curoverse.com>
Authored: Thu Apr 20 14:47:48 2017 -0400
Committer: Peter Amstutz <pe...@curoverse.com>
Committed: Thu Apr 20 15:29:24 2017 -0400

----------------------------------------------------------------------
 libcloud/common/azure_arm.py          | 171 ++++++++++++++++-------------
 libcloud/compute/drivers/azure_arm.py |   8 +-
 2 files changed, 99 insertions(+), 80 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/16a2611a/libcloud/common/azure_arm.py
----------------------------------------------------------------------
diff --git a/libcloud/common/azure_arm.py b/libcloud/common/azure_arm.py
index 1dcf817..064e07e 100644
--- a/libcloud/common/azure_arm.py
+++ b/libcloud/common/azure_arm.py
@@ -19,7 +19,7 @@ except ImportError:
     import json
 
 import time
-from urlparse import urlparse
+from libcloud.utils.py3 import urlparse
 
 from libcloud.common.base import (ConnectionUserAndKey,
                                   JsonResponse,
@@ -56,80 +56,95 @@ class AzureAuthJsonResponse(JsonResponse):
         else:
             return str(b)
 
-# Based on https://github.com/Azure/azure-xplat-cli/blob/master/lib/util/profile/environment.js
-publicEnvironments = {v['name']: v for v in [
-  {
-    'name': 'default',
-    'portalUrl': 'http://go.microsoft.com/fwlink/?LinkId=254433',
-    'publishingProfileUrl': 'http://go.microsoft.com/fwlink/?LinkId=254432',
-    'managementEndpointUrl': 'https://management.core.windows.net',
-    'resourceManagerEndpointUrl': 'https://management.azure.com/',
-    'sqlManagementEndpointUrl': 'https://management.core.windows.net:8443/',
-    'sqlServerHostnameSuffix': '.database.windows.net',
-    'galleryEndpointUrl': 'https://gallery.azure.com/',
-    'activeDirectoryEndpointUrl': 'https://login.microsoftonline.com',
-    'activeDirectoryResourceId': 'https://management.core.windows.net/',
-    'activeDirectoryGraphResourceId': 'https://graph.windows.net/',
-    'activeDirectoryGraphApiVersion': '2013-04-05',
-    'storageEndpointSuffix': '.core.windows.net',
-    'keyVaultDnsSuffix': '.vault.azure.net',
-    'azureDataLakeStoreFileSystemEndpointSuffix': 'azuredatalakestore.net',
-    'azureDataLakeAnalyticsCatalogAndJobEndpointSuffix': 'azuredatalakeanalytics.net'
-  },
-  {
-    'name': 'AzureChinaCloud',
-    'portalUrl': 'http://go.microsoft.com/fwlink/?LinkId=301902',
-    'publishingProfileUrl': 'http://go.microsoft.com/fwlink/?LinkID=301774',
-    'managementEndpointUrl': 'https://management.core.chinacloudapi.cn',
-    'resourceManagerEndpointUrl': 'https://management.chinacloudapi.cn',
-    'sqlManagementEndpointUrl': 'https://management.core.chinacloudapi.cn:8443/',
-    'sqlServerHostnameSuffix': '.database.chinacloudapi.cn',
-    'galleryEndpointUrl': 'https://gallery.chinacloudapi.cn/',
-    'activeDirectoryEndpointUrl': 'https://login.chinacloudapi.cn',
-    'activeDirectoryResourceId': 'https://management.core.chinacloudapi.cn/',
-    'activeDirectoryGraphResourceId': 'https://graph.chinacloudapi.cn/',
-    'activeDirectoryGraphApiVersion': '2013-04-05',
-    'storageEndpointSuffix': '.core.chinacloudapi.cn',
-    'keyVaultDnsSuffix': '.vault.azure.cn',
-    'azureDataLakeStoreFileSystemEndpointSuffix': 'N/A',
-    'azureDataLakeAnalyticsCatalogAndJobEndpointSuffix': 'N/A'
-  },
-  {
-    'name': 'AzureUSGovernment',
-    'portalUrl': 'https://manage.windowsazure.us',
-    'publishingProfileUrl': 'https://manage.windowsazure.us/publishsettings/index',
-    'managementEndpointUrl': 'https://management.core.usgovcloudapi.net',
-    'resourceManagerEndpointUrl': 'https://management.usgovcloudapi.net',
-    'sqlManagementEndpointUrl': 'https://management.core.usgovcloudapi.net:8443/',
-    'sqlServerHostnameSuffix': '.database.usgovcloudapi.net',
-    'galleryEndpointUrl': 'https://gallery.usgovcloudapi.net/',
-    'activeDirectoryEndpointUrl': 'https://login-us.microsoftonline.com',
-    'activeDirectoryResourceId': 'https://management.core.usgovcloudapi.net/',
-    'activeDirectoryGraphResourceId': 'https://graph.windows.net/',
-    'activeDirectoryGraphApiVersion': '2013-04-05',
-    'storageEndpointSuffix': '.core.usgovcloudapi.net',
-    'keyVaultDnsSuffix': '.vault.usgovcloudapi.net',
-    'azureDataLakeStoreFileSystemEndpointSuffix': 'N/A',
-    'azureDataLakeAnalyticsCatalogAndJobEndpointSuffix': 'N/A'
-  },
-  {
-    'name': 'AzureGermanCloud',
-    'portalUrl': 'http://portal.microsoftazure.de/',
-    'publishingProfileUrl': 'https://manage.microsoftazure.de/publishsettings/index',
-    'managementEndpointUrl': 'https://management.core.cloudapi.de',
-    'resourceManagerEndpointUrl': 'https://management.microsoftazure.de',
-    'sqlManagementEndpointUrl': 'https://management.core.cloudapi.de:8443/',
-    'sqlServerHostnameSuffix': '.database.cloudapi.de',
-    'galleryEndpointUrl': 'https://gallery.cloudapi.de/',
-    'activeDirectoryEndpointUrl': 'https://login.microsoftonline.de',
-    'activeDirectoryResourceId': 'https://management.core.cloudapi.de/',
-    'activeDirectoryGraphResourceId': 'https://graph.cloudapi.de/',
-    'activeDirectoryGraphApiVersion': '2013-04-05',
-    'storageEndpointSuffix': '.core.cloudapi.de',
-    'keyVaultDnsSuffix': '.vault.microsoftazure.de',
-    'azureDataLakeStoreFileSystemEndpointSuffix': 'N/A',
-    'azureDataLakeAnalyticsCatalogAndJobEndpointSuffix': 'N/A'
-  }]}
+# Based on
+# https://github.com/Azure/azure-xplat-cli/blob/master/lib/util/profile/environment.js
+publicEnvironments = {
+    "default": {
+        'name': 'default',
+        'portalUrl': 'http://go.microsoft.com/fwlink/?LinkId=254433',
+        'publishingProfileUrl':
+            'http://go.microsoft.com/fwlink/?LinkId=254432',
+        'managementEndpointUrl': 'https://management.core.windows.net',
+        'resourceManagerEndpointUrl':
+            'https://management.azure.com/',
+        'sqlManagementEndpointUrl':
+            'https://management.core.windows.net:8443/',
+        'sqlServerHostnameSuffix': '.database.windows.net',
+        'galleryEndpointUrl': 'https://gallery.azure.com/',
+        'activeDirectoryEndpointUrl': 'https://login.microsoftonline.com',
+        'activeDirectoryResourceId': 'https://management.core.windows.net/',
+        'activeDirectoryGraphResourceId': 'https://graph.windows.net/',
+        'activeDirectoryGraphApiVersion': '2013-04-05',
+        'storageEndpointSuffix': '.core.windows.net',
+        'keyVaultDnsSuffix': '.vault.azure.net',
+        'azureDataLakeStoreFileSystemEndpointSuffix': 'azuredatalakestore.net',
+        'azureDataLakeAnalyticsCatalogAndJobEndpointSuffix':
+            'azuredatalakeanalytics.net'
+    },
+    "AzureChinaCloud": {
+        'name': 'AzureChinaCloud',
+        'portalUrl': 'http://go.microsoft.com/fwlink/?LinkId=301902',
+        'publishingProfileUrl':
+            'http://go.microsoft.com/fwlink/?LinkID=301774',
+        'managementEndpointUrl': 'https://management.core.chinacloudapi.cn',
+        'resourceManagerEndpointUrl': 'https://management.chinacloudapi.cn',
+        'sqlManagementEndpointUrl':
+            'https://management.core.chinacloudapi.cn:8443/',
+        'sqlServerHostnameSuffix': '.database.chinacloudapi.cn',
+        'galleryEndpointUrl': 'https://gallery.chinacloudapi.cn/',
+        'activeDirectoryEndpointUrl': 'https://login.chinacloudapi.cn',
+        'activeDirectoryResourceId':
+            'https://management.core.chinacloudapi.cn/',
+        'activeDirectoryGraphResourceId': 'https://graph.chinacloudapi.cn/',
+        'activeDirectoryGraphApiVersion': '2013-04-05',
+        'storageEndpointSuffix': '.core.chinacloudapi.cn',
+        'keyVaultDnsSuffix': '.vault.azure.cn',
+        'azureDataLakeStoreFileSystemEndpointSuffix': 'N/A',
+        'azureDataLakeAnalyticsCatalogAndJobEndpointSuffix': 'N/A'
+    },
+    "AzureUSGovernment": {
+        'name': 'AzureUSGovernment',
+        'portalUrl': 'https://manage.windowsazure.us',
+        'publishingProfileUrl':
+            'https://manage.windowsazure.us/publishsettings/index',
+        'managementEndpointUrl': 'https://management.core.usgovcloudapi.net',
+        'resourceManagerEndpointUrl': 'https://management.usgovcloudapi.net',
+        'sqlManagementEndpointUrl':
+            'https://management.core.usgovcloudapi.net:8443/',
+        'sqlServerHostnameSuffix': '.database.usgovcloudapi.net',
+        'galleryEndpointUrl': 'https://gallery.usgovcloudapi.net/',
+        'activeDirectoryEndpointUrl': 'https://login-us.microsoftonline.com',
+        'activeDirectoryResourceId':
+            'https://management.core.usgovcloudapi.net/',
+        'activeDirectoryGraphResourceId': 'https://graph.windows.net/',
+        'activeDirectoryGraphApiVersion': '2013-04-05',
+        'storageEndpointSuffix': '.core.usgovcloudapi.net',
+        'keyVaultDnsSuffix': '.vault.usgovcloudapi.net',
+        'azureDataLakeStoreFileSystemEndpointSuffix': 'N/A',
+        'azureDataLakeAnalyticsCatalogAndJobEndpointSuffix': 'N/A'
+    },
+    "AzureGermanCloud": {
+        'name': 'AzureGermanCloud',
+        'portalUrl': 'http://portal.microsoftazure.de/',
+        'publishingProfileUrl':
+        'https://manage.microsoftazure.de/publishsettings/index',
+        'managementEndpointUrl': 'https://management.core.cloudapi.de',
+        'resourceManagerEndpointUrl': 'https://management.microsoftazure.de',
+        'sqlManagementEndpointUrl':
+            'https://management.core.cloudapi.de:8443/',
+        'sqlServerHostnameSuffix': '.database.cloudapi.de',
+        'galleryEndpointUrl': 'https://gallery.cloudapi.de/',
+        'activeDirectoryEndpointUrl': 'https://login.microsoftonline.de',
+        'activeDirectoryResourceId': 'https://management.core.cloudapi.de/',
+        'activeDirectoryGraphResourceId': 'https://graph.cloudapi.de/',
+        'activeDirectoryGraphApiVersion': '2013-04-05',
+        'storageEndpointSuffix': '.core.cloudapi.de',
+        'keyVaultDnsSuffix': '.vault.microsoftazure.de',
+        'azureDataLakeStoreFileSystemEndpointSuffix': 'N/A',
+        'azureDataLakeAnalyticsCatalogAndJobEndpointSuffix': 'N/A'
+    }
+}
+
 
 class AzureResourceManagementConnection(ConnectionUserAndKey):
     """
@@ -157,8 +172,10 @@ class AzureResourceManagementConnection(ConnectionUserAndKey):
                             "'activeDirectoryResourceId', "
                             "'storageEndpointSuffix'" % (
                                 "', '".join(publicEnvironments.keys())))
-        self.host = urlparse(cloud_environment['resourceManagerEndpointUrl']).hostname
-        self.login_host = urlparse(cloud_environment['activeDirectoryEndpointUrl']).hostname
+        self.host = urlparse.urlparse(
+            cloud_environment['resourceManagerEndpointUrl']).hostname
+        self.login_host = urlparse.urlparse(
+            cloud_environment['activeDirectoryEndpointUrl']).hostname
         self.login_resource = cloud_environment['activeDirectoryResourceId']
         self.storage_suffix = cloud_environment['storageEndpointSuffix']
         self.tenant_id = tenant_id

http://git-wip-us.apache.org/repos/asf/libcloud/blob/16a2611a/libcloud/compute/drivers/azure_arm.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/azure_arm.py b/libcloud/compute/drivers/azure_arm.py
index 2048daf..3f2a3e2 100644
--- a/libcloud/compute/drivers/azure_arm.py
+++ b/libcloud/compute/drivers/azure_arm.py
@@ -1339,9 +1339,11 @@ class AzureNodeDriver(NodeDriver):
             (storageAccount, blobContainer, blob) = _split_blob_uri(uri)
             keys = self.ex_get_storage_account_keys(resource_group,
                                                     storageAccount)
-            blobdriver = AzureBlobsStorageDriver(storageAccount,
-                                                 keys["key1"],
-                                                 host="%s.blob%s" % (storageAccount, self.connection.storage_suffix))
+            blobdriver = AzureBlobsStorageDriver(
+                storageAccount,
+                keys["key1"],
+                host="%s.blob%s" % (storageAccount,
+                                    self.connection.storage_suffix))
             blobdriver.delete_object(blobdriver.get_object(blobContainer,
                                                            blob))
             return True