def show(self, req, id): # get info from server s = self.os_helper.get_server(req, id) # get info from flavor flavor = self.os_helper.get_flavor(req, s["flavor"]["id"]) res_tpl = templates.OpenStackResourceTemplate(flavor["id"], flavor["name"], flavor["vcpus"], flavor["ram"], flavor["disk"]) # get info from image img_id = s["image"]["id"] try: image = self.os_helper.get_image(req, img_id) except webob.exc.HTTPNotFound: image = { "id": img_id, "name": "None (Image with ID '%s' not found)" % img_id, } os_tpl = templates.OpenStackOSTemplate(image["id"], image["name"]) # build the compute object comp = compute.ComputeResource(title=s["name"], id=s["id"], cores=flavor["vcpus"], hostname=s["name"], memory=flavor["ram"], state=helpers.vm_state(s["status"]), mixins=[os_tpl, res_tpl]) # storage links vols = self.os_helper.get_server_volumes_link(req, s["id"]) for v in vols: st = storage.StorageResource(title="storage", id=v["volumeId"]) comp.add_link(storage_link.StorageLink(comp, st, deviceid=v["device"])) # network links addresses = s.get("addresses", {}) if addresses: for addr_set in addresses.values(): for addr in addr_set: # TODO(jorgesece): add pool information if addr["OS-EXT-IPS:type"] == "floating": net_id = helpers.PUBLIC_NETWORK else: try: net_id = self.os_helper.get_network_id( req, addr['OS-EXT-IPS-MAC:mac_addr'], id ) except webob.exc.HTTPNotFound: net_id = "FIXED" comp.add_link(_create_network_link(addr, comp, net_id)) return [comp]
def show(self, req, id): # get info from server s = self.os_helper.get_server(req, id) # get info from flavor flavor = self.os_helper.get_flavor(req, s["flavor"]["id"]) res_tpl = templates.OpenStackResourceTemplate(flavor["id"], flavor["name"], flavor["vcpus"], flavor["ram"], flavor["disk"]) # get info from image img_id = s["image"]["id"] try: image = self.os_helper.get_image(req, img_id) except webob.exc.HTTPNotFound: image = { "id": img_id, "name": "None (Image with ID '%s' not found)" % img_id, } os_tpl = templates.OpenStackOSTemplate(image["id"], image["name"]) # build the compute object comp = compute.ComputeResource(title=s["name"], id=s["id"], cores=flavor["vcpus"], hostname=s["name"], memory=flavor["ram"], state=helpers.vm_state(s["status"]), mixins=[os_tpl, res_tpl]) # storage links vols = self.os_helper.get_server_volumes_link(req, s["id"]) for v in vols: st = storage.StorageResource(title="storage", id=v["volumeId"]) comp.add_link( storage_link.StorageLink(comp, st, deviceid=v["device"])) # network links addresses = s.get("addresses", {}) if addresses: for addr_set in addresses.values(): for addr in addr_set: # TODO(jorgesece): add pool information if addr["OS-EXT-IPS:type"] == "floating": net_id = helpers.PUBLIC_NETWORK else: try: net_id = self.os_helper.get_network_id( req, addr['OS-EXT-IPS-MAC:mac_addr'], id) except webob.exc.HTTPNotFound: net_id = "FIXED" comp.add_link(_create_network_link(addr, comp, net_id)) return [comp]
def show(self, req, id): # get info from server s = self.os_helper.get_server(req, id) # get info from flavor flavor = self.os_helper.get_flavor(req, s["flavor"]["id"]) res_tpl = templates.OpenStackResourceTemplate(flavor["id"], flavor["name"], flavor["vcpus"], flavor["ram"], flavor["disk"]) # get info from image image = self.os_helper.get_image(req, s["image"]["id"]) os_tpl = templates.OpenStackOSTemplate(image["id"], image["name"]) # build the compute object comp = compute.ComputeResource(title=s["name"], id=s["id"], cores=flavor["vcpus"], hostname=s["name"], memory=flavor["ram"], state=helpers.vm_state(s["status"]), mixins=[os_tpl, res_tpl]) # storage links vols = self.os_helper.get_server_volumes_link(req, s["id"]) for v in vols: st = storage.StorageResource(title="storage", id=v["volumeId"]) comp.add_link( storage_link.StorageLink(comp, st, deviceid=v["device"])) # network links addresses = s.get("addresses", {}) if addresses: for addr_set in addresses.values(): for addr in addr_set: comp.add_link(_create_network_link(addr, comp)) return [comp]
def show(self, req, id): # get info from server s = self.os_helper.get_server(req, id) # get info from flavor flavor = self.os_helper.get_flavor(req, s["flavor"]["id"]) res_tpl = templates.OpenStackResourceTemplate(flavor["id"], flavor["name"], flavor["vcpus"], flavor["ram"], flavor["disk"]) # get info from image image = self.os_helper.get_image(req, s["image"]["id"]) os_tpl = templates.OpenStackOSTemplate(image["id"], image["name"]) # build the compute object comp = compute.ComputeResource(title=s["name"], id=s["id"], cores=flavor["vcpus"], hostname=s["name"], memory=flavor["ram"], state=helpers.vm_state(s["status"]), mixins=[os_tpl, res_tpl]) # storage links vols = self.os_helper.get_server_volumes_link(req, s["id"]) for v in vols: st = storage.StorageResource(title="storage", id=v["volumeId"]) comp.add_link(storage_link.StorageLink(comp, st, deviceid=v["device"])) # network links addresses = s.get("addresses", {}) if addresses: for addr_set in addresses.values(): for addr in addr_set: comp.add_link(_create_network_link(addr, comp)) return [comp]