2
0
Эх сурвалжийг харах

Return a datetime object from the vm create_time method

Rodrigo Antunes 3 жил өмнө
parent
commit
4151042991

+ 1 - 1
cloudbridge/providers/azure/resources.py

@@ -1130,7 +1130,7 @@ class AzureInstance(BaseInstance):
         """
         Get the instance creation time
         """
-        return self._vm.time_created.strftime("%Y-%m-%dT%H:%M:%S.%f")
+        return self._vm.time_created
 
     def reboot(self):
         """

+ 2 - 1
cloudbridge/providers/gcp/resources.py

@@ -9,6 +9,7 @@ import math
 import re
 import uuid
 from collections import namedtuple
+from datetime import datetime
 
 import googleapiclient
 
@@ -887,7 +888,7 @@ class GCPInstance(BaseInstance):
         """
         Get the instance creation time
         """
-        return self._gcp_instance.get("creationTimestamp")
+        return datetime.fromisoformat(self._gcp_instance.get("creationTimestamp"))
 
     @property
     def subnet_id(self):

+ 3 - 1
cloudbridge/providers/openstack/resources.py

@@ -14,6 +14,8 @@ except ImportError:  # python 2
     from urlparse import urlparse
     from urlparse import urljoin
 
+from datetime import datetime
+
 from keystoneclient.v3.regions import Region
 
 import novaclient.exceptions as novaex
@@ -366,7 +368,7 @@ class OpenStackInstance(BaseInstance):
         """
         Get the instance creation time
         """
-        return self._os_instance.created
+        return datetime.strptime(self._os_instance.created, '%Y-%m-%dT%H:%M:%SZ')
 
     def reboot(self):
         """

+ 5 - 1
tests/test_compute_service.py

@@ -1,3 +1,4 @@
+import datetime
 import ipaddress
 
 import six
@@ -170,7 +171,10 @@ class CloudComputeServiceTestCase(ProviderTestBase):
                              " found in zones list")
             self.assertIsNotNone(
                 test_instance.create_time,
-                "Instance must have it's creation time")
+                "Instance must have its creation time")
+            self.assertIsInstance(
+                test_instance.create_time,
+                datetime.datetime)
 
     @helpers.skipIfNoService(['compute.instances', 'compute.images',
                               'compute.vm_types'])