]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
Make sure create happens if a resource has been deleted
authorAngus Salkeld <asalkeld@redhat.com>
Tue, 12 Jun 2012 02:45:35 +0000 (12:45 +1000)
committerAngus Salkeld <asalkeld@redhat.com>
Tue, 12 Jun 2012 03:06:37 +0000 (13:06 +1000)
(recovery situation)

Change-Id: Ife4492bb32c4b1bbcedeba6e6bdd89bd952effcd
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
heat/engine/cloud_watch.py
heat/engine/eip.py
heat/engine/escalation_policy.py
heat/engine/instance.py
heat/engine/resources.py
heat/engine/security_group.py
heat/engine/volume.py
heat/engine/wait_condition.py

index df7051dc39be113df201837457d19b76ce84f80d..750e94914a58b013d3219214575b14ea5200743f 100644 (file)
@@ -63,7 +63,7 @@ class CloudWatchAlarm(Resource):
         return Resource.validate(self)
 
     def create(self):
-        if self.state is not None:
+        if self.state in [self.CREATE_IN_PROGRESS, self.CREATE_COMPLETE]:
             return
         self.state_set(self.CREATE_IN_PROGRESS)
         Resource.create(self)
@@ -81,8 +81,7 @@ class CloudWatchAlarm(Resource):
         self.state_set(self.CREATE_COMPLETE)
 
     def delete(self):
-        if self.state == self.DELETE_IN_PROGRESS or \
-           self.state == self.DELETE_COMPLETE:
+        if self.state in [self.DELETE_IN_PROGRESS, self.DELETE_COMPLETE]:
             return
 
         self.state_set(self.DELETE_IN_PROGRESS)
index ed5f47ad29eefa1830717dd3ecaa712f2cf91c89..1bd757eeac13ae16b2a8aa9da6454a8a609ae258 100644 (file)
@@ -43,7 +43,7 @@ class ElasticIp(Resource):
 
     def create(self):
         """Allocate a floating IP for the current tenant."""
-        if self.state is not None:
+        if self.state in [self.CREATE_IN_PROGRESS, self.CREATE_COMPLETE]:
             return
         self.state_set(self.CREATE_IN_PROGRESS)
         super(ElasticIp, self).create()
@@ -62,8 +62,7 @@ class ElasticIp(Resource):
 
     def delete(self):
         """De-allocate a floating IP."""
-        if self.state == self.DELETE_IN_PROGRESS or \
-           self.state == self.DELETE_COMPLETE:
+        if self.state in [self.DELETE_IN_PROGRESS, self.DELETE_COMPLETE]:
             return
 
         self.state_set(self.DELETE_IN_PROGRESS)
@@ -110,7 +109,7 @@ class ElasticIpAssociation(Resource):
     def create(self):
         """Add a floating IP address to a server."""
 
-        if self.state is not None:
+        if self.state in [self.CREATE_IN_PROGRESS, self.CREATE_COMPLETE]:
             return
         self.state_set(self.CREATE_IN_PROGRESS)
         super(ElasticIpAssociation, self).create()
@@ -126,8 +125,7 @@ class ElasticIpAssociation(Resource):
 
     def delete(self):
         """Remove a floating IP address from a server."""
-        if self.state == self.DELETE_IN_PROGRESS or \
-           self.state == self.DELETE_COMPLETE:
+        if self.state in [self.DELETE_IN_PROGRESS, self.DELETE_COMPLETE]:
             return
 
         self.state_set(self.DELETE_IN_PROGRESS)
index e5b9c9dce411cb7b5fd537c8503fcbd8d058f2eb..65e34e02be2311b37c71d256e10a5a09689bbab5 100644 (file)
@@ -41,15 +41,14 @@ class EscalationPolicy(Resource):
         return Resource.validate(self)
 
     def create(self):
-        if self.state is not None:
+        if self.state in [self.CREATE_IN_PROGRESS, self.CREATE_COMPLETE]:
             return
         self.state_set(self.CREATE_IN_PROGRESS)
         Resource.create(self)
         self.state_set(self.CREATE_COMPLETE)
 
     def delete(self):
-        if self.state == self.DELETE_IN_PROGRESS or \
-           self.state == self.DELETE_COMPLETE:
+        if self.state in [self.DELETE_IN_PROGRESS, self.DELETE_COMPLETE]:
             return
 
         self.state_set(self.DELETE_IN_PROGRESS)
index 1342e9d6aa5aceafff9540c04881f3c66058f25c..66b23565225593b0e84c99fcdd857e3f49bb3a8f 100644 (file)
@@ -49,15 +49,14 @@ class Restarter(Resource):
         super(Restarter, self).__init__(name, json_snippet, stack)
 
     def create(self):
-        if self.state is not None:
+        if self.state in [self.CREATE_IN_PROGRESS, self.CREATE_COMPLETE]:
             return
         self.state_set(self.CREATE_IN_PROGRESS)
         Resource.create(self)
         self.state_set(self.CREATE_COMPLETE)
 
     def delete(self):
-        if self.state == self.DELETE_IN_PROGRESS or \
-           self.state == self.DELETE_COMPLETE:
+        if self.state in [self.DELETE_IN_PROGRESS, self.DELETE_COMPLETE]:
             return
         self.state_set(self.DELETE_IN_PROGRESS)
         Resource.delete(self)
@@ -219,7 +218,7 @@ class Instance(Resource):
             """
             pass
 
-        if self.state is not None:
+        if self.state in [self.CREATE_IN_PROGRESS, self.CREATE_COMPLETE]:
             return
         self.state_set(self.CREATE_IN_PROGRESS)
         Resource.create(self)
@@ -288,8 +287,7 @@ class Instance(Resource):
         return None
 
     def delete(self):
-        if self.state == self.DELETE_IN_PROGRESS or \
-           self.state == self.DELETE_COMPLETE:
+        if self.state in [self.DELETE_IN_PROGRESS, self.DELETE_COMPLETE]:
             return
         self.state_set(self.DELETE_IN_PROGRESS)
         Resource.delete(self)
index e2f6d99176d00554aa88fdd23e786769ca8aafdd..70e6f68c7d3eb015e95f46e399aac98c2a73a799 100644 (file)
@@ -209,7 +209,7 @@ class GenericResource(Resource):
         super(GenericResource, self).__init__(name, json_snippet, stack)
 
     def create(self):
-        if self.state is not None:
+        if self.state in [self.CREATE_IN_PROGRESS, self.CREATE_COMPLETE]:
             return
         self.state_set(self.CREATE_IN_PROGRESS)
         super(GenericResource, self).create()
index 7939bb920e921343c46b17cdc3c473305197fc65..4f1ebb6c25b9519d3fd797cfd599c99f3c945e01 100644 (file)
@@ -35,7 +35,7 @@ class SecurityGroup(Resource):
         super(SecurityGroup, self).__init__(name, json_snippet, stack)
 
     def create(self):
-        if self.state is not None:
+        if self.state in [self.CREATE_IN_PROGRESS, self.CREATE_COMPLETE]:
             return
         self.state_set(self.CREATE_IN_PROGRESS)
         Resource.create(self)
@@ -78,8 +78,7 @@ class SecurityGroup(Resource):
         return Resource.validate(self)
 
     def delete(self):
-        if self.state == self.DELETE_IN_PROGRESS or \
-           self.state == self.DELETE_COMPLETE:
+        if self.state in [self.DELETE_IN_PROGRESS, self.DELETE_COMPLETE]:
             return
 
         self.state_set(self.DELETE_IN_PROGRESS)
index 7c61892c0fdab102c64f7942614e21d0775e096f..b871d8c9507516d21620840647e2131ded7c7807 100644 (file)
@@ -34,7 +34,7 @@ class Volume(Resource):
         super(Volume, self).__init__(name, json_snippet, stack)
 
     def create(self):
-        if self.state is not None:
+        if self.state in [self.CREATE_IN_PROGRESS, self.CREATE_COMPLETE]:
             return
         self.state_set(self.CREATE_IN_PROGRESS)
         super(Volume, self).create()
@@ -59,8 +59,7 @@ class Volume(Resource):
         return Resource.validate(self)
 
     def delete(self):
-        if self.state == self.DELETE_IN_PROGRESS or \
-           self.state == self.DELETE_COMPLETE:
+        if self.state in [self.DELETE_IN_PROGRESS, self.DELETE_COMPLETE]:
             return
 
         if self.instance_id is not None:
@@ -90,8 +89,7 @@ class VolumeAttachment(Resource):
         super(VolumeAttachment, self).__init__(name, json_snippet, stack)
 
     def create(self):
-
-        if self.state is not None:
+        if self.state in [self.CREATE_IN_PROGRESS, self.CREATE_COMPLETE]:
             return
         self.state_set(self.CREATE_IN_PROGRESS)
         super(VolumeAttachment, self).create()
@@ -122,8 +120,7 @@ class VolumeAttachment(Resource):
         return Resource.validate(self)
 
     def delete(self):
-        if self.state == self.DELETE_IN_PROGRESS or \
-           self.state == self.DELETE_COMPLETE:
+        if self.state in [self.DELETE_IN_PROGRESS, self.DELETE_COMPLETE]:
             return
         self.state_set(self.DELETE_IN_PROGRESS)
         Resource.delete(self)
index 6a0bdd332e75a15d840b87f55d617a9a0e790966..48d314eba26fb0892e5685dde9db2dbcb8537119 100644 (file)
@@ -38,7 +38,7 @@ class WaitConditionHandle(Resource):
         super(WaitConditionHandle, self).__init__(name, json_snippet, stack)
 
     def create(self):
-        if self.state is not None:
+        if self.state in [self.CREATE_IN_PROGRESS, self.CREATE_COMPLETE]:
             return
         self.state_set(self.CREATE_IN_PROGRESS)
         Resource.create(self)
@@ -51,8 +51,7 @@ class WaitConditionHandle(Resource):
         self.state_set(self.CREATE_COMPLETE)
 
     def delete(self):
-        if self.state == self.DELETE_IN_PROGRESS or \
-           self.state == self.DELETE_COMPLETE:
+        if self.state in [self.DELETE_IN_PROGRESS, self.DELETE_COMPLETE]:
             return
 
         self.state_set(self.DELETE_IN_PROGRESS)
@@ -84,7 +83,7 @@ class WaitCondition(Resource):
         return self.resource_id
 
     def create(self):
-        if self.state is not None:
+        if self.state in [self.CREATE_IN_PROGRESS, self.CREATE_COMPLETE]:
             return
         self.state_set(self.CREATE_IN_PROGRESS)
         Resource.create(self)
@@ -139,8 +138,7 @@ class WaitCondition(Resource):
             raise exception.Error(reason)
 
     def delete(self):
-        if self.state == self.DELETE_IN_PROGRESS or \
-           self.state == self.DELETE_COMPLETE:
+        if self.state in [self.DELETE_IN_PROGRESS, self.DELETE_COMPLETE]:
             return
 
         self.state_set(self.DELETE_IN_PROGRESS)