<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 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><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;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:"Segoe UI";
        panose-1:2 11 6 4 2 2 2 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;}
span.EmailStyle19
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;}
span.EmailStyle21
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle22
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle23
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle24
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;}
span.pre
        {mso-style-name:pre;}
span.EmailStyle26
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></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="EN-CA" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">I was specifically referring to the network attribute that refers to the QoS policy ID, rather than the RBAC rules related to the policies themselves.  I don’t see anything in the policy.json that restricts the setting of the network attribute,
 so I am assuming it is falling back to the network entity policy itself rather than an individual property rule.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">"Le, Huifeng" <huifeng.le@intel.com><br>
<b>Date: </b>Tuesday, October 16, 2018 at 10:08 AM<br>
<b>To: </b>Allain Legacy <Allain.Legacy@windriver.com>, "Peters, Matt" <Matt.Peters@windriver.com><br>
<b>Cc: </b>"starlingx-discuss@lists.starlingx.io" <starlingx-discuss@lists.starlingx.io><br>
<b>Subject: </b>RE: Question about patch upstreaming for 1e9a089<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal"><span style="color:#1F497D">Matt & Allain,</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">I think it is the current upstream design (<a href="https://docs.openstack.org/neutron/latest/admin/config-qos.html">https://docs.openstack.org/neutron/latest/admin/config-qos.html</a>): “</span><span lang="EN" style="font-size:10.5pt;font-family:"Segoe UI";color:#333333">QoS
 policies are only created by admins with the default </span><span class="pre"><b><span lang="EN" style="font-size:10.5pt;font-family:Consolas;color:black">policy.json</span></b></span><span lang="EN" style="font-size:10.5pt;font-family:"Segoe UI";color:#333333">.
 Therefore, you should have the cloud operator set them up on behalf of the cloud projects.”</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN" style="font-size:10.5pt;font-family:"Segoe UI";color:#333333"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN" style="font-size:10.5pt;font-family:"Segoe UI";color:#333333">From the default policy.json, e.g. “create/update/delete” operation is for admin only and “get” operation is for any user. Do you see any gap with this design?</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">"create_policy": "rule:admin_only",</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">"get_policy": "rule:regular_user",</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">"update_policy": "rule:admin_only",</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">"delete_policy": "rule:admin_only",</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><b><i><span style="color:#1F497D">Best Regards,</span></i></b><o:p></o:p></p>
<p class="MsoNormal"><b><i><span style="color:#1F497D">Le, Huifeng</span></i></b><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><a name="_____replyseparator"></a><b>From:</b> Legacy, Allain [mailto:Allain.Legacy@windriver.com]
<br>
<b>Sent:</b> Tuesday, October 16, 2018 8:23 PM<br>
<b>To:</b> Peters, Matt <Matt.Peters@windriver.com>; Le, Huifeng <huifeng.le@intel.com><br>
<b>Cc:</b> starlingx-discuss@lists.starlingx.io<br>
<b>Subject:</b> RE: Question about patch upstreaming for 1e9a089<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">I am not sure.  The qos_policy_id attribute does not have “enforce_policy” set in its attribute definition so I am going to guess that there is no checking at all for it.   I don’t have a system setup to test
 this at the moment, but I am going to guess that you could end up attaching a network to a qos_policy_id that is owned by a different tenant.  If so, then that is an issue that should be addressed.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Allain</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<div>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#333333">Allain Legacy</span></b><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#333333">, Software Developer, Wind River</span><span style="color:#1F497D"><br>
</span><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#333333">direct 613.270.2279  fax 613.492.7870 skype allain.legacy</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#404040">350 Terry Fox Drive, Suite 200, Ottawa, Ontario, K2K 2W5</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"><br>
 <br>
</span><a href="http://www.windriver.com/" title=""Innovators Start Here" "><span style="text-decoration:none"><span style="font-family:"Arial",sans-serif;color:#CC0000"><img border="0" width="160" height="92" style="width:1.6666in;height:.9583in" id="Picture_x0020_1" src="cid:image001.png@01D46538.D9B133F0" alt="WIND"></span></span></a><o:p></o:p></p>
</div>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b>From:</b> Peters, Matt [<a href="mailto:Matt.Peters@windriver.com">mailto:Matt.Peters@windriver.com</a>]
<br>
<b>Sent:</b> Monday, October 15, 2018 12:55 PM<br>
<b>To:</b> Le, Huifeng<br>
<b>Cc:</b> <a href="mailto:starlingx-discuss@lists.starlingx.io">starlingx-discuss@lists.starlingx.io</a><br>
<b>Subject:</b> Re: [Starlingx-discuss] Question about patch upstreaming for 1e9a089<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Hi Allain,</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Do you know why the standard qos_policy_id attribute of the network would not hit this problem?  I don’t even see them reference this field in the policy.json, so does it just permit anything to be changed by
 the tenant unless it is explicitly defined?</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"><a href="http://crucible.wrs.com/changelog/CGCS_github_neutron?cs=1e9a089">http://crucible.wrs.com/changelog/CGCS_github_neutron?cs=1e9a089</a></span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">-Matt</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma",sans-serif">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma",sans-serif"> Le, Huifeng [<a href="mailto:huifeng.le@intel.com">mailto:huifeng.le@intel.com</a>]
<br>
<b>Sent:</b> Sunday, October 14, 2018 10:24 PM<br>
<b>To:</b> Peters, Matt<br>
<b>Cc:</b> <a href="mailto:starlingx-discuss@lists.starlingx.io">starlingx-discuss@lists.starlingx.io</a>; Qin, Kailun<br>
<b>Subject:</b> Question about patch upstreaming for 1e9a089</span><o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Hi Matt,<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">We’re looking into the patch 1e9a089, which target to solve the issue of “CGTS-2408: bypass policy check when setting attribute to None.”<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">After investigating this issue, it is found that this issue will only happen for attribute which need to meet below conditions:<o:p></o:p></p>
<p class="MsoNormal">(1) the validate rule is: “type: uuid_or_none”<o:p></o:p></p>
<p class="MsoNormal">(2) the “enforce_policy” should be set to “True” and the policy needs to be defined in etc/policy.json<o:p></o:p></p>
<p class="MsoNormal">(3) the check policy uses “tenant_id” for owner check<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">The only found attribute which will be impacted by this issue in STX is “wrs-tm:qos” which will be removed later after STX applying upstreaming QOS API. Since no other impacted attributes can be found in upstream (or could you please share
 with us if you see any other attributes which may be impacted by this issue?), What’s your proposal for upstreaming or Do you think holding on this fix is make sense for now?<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Thank much!<o:p></o:p></p>
<p class="MsoNormal"><b><i> </i></b><o:p></o:p></p>
<p class="MsoNormal"><b><i>Best Regards,</i></b><o:p></o:p></p>
<p class="MsoNormal"><b><i>Le, Huifeng</i></b><o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
</div>
</body>
</html>