<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)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        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;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@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-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">>Matt and I chatted on IRC and have come up with an outlined plan, if we missed anything please don't hesitate to comment or ask.<o:p></o:p></p>
<p class="MsoNormal">><o:p> </o:p></p>
<p class="MsoNormal">><a href="https://etherpad.openstack.org/p/quota-classes-goof-up">https://etherpad.openstack.org/p/quota-classes-goof-up</a><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I added a few thoughts / questions<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></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><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif""> Joe Gordon [mailto:joe.gordon0@gmail.com]
<br>
<b>Sent:</b> 02 June 2014 21:52<br>
<b>To:</b> OpenStack Development Mailing List (not for usage questions)<br>
<b>Subject:</b> Re: [openstack-dev] [nova] nova default quotas<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On Mon, Jun 2, 2014 at 12:29 PM, Matt Riedemann <<a href="mailto:mriedem@linux.vnet.ibm.com" target="_blank">mriedem@linux.vnet.ibm.com</a>> wrote:<o:p></o:p></p>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<div>
<p class="MsoNormal"><br>
<br>
On 6/2/2014 12:53 PM, Joe Gordon wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<div>
<p class="MsoNormal"><br>
<br>
<br>
On Thu, May 29, 2014 at 10:46 AM, Matt Riedemann<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><<a href="mailto:mriedem@linux.vnet.ibm.com" target="_blank">mriedem@linux.vnet.ibm.com</a> <mailto:<a href="mailto:mriedem@linux.vnet.ibm.com" target="_blank">mriedem@linux.vnet.ibm.com</a>>> wrote:<br>
<br>
<br>
<br>
    On 5/27/2014 4:44 PM, Vishvananda Ishaya wrote:<br>
<br>
        I’m not sure that this is the right approach. We really have to<br>
        add the old extension back for compatibility, so it might be<br>
        best to simply keep that extension instead of adding a new way<br>
        to do it.<br>
<br>
        Vish<br>
<br>
        On May 27, 2014, at 1:31 PM, Cazzolato, Sergio J<br>
        <<a href="mailto:sergio.j.cazzolato@intel.com" target="_blank">sergio.j.cazzolato@intel.com</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">        <mailto:<a href="mailto:sergio.j.cazzolato@intel.com" target="_blank">sergio.j.cazzolato@intel.com</a>>> wrote:<br>
<br>
            I have created a blueprint to add this functionality to nova.<o:p></o:p></p>
</div>
<p class="MsoNormal">            <a href="https://review.openstack.org/#__/c/94519/" target="_blank">
https://review.openstack.org/#__/c/94519/</a><o:p></o:p></p>
<div>
<p class="MsoNormal"><br>
            <<a href="https://review.openstack.org/#/c/94519/" target="_blank">https://review.openstack.org/#/c/94519/</a>><br>
<br>
<br>
            -----Original Message-----<br>
            From: Vishvananda Ishaya [mailto:<a href="mailto:vishvananda@gmail.com" target="_blank">vishvananda@gmail.com</a><br>
            <mailto:<a href="mailto:vishvananda@gmail.com" target="_blank">vishvananda@gmail.com</a>>]<br>
            Sent: Tuesday, May 27, 2014 5:11 PM<br>
            To: OpenStack Development Mailing List (not for usage questions)<br>
            Subject: Re: [openstack-dev] [nova] nova default quotas<br>
<br>
            Phil,<br>
<br>
            You are correct and this seems to be an error. I don't think<br>
            in the earlier ML thread[1] that anyone remembered that the<br>
            quota classes were being used for default quotas. IMO we<br>
            need to revert this removal as we (accidentally) removed a<br>
            Havana feature with no notification to the community. I've<br>
            reactivated a bug[2] and marked it critcal.<br>
<br>
            Vish<br>
<br>
            [1]<o:p></o:p></p>
</div>
<p class="MsoNormal">            <a href="http://lists.openstack.org/__pipermail/openstack-dev/2014-__February/027574.html" target="_blank">
http://lists.openstack.org/__pipermail/openstack-dev/2014-__February/027574.html</a><br>
            <<a href="http://lists.openstack.org/pipermail/openstack-dev/2014-February/027574.html" target="_blank">http://lists.openstack.org/pipermail/openstack-dev/2014-February/027574.html</a>><br>
            [2] <a href="https://bugs.launchpad.net/__nova/+bug/1299517" target="_blank">
https://bugs.launchpad.net/__nova/+bug/1299517</a><o:p></o:p></p>
<div>
<p class="MsoNormal"><br>
            <<a href="https://bugs.launchpad.net/nova/+bug/1299517" target="_blank">https://bugs.launchpad.net/nova/+bug/1299517</a>><br>
<br>
            On May 27, 2014, at 12:19 PM, Day, Phil <<a href="mailto:philip.day@hp.com" target="_blank">philip.day@hp.com</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">            <mailto:<a href="mailto:philip.day@hp.com" target="_blank">philip.day@hp.com</a>>> wrote:<br>
<br>
                Hi Vish,<br>
<br>
                I think quota classes have been removed from Nova now.<br>
<br>
                Phil<br>
<br>
<br>
                Sent from Samsung Mobile<br>
<br>
<br>
                -------- Original message --------<br>
                From: Vishvananda Ishaya<br>
                Date:27/05/2014 19:24 (GMT+00:00)<br>
                To: "OpenStack Development Mailing List (not for usage<br>
                questions)"<br>
                Subject: Re: [openstack-dev] [nova] nova default quotas<br>
<br>
                Are you aware that there is already a way to do this<br>
                through the cli using quota-class-update?<o:p></o:p></p>
</div>
<p class="MsoNormal">                <a href="http://docs.openstack.org/__user-guide-admin/content/cli___set_quotas.html" target="_blank">
http://docs.openstack.org/__user-guide-admin/content/cli___set_quotas.html</a><o:p></o:p></p>
<div>
<p class="MsoNormal"><br>
                <<a href="http://docs.openstack.org/user-guide-admin/content/cli_set_quotas.html" target="_blank">http://docs.openstack.org/user-guide-admin/content/cli_set_quotas.html</a>><br>
                (near the bottom)<br>
<br>
                Are you suggesting that we also add the ability to use<br>
                just regular quota-update? I'm not sure i see the need<br>
                for both.<br>
<br>
                Vish<br>
<br>
                On May 20, 2014, at 9:52 AM, Cazzolato, Sergio J<br>
                <<a href="mailto:sergio.j.cazzolato@intel.com" target="_blank">sergio.j.cazzolato@intel.com</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">                <mailto:<a href="mailto:sergio.j.cazzolato@intel.com" target="_blank">sergio.j.cazzolato@intel.com</a>>> wrote:<br>
<br>
                    I would to hear your thoughts about an idea to add a<br>
                    way to manage the default quota values through the API.<br>
<br>
                    The idea is to use the current quota api, but<br>
                    sending ''default' instead of the tenant_id. This<br>
                    change would apply to quota-show and quota-update<br>
                    methods.<br>
<br>
                    This approach will help to simplify the<br>
                    implementation of another blueprint named<br>
                    per-flavor-quotas<br>
<br>
                    Feedback? Suggestions?<br>
<br>
<br>
                    Sergio Juan Cazzolato<br>
                    Intel Software Argentina<o:p></o:p></p>
</div>
<p class="MsoNormal">                    _________________________________________________<br>
                    OpenStack-dev mailing list<br>
                    <a href="mailto:OpenStack-dev@lists.openstack.__org">OpenStack-dev@lists.openstack.__org</a><br>
                    <mailto:<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a>><br>
                    <a href="http://lists.openstack.org/__cgi-bin/mailman/listinfo/__openstack-dev" target="_blank">
http://lists.openstack.org/__cgi-bin/mailman/listinfo/__openstack-dev</a><br>
                    <<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>><br>
<br>
<br>
<br>
                _________________________________________________<br>
                OpenStack-dev mailing list<br>
                <a href="mailto:OpenStack-dev@lists.openstack.__org">OpenStack-dev@lists.openstack.__org</a><br>
                <mailto:<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a>><br>
                <a href="http://lists.openstack.org/__cgi-bin/mailman/listinfo/__openstack-dev" target="_blank">
http://lists.openstack.org/__cgi-bin/mailman/listinfo/__openstack-dev</a><br>
                <<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>><br>
<br>
<br>
<br>
            _________________________________________________<br>
            OpenStack-dev mailing list<br>
            <a href="mailto:OpenStack-dev@lists.openstack.__org">OpenStack-dev@lists.openstack.__org</a><br>
            <mailto:<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a>><br>
            <a href="http://lists.openstack.org/__cgi-bin/mailman/listinfo/__openstack-dev" target="_blank">
http://lists.openstack.org/__cgi-bin/mailman/listinfo/__openstack-dev</a><br>
            <<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>><br>
<br>
<br>
<br>
<br>
        _________________________________________________<br>
        OpenStack-dev mailing list<br>
        <a href="mailto:OpenStack-dev@lists.openstack.__org">OpenStack-dev@lists.openstack.__org</a><br>
        <mailto:<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a>><br>
        <a href="http://lists.openstack.org/__cgi-bin/mailman/listinfo/__openstack-dev" target="_blank">
http://lists.openstack.org/__cgi-bin/mailman/listinfo/__openstack-dev</a><o:p></o:p></p>
<div>
<div>
<p class="MsoNormal"><br>
        <<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>><br>
<br>
<br>
    The reverted series for nova on master is here [1].<br>
<br>
<br>
I don't think we want a full revert here, the feature that we broke is<br>
the ability to easily update the default quota values without restarting<br>
any services, not quota-classes themselves. Given that I see 3 paths<br>
forward:<br>
<br>
1. Provide an alternate way to do this. OpenStack already has an<br>
implicit assumption that one has a way of rolling out config files<br>
across all machines. so we can teach oslo.config to know which config<br>
options can be updated without a restart.  While this definitely breaks<br>
the API, this is a rarely used API and we can avoid breaking<br>
functionality at least.<br>
2. Do a partial revert of this API to only support overriding the<br>
default quota values. Hopefully while doing this we can simplify the<br>
quota logic and reduce the number of DB calls needed. This way we can<br>
restore the working part of the API and not the unimplemented<br>
quota-class logic itself.<br>
3. Do a full revert and re-add all the unimplemented quota-class logic,<br>
we now have just re-added a non-working API.<br>
<br>
While I would prefer to take path 1 as I think that gets us closer to<br>
where we should be, I think path 2 is safer approach.<br>
<br>
<br>
    Once that's merged I can work on backporting the revert for the API<br>
    change to stable/icehouse, which will be a little tricky given<br>
    conflicts from master.<br>
<br>
    [1]<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal">    <a href="https://review.openstack.org/#__/q/status:open+project:__openstack/nova+branch:master+__topic:restore-quota-class,n,z" target="_blank">
https://review.openstack.org/#__/q/status:open+project:__openstack/nova+branch:master+__topic:restore-quota-class,n,z</a><o:p></o:p></p>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
    <<a href="https://review.openstack.org/#/q/status:open+project:openstack/nova+branch:master+topic:restore-quota-class,n,z" target="_blank">https://review.openstack.org/#/q/status:open+project:openstack/nova+branch:master+topic:restore-quota-class,n,z</a>><br>
<br>
    --<br>
<br>
    Thanks,<br>
<br>
    Matt Riedemann<br>
<br>
<br>
<o:p></o:p></p>
</div>
<p class="MsoNormal">    _________________________________________________<br>
    OpenStack-dev mailing list<br>
    <a href="mailto:OpenStack-dev@lists.openstack.__org">OpenStack-dev@lists.openstack.__org</a><br>
    <mailto:<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a>><br>
    <a href="http://lists.openstack.org/__cgi-bin/mailman/listinfo/__openstack-dev" target="_blank">
http://lists.openstack.org/__cgi-bin/mailman/listinfo/__openstack-dev</a> <<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>><o:p></o:p></p>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><o:p></o:p></p>
</div>
</blockquote>
<p class="MsoNormal"><br>
The full revert, #3 in your list, is half merged.  We talked about this in the nova meeting on Thursday [1] and this was the agreed direction given Icehouse is broken if you're upgrading and using this API.  So the immediate concern is getting Icehouse fixed,
 which means reverting the back to the point that the API is available again on master and then cherry picking that back to stable/icehouse so anyone upgrading to Icehouse isn't broken.<br>
<br>
I agree that we don't want all of this unusable code in tree and we should work on ripping out what isn't needed in Juno, maybe that involves deprecating part of the existing API, I'm not sure since it seems with the V2 API discussions we came to the conclusion
 that we can't ever remove anything from V2.  However, I think we have to slow down and figure that out separately in Juno rather than leave Icehouse broken until we figure out what we're going to do on master and then backport it.<o:p></o:p></p>
</blockquote>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Matt and I chatted on IRC and have come up with an outlined plan, if we missed anything please don't hesitate to comment or ask.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="https://etherpad.openstack.org/p/quota-classes-goof-up">https://etherpad.openstack.org/p/quota-classes-goof-up</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal"><br>
[1] <a href="http://eavesdrop.openstack.org/meetings/nova/2014/nova.2014-05-29-14.01.log.html" target="_blank">
http://eavesdrop.openstack.org/meetings/nova/2014/nova.2014-05-29-14.01.log.html</a><o:p></o:p></p>
<div>
<div>
<p class="MsoNormal"><br>
<br>
-- <br>
<br>
Thanks,<br>
<br>
Matt Riedemann<br>
<br>
<br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><o:p></o:p></p>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</div>
</body>
</html>