)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"b7eb2bde4896220137e94a6987246ce845514c9f","unresolved":false,"context_lines":[{"line_number":13,"context_line":"in XenServer) and also doesn\u0027t count the memory used by VMs which were"},{"line_number":14,"context_line":"booted outside of OpenStack (e.g. the compute/controller nodes running"},{"line_number":15,"context_line":"on the hosts). So scheduler may proceed instance\u0027s claiming even when"},{"line_number":16,"context_line":"there actually isn\u0027t enough free memory."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"This fix proposes to add a new method to virt drivers so they can report"},{"line_number":19,"context_line":"a dynamic reserved memory which include the memory has been used by VMs"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"3f044301_89ae652c","line":16,"updated":"2017-05-04 17:20:18.000000000","message":"This is what the CONF.reserved_host_memory_mb configuration setting is for, as mentioned on the bug report:\n\nYou need to set CONF.reserved_host_memory_mb to the amount of memory used by \"other VMs not tracked by Nova\". In the case of XenServer, the dom0 counts for a VM not tracked by Nova.","commit_id":"53d8027fad7858b391360fa47058fc5035f7a8d1"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"b7eb2bde4896220137e94a6987246ce845514c9f","unresolved":false,"context_lines":[{"line_number":19,"context_line":"a dynamic reserved memory which include the memory has been used by VMs"},{"line_number":20,"context_line":"which were booted outside of OpenStack. Resource tracker will compare it"},{"line_number":21,"context_line":"with the staticly configured reserved memory and pick up the larger one."},{"line_number":22,"context_line":"So the backward compatability will also be guaranteed."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Change-Id: I22e5a8fcea870c508f3451337e6be91371fe7aa5"},{"line_number":25,"context_line":"Closes-Bug: #1642494"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"3f044301_69ab191d","line":22,"updated":"2017-05-04 17:20:18.000000000","message":"We already have the _report_hypervisor_resource_view() function in the resource tracker that outputs what the hypervisor\u0027s idea of resource consumption is. I\u0027m not keen on adding anything into Nova that would \"dynamically\" adjust the reserved host amount.\n\nWith the new placement API, I suppose you could have an external agent that understands which VMs are not managed by Nova and updates the compute node resource provider\u0027s inventory record\u0027s reserved amounts accordingly. But, I don\u0027t think this use case is something we need to put code into the nova-compute daemon to handle.","commit_id":"53d8027fad7858b391360fa47058fc5035f7a8d1"}],"nova/tests/unit/compute/test_resource_tracker.py":[{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"07fa7d6082e1f4d518b1e56e792bc72dcff0cd48","unresolved":false,"context_lines":[{"line_number":406,"context_line":""},{"line_number":407,"context_line":""},{"line_number":408,"context_line":"def setup_rt(hostname, nodename, virt_resources\u003d_VIRT_DRIVER_AVAIL_RESOURCES,"},{"line_number":409,"context_line":"             estimate_overhead\u003doverhead_zero, host_memory_overhead\u003d0):"},{"line_number":410,"context_line":"    \"\"\"Sets up the resource tracker instance with mock fixtures."},{"line_number":411,"context_line":""},{"line_number":412,"context_line":"    :param virt_resources: Optional override of the resource representation"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a77a97e_df56d7cd","line":409,"updated":"2016-11-21 07:34:32.000000000","message":"There are no UTs that I can see that test what happens when the driver returns a non zero host_memory_overhead.\nYou should also add a UT case for when the estimated overhead is less than the CONF value, and when it\u0027s greater, to ensure that the larger of the two is used.","commit_id":"a57c754ad6fc6502656f8640e650f4d41b2e3fee"}],"nova/virt/xenapi/driver.py":[{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"07fa7d6082e1f4d518b1e56e792bc72dcff0cd48","unresolved":false,"context_lines":[{"line_number":395,"context_line":"                \u0027username\u0027: CONF.xenserver.connection_username,"},{"line_number":396,"context_line":"                \u0027password\u0027: CONF.xenserver.connection_password}"},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"    def _get_instances_memory_mb(self):"},{"line_number":399,"context_line":"        memory \u003d 0"},{"line_number":400,"context_line":"        vm_refs \u003d self._session.VM.get_all()"},{"line_number":401,"context_line":"        for vm_ref in vm_refs:"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a77a97e_7f686388","line":398,"updated":"2016-11-21 07:34:32.000000000","message":"It\u0027d be better to iterate over the VMs that Nova knows about rather than the VMs that have a nova_uuid.\nFor example, if an instance somehow got delteed from the database but not from the hypervisor then it would be removed by your loop but not get considered by the resource scheduler, thereby getting into a position where we think we can run a VM but actually we can\u0027t.","commit_id":"a57c754ad6fc6502656f8640e650f4d41b2e3fee"}]}
