示例#1
0
    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
示例#2
0
    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)
示例#7
0
    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()
示例#8
0
 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()
示例#10
0
 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)
示例#13
0
    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)
示例#14
0
    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)
示例#15
0
 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)
示例#16
0
 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)
示例#17
0
    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
示例#19
0
    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
示例#20
0
    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
示例#22
0
    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()
示例#25
0
 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)
示例#27
0
    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)
示例#28
0
 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)
示例#29
0
 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()
示例#30
0
 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.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)
示例#32
0
 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)
示例#35
0
 def start(self):
     http_server = kvmagent.get_http_server()
     http_server.register_async_uri(self.COLLECTD_PATH, self.start_collectd_exporter)
示例#36
0
 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)
示例#37
0
    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()