def get(self, host, vm_ref): playback_server_ip = settings.VNC_PLAYBACK_SERVER_IP playback_server_port = str(settings.VNC_PLAYBACK_SERVER_PORT) playback_server = playback_server_ip + ":" + playback_server_port http_client = AsyncHTTPClient() query = "?host=%s&vm_uuid=%s" % (host, vm_ref) url = "http://%s/serv/listfile" % playback_server + query try: response = yield http_client.fetch(url) except Exception, e: vm_info = get_vm_info(host, vm_ref) if e.code == 404 or e.code == 500: self.render( "virtualization/xenserver_console_playback.html", files=None, host_address=host, vm_info=vm_info, vm_ref=vm_ref, status=1, playback_server=None, ) return else: self.render( "virtualization/xenserver_console_playback.html", files=None, host_address=host, vm_info=vm_info, vm_ref=vm_ref, status=2, playback_server=None, ) return
def get(self, host, vm_ref): playback_server_ip = settings.VNC_PLAYBACK_SERVER_IP playback_server_port = str(settings.VNC_PLAYBACK_SERVER_PORT) playback_server = playback_server_ip + ":" + playback_server_port http_client = AsyncHTTPClient() query = "?host=%s&vm_uuid=%s" % (host, vm_ref) url = "http://%s/serv/listfile" % playback_server + query try: response = yield http_client.fetch(url) except Exception, e: vm_info = get_vm_info(host, vm_ref) if e.code == 404 or e.code == 500: self.render("virtualization/xenserver_console_playback.html", files=None, host_address=host, vm_info=vm_info, vm_ref=vm_ref, status=1, playback_server=None) return else: self.render("virtualization/xenserver_console_playback.html", files=None, host_address=host, vm_info=vm_info, vm_ref=vm_ref, status=2, playback_server=None) return
def get(self, host, vm_ref): vm_info = get_vm_info(host, vm_ref) self.render("virtualization/xenserver_console.html", novnc_host=settings.NOVNC_SERVER_IP, novnc_port=settings.NOVNC_SERVER_PORT, vm_ref=vm_ref, host_address=host, vm_info=vm_info)
def post(self, xen_host, vm_ref): global_period = self.get_argument("global_period", None, strip=True) global_period = int(global_period) * 60 if global_period else None cpu_level = self.get_argument("cpu_level", None, strip=True) cpu_level = float(float(cpu_level) / 100) if cpu_level else None cpu_period = self.get_argument("cpu_period", None, strip=True) cpu_period = int(cpu_period) * 60 if cpu_period else None network_level = self.get_argument("network_level", None, strip=True) network_level = int(network_level) * 1024 if network_level else None network_period = self.get_argument("network_period", None, strip=True) network_period = int(network_period) * 60 if network_period else None disk_level = self.get_argument("disk_level", None, strip=True) disk_level = int(disk_level) * 1024 if disk_level else None disk_period = self.get_argument("disk_period", None, strip=True) disk_period = int(disk_period) * 60 if disk_period else None data = { "global_period": global_period, "cpu_level": cpu_level, "cpu_period": cpu_period, "network_level": network_level, "network_period": network_period, "disk_level": disk_level, "disk_period": disk_period } perfmon_xml = generate_perfmon_xml(data) perfmon_xml = perfmon_xml.replace("\n", "") perfmon_xml = perfmon_xml.replace("\t", "") session = get_xenserver_conn(xen_host) if session != None: try: session.xenapi.VM.remove_from_other_config( "OpaqueRef:" + vm_ref, "perfmon") session.xenapi.VM.add_to_other_config("OpaqueRef:" + vm_ref, "perfmon", perfmon_xml) except Exception, e: session = get_xenserver_conn(e.details[1]) session.xenapi.VM.remove_from_other_config( "OpaqueRef:" + vm_ref, "perfmon") session.xenapi.VM.add_to_other_config("OpaqueRef:" + vm_ref, "perfmon", perfmon_xml) vm_info = get_vm_info(xen_host, vm_ref) record = session.xenapi.VM.get_record("OpaqueRef:" + vm_ref) try: perfmon = record['other_config']['perfmon'] except Exception, e: perfmon = None
def get(self, host, vm_ref): vm_info = get_vm_info(host, vm_ref) self.render( "virtualization/xenserver_console.html", novnc_host=settings.NOVNC_SERVER_IP, novnc_port=settings.NOVNC_SERVER_PORT, vm_ref=vm_ref, host_address=host, vm_info=vm_info, )
def on_parse_finished(self, data): vm_record = get_vm_info_by_uuid(self.host, self.uuid) if not vm_record: control_domain_ref = get_control_domain(self.host) control_domain_ref = control_domain_ref.split(":")[1] vm_record = get_vm_info(self.host, control_domain_ref) vm_name = vm_record['name_label'] self.render("virtualization/xenserver_vm_chart.html", data=data, xenserver_address=self.host, convert_field=convert_field, vm_uuid=self.uuid, chart_type=self.ttype, vm_name=vm_name)
def post(self, xen_host, vm_ref): global_period = self.get_argument("global_period", None, strip=True) global_period = int(global_period) * 60 if global_period else None cpu_level = self.get_argument("cpu_level", None, strip=True) cpu_level = float(float(cpu_level) / 100) if cpu_level else None cpu_period = self.get_argument("cpu_period", None, strip=True) cpu_period = int(cpu_period) * 60 if cpu_period else None network_level = self.get_argument("network_level", None, strip=True) network_level = int(network_level) * 1024 if network_level else None network_period = self.get_argument("network_period", None, strip=True) network_period = int(network_period) * 60 if network_period else None disk_level = self.get_argument("disk_level", None, strip=True) disk_level = int(disk_level) * 1024 if disk_level else None disk_period = self.get_argument("disk_period", None, strip=True) disk_period = int(disk_period) * 60 if disk_period else None data = { "global_period": global_period, "cpu_level": cpu_level, "cpu_period": cpu_period, "network_level": network_level, "network_period": network_period, "disk_level": disk_level, "disk_period": disk_period, } perfmon_xml = generate_perfmon_xml(data) perfmon_xml = perfmon_xml.replace("\n", "") perfmon_xml = perfmon_xml.replace("\t", "") session = get_xenserver_conn(xen_host) if session != None: try: session.xenapi.VM.remove_from_other_config("OpaqueRef:" + vm_ref, "perfmon") session.xenapi.VM.add_to_other_config("OpaqueRef:" + vm_ref, "perfmon", perfmon_xml) except Exception, e: session = get_xenserver_conn(e.details[1]) session.xenapi.VM.remove_from_other_config("OpaqueRef:" + vm_ref, "perfmon") session.xenapi.VM.add_to_other_config("OpaqueRef:" + vm_ref, "perfmon", perfmon_xml) vm_info = get_vm_info(xen_host, vm_ref) record = session.xenapi.VM.get_record("OpaqueRef:" + vm_ref) try: perfmon = record["other_config"]["perfmon"] except Exception, e: perfmon = None
def get(self, xen_host, vm_ref): session = get_xenserver_conn(xen_host) if session != None: vm_info = get_vm_info(xen_host, vm_ref) try: record = session.xenapi.VM.get_record("OpaqueRef:" + vm_ref) except Exception, e: session = get_xenserver_conn(e.details[1]) record = session.xenapi.VM.get_record("OpaqueRef:" + vm_ref) try: perfmon = record['other_config']['perfmon'] except Exception, e: perfmon = None
def get(self, xen_host, vm_ref): session = get_xenserver_conn(xen_host) if session != None: vm_info = get_vm_info(xen_host, vm_ref) try: record = session.xenapi.VM.get_record("OpaqueRef:" + vm_ref) except Exception, e: session = get_xenserver_conn(e.details[1]) record = session.xenapi.VM.get_record("OpaqueRef:" + vm_ref) try: perfmon = record["other_config"]["perfmon"] except Exception, e: perfmon = None
vm_info = get_vm_info(host, vm_ref) if e.code == 404 or e.code == 500: self.render("virtualization/xenserver_console_playback.html", files=None, host_address=host, vm_info=vm_info, vm_ref=vm_ref, status=1, playback_server=None) return else: self.render("virtualization/xenserver_console_playback.html", files=None, host_address=host, vm_info=vm_info, vm_ref=vm_ref, status=2, playback_server=None) return else: vm_info = get_vm_info(host, vm_ref) result = json.loads(response.body) files = result['data'] self.render("virtualization/xenserver_console_playback.html", files=files, host_address=host, vm_info=vm_info, vm_ref=vm_ref, status=0, playback_server=playback_server)
vm_info=vm_info, vm_ref=vm_ref, status=1, playback_server=None, ) return else: self.render( "virtualization/xenserver_console_playback.html", files=None, host_address=host, vm_info=vm_info, vm_ref=vm_ref, status=2, playback_server=None, ) return else: vm_info = get_vm_info(host, vm_ref) result = json.loads(response.body) files = result["data"] self.render( "virtualization/xenserver_console_playback.html", files=files, host_address=host, vm_info=vm_info, vm_ref=vm_ref, status=0, playback_server=playback_server, )