Beispiel #1
0
 def decommissioned_instance_ip_addresses(self, endpoint_name, instance_id):
     """ Return the ip address of a decommissioned instance. """
     ip_addresses = self.zk_conn.read(paths.decommissioned_instance(endpoint_name, instance_id))
     if ip_addresses != None:
         ip_addresses = json.loads(ip_addresses)
         if type(ip_addresses) == str:
             ip_addresses = [ip_addresses]
     else:
         ip_addresses = []
     return ip_addresses
Beispiel #2
0
 def drop_decommissioned_instance(self, endpoint_name, instance_id,
                                  instance_name=None):
     """ Delete the decommissioned instance """
     ip_addresses = self.decommissioned_instance_ip_addresses(endpoint_name, instance_id)
     for ip_address in ip_addresses:
         self.drop_ip(endpoint_name, ip_address)
     self.zk_conn.delete(paths.decommissioned_instance(endpoint_name, instance_id))
     # For windows machines we also do some cleanup
     if instance_name and self.windows and endpoint_name in self.endpoints:
         endpoint = self.endpoints[endpoint_name]
         self.windows.cleanup(ConfigView(endpoint.config, "windows"),
                              instance_name)
Beispiel #3
0
 def recommission_instance(self, endpoint_name, instance_id):
     """ Mark the instance id as being recommissioned. """
     # Delete decommissioned instance path and marked data
     self.zk_conn.delete(paths.decommissioned_instance(endpoint_name,
                         instance_id))
     self.drop_marked_instance(endpoint_name, instance_id)
Beispiel #4
0
 def decommission_instance(self, endpoint_name, instance_id, ip_addresses):
     """ Mark the instance id as being decommissioned. """
     self.zk_conn.write(paths.decommissioned_instance(endpoint_name, instance_id),
                        json.dumps(ip_addresses))