Commit 65520be5 authored by Benjamin Blanc's avatar Benjamin Blanc

testnode: deleting instances: remove only non-destroyed instances + comments

parent 27265c83
...@@ -431,14 +431,19 @@ late a SlapOS (positive) answer." %(str(os.getpid()),str(os.getpid()),)) ...@@ -431,14 +431,19 @@ late a SlapOS (positive) answer." %(str(os.getpid()),str(os.getpid()),))
def _cleanUpOldInstance(self): def _cleanUpOldInstance(self):
self.log("_cleanUpOldInstance") self.log("_cleanUpOldInstance")
# Get link list of instances to delete # Get title and link list of all instances
instance_dict = self.slapos_communicator.getHostingSubscriptionDict() instance_dict = self.slapos_communicator.getHostingSubscriptionDict()
instance_to_delete_list = [] instance_to_delete_list = []
outdated_date = datetime.fromtimestamp(time.time()) - timedelta(days=2) outdated_date = datetime.fromtimestamp(time.time()) - timedelta(days=2)
# Select instances to delete
for title,link in instance_dict.items(): for title,link in instance_dict.items():
# Instances created by testnode contains "Scalability-" and
# "timestamp=" in the title.
if "Scalability-" in title and "timestamp=" in title: if "Scalability-" in title and "timestamp=" in title:
# Get timestamp of the instance creation date
foo, timestamp = title.split("timestamp=") foo, timestamp = title.split("timestamp=")
creation_date = datetime.fromtimestamp(timestamp) creation_date = datetime.fromtimestamp(timestamp)
# Test if instance is older than the limit
if creation_date < outdated_date: if creation_date < outdated_date:
instance_to_delete_list.append((title,link)) instance_to_delete_list.append((title,link))
...@@ -447,14 +452,15 @@ late a SlapOS (positive) answer." %(str(os.getpid()),str(os.getpid()),)) ...@@ -447,14 +452,15 @@ late a SlapOS (positive) answer." %(str(os.getpid()),str(os.getpid()),))
instance_information_dict = self.slapos_communicator.getHostingSubscriptionInformation(link) instance_information_dict = self.slapos_communicator.getHostingSubscriptionInformation(link)
# Delete instance # Delete instance
if instance_information_dict: if instance_information_dict:
self.slapos_controler.request( if instance_information_dict['status'] != 'destroyed':
instance_information_dict['title'], self.slapos_controler.request(
instance_information_dict['software_url'], instance_information_dict['title'],
software_type=instance_information_dict['software_type'], instance_information_dict['software_url'],
computer_guid=instance_information_dict['computer_guid'], software_type=instance_information_dict['software_type'],
state='destroyed' computer_guid=instance_information_dict['computer_guid'],
) state='destroyed'
self.log("Instance '%s' deleted." %instance_information_dict['title']) )
self.log("Instance '%s' deleted." %instance_information_dict['title'])
def _cleanUpNodesInformation(self): def _cleanUpNodesInformation(self):
self.involved_nodes_computer_guid = [] self.involved_nodes_computer_guid = []
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment