<html xmlns:v="urn:schemas-microsoft-com:vml" 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=utf-8">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@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;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
{font-family:"\@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:华文细黑;
panose-1:2 1 6 0 4 1 1 1 1 1;}
@font-face
{font-family:"\@华文细黑";
panose-1:2 1 6 0 4 1 1 1 1 1;}
@font-face
{font-family:"Segoe UI";
panose-1:2 11 5 2 4 2 4 2 2 3;}
@font-face
{font-family:o365IconsIE8;}
@font-face
{font-family:o365IconsMouse;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p
{mso-style-priority:99;
margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
pre
{mso-style-priority:99;
mso-style-link:"HTML 预设格式 Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
{mso-style-priority:99;
mso-style-link:"批注框文本 Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:8.0pt;
font-family:"Tahoma","sans-serif";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:36.0pt;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
span.HTMLChar
{mso-style-name:"HTML 预设格式 Char";
mso-style-priority:99;
mso-style-link:"HTML 预设格式";
font-family:"Courier New";}
span.Char
{mso-style-name:"批注框文本 Char";
mso-style-priority:99;
mso-style-link:批注框文本;
font-family:宋体;}
p.ms-cui-menu, li.ms-cui-menu, div.ms-cui-menu
{mso-style-name:ms-cui-menu;
mso-style-priority:99;
margin:0cm;
margin-bottom:.0001pt;
background:white;
font-size:11.0pt;
font-family:"Segoe UI","sans-serif";
color:#333333;}
p.ms-cui-menusection-title, li.ms-cui-menusection-title, div.ms-cui-menusection-title
{mso-style-name:ms-cui-menusection-title;
mso-style-priority:99;
margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";
display:none;}
p.ms-cui-ctl, li.ms-cui-ctl, div.ms-cui-ctl
{mso-style-name:ms-cui-ctl;
mso-style-priority:99;
margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";
color:#333333;}
p.ms-cui-ctl-on, li.ms-cui-ctl-on, div.ms-cui-ctl-on
{mso-style-name:ms-cui-ctl-on;
mso-style-priority:99;
margin:0cm;
margin-bottom:.0001pt;
background:#DFEDFA;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
p.ms-cui-img-cont-float, li.ms-cui-img-cont-float, div.ms-cui-img-cont-float
{mso-style-name:ms-cui-img-cont-float;
mso-style-priority:99;
margin-top:1.5pt;
margin-right:0cm;
margin-bottom:0cm;
margin-left:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
p.ms-cui-smenu-inner, li.ms-cui-smenu-inner, div.ms-cui-smenu-inner
{mso-style-name:ms-cui-smenu-inner;
mso-style-priority:99;
margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
p.ms-owa-paste-option-icon, li.ms-owa-paste-option-icon, div.ms-owa-paste-option-icon
{mso-style-name:ms-owa-paste-option-icon;
mso-style-priority:99;
margin-top:1.5pt;
margin-right:3.0pt;
margin-bottom:0cm;
margin-left:3.0pt;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";
vertical-align:sub;}
p.ms-rtepasteflyout-option, li.ms-rtepasteflyout-option, div.ms-rtepasteflyout-option
{mso-style-name:ms-rtepasteflyout-option;
mso-style-priority:99;
margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
p.ms-cui-menusection, li.ms-cui-menusection, div.ms-cui-menusection
{mso-style-name:ms-cui-menusection;
mso-style-priority:99;
margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
p.wf, li.wf, div.wf
{mso-style-name:wf;
mso-style-priority:99;
margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
p.wf-family-owa, li.wf-family-owa, div.wf-family-owa
{mso-style-name:wf-family-owa;
mso-style-priority:99;
margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:o365IconsMouse;}
p.wf-owa-play-large, li.wf-owa-play-large, div.wf-owa-play-large
{mso-style-name:wf-owa-play-large;
mso-style-priority:99;
margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
p.wf-size-play-large, li.wf-size-play-large, div.wf-size-play-large
{mso-style-name:wf-size-play-large;
mso-style-priority:99;
margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
p.wf-family-owa1, li.wf-family-owa1, div.wf-family-owa1
{mso-style-name:wf-family-owa1;
mso-style-priority:99;
margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:o365IconsIE8;}
p.wf-owa-play-large1, li.wf-owa-play-large1, div.wf-owa-play-large1
{mso-style-name:wf-owa-play-large1;
mso-style-priority:99;
margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";
color:white;}
p.wf-owa-play-large2, li.wf-owa-play-large2, div.wf-owa-play-large2
{mso-style-name:wf-owa-play-large2;
mso-style-priority:99;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:12.0pt;
font-family:"Times New Roman","serif";
color:white;}
p.wf-size-play-large1, li.wf-size-play-large1, div.wf-size-play-large1
{mso-style-name:wf-size-play-large1;
mso-style-priority:99;
margin:0cm;
margin-bottom:.0001pt;
font-size:22.5pt;
font-family:"Times New Roman","serif";}
p.wf-size-play-large2, li.wf-size-play-large2, div.wf-size-play-large2
{mso-style-name:wf-size-play-large2;
mso-style-priority:99;
margin:0cm;
margin-bottom:.0001pt;
font-size:22.5pt;
font-family:"Times New Roman","serif";}
span.EmailStyle41
{mso-style-type:personal;
font-family:"Arial","sans-serif";
color:black;
font-weight:normal;
font-style:normal;}
p.PrformatHTML, li.PrformatHTML, div.PrformatHTML
{mso-style-name:"Préformaté HTML";
mso-style-link:"Préformaté HTML Car";
margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
span.PrformatHTMLCar
{mso-style-name:"Préformaté HTML Car";
mso-style-priority:99;
mso-style-link:"Préformaté HTML";
font-family:Consolas;}
p.Textedebulles, li.Textedebulles, div.Textedebulles
{mso-style-name:"Texte de bulles";
mso-style-link:"Texte de bulles Car";
margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
span.TextedebullesCar
{mso-style-name:"Texte de bulles Car";
mso-style-priority:99;
mso-style-link:"Texte de bulles";
font-family:"Tahoma","sans-serif";}
span.EmailStyle46
{mso-style-type:personal;
font-family:"Arial","sans-serif";
color:black;
font-weight:normal;
font-style:normal;}
span.EmailStyle47
{mso-style-type:personal-reply;
font-family:"Calibri","sans-serif";
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:562837415;
mso-list-type:hybrid;
mso-list-template-ids:-14367710 -105722318 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
@list l0:level1
{mso-level-start-at:3;
mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:53.4pt;
text-indent:-18.0pt;
mso-ansi-font-size:12.0pt;
font-family:Wingdings;
mso-fareast-font-family:Calibri;
mso-bidi-font-family:"Times New Roman";
color:windowtext;}
@list l0:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:89.4pt;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l0:level3
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:125.4pt;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l0:level4
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:161.4pt;
text-indent:-18.0pt;
font-family:Symbol;}
@list l0:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:197.4pt;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l0:level6
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:233.4pt;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l0:level7
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:269.4pt;
text-indent:-18.0pt;
font-family:Symbol;}
@list l0:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:305.4pt;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l0:level9
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:341.4pt;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l1
{mso-list-id:920062328;
mso-list-type:hybrid;
mso-list-template-ids:-1878756118 -255961220 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
@list l1:level1
{mso-level-start-at:2;
mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:53.4pt;
text-indent:-18.0pt;
font-family:Wingdings;
mso-fareast-font-family:Calibri;
mso-bidi-font-family:"Times New Roman";}
@list l1:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:89.4pt;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l1:level3
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:125.4pt;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l1:level4
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:161.4pt;
text-indent:-18.0pt;
font-family:Symbol;}
@list l1:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:197.4pt;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l1:level6
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:233.4pt;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l1:level7
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:269.4pt;
text-indent:-18.0pt;
font-family:Symbol;}
@list l1:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:305.4pt;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l1:level9
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:341.4pt;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l2
{mso-list-id:1003049695;
mso-list-type:hybrid;
mso-list-template-ids:13284550 8583636 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
@list l2:level1
{mso-level-start-at:15;
mso-level-number-format:bullet;
mso-level-text:-;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Calibri","sans-serif";
mso-fareast-font-family:"Times New Roman";
mso-bidi-font-family:"Times New Roman";}
@list l2:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l2:level3
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l2:level4
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
@list l2:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l2:level6
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l2:level7
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
@list l2:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l2:level9
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l3
{mso-list-id:1317566395;
mso-list-type:hybrid;
mso-list-template-ids:278404720 67895313 67895321 67895323 67895311 67895321 67895323 67895311 67895321 67895323;}
@list l3:level1
{mso-level-text:"%1\)";
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:18.0pt;
text-indent:-18.0pt;}
@list l3:level2
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:54.0pt;
text-indent:-18.0pt;}
@list l3:level3
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
margin-left:90.0pt;
text-indent:-9.0pt;}
@list l3:level4
{mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:126.0pt;
text-indent:-18.0pt;}
@list l3:level5
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:162.0pt;
text-indent:-18.0pt;}
@list l3:level6
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
margin-left:198.0pt;
text-indent:-9.0pt;}
@list l3:level7
{mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:234.0pt;
text-indent:-18.0pt;}
@list l3:level8
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:270.0pt;
text-indent:-18.0pt;}
@list l3:level9
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
margin-left:306.0pt;
text-indent:-9.0pt;}
@list l4
{mso-list-id:2057510848;
mso-list-type:hybrid;
mso-list-template-ids:-1279853874 1263277570 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
@list l4:level1
{mso-level-start-at:15;
mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:21.0pt;
text-indent:-18.0pt;
font-family:Wingdings;
mso-fareast-font-family:Calibri;
mso-bidi-font-family:"Times New Roman";}
@list l4:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:57.0pt;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l4:level3
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:93.0pt;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l4:level4
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:129.0pt;
text-indent:-18.0pt;
font-family:Symbol;}
@list l4:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:165.0pt;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l4:level6
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:201.0pt;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l4:level7
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:237.0pt;
text-indent:-18.0pt;
font-family:Symbol;}
@list l4:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:273.0pt;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l4:level9
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:309.0pt;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l5
{mso-list-id:2089838726;
mso-list-type:hybrid;
mso-list-template-ids:1020826036 -105722318 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l5:level1
{mso-level-start-at:3;
mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:21.0pt;
text-indent:-21.0pt;
mso-ansi-font-size:12.0pt;
font-family:Wingdings;
mso-fareast-font-family:Calibri;
mso-bidi-font-family:"Times New Roman";
color:windowtext;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="ZH-CN" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Hi Ruby,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D"> I agree with you on your point below<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">
</span><i><span lang="EN-US" style="font-size:8.0pt;font-family:"Arial","sans-serif";color:black">The policy (warning) : when will it be evaluated? This should be done periodically? Then if the table has even one True entry, then the action should be to generate
the LP, solve, activate the migrations etc.<o:p></o:p></span></i></p>
<p class="MsoListParagraph" style="margin-left:21.0pt;text-indent:-21.0pt;mso-list:l5 level1 lfo11">
<![if !supportLists]><span lang="EN-US" style="font-family:Wingdings"><span style="mso-list:Ignore">ð<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><i><span lang="EN-US" style="font-size:8.0pt;font-family:"Arial","sans-serif";color:black">The “LP” cannot be generated when the VM-placement engine receives the policy snippet</span></i><i><span lang="EN-US" style="font-size:9.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p></o:p></span></i></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D"> When we give multiple constraints and want get out solutions which meet all the constraints, for example VM-Placement, there may cause a
large amount of choices to be checked and filter. In theory, this kind of problem belongs to NPC/NP hard. Normally, quite a lot methods use SAT solver to do the work.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D"> I want to introduce Rule-X BP proposal of congress a little here. It is some kind of enhanced SAT solver which designed to solve this kind
of problem.<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:9.6pt"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D"><a href="https://blueprints.launchpad.net/congress/+spec/rule-x">https://blueprints.launchpad.net/congress/+spec/rule-x</a><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:9.6pt"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">We are planning give a presentation on the upcoming openstack summit in May,vancouver. Present by John Strassner. Hope
you are interest in it.<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:9.6pt"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Best Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Oliver<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt;font-family:"Calibri","sans-serif";color:#1F497D">---------------------------<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align:justify;text-justify:inter-ideograph"><span lang="EN-US" style="font-size:8.0pt;font-family:"Calibri","sans-serif";color:black">Huangyong (Oliver)<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align:justify;text-justify:inter-ideograph"><span lang="EN-US" style="font-size:8.0pt;font-family:"Calibri","sans-serif";color:black">Network research, Huawei</span><span lang="EN-US" style="font-size:8.0pt;font-family:"Calibri","sans-serif";color:black"><o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> ruby.krishnaswamy@orange.com [mailto:ruby.krishnaswamy@orange.com]
<br>
<b>Sent:</b> Friday, February 27, 2015 10:41 PM<br>
<b>To:</b> OpenStack Development Mailing List (not for usage questions)<br>
<b>Subject:</b> Re: [openstack-dev] [Congress][Delegation] Initial workflow design<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">My first suggestion: why don’t we set up call together with Ramki, Yathi, Debo, as soon as possible ?<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-18.0pt;mso-list:l2 level1 lfo2"><![if !supportLists]><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><span style="mso-list:Ignore">-<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">How to go forward concretely with the 8 steps for the PoC (details within each step),<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:72.0pt;text-indent:-18.0pt;mso-list:l2 level2 lfo2">
<![if !supportLists]><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New";color:black"><span style="mso-list:Ignore">o<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">Including nova integration points<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-18.0pt;mso-list:l2 level1 lfo2"><![if !supportLists]><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><span style="mso-list:Ignore">-<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">Identify “friction points” in the details above to resolve for beyond PoC<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">Tim: Where does the rest of the program originate? I’m not saying the entire LP program is generated from the Datalog constraints; some of it is
generated by the solver independent of the Datalog. In the text, I gave the example of defining hMemUse[j].<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">Tim: The VM-placement engine does 2 things: (I) translates Datalog to LP and (ii) generates additional LP constraints. (Both work items could leverage
any constraints that are builtin to a specific solver, e.g. the solver-scheduler. The point is that there are 2 distinct, conceptual origins of the LP constraints: those that represent the Datalog and those that codify the domain.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">Tim: Each domain-specific solver can do whatever it wants, so it’s not clear to me what the value of choosing a modeling language actually is—unless
we want to build a library of common functionality that makes the construction of domain-specific engine (wrappers) easier. I’d prefer to spend our energy understanding whether the proposed workflow/interface works for a couple of different domain-specific
policy engines OR to flush this one out and build it.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"><o:p> </o:p></span></p>
<p class="MsoListParagraph"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"><o:p> </o:p></span></p>
<p class="MsoListParagraph" style="margin-left:21.0pt;text-indent:-18.0pt;mso-list:l4 level1 lfo4">
<![if !supportLists]><span lang="EN-US" style="font-size:10.0pt;font-family:Wingdings;color:black"><span style="mso-list:Ignore">ð<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">The value of choosing a modeling language is related to how “best to automate translations” from Datalog constraints (to LP)?<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:57.0pt;text-indent:-18.0pt;mso-list:l4 level2 lfo4">
<![if !supportLists]><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-list:Ignore">o<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">We can have look for one unique way of generation, and not, “some of it is generated by the VM-placement engine
<s>solver</s> independent of the Datalog”.<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:57.0pt;text-indent:-18.0pt;mso-list:l4 level2 lfo4">
<![if !supportLists]><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-list:Ignore">o<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">Datalog imposes most constraints (== policies)<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:57.0pt;text-indent:-18.0pt;mso-list:l4 level2 lfo4">
<![if !supportLists]><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-list:Ignore">o<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">Two constraints are not “policies”<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:93.0pt;text-indent:-18.0pt;mso-list:l4 level3 lfo4">
<![if !supportLists]><span lang="EN-US" style="font-size:10.0pt;font-family:Wingdings;color:black"><span style="mso-list:Ignore">§<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">A VM is allocated to only one host.<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:93.0pt;text-indent:-18.0pt;mso-list:l4 level3 lfo4">
<![if !supportLists]><span lang="EN-US" style="font-size:10.0pt;font-family:Wingdings;color:black"><span style="mso-list:Ignore">§<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">Host capacity is not exceeded.<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:129.0pt;text-indent:-18.0pt;mso-list:l4 level4 lfo4">
<![if !supportLists]><span lang="EN-US" style="font-size:10.0pt;font-family:Symbol;color:black"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">Over subscription
<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:21.0pt;text-indent:-18.0pt;mso-list:l4 level1 lfo4">
<![if !supportLists]><span lang="EN-US" style="font-size:10.0pt;font-family:Wingdings;color:black"><span style="mso-list:Ignore">ð<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">Otherwise what was your suggestion? As follows?<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:57.0pt;text-indent:-18.0pt;mso-list:l4 level2 lfo4">
<![if !supportLists]><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-list:Ignore">o<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">Use framework (extend) the nova-solver-scheduler currently implements (itself using PuLP). This framework specifies an API to write constraints
and cost functions (in a domain specific way). Modifying this framework:<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:93.0pt;text-indent:-18.0pt;mso-list:l4 level3 lfo4">
<![if !supportLists]><span lang="EN-US" style="font-size:10.0pt;font-family:Wingdings;color:black"><span style="mso-list:Ignore">§<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">To read data in from DSE<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:93.0pt;text-indent:-18.0pt;mso-list:l4 level3 lfo4">
<![if !supportLists]><span lang="EN-US" style="font-size:10.0pt;font-family:Wingdings;color:black"><span style="mso-list:Ignore">§<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">To obtain the cost function from Datalog (e.g. minimize Y[host1]…)<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:93.0pt;text-indent:-18.0pt;mso-list:l4 level3 lfo4">
<![if !supportLists]><span lang="EN-US" style="font-size:10.0pt;font-family:Wingdings;color:black"><span style="mso-list:Ignore">§<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">To obtain Datalog constraints (e.g. <75% memory allocation constraint for hosts of special zone)<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:57.0pt;text-indent:-18.0pt;mso-list:l4 level2 lfo4">
<![if !supportLists]><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-list:Ignore">o<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">We need to specify the “format” for this? It will likely to be a string of the form (?)<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:93.0pt;text-indent:-18.0pt;mso-list:l4 level3 lfo4">
<![if !supportLists]><span lang="EN-US" style="font-size:10.0pt;font-family:Wingdings;color:black"><span style="mso-list:Ignore">§<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">“hMemUse[0] – 0.75*hMemCap[0] < 100*y[0], “ Memory allocation constraint on Host 0“,
<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:21.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"><o:p> </o:p></span></p>
<p class="MsoListParagraph" style="margin-left:21.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"><o:p> </o:p></span></p>
<p class="MsoListParagraph" style="margin-left:35.4pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"><o:p> </o:p></span></p>
<p class="MsoListParagraph" style="margin-left:35.4pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"><o:p> </o:p></span></p>
<p class="MsoListParagraph" style="margin-left:35.4pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"><o:p> </o:p></span></p>
<p class="MsoListParagraph" style="margin-left:21.0pt;text-indent:-18.0pt;mso-list:l4 level1 lfo4">
<![if !supportLists]><span lang="EN-US" style="font-size:10.0pt;font-family:Wingdings;color:black"><span style="mso-list:Ignore">ð<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">From your doc (page 5, section 4)<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:21.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New"">warning(id) :-</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New""> nova:host(id, name, service, zone, memory_capacity),</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New""> legacy:special_zone(zone),</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New""> ceilometer:statistics(id, "memory", avg, count, duration,
</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:36.0pt;text-indent:36.0pt"><span lang="EN-US" style="font-family:"Courier New"">durstart, durend, max, min, period, perstart, perend,
</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:72.0pt"><span lang="EN-US" style="font-family:"Courier New"">sum, unit),</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New""> avg > 0.75 * memory_capacity</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoListParagraph" style="margin-left:21.0pt"><span lang="EN-US">Notice that this is a soft constraint, identified by the use of
</span><span lang="EN-US" style="font-family:"Courier New"">warning</span><span lang="EN-US"> instead of
</span><span lang="EN-US" style="font-family:"Courier New"">error</span><span lang="EN-US">. When compiling to LP, the VM-placement engine will attempt to minimize the number of rows in the
</span><span lang="EN-US" style="font-family:"Courier New"">warning</span><span lang="EN-US"> table. That is, for each possible row
</span><span lang="EN-US" style="font-family:"Courier New"">r</span><span lang="EN-US"> it will create a variable
</span><span lang="EN-US" style="font-family:"Courier New"">Y[r]</span><span lang="EN-US"> and assign it True if the row is a warning and False otherwise</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:21.0pt;text-indent:14.4pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">
<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:21.0pt;text-indent:14.4pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">The policy (warning) : when will it be evaluated? This should be done periodically? Then if the table has even one True entry, then the action should
be to generate the LP, solve, activate the migrations etc.<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:21.0pt;text-indent:-18.0pt;mso-list:l4 level1 lfo4">
<![if !supportLists]><span lang="EN-US" style="font-size:10.0pt;font-family:Wingdings;color:black"><span style="mso-list:Ignore">ð<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">The “LP” cannot be generated when the VM-placement engine receives the policy snippet.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">Ruby<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">De :</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Tim Hinrichs [<a href="mailto:thinrichs@vmware.com">mailto:thinrichs@vmware.com</a>]
<br>
<b>Envoyé :</b> jeudi 26 février 2015 19:17<br>
<b>À :</b> OpenStack Development Mailing List (not for usage questions)<br>
<b>Objet :</b> Re: [openstack-dev] [Congress][Delegation] Initial workflow design<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">Inline.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="FR" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:black">From:
</span></b><span lang="FR" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:black">"<a href="mailto:ruby.krishnaswamy@orange.com">ruby.krishnaswamy@orange.com</a>" <<a href="mailto:ruby.krishnaswamy@orange.com">ruby.krishnaswamy@orange.com</a>><br>
<b>Reply-To: </b>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>><br>
<b>Date: </b>Wednesday, February 25, 2015 at 8:53 AM<br>
<b>To: </b>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>><br>
<b>Subject: </b>Re: [openstack-dev] [Congress][Delegation] Initial workflow design<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">Hi Tim, All,</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:18.0pt;text-indent:-18.0pt;mso-list:l3 level1 lfo6">
<![if !supportLists]><span lang="FR" style="color:black"><span style="mso-list:Ignore">1)<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">Step 3: The VM-placement engine is also a “datalog engine” . Right?</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">When policies are delegated:
</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:18.0pt;text-indent:17.4pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">when policies are inserted? When the VM-placement engine has already registered itself all policies
are given to it?</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:18.0pt;text-indent:17.4pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">
</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:18.0pt;text-indent:17.4pt"><span lang="EN-US" style="color:black">“In our example, this would mean the domain-specific policy engine executes the following API call over the DSE”</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:53.4pt;text-indent:-18.0pt;mso-list:l0 level1 lfo8">
<![if !supportLists]><span lang="FR" style="font-family:Wingdings"><span style="mso-list:Ignore">ð<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="color:black">“domain-agnostic” ….</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">Done.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoListParagraph" style="margin-left:18.0pt;text-indent:-18.0pt;mso-list:l3 level1 lfo6">
<![if !supportLists]><span lang="FR" style="color:black"><span style="mso-list:Ignore">2)<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">Step 4:</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">Ok</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">But finally: if Congress will likely “delegate”
</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">Not sure what you’re suggesting here.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoListParagraph" style="margin-left:18.0pt;text-indent:-18.0pt;mso-list:l3 level1 lfo6">
<![if !supportLists]><span lang="FR" style="color:black"><span style="mso-list:Ignore">3)<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">Step 5: Compilation of subpolicy to LP in VM-placement engine</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:35.4pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">For the PoC, it is likely that the LP program ( in PuLP or some other ML) is *<b>not</b>* completely generated by
compiler/translator.</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:53.4pt;text-indent:-18.0pt;mso-list:l1 level1 lfo10">
<![if !supportLists]><span lang="FR" style="font-family:Wingdings;color:black"><span style="mso-list:Ignore">ð<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">Right?</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">Where does the rest of the program originate? I’m not saying the entire LP program is generated from the Datalog constraints; some of it is generated
by the solver independent of the Datalog. In the text, I gave the example of defining hMemUse[j].<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> You also indicate that some category of constraints (“</span><span lang="EN-US" style="color:black">the LP solver doesn’t
know what the relationship between assign[i][j], hMemUse[j], and vMemUse[i] actually is, so the VM-placement engine must also include constraints”) .</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="color:black"> </span><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">These constraints must be “explicitly” written?</span><span lang="EN-US" style="color:black">
</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">(e.g. max_ram_allocation etc that are constraints used in the solver-scheduler’s package).</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">The VM-placement engine does 2 things: (I) translates Datalog to LP and (ii) generates additional LP constraints. (Both work items could leverage any
constraints that are builtin to a specific solver, e.g. the solver-scheduler. The point is that there are 2 distinct, conceptual origins of the LP constraints: those that represent the Datalog and those that codify the domain.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> So what “parts” will be generated:
</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> Cost function :
</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> Constraint from Policy : memory usage < 75%
</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">
</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> Then the rest should be “filled” up?</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> Could we convene on an intermediary “modeling language”?</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> @Yathi: do you think we could use some thing like AMPL ? Is this proprietary?</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> A detail: the example “</span><span lang="EN-US" style="font-family:"Courier New";color:black">Y[host1] = hMemUse[host1] > 0.75 * hMemCap[host1]</span><span lang="EN-US" style="color:black">”</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:53.4pt;text-indent:-18.0pt;mso-list:l1 level1 lfo10">
<![if !supportLists]><span lang="FR" style="font-family:Wingdings;color:black"><span style="mso-list:Ignore">ð<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">To be changed to a linear form (mi – Mi > 0 then Yi = 1 else Yi = 0) so something like (mi – Mi) < 100 yi</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">Each domain-specific solver can do whatever it wants, so it’s not clear to me what the value of choosing a modeling language actually is—unless we want
to build a library of common functionality that makes the construction of domain-specific engine (wrappers) easier. I’d prefer to spend our energy understanding whether the proposed workflow/interface works for a couple of different domain-specific policy
engines OR to flush this one out and build it.<o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:18.0pt;text-indent:-18.0pt;mso-list:l3 level1 lfo6">
<![if !supportLists]><span lang="FR" style="color:black"><span style="mso-list:Ignore">4)<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">Step 6: This is completely internal to the VM-placement engine (and we could say this is “transparent” to Congress)</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">We should allow configuration of a solver (this itself could be a policy
</span><span lang="EN-US" style="font-size:10.0pt;font-family:Wingdings;color:black">J</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> )</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">How to invoke the solver API ? </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">The domain-specific placement engine could send out to DSE (action_handler: data)?</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">I had always envisioned the solver being just a library of code—not an entity that sits on the DSE itself. <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">3) Step 7 : Perform the migrations (according to the assignments computed in the step 6)</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> This part invokes OpenStack API (to perform migrations).</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> We may suppose that there are services implementing “action handlers”?</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> It can listen on the DSE and execute the action.</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">That interface is supposed to exist by the Kilo release. I’ll check up on the progress.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoListParagraph" style="margin-left:18.0pt;text-indent:-18.0pt;mso-list:l3 level1 lfo6">
<![if !supportLists]><span lang="FR" style="color:black"><span style="mso-list:Ignore">5)<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">Nova tables to use</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">Policy
</span><span lang="EN-US" style="font-family:"Courier New";color:black">warning(id) :-</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-US" style="font-family:"Courier New";color:black"> nova:host(id, name, service, zone, memory_capacity),</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-US" style="font-family:"Courier New";color:black"> legacy:special_zone(zone),</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-US" style="font-family:"Courier New";color:black"> ceilometer:statistics(id, "memory", avg, count, duration,</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:180.0pt"><span lang="EN-US" style="font-family:"Courier New";color:black"> durstart, durend, max, min, period,</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:180.0pt;text-indent:36.0pt"><span lang="EN-US" style="font-family:"Courier New";color:black">perstart, perend, sum, unit),</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-US" style="font-family:"Courier New";color:black"> avg > 0.75 * memory_capacity</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">I believe that ceilometer gives usage of VMs and not hosts. The host table (ComputeNode table) should give current
used capacity. </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">Good to know. <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoListParagraph" style="margin-left:18.0pt;text-indent:-18.0pt;mso-list:l3 level1 lfo6">
<![if !supportLists]><span lang="FR" style="color:black"><span style="mso-list:Ignore">6)<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">One of the issues highlighted in OpenStack (scheduler) and also elsewhere (e.g. Omega scheduler by google) is :</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">Reading “host utilization” state from the data bases and DB (nova:host table) updates and overhead of maintaining
in-memory state uptodate.</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:53.4pt;text-indent:-18.0pt;mso-list:l1 level1 lfo10">
<![if !supportLists]><span lang="FR" style="font-family:Wingdings;color:black"><span style="mso-list:Ignore">ð<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">This is expensive and current nova-scheduler does face this issue (many blogs/discussions).</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> While the first goal is a PoC, this will likely become a concern in terms of adoption.</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">So you’re saying we won’t have fresh enough data to make policy decisions? If the data changes so frequently that we can’t get an accurate view, then
I’m guessing we shouldn’t be migrating based on that data anyway.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">Could you point me to some of these discussions?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoListParagraph" style="margin-left:18.0pt;text-indent:-18.0pt;mso-list:l3 level1 lfo6">
<![if !supportLists]><span lang="FR" style="color:black"><span style="mso-list:Ignore">7)<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">While in this document you have changed the “example” policy, could we drill down the set of policies for the PoC (the server under utilization
?)</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:53.4pt;text-indent:-18.0pt;mso-list:l1 level1 lfo10">
<![if !supportLists]><span lang="FR" style="font-family:Wingdings;color:black"><span style="mso-list:Ignore">ð<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">As a reference
</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">Sure. The only reason I chose this policy was because it doesn’t have aggregation. I’m guessing we’ll want to avoid aggregation for the POC because
we don’t yet have it in Congress, and it complicates the problem of translating Datalog to LP substantially. <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">Tim<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">Ruby</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">De :</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"> Yathiraj Udupi (</span><span lang="FR" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">yudupi)
[<a href="mailto:yudupi@cisco.com">mailto:yudupi@cisco.com</a>] <br>
<b>Envoyé :</b> mardi 24 février 2015 20:01<br>
<b>À :</b> OpenStack Development Mailing List (not for usage questions); Tim Hinrichs<br>
<b>Cc :</b> Debo Dutta (dedutta)<br>
<b>Objet :</b> Re: [openstack-dev] [Congress][Delegation] Initial workflow design</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="FR" style="color:black"> <o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">Hi Tim, </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">Thanks for your updated doc on Delegation from Congress to a domain-specific policy engine, in this case, you are planning to build a LP-based VM-Placement
engine to be the domain specific policy engine. </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">I agree your main goal is to first get the delegation interface sorted out. It will be good so that external services (like Solver-Scheduler) can also
easily integrate to the delegation model. </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">From the Solver-Scheduler point of view, we would actually want to start working on a PoC effort to start integrating Congress and the Solver-Scheduler.
</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">We believe rather than pushing this effort to a long-term, it would add value to both the Solver Scheduler effort, as well as the Congress effort to
try some early integration now, as most of the LP solver work for VM placements is ready available now in Solver scheduler, and we need to spend some time thinking about translating your domain-agnostic policy to constraints that the Solver scheduler can use. </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">I would definitely need your help from the Congress interfaces and I hope you will share your early interfaces for the delegation, so I can start the
effort from the Solver scheduler side for integration. </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">I will reach out to you to get some initial help for integration w.r.t. Congress, and also keep you posted about the progress from our side. </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">Thanks,</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">Yathi. </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">On 2/23/15, 11:28 AM, "Tim Hinrichs" <<a href="mailto:thinrichs@vmware.com">thinrichs@vmware.com</a>> wrote:</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<div>
<p style="background:white"><span lang="FR" style="font-family:"Calibri","sans-serif";color:black">Hi all,</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p style="background:white"><span lang="FR" style="font-family:"Calibri","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p style="background:white"><span lang="FR" style="font-family:"Calibri","sans-serif";color:black">I made a heavy editing pass of the Delegation google doc, incorporating many of your comments and my latest investigations into VM-placement. I left the old
stuff in place at the end of the doc and put the new stuff at the top. </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p style="background:white"><span lang="FR" style="font-family:"Calibri","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p style="background:white"><span lang="FR" style="font-family:"Calibri","sans-serif";color:black">My goal was to propose an end-to-end workflow for a PoC that we could put together quickly to help us explore the delegation interface. We should iterate on
this design until we have something that we think is workable. And by all means pipe up if you think we need a totally different starting point to begin the iteration. </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p style="background:white"><span lang="FR" style="font-family:"Calibri","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p style="background:white"><span lang="FR" style="font-family:"Calibri","sans-serif";color:black">(BTW I'm thinking of the integration with solver-scheduler as a long-term solution to VM-placement, once we get the delegation interface sorted out.)</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p style="background:white"><span lang="FR" style="font-family:"Calibri","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p style="background:white"><span lang="FR" style="font-family:"Calibri","sans-serif";color:black"><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.google.com_document_d_1ksDilJYXV-2D5AXWON8PLMedDKr9NpS8VbT0jIy-5FMIEtI_edit&d=AwMFAw&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=B6BWd4kFfgOzAREgThxkmTZKy7dDXE2-eBAmL0PBK7s&m=kF8jMOpogOhk8MJWvNMKJC3PiNImxWpZeD2o642YM2s&s=8PV5EW-kz8Q9aP9riFbIjJXJNZXchx2NsL-Z3Y7E5Vg&e=">https://docs.google.com/document/d/1ksDilJYXV-5AXWON8PLMedDKr9NpS8VbT0jIy_MIEtI/edit#</a></span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p style="background:white"><span lang="FR" style="font-family:"Calibri","sans-serif";color:black"> </span><span lang="FR" style="color:black"><o:p></o:p></span></p>
<p style="background:white"><span lang="FR" style="font-family:"Calibri","sans-serif";color:black">Tim</span><span lang="FR" style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</blockquote>
<pre><span lang="FR" style="color:black">_________________________________________________________________________________________________________________________<o:p></o:p></span></pre>
<pre><span lang="FR" style="color:black"><o:p> </o:p></span></pre>
<pre><span lang="FR" style="color:black">Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc<o:p></o:p></span></pre>
<pre><span lang="FR" style="color:black">pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler<o:p></o:p></span></pre>
<pre><span lang="FR" style="color:black">a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,<o:p></o:p></span></pre>
<pre><span lang="FR" style="color:black">Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.<o:p></o:p></span></pre>
<pre><span lang="FR" style="color:black"><o:p> </o:p></span></pre>
<pre><span lang="FR" style="color:black">This message and its attachments may contain confidential or privileged information that may be protected by law;<o:p></o:p></span></pre>
<pre><span lang="FR" style="color:black">they should not be distributed, used or copied without authorisation.<o:p></o:p></span></pre>
<pre><span lang="FR" style="color:black">If you have received this email in error, please notify the sender and delete this message and its attachments.<o:p></o:p></span></pre>
<pre><span lang="FR" style="color:black">As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.<o:p></o:p></span></pre>
<pre><span lang="FR" style="color:black">Thank you.<o:p></o:p></span></pre>
</div>
</div>
</blockquote>
<pre><span lang="FR">_________________________________________________________________________________________________________________________<o:p></o:p></span></pre>
<pre><span lang="FR"><o:p> </o:p></span></pre>
<pre><span lang="FR">Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc<o:p></o:p></span></pre>
<pre><span lang="FR">pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler<o:p></o:p></span></pre>
<pre><span lang="FR">a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,<o:p></o:p></span></pre>
<pre><span lang="FR">Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.<o:p></o:p></span></pre>
<pre><span lang="FR"><o:p> </o:p></span></pre>
<pre><span lang="FR">This message and its attachments may contain confidential or privileged information that may be protected by law;<o:p></o:p></span></pre>
<pre><span lang="FR">they should not be distributed, used or copied without authorisation.<o:p></o:p></span></pre>
<pre><span lang="FR">If you have received this email in error, please notify the sender and delete this message and its attachments.<o:p></o:p></span></pre>
<pre><span lang="FR">As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.<o:p></o:p></span></pre>
<pre><span lang="FR">Thank you.<o:p></o:p></span></pre>
</div>
</body>
</html>