⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xendapi.py

📁 xen 3.2.2 源码
💻 PY
📖 第 1 页 / 共 5 页
字号:
        def _funcs():            return [getattr(XendAPI, x) for x in XendAPI.__dict__]        return xen_api_success([x.api for x in _funcs()                                if hasattr(x, 'api')])    # Xen API: Class host_CPU    # ----------------------------------------------------------------    host_cpu_attr_ro = ['host',                        'number',                        'vendor',                        'speed',                        'modelname',                        'stepping',                        'flags',                        'utilisation',                        'features']    # attributes    def _host_cpu_get(self, ref, field):        return xen_api_success(            XendNode.instance().get_host_cpu_field(ref, field))    def host_cpu_get_host(self, _, ref):        return xen_api_success(XendNode.instance().uuid)    def host_cpu_get_features(self, _, ref):        return self._host_cpu_get(ref, 'features')    def host_cpu_get_number(self, _, ref):        return self._host_cpu_get(ref, 'number')    def host_cpu_get_vendor(self, _, ref):        return self._host_cpu_get(ref, 'vendor')    def host_cpu_get_speed(self, _, ref):        return self._host_cpu_get(ref, 'speed')    def host_cpu_get_modelname(self, _, ref):        return self._host_cpu_get(ref, 'modelname')    def host_cpu_get_stepping(self, _, ref):        return self._host_cpu_get(ref, 'stepping')    def host_cpu_get_flags(self, _, ref):        return self._host_cpu_get(ref, 'flags')    def host_cpu_get_utilisation(self, _, ref):        return xen_api_success(XendNode.instance().get_host_cpu_load(ref))    # object methods    def host_cpu_get_record(self, _, ref):        node = XendNode.instance()        record = dict([(f, node.get_host_cpu_field(ref, f))                       for f in self.host_cpu_attr_ro                       if f not in ['uuid', 'host', 'utilisation']])        record['uuid'] = ref        record['host'] = node.uuid        record['utilisation'] = node.get_host_cpu_load(ref)        return xen_api_success(record)    # class methods    def host_cpu_get_all(self, session):        return xen_api_success(XendNode.instance().get_host_cpu_refs())    # Xen API: Class host_metrics    # ----------------------------------------------------------------    host_metrics_attr_ro = ['memory_total',                            'memory_free',                            'last_updated']    host_metrics_attr_rw = []    host_metrics_methods = []    def host_metrics_get_all(self, _):        return xen_api_success([XendNode.instance().host_metrics_uuid])    def _host_metrics_get(self, ref, f):        return xen_api_success(getattr(node, f)())    def host_metrics_get_record(self, _, ref):        return xen_api_success({            'uuid'         : ref,            'memory_total' : self._host_metrics_get_memory_total(),            'memory_free'  : self._host_metrics_get_memory_free(),            'last_updated' : now(),            })    def host_metrics_get_memory_total(self, _1, _2):        return xen_api_success(self._host_metrics_get_memory_total())    def host_metrics_get_memory_free(self, _1, _2):        return xen_api_success(self._host_metrics_get_memory_free())    def host_metrics_get_last_updated(self, _1, _2):        return xen_api_success(now())    def _host_metrics_get_memory_total(self):        node = XendNode.instance()        return node.xc.physinfo()['total_memory'] * 1024    def _host_metrics_get_memory_free(self):        node = XendNode.instance()        return node.xc.physinfo()['free_memory'] * 1024    # Xen API: Class VM    # ----------------------------------------------------------------            VM_attr_ro = ['power_state',                  'resident_on',                  'consoles',                  'VIFs',                  'VBDs',                  'VTPMs',                  'tools_version',                  'domid',                  'is_control_domain',                  'metrics',                  'crash_dumps',                  ]                      VM_attr_rw = ['name_label',                  'name_description',                  'user_version',                  'is_a_template',                  'auto_power_on',                  'memory_dynamic_max',                  'memory_dynamic_min',                  'memory_static_max',                  'memory_static_min',                  'VCPUs_max',                  'VCPUs_at_startup',                  'VCPUs_params',                  'actions_after_shutdown',                  'actions_after_reboot',                  'actions_after_suspend',                  'actions_after_crash',                  'PV_bootloader',                  'PV_kernel',                  'PV_ramdisk',                  'PV_args',                  'PV_bootloader_args',                  'HVM_boot_policy',                  'HVM_boot_params',                  'platform',                  'PCI_bus',                  'other_config',                  'security_label']    VM_methods = [('clone', 'VM'),                  ('start', None),                  ('pause', None),                  ('unpause', None),                  ('clean_shutdown', None),                  ('clean_reboot', None),                  ('hard_shutdown', None),                  ('hard_reboot', None),                  ('suspend', None),                  ('resume', None),                  ('send_sysrq', None),                  ('set_VCPUs_number_live', None),                  ('add_to_HVM_boot_params', None),                  ('remove_from_HVM_boot_params', None),                  ('add_to_VCPUs_params', None),                  ('add_to_VCPUs_params_live', None),                  ('remove_from_VCPUs_params', None),                  ('add_to_platform', None),                  ('remove_from_platform', None),                  ('add_to_other_config', None),                  ('remove_from_other_config', None),                  ('save', None),                  ('set_memory_dynamic_max_live', None),                  ('set_memory_dynamic_min_live', None),                  ('send_trigger', None),                  ('migrate', None),                  ('destroy', None)]        VM_funcs  = [('create', 'VM'),                 ('restore', None),                 ('get_by_name_label', 'Set(VM)')]    # parameters required for _create()    VM_attr_inst = [        'name_label',        'name_description',        'user_version',        'is_a_template',        'memory_static_max',        'memory_dynamic_max',        'memory_dynamic_min',        'memory_static_min',        'VCPUs_max',        'VCPUs_at_startup',        'VCPUs_params',        'actions_after_shutdown',        'actions_after_reboot',        'actions_after_suspend',        'actions_after_crash',        'PV_bootloader',        'PV_kernel',        'PV_ramdisk',        'PV_args',        'PV_bootloader_args',        'HVM_boot_policy',        'HVM_boot_params',        'platform',        'PCI_bus',        'other_config',        'security_label']            def VM_get(self, name, session, vm_ref):        return xen_api_success(            XendDomain.instance().get_vm_by_uuid(vm_ref).info[name])    def VM_set(self, name, session, vm_ref, value):        xd = XendDomain.instance()        dominfo = xd.get_vm_by_uuid(vm_ref)        dominfo.info[name] = value        return self._VM_save(dominfo)    def _VM_save(self, dominfo):        XendDomain.instance().managed_config_save(dominfo)        return xen_api_success_void()    # attributes (ro)    def VM_get_power_state(self, session, vm_ref):        dom = XendDomain.instance().get_vm_by_uuid(vm_ref)        return xen_api_success(dom.get_power_state())        def VM_get_resident_on(self, session, vm_ref):        return xen_api_success(XendNode.instance().uuid)           def VM_get_memory_static_max(self, session, vm_ref):        dom = XendDomain.instance().get_vm_by_uuid(vm_ref)        return xen_api_success(dom.get_memory_static_max())        def VM_get_memory_static_min(self, session, vm_ref):        dom = XendDomain.instance().get_vm_by_uuid(vm_ref)        return xen_api_success(dom.get_memory_static_min())        def VM_get_VIFs(self, session, vm_ref):        dom = XendDomain.instance().get_vm_by_uuid(vm_ref)        return xen_api_success(dom.get_vifs())        def VM_get_VBDs(self, session, vm_ref):        dom = XendDomain.instance().get_vm_by_uuid(vm_ref)        return xen_api_success(dom.get_vbds())        def VM_get_VTPMs(self, session, vm_ref):        dom = XendDomain.instance().get_vm_by_uuid(vm_ref)        return xen_api_success(dom.get_vtpms())    def VM_get_consoles(self, session, vm_ref):        dom = XendDomain.instance().get_vm_by_uuid(vm_ref)        return xen_api_success(dom.get_consoles())        def VM_get_tools_version(self, session, vm_ref):        dom = XendDomain.instance().get_vm_by_uuid(vm_ref)        return dom.get_tools_version()    def VM_get_metrics(self, _, vm_ref):        dom = XendDomain.instance().get_vm_by_uuid(vm_ref)        return xen_api_success(dom.get_metrics())    def VM_get_VCPUs_max(self, _, vm_ref):        dom = XendDomain.instance().get_vm_by_uuid(vm_ref)        return xen_api_todo()    def VM_get_VCPUs_at_startup(self, _, vm_ref):        dom = XendDomain.instance().get_vm_by_uuid(vm_ref)        return xen_api_todo()    # attributes (rw)    def VM_get_name_label(self, session, vm_ref):        dom = XendDomain.instance().get_vm_by_uuid(vm_ref)        return xen_api_success(dom.getName())        def VM_get_name_description(self, session, vm_ref):        dom = XendDomain.instance().get_vm_by_uuid(vm_ref)        return xen_api_todo()        def VM_get_user_version(self, session, vm_ref):        dom = XendDomain.instance().get_vm_by_uuid(vm_ref)        return xen_api_todo()        def VM_get_is_a_template(self, session, ref):        return self.VM_get('is_a_template', session, ref)        def VM_get_memory_dynamic_max(self, session, vm_ref):        dom = XendDomain.instance().get_vm_by_uuid(vm_ref)        return xen_api_success(dom.get_memory_dynamic_max())    def VM_get_memory_dynamic_min(self, session, vm_ref):        dom = XendDomain.instance().get_vm_by_uuid(vm_ref)        return xen_api_success(dom.get_memory_dynamic_min())        def VM_get_VCPUs_params(self, session, vm_ref):        dom = XendDomain.instance().get_vm_by_uuid(vm_ref)        return xen_api_success(dom.get_vcpus_params())        def VM_get_actions_after_shutdown(self, session, vm_ref):        dom = XendDomain.instance().get_vm_by_uuid(vm_ref)        return xen_api_success(dom.get_on_shutdown())        def VM_get_actions_after_reboot(self, session, vm_ref):        dom = XendDomain.instance().get_vm_by_uuid(vm_ref)        return xen_api_success(dom.get_on_reboot())        def VM_get_actions_after_suspend(self, session, vm_ref):        dom = XendDomain.instance().get_vm_by_uuid(vm_ref)        return xen_api_success(dom.get_on_suspend())                def VM_get_actions_after_crash(self, session, vm_ref):        dom = XendDomain.instance().get_vm_by_uuid(vm_ref)        return xen_api_success(dom.get_on_crash())        def VM_get_PV_bootloader(self, session, vm_ref):        return self.VM_get('PV_bootloader', session, vm_ref)        def VM_get_PV_kernel(self, session, vm_ref):        return self.VM_get('PV_kernel', session, vm_ref)        def VM_get_PV_ramdisk(self, session, vm_ref):        return self.VM_get('PV_ramdisk', session, vm_ref)        def VM_get_PV_args(self, session, vm_ref):        return self.VM_get('PV_args', session, vm_ref)    def VM_get_PV_bootloader_args(self, session, vm_ref):        return self.VM_get('PV_bootloader_args', session, vm_ref)    def VM_get_HVM_boot_policy(self, session, vm_ref):        return self.VM_get('HVM_boot_policy', session, vm_ref)        def VM_get_HVM_boot_params(self, session, vm_ref):        return self.VM_get('HVM_boot_params', session, vm_ref)        def VM_get_platform(self, session, vm_ref):        dom = XendDomain.instance().get_vm_by_uuid(vm_ref)        return xen_api_success(dom.get_platform())        def VM_get_PCI_bus(self, session, vm_ref):        dom = XendDomain.instance().get_vm_by_uuid(vm_ref)        return dom.get_pci_bus()        def VM_set_PCI_bus(self, session, vm_ref, val):        return self.VM_set('PCI_bus', session, vm_ref, val)        def VM_get_other_config(self, session, vm_ref):        return self.VM_get('other_config', session, vm_ref)            def VM_get_domid(self, _, ref):        domid = XendDomain.instance().get_vm_by_uuid(ref).getDomid()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -