Vinzenz Feenstra has uploaded a new change for review. Change subject: Report guest free/buffered/cached memory ......................................................................
Report guest free/buffered/cached memory Change-Id: I045a1592e5f83ffc439b5f3aa34ac21d41e9e27e Bug-Url: https://bugzilla.redhat.com/1024010 Signed-off-by: Vinzenz Feenstra <vfeen...@redhat.com> --- M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VM.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmDynamic.java M backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/utils/FeaturesHelper.java M backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java M backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/VmMapperTest.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsProperties.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmGeneralModelForm.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGeneralModel.java M packaging/dbscripts/create_tables.sql M packaging/dbscripts/create_views.sql A packaging/dbscripts/upgrade/03_06_0580_add_vm_dynamic_guest_mem_cached_buffered.sql M packaging/dbscripts/vms_sp.sql 15 files changed, 175 insertions(+), 13 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/54/35954/1 diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VM.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VM.java index da3995b..f431044 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VM.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VM.java @@ -1883,4 +1883,28 @@ public void setMigrateCompressed(Boolean migrateCompressed) { vmStatic.setMigrateCompressed(migrateCompressed); } + + public Long getGuestMemoryCached() { + return vmDynamic.getGuestMemoryCached(); + } + + public void setGuestMemoryCached(Long guestMemoryCached) { + vmDynamic.setGuestMemoryCached(guestMemoryCached); + } + + public Long getGuestMemoryBuffered() { + return vmDynamic.getGuestMemoryBuffered(); + } + + public void setGuestMemoryBuffered(Long guestMemoryBuffered) { + vmDynamic.setGuestMemoryBuffered(guestMemoryBuffered); + } + + public Long getGuestMemoryFree() { + return vmDynamic.getGuestMemoryFree(); + } + + public void setGuestMemoryFree(Long guestMemoryFree) { + vmDynamic.setGuestMemoryFree(guestMemoryFree); + } } diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmDynamic.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmDynamic.java index 917727b..c7829e0 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmDynamic.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmDynamic.java @@ -73,6 +73,9 @@ private String stopReason; private VmExitReason exitReason; private int guestCpuCount; + private Long guestMemoryCached; + private Long guestMemoryBuffered; + private Long guestMemoryFree; public static final String APPLICATIONS_LIST_FIELD_NAME = "appList"; public static final String STATUS_FIELD_NAME = "status"; @@ -125,6 +128,8 @@ result = prime * result + (stopReason == null ? 0 : stopReason.hashCode()); result = prime * result + exitReason.hashCode(); result = prime * result + (emulatedMachine == null ? 0 : emulatedMachine.hashCode()); + result = prime * result + (guestMemoryBuffered == null ? 0 : guestMemoryBuffered.hashCode()); + result = prime * result + (guestMemoryCached == null ? 0 : guestMemoryCached.hashCode()); return result; } @@ -183,7 +188,10 @@ && ObjectUtils.objectsEqual(currentCd, other.currentCd) && ObjectUtils.objectsEqual(stopReason, other.stopReason) && exitReason == other.exitReason - && ObjectUtils.objectsEqual(emulatedMachine, other.emulatedMachine)); + && ObjectUtils.objectsEqual(emulatedMachine, other.emulatedMachine) + && ObjectUtils.objectsEqual(guestMemoryBuffered, other.guestMemoryBuffered) + && ObjectUtils.objectsEqual(guestMemoryCached, other.guestMemoryCached) + && ObjectUtils.objectsEqual(guestMemoryFree, other.guestMemoryFree)); } public String getExitMessage() { @@ -583,4 +591,28 @@ public void setEmulatedMachine(String emulatedMachine) { this.emulatedMachine = emulatedMachine; } + + public Long getGuestMemoryCached() { + return guestMemoryCached; + } + + public void setGuestMemoryCached(Long guestMemoryCached) { + this.guestMemoryCached = guestMemoryCached; + } + + public Long getGuestMemoryBuffered() { + return guestMemoryBuffered; + } + + public void setGuestMemoryBuffered(Long guestMemoryBuffered) { + this.guestMemoryBuffered = guestMemoryBuffered; + } + + public Long getGuestMemoryFree() { + return guestMemoryFree; + } + + public void setGuestMemoryFree(Long guestMemoryFree) { + this.guestMemoryFree = guestMemoryFree; + } } diff --git a/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd b/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd index a1ad36b..5fc2a8b 100644 --- a/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd +++ b/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd @@ -3138,6 +3138,9 @@ <xs:sequence> <xs:element ref="ips" minOccurs="0" maxOccurs="1"/> <xs:element name="fqdn" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="memory_buffered" type="xs:long" minOccurs="0" maxOccurs="1"/> + <xs:element name="memory_cached" type="xs:long" minOccurs="0" maxOccurs="1"/> + <xs:element name="memory_free" type="xs:long" minOccurs="0" maxOccurs="1"/> </xs:sequence> </xs:complexType> diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/utils/FeaturesHelper.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/utils/FeaturesHelper.java index cb99831..308548c 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/utils/FeaturesHelper.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/utils/FeaturesHelper.java @@ -95,6 +95,7 @@ if (VersionUtils.greaterOrEqual(version, BackendCapabilitiesResource.VERSION_3_6)) { addExternalHostProvidersFeature(features); addOpenStackImageProvidersFeature(features); + addGuestMemoryBufferedCached(features); } return features; } @@ -536,4 +537,11 @@ feature.setDescription("Add/modify/remove OpenStack image providers."); features.getFeature().add(feature); } + + private void addGuestMemoryBufferedCached(Features features) { + Feature feature = new Feature(); + feature.setName("Guest Memory Cached/Buffered"); + feature.setDescription("Report of used cached and buffered memory in the guest OS"); + features.getFeature().add(feature); + } } diff --git a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java index 8769100..61c7f30 100644 --- a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java +++ b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java @@ -347,7 +347,10 @@ } final boolean hasIps = entity.getVmIp() != null && !entity.getVmIp().isEmpty(); final boolean hasFqdn = entity.getVmFQDN() != null && !entity.getVmFQDN().isEmpty(); - if (hasIps || hasFqdn) { + final boolean hasGuestMemBCF = entity.getGuestMemoryBuffered() != null + && entity.getGuestMemoryCached() != null + && entity.getGuestMemoryFree() != null; + if (hasIps || hasFqdn || hasGuestMemBCF) { model.setGuestInfo(new GuestInfo()); if (hasFqdn) { @@ -367,7 +370,14 @@ model.getGuestInfo().setIps(ips); } } + + if(hasGuestMemBCF) { + model.getGuestInfo().setMemoryBuffered(entity.getGuestMemoryBuffered()); + model.getGuestInfo().setMemoryCached(entity.getGuestMemoryCached()); + model.getGuestInfo().setMemoryFree(entity.getGuestMemoryFree()); + } } + if (entity.getLastStartTime() != null) { model.setStartTime(DateMapper.map(entity.getLastStartTime(), null)); } diff --git a/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/VmMapperTest.java b/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/VmMapperTest.java index 1e324a0..e3a7627 100644 --- a/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/VmMapperTest.java +++ b/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/VmMapperTest.java @@ -230,6 +230,21 @@ } @Test + public void testGuestMemoryBC() { + org.ovirt.engine.core.common.businessentities.VM vm = new org.ovirt.engine.core.common.businessentities.VM(); + VmDynamic vmDynamic = new VmDynamic(); + vmDynamic.setStatus(VMStatus.Up); + vmDynamic.setGuestMemoryBuffered(new Long(4096)); + vmDynamic.setGuestMemoryCached(new Long(8192)); + vmDynamic.setGuestMemoryFree(new Long(16384)); + vm.setDynamicData(vmDynamic); + VM map = VmMapper.map(vm, (VM) null); + assertNotNull(map.getGuestInfo().getMemoryCached()); + assertNotNull(map.getGuestInfo().getMemoryBuffered()); + assertNotNull(map.getGuestInfo().getMemoryFree()); + } + + @Test public void testDisplayPort() { org.ovirt.engine.core.common.businessentities.VM entity = new org.ovirt.engine.core.common.businessentities.VM(); diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java index 61420d2..18da4a0 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java @@ -274,6 +274,19 @@ } } + if(xmlRpcStruct.containsKey(VdsProperties.vm_guest_mem_stats)) { + Map<String, Object> sub = (Map<String, Object>)xmlRpcStruct.get(VdsProperties.vm_guest_mem_stats); + if(sub.containsKey(VdsProperties.vm_guest_mem_buffered)) { + vm.setGuestMemoryBuffered(Long.parseLong(sub.get(VdsProperties.vm_guest_mem_buffered).toString())); + } + if(sub.containsKey(VdsProperties.vm_guest_mem_cached)) { + vm.setGuestMemoryCached(Long.parseLong(sub.get(VdsProperties.vm_guest_mem_cached).toString())); + } + if(sub.containsKey(VdsProperties.vm_guest_mem_free)) { + vm.setGuestMemoryFree(Long.parseLong(sub.get(VdsProperties.vm_guest_mem_free).toString())); + } + } + if (xmlRpcStruct.containsKey(VdsProperties.exit_code)) { String exitCodeStr = xmlRpcStruct.get(VdsProperties.exit_code).toString(); vm.setExitStatus(VmExitStatus.forValue(Integer.parseInt(exitCodeStr))); diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsProperties.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsProperties.java index 3047465..558ad14 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsProperties.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsProperties.java @@ -230,6 +230,10 @@ public static final String guest_cur_user_name = "username"; public static final String VM_IP = "guestIPs"; public static final String VM_FQDN = "guestFQDN"; + public static final String vm_guest_mem_buffered = "mem_buffers"; + public static final String vm_guest_mem_cached = "mem_cached"; + public static final String vm_guest_mem_free = "mem_free"; + public static final String vm_guest_mem_stats = "memoryStats"; public static final String vm_usage_mem_percent = "memUsage"; public static final String vm_migration_progress_percent = "migrationProgress"; public static final String vm_host = "guestName"; diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java index 0a64594..f0ca588 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java @@ -471,6 +471,9 @@ @DefaultStringValue("Physical Memory Guaranteed") String physMemGauranteedVm(); + @DefaultStringValue("Guest OS Memory Free/Cached/Buffered") + String guestFreeCachedBufferedMemInfo(); + @DefaultStringValue("Number of CPU Cores") String numOfCpuCoresVm(); diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmGeneralModelForm.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmGeneralModelForm.java index 4e74816..ea0623c 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmGeneralModelForm.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmGeneralModelForm.java @@ -37,6 +37,7 @@ TextBoxLabel compatibilityVersion = new TextBoxLabel(); TextBoxLabel vmId = new TextBoxLabel(); TextBoxLabel fqdn = new TextBoxLabel(); + TextBoxLabel guestFreeCachedBufferedMemInfo = new TextBoxLabel(); BooleanLabel isHighlyAvailable; @@ -60,11 +61,18 @@ formBuilder.addFormItem(new FormItem(constants.definedMemoryVm(), definedMemory, 0, 1)); formBuilder.addFormItem(new FormItem(constants.physMemGauranteedVm(), minAllocatedMemory, 1, 1)); - formBuilder.addFormItem(new FormItem(constants.numOfCpuCoresVm(), cpuInfo, 2, 1)); - formBuilder.addFormItem(new FormItem(constants.GuestCpuCount(), guestCpuCount, 3, 1)); - formBuilder.addFormItem(new FormItem(constants.highlyAvailableVm(), isHighlyAvailable, 4, 1)); - formBuilder.addFormItem(new FormItem(constants.numOfMonitorsVm(), monitorCount, 5, 1)); - formBuilder.addFormItem(new FormItem(constants.usbPolicyVm(), usbPolicy, 6, 1)); + formBuilder.addFormItem(new FormItem(constants.guestFreeCachedBufferedMemInfo(), guestFreeCachedBufferedMemInfo, 2, 1) + .withDefaultValue(constants.notConfigured(), new DefaultValueCondition() { + @Override + public boolean showDefaultValue() { + return getModel().getGuestFreeCachedBufferedMemInfo() == null; + } + })); + formBuilder.addFormItem(new FormItem(constants.numOfCpuCoresVm(), cpuInfo, 3, 1)); + formBuilder.addFormItem(new FormItem(constants.GuestCpuCount(), guestCpuCount, 4, 1)); + formBuilder.addFormItem(new FormItem(constants.highlyAvailableVm(), isHighlyAvailable, 5, 1)); + formBuilder.addFormItem(new FormItem(constants.numOfMonitorsVm(), monitorCount, 6, 1)); + formBuilder.addFormItem(new FormItem(constants.usbPolicyVm(), usbPolicy, 7, 1)); formBuilder.addFormItem(new FormItem(constants.originVm(), origin, 0, 2)); formBuilder.addFormItem(new FormItem(constants.runOnVm(), defaultHost, 1, 2)); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGeneralModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGeneralModel.java index 65512a9..6bd374a 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGeneralModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGeneralModel.java @@ -110,6 +110,22 @@ } } + private String guestFreeCachedBufferedMemInfo; + + public String getGuestFreeCachedBufferedMemInfo() + { + return guestFreeCachedBufferedMemInfo; + } + + public void setGuestFreeCachedBufferedMemInfo(String value) + { + if (!ObjectUtils.objectsEqual(guestFreeCachedBufferedMemInfo, value)) + { + guestFreeCachedBufferedMemInfo = value; + onPropertyChanged(new PropertyChangedEventArgs("GuestFreeCachedBufferedMemInfo")); //$NON-NLS-1$ + } + } + private String minAllocatedMemory; public String getMinAllocatedMemory() @@ -560,6 +576,15 @@ setDefinedMemory(vm.getVmMemSizeMb() + " MB"); //$NON-NLS-1$ setMinAllocatedMemory(vm.getMinAllocatedMem() + " MB"); //$NON-NLS-1$ + if(vm.getGuestMemoryBuffered() != null && vm.getGuestMemoryCached() != null) { + setGuestFreeCachedBufferedMemInfo(vm.getGuestMemoryFree() + " / " // $NON-NLS-1$ + + vm.getGuestMemoryBuffered() + " / " // $NON-NLS-1$ + + vm.getGuestMemoryCached() + "KiB"); //$NON-NLS-1$ + } + else { + setGuestFreeCachedBufferedMemInfo(null); // Handled in form + } + setOS(AsyncDataProvider.getInstance().getOsName(vm.getVmOsId())); Translator translator = EnumTranslator.getInstance(); diff --git a/packaging/dbscripts/create_tables.sql b/packaging/dbscripts/create_tables.sql index 04ce154..eebfbf8 100644 --- a/packaging/dbscripts/create_tables.sql +++ b/packaging/dbscripts/create_tables.sql @@ -1086,7 +1086,10 @@ hash character varying(30), console_user_id uuid, guest_agent_nics_hash integer, - console_cur_user_name character varying(255) + console_cur_user_name character varying(255), + guest_mem_free integer DEFAULT NULL, + guest_mem_cached integer DEFAULT NULL, + guest_mem_buffered integer DEFAULT NULL ); diff --git a/packaging/dbscripts/create_views.sql b/packaging/dbscripts/create_views.sql index 24c9a11..7d8f45a 100644 --- a/packaging/dbscripts/create_views.sql +++ b/packaging/dbscripts/create_views.sql @@ -675,6 +675,7 @@ vm_dynamic.display_ip as display_ip, vm_dynamic.display_type as display_type, vm_dynamic.kvm_enable as kvm_enable, vm_dynamic.boot_sequence as boot_sequence, vm_dynamic.display_secure_port as display_secure_port, vm_dynamic.utc_diff as utc_diff, vm_dynamic.last_vds_run_on as last_vds_run_on, vm_dynamic.client_ip as client_ip,vm_dynamic.guest_requested_memory as guest_requested_memory, vm_static.time_zone as time_zone, vm_statistics.cpu_user as cpu_user, vm_statistics.cpu_sys as cpu_sys, + vm_dynamic.guest_mem_buffered as guest_mem_buffered, vm_dynamic.guest_mem_cached as guest_mem_cached, vm_dynamic.guest_mem_free as guest_mem_free, vm_statistics.memory_usage_history as memory_usage_history, vm_statistics.cpu_usage_history as cpu_usage_history, vm_statistics.network_usage_history as network_usage_history, vm_statistics.elapsed_time as elapsed_time, vm_statistics.usage_network_percent as usage_network_percent, vm_statistics.disks_usage as disks_usage, @@ -744,6 +745,7 @@ vms.is_spice_file_transfer_enabled, vms.is_spice_copy_paste_enabled, vms.cpu_profile_id, vms.is_auto_converge, vms.is_migrate_compressed + vms.guest_mem_buffered as guest_mem_buffered, vms.guest_mem_cached as guest_mem_cached, vms.guest_mem_free as guest_mem_free, FROM vms LEFT OUTER JOIN tags_vm_map_view ON vms.vm_guid = tags_vm_map_view.vm_id LEFT OUTER JOIN vm_device ON vm_device.vm_id = vms.vm_guid LEFT OUTER JOIN diff --git a/packaging/dbscripts/upgrade/03_06_0580_add_vm_dynamic_guest_mem_cached_buffered.sql b/packaging/dbscripts/upgrade/03_06_0580_add_vm_dynamic_guest_mem_cached_buffered.sql new file mode 100644 index 0000000..20c3ec3 --- /dev/null +++ b/packaging/dbscripts/upgrade/03_06_0580_add_vm_dynamic_guest_mem_cached_buffered.sql @@ -0,0 +1,3 @@ +select fn_db_add_column('vm_dynamic', 'guest_mem_free', 'INTEGER DEFAULT NULL'); +select fn_db_add_column('vm_dynamic', 'guest_mem_buffered', 'INTEGER DEFAULT NULL'); +select fn_db_add_column('vm_dynamic', 'guest_mem_cached', 'INTEGER DEFAULT NULL'); diff --git a/packaging/dbscripts/vms_sp.sql b/packaging/dbscripts/vms_sp.sql index b79b7d2..9e0315c 100644 --- a/packaging/dbscripts/vms_sp.sql +++ b/packaging/dbscripts/vms_sp.sql @@ -274,13 +274,16 @@ v_emulated_machine VARCHAR(255), v_current_cd VARCHAR(4000), v_exit_reason INTEGER, - v_guest_cpu_count INTEGER) + v_guest_cpu_count INTEGER, + v_guest_mem_free INTEGER, + v_guest_mem_buffered INTEGER, + v_guest_mem_cached INTEGER) RETURNS VOID AS $procedure$ BEGIN -INSERT INTO vm_dynamic(app_list, guest_cur_user_name, console_cur_user_name, guest_last_login_time, guest_last_logout_time, console_user_id, guest_os, migrating_to_vds, RUN_ON_VDS, status, vm_guid, vm_host, vm_ip, last_start_time, last_stop_time, vm_pid, display, acpi_enable, session, display_ip, display_type, kvm_enable, boot_sequence, display_secure_port, utc_diff, last_vds_run_on, client_ip, guest_requested_memory, hibernation_vol_handle,exit_status,pause_status,exit_message, guest_agent_nics_hash, last_watchdog_event, last_watchdog_action, is_run_once, vm_fqdn, cpu_name, emulated_machine, current_cd, exit_reason, guest_cpu_count) +INSERT INTO vm_dynamic(app_list, guest_cur_user_name, console_cur_user_name, guest_last_login_time, guest_last_logout_time, console_user_id, guest_os, migrating_to_vds, RUN_ON_VDS, status, vm_guid, vm_host, vm_ip, last_start_time, last_stop_time, vm_pid, display, acpi_enable, session, display_ip, display_type, kvm_enable, boot_sequence, display_secure_port, utc_diff, last_vds_run_on, client_ip, guest_requested_memory, hibernation_vol_handle,exit_status,pause_status,exit_message, guest_agent_nics_hash, last_watchdog_event, last_watchdog_action, is_run_once, vm_fqdn, cpu_name, emulated_machine, current_cd, exit_reason, guest_cpu_count, guest_mem_buffered, guest_mem_cached, guest_mem_free) VALUES(v_app_list, v_guest_cur_user_name, v_console_cur_user_name, v_guest_last_login_time, v_guest_last_logout_time, v_console_user_id, v_guest_os, v_migrating_to_vds, v_run_on_vds, v_status, v_vm_guid, v_vm_host, v_vm_ip, v_last_start_time, v_last_stop_time, v_vm_pid, v_display, v_acpi_enable, v_session, v_display_ip, v_display_type, v_kvm_enable, v_boot_sequence, v_display_secure_port, v_utc_diff, v_last_vds_run_on, v_client_ip, v_guest_requested_memory, v_hibernation_vol_handle, v_exit_status, v_pause_status, v_exit_message, v_guest_agent_nics_hash, v_last_watchdog_event, v_last_watchdog_action, v_is_run_once, v_vm_fqdn, v_cpu_name, v_emulated_machine, v_current_cd, v_exit_reason, - v_guest_cpu_count); + v_guest_cpu_count, v_guest_mem_buffered, v_guest_mem_cached, v_guest_mem_free); END; $procedure$ LANGUAGE plpgsql; @@ -329,7 +332,10 @@ v_current_cd VARCHAR(4000), v_reason VARCHAR(4000), v_exit_reason INTEGER, - v_guest_cpu_count INTEGER) + v_guest_cpu_count INTEGER, + v_guest_mem_buffered INTEGER, + v_guest_mem_free INTEGER, + v_guest_mem_cached INTEGER) RETURNS VOID --The [vm_dynamic] table doesn't have a timestamp column. Optimistic concurrency logic cannot be generated @@ -357,7 +363,10 @@ current_cd = v_current_cd, reason = v_reason, exit_reason = v_exit_reason, - guest_cpu_count = v_guest_cpu_count + guest_cpu_count = v_guest_cpu_count, + guest_mem_bufered = v_guest_mem_buffered, + guest_mem_free = v_guest_mem_free, + guest_mem_cached = v_guest_mem_cached, WHERE vm_guid = v_vm_guid; END; $procedure$ LANGUAGE plpgsql; -- To view, visit http://gerrit.ovirt.org/35954 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I045a1592e5f83ffc439b5f3aa34ac21d41e9e27e Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Vinzenz Feenstra <vfeen...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches