package org.zstack.kvm;
import org.zstack.header.configuration.PythonClass;
import org.zstack.header.vm.VmInstanceState;
@PythonClass
public interface KVMConstant {
String SERVICE_ID = "kvm";
@PythonClass
String KVM_HYPERVISOR_TYPE = "KVM";
String KVM_CONNECT_PATH = "/host/connect";
String KVM_PING_PATH = "/host/ping";
String KVM_ECHO_PATH = "/host/echo";
String KVM_CHECK_PHYSICAL_NETWORK_INTERFACE_PATH = "/network/checkphysicalnetworkinterface";
String KVM_HOST_CAPACITY_PATH = "/host/capacity";
String KVM_HOST_FACT_PATH = "/host/fact";
String KVM_REALIZE_L2NOVLAN_NETWORK_PATH = "/network/l2novlan/createbridge";
String KVM_CHECK_L2NOVLAN_NETWORK_PATH = "/network/l2novlan/checkbridge";
String KVM_REALIZE_L2VLAN_NETWORK_PATH = "/network/l2vlan/createbridge";
String KVM_CHECK_L2VLAN_NETWORK_PATH = "/network/l2vlan/checkbridge";
String KVM_ATTACH_ISO_PATH = "/vm/iso/attach";
String KVM_DETACH_ISO_PATH = "/vm/iso/detach";
String KVM_START_VM_PATH = "/vm/start";
String KVM_STOP_VM_PATH = "/vm/stop";
String KVM_PAUSE_VM_PATH = "/vm/pause";
String KVM_RESUME_VM_PATH = "/vm/resume";
String KVM_REBOOT_VM_PATH = "/vm/reboot";
String KVM_DESTROY_VM_PATH = "/vm/destroy";
String KVM_MIGRATE_VM_PATH = "/vm/migrate";
String KVM_GET_VNC_PORT_PATH = "/vm/getvncport";
String KVM_VM_ONLINE_INCREASE_CPU = "/vm/increase/cpu";
String KVM_VM_ONLINE_INCREASE_MEMORY = "/vm/increase/mem";
String KVM_VM_SYNC_PATH = "/vm/vmsync";
String KVM_ATTACH_VOLUME = "/vm/attachdatavolume";
String KVM_DETACH_VOLUME = "/vm/detachdatavolume";
String KVM_ATTACH_NIC_PATH = "/vm/attachnic";
String KVM_DETACH_NIC_PATH = "/vm/detachnic";
String KVM_VM_CHECK_STATE = "/vm/checkstate";
String KVM_TAKE_VOLUME_SNAPSHOT_PATH = "/vm/volume/takesnapshot";
String KVM_MERGE_SNAPSHOT_PATH = "/vm/volume/mergesnapshot";
String KVM_LOGOUT_ISCSI_PATH = "/iscsi/target/logout";
String KVM_LOGIN_ISCSI_PATH = "/iscsi/target/login";
String KVM_HARDEN_CONSOLE_PATH = "/vm/console/harden";
String KVM_DELETE_CONSOLE_FIREWALL_PATH = "/vm/console/deletefirewall";
String ISO_TO = "kvm.isoto";
String ANSIBLE_PLAYBOOK_NAME = "kvm.py";
String ANSIBLE_MODULE_PATH = "ansible/kvm";
String MIN_LIBVIRT_LIVESNAPSHOT_VERSION = "1.0.0";
String MIN_QEMU_LIVESNAPSHOT_VERSION = "1.3.0";
String MIN_LIBVIRT_LIVE_BLOCK_COMMIT_VERSION = "1.2.7";
String MIN_LIBVIRT_VIRTIO_SCSI_VERSION = "1.0.4";
String KVM_REPORT_VM_STATE = "/kvm/reportvmstate";
String KVM_RECONNECT_ME = "/kvm/reconnectme";
String KVM_ANSIBLE_LOG_PATH_FROMAT = "/kvm/ansiblelog/{uuid}";
String KVM_AGENT_OWNER = "kvm";
String ALI_REPO = "ali";
String NETEASE_REPO = "163";
enum KvmVmState {
NoState,
Running,
Paused,
Shutdown,
Crashed,
Suspended;
public static KvmVmState fromVmInstanceState(VmInstanceState state) {
if (state == VmInstanceState.Running) {
return Running;
} else if (state == VmInstanceState.Stopped) {
return null;
} else if (state == VmInstanceState.Paused) {
return Paused;
} else {
return null;
}
}
public VmInstanceState toVmInstanceState() {
if (this == Running) {
return VmInstanceState.Running;
} else if (this == Shutdown) {
return VmInstanceState.Stopped;
} else if (this == Paused) {
return VmInstanceState.Paused;
} else {
return VmInstanceState.Unknown;
}
}
}
}