<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:10.0pt;
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="DE" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;mso-fareast-language:EN-US">Amazing! Thank you for the hint. The shelve function is exactly what I was looking for. I have already created a workflow architecture that describes the new functionality
 of your select_destination python function that is located in the manager.py. The manager.py can be found in the path “/usr/lib/python2.7/site-packages/nova/scheduler”.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;mso-fareast-language:EN-US">My intention is to extend the manager.py script with a priority queue. The extension will automatically look for (the best match -> hosts with most unused resources)
 unused resources to reallocate shelved VMs from the priority queue. A user is the only instance who can delete his VMs completely.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;mso-fareast-language:EN-US">For me it is important not to lose the calculations performed on these VMs by processes, when the VMs are automatically shelved by my automated extension.
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;mso-fareast-language:EN-US">The automated process knows if a user is an owner and which hosts he owns, because the host aggregate id is always selected from the description attribute of the user
 object. If this field is empty, then the user is not an owner. This is the way how my process determines the priority status of a user.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span lang="EN-US" style="font-size:12.0pt;color:black">Von:
</span></b><span lang="EN-US" style="font-size:12.0pt;color:black">Sean Mooney <smooney@redhat.com><br>
<b>Datum: </b>Dienstag, 26. Juli 2022 um 18:43<br>
<b>An: </b>Levon Melikbekjan <levonmelikbekjan@yahoo.de>, openstack@lists.openstack.org <openstack@lists.openstack.org><br>
<b>Betreff: </b>Re: Customization of scheduler manager<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span lang="EN-US" style="font-size:11.0pt">On Tue, 2022-07-26 at 15:59 +0000, Levon Melikbekjan wrote:<br>
> Hi all,<br>
> <br>
> as part of my thesis, I modified the Openstack version Train with the intention of sharing resources, which are not in use with other users to ensure maximum utilization. So far everything is working fine except for the last step. Let me first explain my
 work.<br>
> <br>
> The system works according to the following rules:<br>
> <br>
> <br>
>   1.  Users who own compute hosts within the private cloud have the highest priority on their hosts.<br>
>   2.  Users who do not own hosts within the private cloud are low priority users who can instantiate their virtual machine on unused resources (on the hosts that have an owner).<br>
>   3.  If the owner wants to use his resources that are currently occupied, the foreign VM must be suspended to free up resources for the owners VM.<br>
>   4.  An owner is a low priority user on foreign hosts.<br>
> <br>
> Everything works automatically and generically, but in step 3 I do not suspend those VMs, I delete them. I want the VMs to be suspended to be able to restart them with the intention of being able to continue processes that are paused, and I know there is
 maybe a REST API functions that provides this functionality. A user should be able to continue his work after resources become free again. It would be annoying if long-running processes were killed.<br>
> <br>
> My question is this:<br>
> Is the suspend function the right choice? Are the resources released when I use the suspend function?<br>
no the resouces are not releassed when you suspend.<br>
<br>
if i was to do this i woudl shelve the instance so that the user can unshelve it to a differnt host if needed.<br>
what you are discirbing is somthing we have previously considerd call premetible instances or spot instnaces to use aws terminology.<br>
<br>
shelve will preserve the vms ports, volumes and root disk creating a snapthot storign it to glance.<br>
<br>
when the user wants to resume there low priority instance they can unshleve it and it will go to a differnt host.<br>
<br>
note that due to how nova and placment works you cant share resouce in nova the way you are trying to do becasue placment will still prevent the<br>
oversubsctiion and in traint placment is not optional. so you will never exceed the overallocation ratio unless you have altered that by say setting<br>
it very high or not creating allcoations for the low priority instances.<br>
</span><span style="font-size:11.0pt">> <br>
> Thank you & Best regards,<br>
> <br>
> Levon Melikbekjan<o:p></o:p></span></p>
</div>
</div>
</body>
</html>