def start(self): http_server = kvmagent.get_http_server() http_server.register_async_uri(self.INIT_PATH, self.init) http_server.register_async_uri(self.GET_PHYSICAL_CAPACITY_PATH, self.get_physical_capacity) http_server.register_async_uri(self.CREATE_EMPTY_VOLUME_PATH, self.create_empty_volume) http_server.register_async_uri(self.CREATE_VOLUME_FROM_CACHE_PATH, self.create_root_volume_from_template) http_server.register_async_uri(self.DELETE_BITS_PATH, self.delete) http_server.register_async_uri(self.DOWNLOAD_BIT_PATH, self.download_from_sftp) http_server.register_async_uri(self.UPLOAD_BIT_PATH, self.upload_to_sftp) http_server.register_async_uri(self.REVERT_SNAPSHOT_PATH, self.revert_snapshot) http_server.register_async_uri(self.MERGE_SNAPSHOT_PATH, self.merge_snapshot) http_server.register_async_uri(self.MERGE_AND_REBASE_SNAPSHOT_PATH, self.merge_and_rebase_snapshot) http_server.register_async_uri(self.OFFLINE_MERGE_PATH, self.offline_merge_snapshot) http_server.register_async_uri(self.CREATE_TEMPLATE_FROM_VOLUME, self.create_template_from_volume) http_server.register_async_uri(self.CHECK_BITS_PATH, self.check_bits) http_server.register_async_uri( self.REBASE_ROOT_VOLUME_TO_BACKING_FILE_PATH, self.rebase_root_volume_to_backing_file ) http_server.register_async_uri(self.VERIFY_SNAPSHOT_CHAIN_PATH, self.verify_backing_file_chain) http_server.register_async_uri(self.REBASE_SNAPSHOT_BACKING_FILES_PATH, self.rebase_backing_files) http_server.register_async_uri(self.COPY_TO_REMOTE_BITS_PATH, self.copy_bits_to_remote) http_server.register_async_uri(self.GET_MD5_PATH, self.get_md5) http_server.register_async_uri(self.CHECK_MD5_PATH, self.check_md5) http_server.register_async_uri(self.GET_BACKING_FILE_PATH, self.get_backing_file_path) self.path = None
def start(self): http_server = kvmagent.get_http_server() http_server.register_async_uri(self.APPLY_EIP_PATH, self.apply_eip) http_server.register_async_uri(self.BATCH_APPLY_EIP_PATH, self.apply_eips) http_server.register_async_uri(self.DELETE_EIP_PATH, self.delete_eip) http_server.register_async_uri(self.BATCH_DELETE_EIP_PATH, self.delete_eips)
def start(self): http_server = kvmagent.get_http_server() http_server.register_sync_uri(self.MOUNT_PATH, self.mount) http_server.register_sync_uri(self.UNMOUNT_PATH, self.umount) http_server.register_async_uri(self.CREATE_VOLUME_FROM_TEMPLATE_PATH, self.create_root_volume_from_template) http_server.register_async_uri(self.CREATE_EMPTY_VOLUME_PATH, self.create_empty_volume) http_server.register_async_uri(self.DOWNLOAD_FROM_SFTP_PATH, self.download_from_sftp) http_server.register_async_uri(self.GET_CAPACITY_PATH, self.get_capacity) http_server.register_async_uri(self.DELETE_PATH, self.delete) http_server.register_async_uri(self.CREATE_TEMPLATE_FROM_VOLUME_PATH, self.create_template_from_root_volume) http_server.register_async_uri(self.CHECK_BITS_PATH, self.check_bits) http_server.register_async_uri(self.REVERT_VOLUME_FROM_SNAPSHOT_PATH, self.revert_volume_from_snapshot) http_server.register_async_uri(self.UPLOAD_TO_SFTP_PATH, self.upload_to_sftp) http_server.register_async_uri(self.UPLOAD_TO_IMAGESTORE_PATH, self.upload_to_imagestore) http_server.register_async_uri(self.COMMIT_TO_IMAGESTORE_PATH, self.commit_to_imagestore) http_server.register_async_uri(self.DOWNLOAD_FROM_IMAGESTORE_PATH, self.download_from_imagestore) http_server.register_async_uri(self.MERGE_SNAPSHOT_PATH, self.merge_snapshot) http_server.register_async_uri(self.REBASE_MERGE_SNAPSHOT_PATH, self.rebase_and_merge_snapshot) http_server.register_async_uri(self.MOVE_BITS_PATH, self.move_bits) http_server.register_async_uri(self.OFFLINE_SNAPSHOT_MERGE, self.merge_snapshot_to_volume) http_server.register_async_uri(self.REMOUNT_PATH, self.remount) http_server.register_async_uri(self.GET_VOLUME_SIZE_PATH, self.get_volume_size) http_server.register_async_uri(self.PING_PATH, self.ping) http_server.register_async_uri(self.GET_VOLUME_BASE_IMAGE_PATH, self.get_volume_base_image_path) http_server.register_async_uri(self.UPDATE_MOUNT_POINT_PATH, self.update_mount_point) self.mount_path = {} self.image_cache = None self.imagestore_client = ImageStoreClient()
def start(self): http_server = kvmagent.get_http_server() http_server.register_async_uri(self.SECURITY_GROUP_CLEANUP_UNUSED_RULE_ON_HOST_PATH, self.cleanup_unused_rules_on_host) http_server.register_async_uri(self.SECURITY_GROUP_APPLY_RULE_PATH, self.apply_rules) http_server.register_async_uri(self.SECURITY_GROUP_REFRESH_RULE_ON_HOST_PATH, self.refresh_rules_on_host) http_server.register_async_uri(self.SECURITY_GROUP_UPDATE_GROUP_MEMBER, self.update_group_member) http_server.register_async_uri(self.SECURITY_GROUP_CHECK_DEFAULT_RULES_ON_HOST_PATH, self.check_default_sg_rules)
def start(self): http_server = kvmagent.get_http_server() http_server.register_async_uri(self.CONNECT_PATH, self.connect) http_server.register_async_uri(self.DISCONNECT_PATH, self.disconnect) http_server.register_async_uri(self.CREATE_VOLUME_FROM_CACHE_PATH, self.create_root_volume) http_server.register_async_uri(self.DELETE_BITS_PATH, self.delete_bits) http_server.register_async_uri(self.CREATE_TEMPLATE_FROM_VOLUME_PATH, self.create_template_from_volume) http_server.register_async_uri(self.UPLOAD_BITS_TO_SFTP_BACKUPSTORAGE_PATH, self.upload_to_sftp) http_server.register_async_uri(self.DOWNLOAD_BITS_FROM_SFTP_BACKUPSTORAGE_PATH, self.download_from_sftp) http_server.register_async_uri(self.UPLOAD_BITS_TO_IMAGESTORE_PATH, self.upload_to_imagestore) http_server.register_async_uri(self.COMMIT_BITS_TO_IMAGESTORE_PATH, self.commit_to_imagestore) http_server.register_async_uri(self.DOWNLOAD_BITS_FROM_IMAGESTORE_PATH, self.download_from_imagestore) http_server.register_async_uri(self.REVERT_VOLUME_FROM_SNAPSHOT_PATH, self.revert_volume_from_snapshot) http_server.register_async_uri(self.MERGE_SNAPSHOT_PATH, self.merge_snapshot) http_server.register_async_uri(self.OFFLINE_MERGE_SNAPSHOT_PATH, self.offline_merge_snapshots) http_server.register_async_uri(self.CREATE_EMPTY_VOLUME_PATH, self.create_empty_volume) http_server.register_async_uri(self.CONVERT_IMAGE_TO_VOLUME, self.convert_image_to_volume) http_server.register_async_uri(self.CHECK_BITS_PATH, self.check_bits) http_server.register_async_uri(self.RESIZE_VOLUME_PATH, self.resize_volume) http_server.register_async_uri(self.CHANGE_VOLUME_ACTIVE_PATH, self.active_lv) http_server.register_async_uri(self.GET_VOLUME_SIZE_PATH, self.get_volume_size) http_server.register_async_uri(self.CHECK_DISKS_PATH, self.check_disks) http_server.register_async_uri(self.ADD_SHARED_BLOCK, self.add_disk) http_server.register_async_uri(self.MIGRATE_DATA_PATH, self.migrate_volumes) http_server.register_async_uri(self.GET_BLOCK_DEVICES_PATH, self.get_block_devices) http_server.register_async_uri(self.DOWNLOAD_BITS_FROM_KVM_HOST_PATH, self.download_from_kvmhost) http_server.register_async_uri(self.CANCEL_DOWNLOAD_BITS_FROM_KVM_HOST_PATH, self.cancel_download_from_kvmhost) http_server.register_async_uri(self.GET_BACKING_CHAIN_PATH, self.get_backing_chain) http_server.register_async_uri(self.CONVERT_VOLUME_PROVISIONING_PATH, self.convert_volume_provisioning) self.imagestore_client = ImageStoreClient()
def start(self): http_server = kvmagent.get_http_server() http_server.register_sync_uri(CHECK_PHYSICAL_NETWORK_INTERFACE_PATH, self.check_physical_network_interface) http_server.register_async_uri(KVM_REALIZE_L2NOVLAN_NETWORK_PATH, self.create_bridge) http_server.register_async_uri(KVM_REALIZE_L2VLAN_NETWORK_PATH, self.create_vlan_bridge) http_server.register_async_uri(KVM_CHECK_L2NOVLAN_NETWORK_PATH, self.check_bridge) http_server.register_async_uri(KVM_CHECK_L2VLAN_NETWORK_PATH, self.check_vlan_bridge)
def start(self): http_server = kvmagent.get_http_server() http_server.register_async_uri(self.INIT_PATH, self.init) http_server.register_async_uri(self.GET_PHYSICAL_CAPACITY_PATH, self.get_physical_capacity) http_server.register_async_uri(self.CREATE_EMPTY_VOLUME_PATH, self.create_empty_volume) http_server.register_async_uri(self.CREATE_VOLUME_FROM_CACHE_PATH, self.create_root_volume_from_template) http_server.register_async_uri(self.DELETE_BITS_PATH, self.delete) http_server.register_async_uri(self.DELETE_DIR_PATH, self.deletedir) http_server.register_async_uri(self.UPLOAD_TO_IMAGESTORE_PATH, self.upload_to_imagestore) http_server.register_async_uri(self.COMMIT_TO_IMAGESTORE_PATH, self.commit_to_imagestore) http_server.register_async_uri(self.DOWNLOAD_FROM_IMAGESTORE_PATH, self.download_from_imagestore) http_server.register_async_uri(self.REVERT_SNAPSHOT_PATH, self.revert_snapshot) http_server.register_async_uri(self.MERGE_SNAPSHOT_PATH, self.merge_snapshot) http_server.register_async_uri(self.MERGE_AND_REBASE_SNAPSHOT_PATH, self.merge_and_rebase_snapshot) http_server.register_async_uri(self.OFFLINE_MERGE_PATH, self.offline_merge_snapshot) http_server.register_async_uri(self.CREATE_TEMPLATE_FROM_VOLUME, self.create_template_from_volume) http_server.register_async_uri(self.CHECK_BITS_PATH, self.check_bits) http_server.register_async_uri(self.REBASE_ROOT_VOLUME_TO_BACKING_FILE_PATH, self.rebase_root_volume_to_backing_file) http_server.register_async_uri(self.VERIFY_SNAPSHOT_CHAIN_PATH, self.verify_backing_file_chain) http_server.register_async_uri(self.REBASE_SNAPSHOT_BACKING_FILES_PATH, self.rebase_backing_files) http_server.register_async_uri(self.COPY_TO_REMOTE_BITS_PATH, self.copy_bits_to_remote) http_server.register_async_uri(self.GET_MD5_PATH, self.get_md5) http_server.register_async_uri(self.CHECK_MD5_PATH, self.check_md5) http_server.register_async_uri(self.GET_BACKING_FILE_PATH, self.get_backing_file_path) http_server.register_async_uri(self.GET_VOLUME_SIZE, self.get_volume_size) http_server.register_async_uri(self.GET_BASE_IMAGE_PATH, self.get_volume_base_image_path) http_server.register_async_uri(self.GET_QCOW2_REFERENCE, self.get_qcow2_reference) http_server.register_async_uri(self.CONVERT_QCOW2_TO_RAW, self.convert_qcow2_to_raw) self.imagestore_client = ImageStoreClient()
def start(self): http_server = kvmagent.get_http_server() http_server.register_async_uri(self.SCAN_HOST_PATH, self.scan_host) http_server.register_async_uri(self.SETUP_SELF_FENCER_PATH, self.setup_self_fencer) http_server.register_async_uri(self.CEPH_SELF_FENCER, self.setup_ceph_self_fencer) http_server.register_async_uri(self.CANCEL_SELF_FENCER_PATH, self.cancel_filesystem_self_fencer) http_server.register_async_uri(self.CANCEL_CEPH_SELF_FENCER, self.cancel_ceph_self_fencer)
def start(self): http_server = kvmagent.get_http_server() http_server.register_async_uri(self.MOUNT_PATH, self.mount) http_server.register_async_uri(self.IS_MOUNT_PATH, self.ismount) http_server.register_async_uri(self.MOUNT_DATA_PATH, self.mountdata) http_server.register_async_uri(self.INIT_PATH, self.init) http_server.register_async_uri(self.PING_PATH, self.ping) http_server.register_async_uri(self.LIST_PATH, self.list) http_server.register_async_uri(self.UPDATE_MOUNT_POINT_PATH, self.updateMount) http_server.register_async_uri(self.REMOUNT_PATH, self.remount) http_server.register_async_uri(self.UNMOUNT_PATH, self.umount) http_server.register_async_uri(self.CHECK_BITS_PATH, self.checkbits) http_server.register_async_uri(self.CREATE_EMPTY_VOLUME_PATH, self.createempty) http_server.register_async_uri(self.CREATE_VOLUME_FROM_CACHE_PATH, self.createvolume) http_server.register_async_uri(self.DELETE_BITS_PATH, self.deletebits) http_server.register_async_uri(self.GET_VOLUME_SIZE_PATH, self.getvolumesize) http_server.register_async_uri(self.REVERT_VOLUME_FROM_SNAPSHOT_PATH, self.revertvolume) http_server.register_async_uri(self.REINIT_VOLUME_PATH, self.reinit) http_server.register_async_uri(self.UPLOAD_BIT_TO_IMAGESTORE__PATH, self.uploadtoimagestore) http_server.register_async_uri(self.DOWNLOAD_BIT_TO_IMAGESTORE_PATH, self.downloadfromimagestore) http_server.register_async_uri(self.RESIZE_VOLUME_PATH, self.resize) http_server.register_async_uri(self.COMMIT_PATH, self.commit_to_imagestore) http_server.register_async_uri(self.CREATE_TEMPLATE_FROM_VOLUME_PATH, self.createtemplate) http_server.register_async_uri(self.MERGE_SNAPSHOT_PATH, self.mergesnapshot) http_server.register_async_uri(self.OFFLINE_MERGE_SNAPSHOT_PATH, self.offlinemerge) http_server.register_async_uri(self.GET_CAPACITY_PATH, self.getcapacity) http_server.register_async_uri(self.CHECK_MOUNT_PATH, self.checkmountpath) self.mount_path = {} self.uuid = None self.imagestore_client = ImageStoreClient()
def start(self): http_server = kvmagent.get_http_server() http_server.register_async_uri(self.ISCSI_LOGIN_PATH, self.iscsi_login) http_server.register_async_uri(self.ISCSI_LOGOUT_PATH, self.iscsi_logout) http_server.register_async_uri(self.FC_SCAN_PATH, self.scan_sg_devices) http_server.register_async_uri(self.MULTIPATH_ENABLE_PATH, self.enable_multipath) http_server.register_async_uri(self.ATTACH_SCSI_LUN_PATH, self.attach_scsi_lun) http_server.register_async_uri(self.DETACH_SCSI_LUN_PATH, self.detach_scsi_lun)
def start(self): self.host_uuid = None http_server = kvmagent.get_http_server() http_server.register_async_uri(self.KVM_FUSIONSTOR_QUERY_PATH, self.fusionstor_query) http_server.register_async_uri(self.SCAN_HOST_PATH, self.scan_host) http_server.register_async_uri(self.SETUP_SELF_FENCER_PATH, self.setup_self_fencer) http_server.register_async_uri(self.FUSIONSTOR_SELF_FENCER, self.setup_fusionstor_self_fencer)
def start(self): http_server = kvmagent.get_http_server() http_server.register_async_uri(self.INIT_PATH, self.init) http_server.register_async_uri(self.CONVERT_PATH, self.convert) http_server.register_async_uri(self.CLEAN_PATH, self.clean) http_server.register_async_uri(self.CANCEL_CONVERT_PATH, self.clean_convert) http_server.register_async_uri(self.CHECK_BITS, self.check_bits) http_server.register_async_uri(self.CONFIG_QOS_PATH, self.config_qos) http_server.register_async_uri(self.DELETE_QOS_PATH, self.delete_qos)
def start(self): http_server = kvmagent.get_http_server() http_server.register_async_uri(self.DHCP_CONNECT_PATH, self.connect) http_server.register_async_uri(self.APPLY_DHCP_PATH, self.apply_dhcp) http_server.register_async_uri(self.RELEASE_DHCP_PATH, self.release_dhcp) http_server.register_async_uri(self.PREPARE_DHCP_PATH, self.prepare_dhcp) http_server.register_async_uri(self.APPLY_USER_DATA, self.apply_userdata) http_server.register_async_uri(self.RELEASE_USER_DATA, self.release_userdata)
def start(self): http_server = kvmagent.get_http_server() http_server.register_async_uri(self.DHCP_CONNECT_PATH, self.connect) http_server.register_async_uri(self.APPLY_DHCP_PATH, self.apply_dhcp) http_server.register_async_uri(self.BATCH_APPLY_USER_DATA, self.batch_apply_userdata) http_server.register_async_uri(self.RELEASE_DHCP_PATH, self.release_dhcp) http_server.register_async_uri(self.PREPARE_DHCP_PATH, self.prepare_dhcp) http_server.register_async_uri(self.APPLY_USER_DATA, self.apply_userdata) http_server.register_async_uri(self.RELEASE_USER_DATA, self.release_userdata) http_server.register_async_uri(self.RESET_DEFAULT_GATEWAY_PATH, self.reset_default_gateway)
def start(self): http_server = kvmagent.get_http_server() http_server.register_async_uri(self.SCAN_HOST_PATH, self.scan_host) http_server.register_async_uri(self.SETUP_SELF_FENCER_PATH, self.setup_self_fencer) http_server.register_async_uri(self.CEPH_SELF_FENCER, self.setup_ceph_self_fencer) http_server.register_async_uri(self.CANCEL_SELF_FENCER_PATH, self.cancel_filesystem_self_fencer) http_server.register_async_uri(self.CANCEL_CEPH_SELF_FENCER, self.cancel_ceph_self_fencer) http_server.register_async_uri(self.SHAREDBLOCK_SELF_FENCER, self.setup_sharedblock_self_fencer) http_server.register_async_uri(self.CANCEL_SHAREDBLOCK_SELF_FENCER, self.cancel_sharedblock_self_fencer) http_server.register_async_uri(self.ALIYUN_NAS_SELF_FENCER, self.setup_aliyun_nas_self_fencer) http_server.register_async_uri(self.CANCEL_NAS_SELF_FENCER, self.cancel_aliyun_nas_self_fencer)
def start(self): http_server = kvmagent.get_http_server() http_server.register_async_uri(self.KVM_START_VM_PATH, self.start_vm) http_server.register_async_uri(self.KVM_STOP_VM_PATH, self.stop_vm) http_server.register_async_uri(self.KVM_REBOOT_VM_PATH, self.reboot_vm) http_server.register_async_uri(self.KVM_DESTROY_VM_PATH, self.destroy_vm) http_server.register_async_uri(self.KVM_GET_VNC_PORT_PATH, self.get_vnc_port) http_server.register_async_uri(self.KVM_VM_SYNC_PATH, self.vm_sync) http_server.register_async_uri(self.KVM_ATTACH_VOLUME, self.attach_data_volume) http_server.register_async_uri(self.KVM_DETACH_VOLUME, self.detach_data_volume) http_server.register_async_uri(self.KVM_MIGRATE_VM_PATH, self.migrate_vm) http_server.register_async_uri(self.KVM_TAKE_VOLUME_SNAPSHOT_PATH, self.take_volume_snapshot) http_server.register_async_uri(self.KVM_MERGE_SNAPSHOT_PATH, self.merge_snapshot_to_volume)
def start(self): self.host_uuid = None http_server = kvmagent.get_http_server() http_server.register_sync_uri(self.CONNECT_PATH, self.connect) http_server.register_async_uri(self.PING_PATH, self.ping) http_server.register_sync_uri(self.CAPACITY_PATH, self.capacity) http_server.register_sync_uri(self.ECHO_PATH, self.echo) http_server.register_async_uri(self.SETUP_MOUNTABLE_PRIMARY_STORAGE_HEARTBEAT, self.setup_heartbeat_file) http_server.register_async_uri(self.FACT_PATH, self.fact) self.heartbeat_timer = {} self.libvirt_version = self._get_libvirt_version() self.qemu_version = self._get_qemu_version()
def start(self): http_server = kvmagent.get_http_server() http_server.register_async_uri(self.CONNECT_PATH, self.connect) http_server.register_async_uri(self.CREATE_VOLUME_FROM_CACHE_PATH, self.create_root_volume) http_server.register_async_uri(self.DELETE_BITS_PATH, self.delete_bits) http_server.register_async_uri(self.CREATE_TEMPLATE_FROM_VOLUME_PATH, self.create_template_from_volume) http_server.register_async_uri(self.UPLOAD_BITS_TO_SFTP_BACKUPSTORAGE_PATH, self.upload_to_sftp) http_server.register_async_uri(self.DOWNLOAD_BITS_FROM_SFTP_BACKUPSTORAGE_PATH, self.download_from_sftp) http_server.register_async_uri(self.REVERT_VOLUME_FROM_SNAPSHOT_PATH, self.revert_volume_from_snapshot) http_server.register_async_uri(self.MERGE_SNAPSHOT_PATH, self.merge_snapshot) http_server.register_async_uri(self.OFFLINE_MERGE_SNAPSHOT_PATH, self.offline_merge_snapshots) http_server.register_async_uri(self.CREATE_EMPTY_VOLUME_PATH, self.create_empty_volume) http_server.register_async_uri(self.CHECK_BITS_PATH, self.check_bits) self.mount_point = None
def start(self): http_server = kvmagent.get_http_server() http_server.register_async_uri(self.INIT_PATH, self.init) http_server.register_async_uri(self.GET_PHYSICAL_CAPACITY_PATH, self.get_physical_capacity) http_server.register_async_uri(self.CREATE_EMPTY_VOLUME_PATH, self.create_empty_volume) http_server.register_async_uri(self.CREATE_VOLUME_FROM_CACHE_PATH, self.create_root_volume_from_template) http_server.register_async_uri(self.DELETE_BITS_PATH, self.delete) http_server.register_async_uri(self.DOWNLOAD_BIT_PATH, self.download_from_sftp) http_server.register_async_uri(self.UPLOAD_BIT_PATH, self.upload_to_sftp) http_server.register_async_uri(self.REVERT_SNAPSHOT_PATH, self.revert_snapshot) http_server.register_async_uri(self.MERGE_SNAPSHOT_PATH, self.merge_snapshot) http_server.register_async_uri(self.MERGE_AND_REBASE_SNAPSHOT_PATH, self.merge_and_rebase_snapshot) http_server.register_async_uri(self.OFFLINE_MERGE_PATH, self.offline_merge_snapshot) http_server.register_async_uri(self.CREATE_TEMPLATE_FROM_VOLUME, self.create_template_from_volume) self.path = None
def start(self): self.host_uuid = None http_server = kvmagent.get_http_server() http_server.register_sync_uri(self.CONNECT_PATH, self.connect) http_server.register_async_uri(self.PING_PATH, self.ping) http_server.register_sync_uri(self.CAPACITY_PATH, self.capacity) http_server.register_sync_uri(self.ECHO_PATH, self.echo) http_server.register_async_uri(self.SETUP_MOUNTABLE_PRIMARY_STORAGE_HEARTBEAT, self.setup_heartbeat_file) http_server.register_async_uri(self.FACT_PATH, self.fact) self.heartbeat_timer = {} self.libvirt_version = self._get_libvirt_version() self.qemu_version = self._get_qemu_version() filepath = r'/etc/libvirt/qemu/networks/autostart/default.xml' if os.path.exists(filepath): os.unlink(filepath)
def start(self): http_server = kvmagent.get_http_server() http_server.register_sync_uri(self.MOUNT_PATH, self.mount) http_server.register_sync_uri(self.UNMOUNT_PATH, self.umount) http_server.register_async_uri(self.CREATE_VOLUME_FROM_TEMPLATE_PATH, self.create_root_volume_from_template) http_server.register_async_uri(self.CREATE_EMPTY_VOLUME_PATH, self.create_empty_volume) http_server.register_async_uri(self.DOWNLOAD_FROM_SFTP_PATH, self.download_from_sftp) http_server.register_async_uri(self.GET_CAPACITY_PATH, self.get_capacity) http_server.register_async_uri(self.DELETE_PATH, self.delete) http_server.register_async_uri(self.CREATE_TEMPLATE_FROM_VOLUME_PATH, self.create_template_from_root_volume) http_server.register_async_uri(self.CHECK_BITS_PATH, self.check_bits) http_server.register_async_uri(self.REVERT_VOLUME_FROM_SNAPSHOT_PATH, self.revert_volume_from_snapshot) http_server.register_async_uri(self.UPLOAD_TO_SFTP_PATH, self.upload_to_sftp) http_server.register_async_uri(self.MERGE_SNAPSHOT_PATH, self.merge_snapshot) http_server.register_async_uri(self.REBASE_MERGE_SNAPSHOT_PATH, self.rebase_and_merge_snapshot) http_server.register_async_uri(self.MOVE_BITS_PATH, self.move_bits) http_server.register_async_uri(self.OFFLINE_SNAPSHOT_MERGE, self.merge_snapshot_to_volume) self.mount_path = {} self.image_cache = None
def start(self): self.host_uuid = None http_server = kvmagent.get_http_server() http_server.register_sync_uri(self.CONNECT_PATH, self.connect) http_server.register_async_uri(self.PING_PATH, self.ping) http_server.register_async_uri(self.CAPACITY_PATH, self.capacity) http_server.register_sync_uri(self.ECHO_PATH, self.echo) http_server.register_async_uri(self.SETUP_MOUNTABLE_PRIMARY_STORAGE_HEARTBEAT, self.setup_heartbeat_file) http_server.register_async_uri(self.FACT_PATH, self.fact) http_server.register_async_uri(self.GET_USB_DEVICES_PATH, self.get_usb_devices) http_server.register_async_uri(self.UPDATE_OS_PATH, self.update_os) http_server.register_async_uri(self.UPDATE_DEPENDENCY, self.update_dependency) self.heartbeat_timer = {} self.libvirt_version = self._get_libvirt_version() self.qemu_version = self._get_qemu_version() self._prepare_firewall_for_migration() filepath = r'/etc/libvirt/qemu/networks/autostart/default.xml' if os.path.exists(filepath): os.unlink(filepath)
def start(self): http_server = kvmagent.get_http_server() http_server.register_async_uri(self.CONNECT_PATH, self.connect) http_server.register_async_uri(self.CREATE_VOLUME_FROM_CACHE_PATH, self.create_root_volume) http_server.register_async_uri(self.DELETE_BITS_PATH, self.delete_bits) http_server.register_async_uri(self.GET_SUBPATH_PATH, self.get_sub_path) http_server.register_async_uri(self.CREATE_TEMPLATE_FROM_VOLUME_PATH, self.create_template_from_volume) http_server.register_async_uri(self.UPLOAD_BITS_TO_SFTP_BACKUPSTORAGE_PATH, self.upload_to_sftp) http_server.register_async_uri(self.DOWNLOAD_BITS_FROM_SFTP_BACKUPSTORAGE_PATH, self.download_from_sftp) http_server.register_async_uri(self.UPLOAD_BITS_TO_IMAGESTORE_PATH, self.upload_to_imagestore) http_server.register_async_uri(self.COMMIT_BITS_TO_IMAGESTORE_PATH, self.commit_to_imagestore) http_server.register_async_uri(self.DOWNLOAD_BITS_FROM_IMAGESTORE_PATH, self.download_from_imagestore) http_server.register_async_uri(self.REVERT_VOLUME_FROM_SNAPSHOT_PATH, self.revert_volume_from_snapshot) http_server.register_async_uri(self.MERGE_SNAPSHOT_PATH, self.merge_snapshot) http_server.register_async_uri(self.OFFLINE_MERGE_SNAPSHOT_PATH, self.offline_merge_snapshots) http_server.register_async_uri(self.CREATE_EMPTY_VOLUME_PATH, self.create_empty_volume) http_server.register_async_uri(self.CHECK_BITS_PATH, self.check_bits) http_server.register_async_uri(self.GET_VOLUME_SIZE_PATH, self.get_volume_size) http_server.register_async_uri(self.RESIZE_VOLUME_PATH, self.resize_volume) http_server.register_async_uri(self.REINIT_IMAGE_PATH, self.reinit_image) self.imagestore_client = ImageStoreClient() self.id_files = {}
def start(self): http_server = kvmagent.get_http_server() http_server.register_async_uri(self.INSTALL_TDC_PATH, self.installtdc) http_server.register_async_uri(self.DETACH_VOLUME_PATH, self.detachvolume) self.imagestore_client = ImageStoreClient()
def start(self): http_server = kvmagent.get_http_server() http_server.register_async_uri(self.VR_KVM_CREATE_BOOTSTRAP_ISO_PATH, self.create_bootstrap_iso) http_server.register_async_uri(self.VR_KVM_DELETE_BOOTSTRAP_ISO_PATH, self.delete_bootstrap_iso) http_server.register_async_uri(self.VR_KVM_SET_BOOTSTRAP_INFO_PATH, self.set_bootstrap_info)
def setUp(self): self.service = kvmagent.new_rest_service() kvmagent.get_http_server().register_sync_uri('/testcallback', self.callback) self.service.start(True) time.sleep(1)
def start(self): http_server = kvmagent.get_http_server() http_server.register_async_uri(self.COLLECTD_PATH, self.start_prometheus_exporter) self.install_colletor() start_http_server(7069)
def start(self): http_server = kvmagent.get_http_server() http_server.register_sync_uri(self.MOUNT_PATH, self.mount) http_server.register_sync_uri(self.UNMOUNT_PATH, self.umount) http_server.register_async_uri(self.CREATE_VOLUME_FROM_TEMPLATE_PATH, self.create_root_volume_from_template) http_server.register_async_uri(self.CREATE_EMPTY_VOLUME_PATH, self.create_empty_volume) http_server.register_async_uri(self.CREATE_FOLDER_PATH, self.create_folder) http_server.register_async_uri(self.DOWNLOAD_FROM_SFTP_PATH, self.download_from_sftp) http_server.register_async_uri(self.GET_CAPACITY_PATH, self.get_capacity) http_server.register_async_uri(self.DELETE_PATH, self.delete) http_server.register_async_uri(self.CREATE_TEMPLATE_FROM_VOLUME_PATH, self.create_template_from_root_volume) http_server.register_async_uri(self.CHECK_BITS_PATH, self.check_bits) http_server.register_async_uri(self.REVERT_VOLUME_FROM_SNAPSHOT_PATH, self.revert_volume_from_snapshot) http_server.register_async_uri(self.REINIT_IMAGE_PATH, self.reinit_image) http_server.register_async_uri(self.UPLOAD_TO_SFTP_PATH, self.upload_to_sftp) http_server.register_async_uri(self.UPLOAD_TO_IMAGESTORE_PATH, self.upload_to_imagestore) http_server.register_async_uri(self.COMMIT_TO_IMAGESTORE_PATH, self.commit_to_imagestore) http_server.register_async_uri(self.DOWNLOAD_FROM_IMAGESTORE_PATH, self.download_from_imagestore) http_server.register_async_uri(self.MERGE_SNAPSHOT_PATH, self.merge_snapshot) http_server.register_async_uri(self.REBASE_MERGE_SNAPSHOT_PATH, self.rebase_and_merge_snapshot) http_server.register_async_uri(self.MOVE_BITS_PATH, self.move_bits) http_server.register_async_uri(self.OFFLINE_SNAPSHOT_MERGE, self.merge_snapshot_to_volume) http_server.register_async_uri(self.REMOUNT_PATH, self.remount) http_server.register_async_uri(self.GET_VOLUME_SIZE_PATH, self.get_volume_size) http_server.register_async_uri(self.PING_PATH, self.ping) http_server.register_async_uri(self.GET_VOLUME_BASE_IMAGE_PATH, self.get_volume_base_image_path) http_server.register_async_uri(self.UPDATE_MOUNT_POINT_PATH, self.update_mount_point) http_server.register_async_uri(self.RESIZE_VOLUME_PATH, self.resize_volume) http_server.register_async_uri(self.NFS_TO_NFS_MIGRATE_BITS_PATH, self.migrate_bits) http_server.register_async_uri( self.NFS_REBASE_VOLUME_BACKING_FILE_PATH, self.rebase_volume_backing_file) http_server.register_async_uri(self.DOWNLOAD_BITS_FROM_KVM_HOST_PATH, self.download_from_kvmhost) http_server.register_async_uri( self.CANCEL_DOWNLOAD_BITS_FROM_KVM_HOST_PATH, self.cancel_download_from_kvmhost) http_server.register_async_uri( self.GET_DOWNLOAD_BITS_FROM_KVM_HOST_PROGRESS_PATH, self.get_download_bits_from_kvmhost_progress) self.mount_path = {} self.image_cache = None self.imagestore_client = ImageStoreClient()
def start(self): http_server = kvmagent.get_http_server() http_server.register_async_uri(self.SCAN_HOST_PATH, self.scan_host) http_server.register_async_uri(self.SETUP_SELF_FENCER_PATH, self.setup_self_fencer)
def start(self): http_server = kvmagent.get_http_server() http_server.register_async_uri(self.COLLECTD_PATH, self.start_collectd_exporter)
def start(self): http_server = kvmagent.get_http_server() http_server.register_async_uri(self.SECURITY_GROUP_CLEANUP_UNUSED_RULE_ON_HOST_PATH, self.cleanup_unused_rules_on_host) http_server.register_async_uri(self.SECURITY_GROUP_APPLY_RULE_PATH, self.apply_rules) http_server.register_async_uri(self.SECURITY_GROUP_REFRESH_RULE_ON_HOST_PATH, self.refresh_rules_on_host)
def start(self): self.host_uuid = None http_server = kvmagent.get_http_server() http_server.register_async_uri(self.KVM_FUSIONSTOR_QUERY_PATH, self.fusionstor_query)
def start(self): self.host_uuid = None http_server = kvmagent.get_http_server() http_server.register_sync_uri(self.CONNECT_PATH, self.connect) http_server.register_async_uri(self.PING_PATH, self.ping) http_server.register_async_uri(self.CAPACITY_PATH, self.capacity) http_server.register_sync_uri(self.ECHO_PATH, self.echo) http_server.register_async_uri( self.SETUP_MOUNTABLE_PRIMARY_STORAGE_HEARTBEAT, self.setup_heartbeat_file) http_server.register_async_uri(self.FACT_PATH, self.fact) http_server.register_async_uri(self.GET_USB_DEVICES_PATH, self.get_usb_devices) http_server.register_async_uri(self.UPDATE_OS_PATH, self.update_os) self.heartbeat_timer = {} self.libvirt_version = self._get_libvirt_version() self.qemu_version = self._get_qemu_version() filepath = r'/etc/libvirt/qemu/networks/autostart/default.xml' if os.path.exists(filepath): os.unlink(filepath) @thread.AsyncThread def wait_end_signal(): while True: try: self.queue.get(True) # the libvirt has been stopped or restarted # to prevent fd leak caused by broken libvirt connection # we have to ask mgmt server to reboot the agent url = self.config.get(kvmagent.SEND_COMMAND_URL) if not url: logger.warn( 'cannot find SEND_COMMAND_URL, unable to ask the mgmt server to reconnect us' ) os._exit(1) host_uuid = self.config.get(kvmagent.HOST_UUID) if not host_uuid: logger.warn( 'cannot find HOST_UUID, unable to ask the mgmt server to reconnect us' ) os._exit(1) logger.warn( "libvirt has been rebooted or stopped, ask the mgmt server to reconnt us" ) cmd = ReconnectMeCmd() cmd.hostUuid = host_uuid cmd.reason = "libvirt rebooted or stopped" http.json_dump_post(url, cmd, {'commandpath': '/kvm/reconnectme'}) os._exit(1) except: content = traceback.format_exc() logger.warn(content) wait_end_signal() @thread.AsyncThread def monitor_libvirt(): while True: if shell.run( 'pid=$(cat /var/run/libvirtd.pid); ps -p $pid > /dev/null' ) != 0: logger.warn( "cannot find the libvirt process, assume it's dead, ask the mgmt server to reconnect us" ) self.queue.put("exit") time.sleep(20) monitor_libvirt()