almahmoud пре 7 година
родитељ
комит
8273f2a018

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

@@ -21,7 +21,6 @@ IMAGE_RESOURCE_ID = ['/subscriptions/{subscriptionId}/resourceGroups/'
                      '{resourceGroupName}/providers/Microsoft.Compute/'
                      '{resourceGroupName}/providers/Microsoft.Compute/'
                      'images/{imageName}',
                      'images/{imageName}',
                      '{imageName}',
                      '{imageName}',
-                     '{publisher}/{offer}/{sku}/{version}',
                      '{publisher}:{offer}:{sku}:{version}']
                      '{publisher}:{offer}:{sku}:{version}']
 NETWORK_RESOURCE_ID = ['/subscriptions/{subscriptionId}/resourceGroups/'
 NETWORK_RESOURCE_ID = ['/subscriptions/{subscriptionId}/resourceGroups/'
                        '{resourceGroupName}/providers/Microsoft.Network'
                        '{resourceGroupName}/providers/Microsoft.Network'
@@ -341,7 +340,7 @@ class AzureClient(object):
         self.blob_service.delete_blob(container_name, blob_name)
         self.blob_service.delete_blob(container_name, blob_name)
 
 
     def get_blob_url(self, container_name, blob_name, expiry_time):
     def get_blob_url(self, container_name, blob_name, expiry_time):
-        expiry_date = datetime.datetime.now() + datetime.timedelta(
+        expiry_date = datetime.datetime.utcnow() + datetime.timedelta(
             seconds=expiry_time)
             seconds=expiry_time)
         sas = self.blob_service.generate_blob_shared_access_signature(
         sas = self.blob_service.generate_blob_shared_access_signature(
             container_name, blob_name, permission=BlobPermissions.READ,
             container_name, blob_name, permission=BlobPermissions.READ,

+ 1 - 1
cloudbridge/cloud/providers/azure/provider.py

@@ -34,7 +34,7 @@ class AzureCloudProvider(BaseCloudProvider):
         # optional config values
         # optional config values
         self.region_name = self._get_config_value(
         self.region_name = self._get_config_value(
             'azure_region_name', os.environ.get('AZURE_REGION_NAME',
             'azure_region_name', os.environ.get('AZURE_REGION_NAME',
-                                                'francecentral'))
+                                                'northcentralus'))
         self.resource_group = self._get_config_value(
         self.resource_group = self._get_config_value(
             'azure_resource_group', os.environ.get('AZURE_RESOURCE_GROUP',
             'azure_resource_group', os.environ.get('AZURE_RESOURCE_GROUP',
                                                    'cloudbridge'))
                                                    'cloudbridge'))

+ 7 - 2
cloudbridge/cloud/providers/azure/resources.py

@@ -701,7 +701,7 @@ class AzureMachineImage(BaseMachineImage):
     def resource_id(self):
     def resource_id(self):
         if isinstance(self._image, GalleryImageReference):
         if isinstance(self._image, GalleryImageReference):
             reference_dict = self._image.as_dict()
             reference_dict = self._image.as_dict()
-            return '/'.join([reference_dict['publisher'],
+            return ':'.join([reference_dict['publisher'],
                              reference_dict['offer'],
                              reference_dict['offer'],
                              reference_dict['sku'],
                              reference_dict['sku'],
                              reference_dict['version']])
                              reference_dict['version']])
@@ -1300,7 +1300,12 @@ class AzureInstance(BaseInstance):
         """
         """
         Get the image ID for this instance.
         Get the image ID for this instance.
         """
         """
-        return self._vm.storage_profile.image_reference.id
+        # Not tested for resource group images
+        reference_dict = self._vm.storage_profile.image_reference.as_dict()
+        return ':'.join([reference_dict['publisher'],
+                         reference_dict['offer'],
+                         reference_dict['sku'],
+                         reference_dict['version']])
 
 
     @property
     @property
     def zone_id(self):
     def zone_id(self):

+ 1 - 1
docs/getting_started.rst

@@ -77,7 +77,7 @@ Azure:
               'azure_secret': 'REPLACE WITH ACTUAL VALUE',
               'azure_secret': 'REPLACE WITH ACTUAL VALUE',
               'azure_tenant': ' REPLACE WITH ACTUAL VALUE'}
               'azure_tenant': ' REPLACE WITH ACTUAL VALUE'}
     provider = CloudProviderFactory().create_provider(ProviderList.AZURE, config)
     provider = CloudProviderFactory().create_provider(ProviderList.AZURE, config)
-    image_id = 'Canonical/UbuntuServer/16.04.0-LTS/latest'  # Ubuntu 16.04
+    image_id = 'Canonical:UbuntuServer:16.04.0-LTS:latest'  # Ubuntu 16.04
 
 
 
 
 List some resources
 List some resources

+ 1 - 0
setup.py

@@ -54,6 +54,7 @@ setup(
     author='Galaxy and GVL Projects',
     author='Galaxy and GVL Projects',
     author_email='help@genome.edu.au',
     author_email='help@genome.edu.au',
     url='http://cloudbridge.cloudve.org/',
     url='http://cloudbridge.cloudve.org/',
+    setup_requires=['nose>=1.0'],
     install_requires=REQS_FULL,
     install_requires=REQS_FULL,
     extras_require={
     extras_require={
         ':python_version<"3.3"': ['ipaddress'],
         ':python_version<"3.3"': ['ipaddress'],

+ 2 - 2
test/helpers/__init__.py

@@ -92,10 +92,10 @@ TEST_DATA_CONFIG = {
     },
     },
     "AzureCloudProvider": {
     "AzureCloudProvider": {
         "placement":
         "placement":
-            os.environ.get('CB_PLACEMENT_AZURE', 'francecentral'),
+            os.environ.get('CB_PLACEMENT_AZURE', 'northcentralus'),
         "image":
         "image":
             os.environ.get('CB_IMAGE_AZURE',
             os.environ.get('CB_IMAGE_AZURE',
-                           'Canonical/UbuntuServer/16.04.0-LTS/latest'),
+                           'Canonical:UbuntuServer:16.04.0-LTS:latest'),
         "vm_type":
         "vm_type":
             os.environ.get('CB_VM_TYPE_AZURE', 'Basic_A2'),
             os.environ.get('CB_VM_TYPE_AZURE', 'Basic_A2'),
     }
     }