Просмотр исходного кода

Moved object_store and block_store under storage

Nuwan Goonasekera 8 лет назад
Родитель
Сommit
7f5a30a602

+ 0 - 1
cloudbridge/cloud/providers/azure/azure_client.py

@@ -1,6 +1,5 @@
 import datetime
 import logging
-
 from io import BytesIO
 
 from azure.common.credentials import ServicePrincipalCredentials

+ 6 - 10
cloudbridge/cloud/providers/azure/provider.py

@@ -4,8 +4,8 @@ import os
 from cloudbridge.cloud.base import BaseCloudProvider
 from cloudbridge.cloud.providers.azure.azure_client import AzureClient
 from cloudbridge.cloud.providers.azure.services \
-    import AzureBlockStoreService, AzureComputeService, \
-    AzureNetworkingService, AzureObjectStoreService, AzureSecurityService
+    import AzureComputeService, AzureNetworkingService, \
+    AzureSecurityService, AzureStorageService
 
 from msrestazure.azure_exceptions import CloudError
 
@@ -53,8 +53,7 @@ class AzureCloudProvider(BaseCloudProvider):
         self._azure_client = None
 
         self._security = AzureSecurityService(self)
-        self._object_store = AzureObjectStoreService(self)
-        self._block_store = AzureBlockStoreService(self)
+        self._storage = AzureStorageService(self)
         self._compute = AzureComputeService(self)
         self._networking = AzureNetworkingService(self)
 
@@ -71,16 +70,13 @@ class AzureCloudProvider(BaseCloudProvider):
         return self._security
 
     @property
-    def block_store(self):
-        return self._block_store
-
-    @property
-    def object_store(self):
-        return self._object_store
+    def storage(self):
+        return self._storage
 
     @property
     def azure_client(self):
         if not self._azure_client:
+
             # create a dict with both optional and mandatory configuration
             # values to pass to the azureclient class, rather
             # than passing the provider object and taking a dependency.

+ 3 - 4
cloudbridge/cloud/providers/azure/resources.py

@@ -7,7 +7,6 @@ import logging
 import time
 
 from azure.common import AzureException
-
 from azure.mgmt.network.models import NetworkSecurityGroup
 
 from cloudbridge.cloud.base.resources import BaseAttachmentInfo, \
@@ -530,7 +529,7 @@ class AzureVolume(BaseVolume):
             url_params = azure_helpers. \
                 parse_url(SNAPSHOT_RESOURCE_ID,
                           self._volume.creation_data.source_uri)
-            return self._provider.block_store.snapshots. \
+            return self._provider.storage.snapshots. \
                 get(url_params.get(SNAPSHOT_NAME))
         return None
 
@@ -606,7 +605,7 @@ class AzureVolume(BaseVolume):
         """
         Create a snapshot of this Volume.
         """
-        return self._provider.block_store.snapshots.create(name, self)
+        return self._provider.storage.snapshots.create(name, self)
 
     def delete(self):
         """
@@ -751,7 +750,7 @@ class AzureSnapshot(BaseSnapshot):
         """
         Create a new Volume from this Snapshot.
         """
-        return self._provider.block_store.volumes. \
+        return self._provider.storage.volumes. \
             create(self.id, self.size,
                    zone=placement, snapshot=self)
 

+ 16 - 13
cloudbridge/cloud/providers/azure/services.py

@@ -5,19 +5,17 @@ import uuid
 from azure.common import AzureException
 
 from cloudbridge.cloud.base.resources import ClientPagedResultList
-from cloudbridge.cloud.base.services import BaseBlockStoreService, \
+from cloudbridge.cloud.base.services import BaseBucketService, \
     BaseComputeService, BaseGatewayService, BaseImageService, \
     BaseInstanceService, BaseInstanceTypesService, \
     BaseKeyPairService, BaseNetworkService, BaseNetworkingService, \
-    BaseObjectStoreService, BaseRegionService, BaseRouterService, \
-    BaseSecurityGroupService, BaseSecurityService, \
-    BaseSnapshotService, BaseSubnetService, BaseVolumeService
+    BaseRegionService, BaseRouterService, BaseSecurityGroupService, \
+    BaseSecurityService, BaseSnapshotService, BaseStorageService, \
+    BaseSubnetService, BaseVolumeService
 from cloudbridge.cloud.interfaces import InvalidConfigurationException
-
 from cloudbridge.cloud.interfaces.resources import InstanceType, \
     MachineImage, Network, PlacementZone, SecurityGroup, \
     Snapshot, Subnet, Volume
-
 from cloudbridge.cloud.providers.azure import helpers as azure_helpers
 
 from msrestazure.azure_exceptions import CloudError
@@ -211,9 +209,9 @@ class AzureKeyPairService(BaseKeyPairService):
         return key_pair
 
 
-class AzureObjectStoreService(BaseObjectStoreService):
+class AzureBucketService(BaseBucketService):
     def __init__(self, provider):
-        super(AzureObjectStoreService, self).__init__(provider)
+        super(AzureBucketService, self).__init__(provider)
 
     def get(self, bucket_id):
         """
@@ -256,13 +254,14 @@ class AzureObjectStoreService(BaseObjectStoreService):
         return AzureBucket(self.provider, bucket)
 
 
-class AzureBlockStoreService(BaseBlockStoreService):
+class AzureStorageService(BaseStorageService):
     def __init__(self, provider):
-        super(AzureBlockStoreService, self).__init__(provider)
+        super(AzureStorageService, self).__init__(provider)
 
         # Initialize provider services
         self._volume_svc = AzureVolumeService(self.provider)
         self._snapshot_svc = AzureSnapshotService(self.provider)
+        self._bucket_svc = AzureBucketService(self.provider)
 
     @property
     def volumes(self):
@@ -272,6 +271,10 @@ class AzureBlockStoreService(BaseBlockStoreService):
     def snapshots(self):
         return self._snapshot_svc
 
+    @property
+    def buckets(self):
+        return self._bucket_svc
+
 
 class AzureVolumeService(BaseVolumeService):
     def __init__(self, provider):
@@ -315,7 +318,7 @@ class AzureVolumeService(BaseVolumeService):
         """
         AzureVolume.assert_valid_resource_name(name)
         zone_id = zone.id if isinstance(zone, PlacementZone) else zone
-        snapshot = (self.provider.block_store.snapshots.get(snapshot)
+        snapshot = (self.provider.storage.snapshots.get(snapshot)
                     if snapshot and isinstance(snapshot, str) else snapshot)
         disk_name = "{0}-{1}".format(name, uuid.uuid4().hex[:6])
         tags = {'Name': name}
@@ -393,7 +396,7 @@ class AzureSnapshotService(BaseSnapshotService):
         Creates a new snapshot of a given volume.
         """
         AzureSnapshot.assert_valid_resource_name(name)
-        volume = (self.provider.block_store.volumes.get(volume)
+        volume = (self.provider.storage.volumes.get(volume)
                   if isinstance(volume, str) else volume)
 
         tags = {'Name': name}
@@ -678,7 +681,7 @@ class AzureInstanceService(BaseInstanceService):
                         vol_name = \
                             "{0}_{1}_disk".format(vm_name,
                                                   uuid.uuid4().hex[:6])
-                        new_vol = self.provider.block_store.volumes.create(
+                        new_vol = self.provider.storage.volumes.create(
                             vol_name,
                             device.size,
                             zone)

+ 1 - 1
docs/topics/object_storage.rst

@@ -65,6 +65,6 @@ Once a provider is obtained, you can access the container as usual:
 
 .. code-block:: python
 
-    bucket = provider.object_store.get(container)
+    bucket = provider.storage.buckets.get(container)
     obj = bucket.create_object('my_object.txt')
     obj.upload_from_file(source)