Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ public class HostCanonicalEvents {
public static final String HOST_PHYSICAL_POWER_SUPPLY_STATUS_ABNORMAL = "/host/physicalPowerSupply/status/abnormal";
public static final String HOST_PHYSICAL_GPU_REMOVE_TRIGGERED = "/host/physicalGpu/remove/triggered";
public static final String HOST_PHYSICAL_GPU_STATUS_ABNORMAL = "/host/physicalGpu/status/abnormal";
public static final String HOST_PHYSICAL_GPU_XID_ERROR = "/host/physicalGpu/xid/error";
public static final String HOST_PHYSICAL_VGPU_STATUS_ABNORMAL = "/host/physicalVGpu/status/abnormal";
public static final String HOST_PHYSICAL_RAID_STATUS_ABNORMAL = "/host/physicalRaid/status/abnormal";
public static final String HOST_PHYSICAL_HBA_STATE_ABNORMAL = "/host/physicalHBA/state/abnormal";
Expand Down Expand Up @@ -178,6 +179,46 @@ public void setStatus(String status) {
}
}

@NeedJsonSchema
public static class HostPhysicalGpuXidErrorData {
private String hostUuid;
private String pcideviceAddress;
private String xidCode;
private String message;

public String getHostUuid() {
return hostUuid;
}

public void setHostUuid(String hostUuid) {
this.hostUuid = hostUuid;
}

public String getPcideviceAddress() {
return pcideviceAddress;
}

public void setPcideviceAddress(String pcideviceAddress) {
this.pcideviceAddress = pcideviceAddress;
}

public String getXidCode() {
return xidCode;
}

public void setXidCode(String xidCode) {
this.xidCode = xidCode;
}

public String getMessage() {
return message;
}

public void setMessage(String message) {
this.message = message;
}
}

@NeedJsonSchema
public static class HostPhysicalCpuStatusAbnormalData {
private String hostUuid;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ public enum HostHardware {
MEMORY,
DISK,
GPU,
GPU_XID,
POWERSUPPLY,
FAN,
RAID,
Expand Down
41 changes: 41 additions & 0 deletions header/src/main/java/org/zstack/header/vm/VmCanonicalEvents.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ public class VmCanonicalEvents {
public static final String VM_NIC_INFO_DUPLICATE_PATH = "/vm/nicinfo/duplicate";
public static final String VM_NIC_INFO_IPRANGE_CONFLICT_PATH = "/vm/nicinfo/iprangeConflict";
public static final String VM_GPU_STATUS_ABNORMAL = "/vm/gpu/status/abnormal";
public static final String VM_GPU_XID_ERROR = "/vm/gpu/xid/error";

@NeedJsonSchema
public static class VmCrashReportData {
Expand Down Expand Up @@ -349,4 +350,44 @@ public void setStatus(String status) {
this.status = status;
}
}

@NeedJsonSchema
public static class VmGpuXidErrorData {
private String vmUuid;
private String pciDeviceAddress;
private String xidCode;
private String message;

public String getVmUuid() {
return vmUuid;
}

public void setVmUuid(String vmUuid) {
this.vmUuid = vmUuid;
}

public String getPciDeviceAddress() {
return pciDeviceAddress;
}

public void setPciDeviceAddress(String pciDeviceAddress) {
this.pciDeviceAddress = pciDeviceAddress;
}

public String getXidCode() {
return xidCode;
}

public void setXidCode(String xidCode) {
this.xidCode = xidCode;
}

public String getMessage() {
return message;
}

public void setMessage(String message) {
this.message = message;
}
}
}
39 changes: 39 additions & 0 deletions plugin/kvm/src/main/java/org/zstack/kvm/KVMAgentCommands.java
Original file line number Diff line number Diff line change
Expand Up @@ -5147,6 +5147,45 @@ public void setAdditionalProperties(Map<String, Object> additionalProperties) {
}
}

public static class VmEventAlarmCmd {
private String hostUuid;
private String vmUuid;
private String eventType;
private Map<String, String> properties = new HashMap<>();

public String getHostUuid() {
return hostUuid;
}

public void setHostUuid(String hostUuid) {
this.hostUuid = hostUuid;
}

public String getVmUuid() {
return vmUuid;
}

public void setVmUuid(String vmUuid) {
this.vmUuid = vmUuid;
}

public String getEventType() {
return eventType;
}

public void setEventType(String eventType) {
this.eventType = eventType;
}

public Map<String, String> getProperties() {
return properties;
}

public void setProperties(Map<String, String> properties) {
this.properties = properties;
}
}

public static class HostProcessPhysicalMemoryUsageAlarmCmd {
private String hostUuid;
private String pid;
Expand Down
1 change: 1 addition & 0 deletions plugin/kvm/src/main/java/org/zstack/kvm/KVMConstant.java
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,7 @@ public interface KVMConstant {
String HOST_PHYSICAL_DISK_REMOVE_ALARM_EVENT = "/host/physical/disk/remove/alarm";
String HOST_PHYSICAL_MEMORY_ECC_ERROR_ALARM_EVENT = "/host/physical/memory/ecc/error/alarm";
String HOST_PHYSICAL_GPU_REMOVE_ALARM_EVENT = "/host/physical/gpu/remove/alarm";
String HOST_VM_EVENT_ALARM = "/host/vm/event/alarm";
String HOST_STORAGEDEVICE_HBA_STATE_EVENT = "/storagedevice/hba/state/alarm";
String HOST_PROCESS_PHYSICAL_MEMORY_USAGE_ALARM_PATH = "/host/process/physicalMemory/usage/alarm";
String HOST_KVMAGENT_STATUS_PATH = "/host/kvmagent/status";
Expand Down
5 changes: 5 additions & 0 deletions plugin/kvm/src/main/java/org/zstack/kvm/KVMHostFactory.java
Original file line number Diff line number Diff line change
Expand Up @@ -723,6 +723,11 @@ public String handleSyncHttpCall(TransmitVmOperationToMnCmd cmd) {
ext.handleKvmHardwareStatus(HostHardware.GPU, cmd);
}
break;
case GPU_XID:
for (KvmHardwareStatusHandlerExtensionPoint ext : pluginRgty.getExtensionList(KvmHardwareStatusHandlerExtensionPoint.class)) {
ext.handleKvmHardwareStatus(HostHardware.GPU_XID, cmd);
}
break;
case POWERSUPPLY:
physicalPowerSupplyStatusAlarmEvent(cmd);
break;
Expand Down