def stopServer(self, auth, zone_id, req): """ @param : auth {"auth":{ "key_id":"Key ID", "secret":"Secret Key", } } @param: zone_id @param: req (Dic) {"server_id":"xxx-xxxx-xxx"} """ # 1. Get Endpoint of Zone cloudMgr = self.locator.getManager('CloudManager') (r_name, z_name) = cloudMgr._getRegionZone(zone_id) auth_data = auth['auth'] a_key = auth_data['key_id'] s_key = auth_data['secret'] # 2. Create DataCenter object sdc = DataCenter(location=z_name, key_id=a_key, secret=s_key) if req.has_key('server_id'): mid = req['server_id'] machine = sdc.machine(machine_id=mid) # Stop Machine machine.stop() # Wait state machine.poll_until('stopped') dic = {} dic['status'] = machine.state return dic
def discoverServer(self, auth, zone_id, req): """ @param : auth {"auth":{ "key_id":"Key ID", "secret":"Secret Key", } } @param: zone_id @param: req (Dic) {"server_id":"xxx-xxxx-xxx"} {"name":"server_name"} """ # 1. Get Endpoint of Zone cloudMgr = self.locator.getManager('CloudManager') (r_name, z_name) = cloudMgr._getRegionZone(zone_id) auth_data = auth['auth'] a_key = auth_data['key_id'] s_key = auth_data['secret'] # 2. Create DataCenter object sdc = DataCenter(location=z_name, key_id=a_key, secret=s_key) if req.has_key('server_id'): mid = req['server_id'] machine = sdc.machine(machine_id=mid) dic = {} dic['server_id'] = machine.id dic['private_ip_address'] = machine.private_ips[0] if len(machine.public_ips) >= 1: dic['floating_ip'] = machine.public_ips[0] dic['status'] = machine.status() # CPU, Memory, Disk if machine.has_key('package'): packages = sdc.packages(machine['package']) if len(packages) == 1: package = packages[0] dic['cpus'] = package['vcpus'] dic['memory'] = package['memory'] dic['disk'] = package['disk'] return dic elif req.has_key('name'): my_name = req['name'] machines = sdc.machines(name=my_name) self.logger.debug("Detected machine is %s" % len(machines)) dic = {} if len(machines) != 1: # Error or ? return dic machine = machines[0] dic['server_id'] = machine.id dic['private_ip_address'] = machine.private_ips[0] if len(machine.public_ips) >= 1: dic['floating_ip'] = machine.public_ips[0] dic['status'] = machine.status() # CPU, Memory, Disk #if machine.has_key('package'): # packages = sdc.packages(machine['package']) # if len(packages) == 1: # package = packages[0] # dic['cpus'] = package['vcpus'] # dic['memory'] = package['memory'] # dic['disk'] = package['disk'] return dic self.logger.error("No Server founded:%s" % z_name)