Hi Openstackers,<div><br></div><div><font face="sans-serif">Just wondering, is there any reason flavors are not limited to just create-time?  Meaning, use it to create a new instance and then copy all of the flavor data into the new instance's data. This breaks the relationship between the instance and the flavor, allow each to be changed independently - or even deleted.  Doing this would mean you wouldn't need to add a "disabled" flag at all - just delete the flavor if you don't want anyone to use it.   This would also allow for an easier modification of existing instances - just modify the instance's property that needs to change w/o creating a whole new flavor (avoids the proliferation of flavors too).</font> <br>

<div><br></div><div>That's an idea we had for a future version. It does seem to make the most sense. If no-one can think of a reason not to have it, it might be worth just going straight there, or at least researching the possibility.<div>

<br></div><div>Any objections or heads up OS community ?</div><div><br></div><div>The idea would be, instance types (or flavors, or sizes) are basically just listed there for creating and re-sizing to. Once an instance is built with that type, all the instance type data is copied to the instance record itself.</div>

<div><br></div><div>I can't think of any insurmountable reason's not have it this way.</div><div><br></div><div>The main reason to have instance flavors uncoupled from the flavor menu is that it makes the most sense, and makes a bunch of other tasks become basically zero work:</div>

<div><ul><li>Phasing out a flavor</li><li>Having an instance running on a deleted flavor still:</li><ul><li>be able to rebuild</li><li>migrate from a failed host and keep it's flavor</li><li>show user's it's flavor name when queried for it</li>

</ul></ul><div>Some things that it could make harder though; but not impossible:</div><div><ul><li>Upgrading a bunch of instances to a new size/flavor.</li><li>Finding a bunch of instances with a certain flavor</li><li>It could lead to a large number of flavors over time, but that'd be more due to admin's not phasing out flavor's properly.</li>

</ul></div><div>What say ye openstackers ?</div><div><br></div><div>Kind Regards,</div><div>Matthew Sherborne</div><div><br></div><div><div class="gmail_quote">On Sat, Jun 2, 2012 at 2:54 AM, Doug Davis <span dir="ltr"><<a href="mailto:dug@us.ibm.com" target="_blank">dug@us.ibm.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br><font face="sans-serif">Just wondering, is there any reason flavors are not limited to just create-time?  Meaning, use it to create a new instance and then copy all of the flavor data into the new instance's data. This breaks the relationship between the instance and the flavor, allow each to be changed independently - or even deleted.  Doing this would mean you wouldn't need to add a "disabled" flag at all - just delete the flavor if you don't want anyone to use it.   This would also allow for an easier modification of existing instances - just modify the instance's property that needs to change w/o creating a whole new flavor (avoids the proliferation of flavors too).</font> <font face="sans-serif"><br>

</font><font face="sans-serif"><br>
thanks<br>
-Doug<br>
______________________________________________________<br>
STSM |  Standards Architect  |  IBM Software Group<br>
<a href="tel:%28919%29%20254-6905" value="+19192546905" target="_blank">(919) 254-6905</a>  |  IBM 444-6905  |  <a href="mailto:dug@us.ibm.com" target="_blank">dug@us.ibm.com</a><br>
The more I'm around some people, the more I like my dog.</font>
<br>
<br>
<br>
<p></p><table width="100%">
<tbody><tr valign="top">
<td width="40%"><font size="1" face="sans-serif"><b>Matthew Sherborne <<a href="mailto:matt.sherborne@rackspace.com" target="_blank">matt.sherborne@rackspace.com</a>></b>
</font>
<br><font size="1" face="sans-serif">Sent by: openstack-bounces+dug=<a href="mailto:us.ibm.com@lists.launchpad.net" target="_blank">us.ibm.com@lists.launchpad.net</a></font>
<p><font size="1" face="sans-serif">06/01/2012 10:41 AM</font>
</p></td><td width="59%">
<table width="100%">
<tbody><tr valign="top">
<td>
<div align="right"><font size="1" face="sans-serif">To</font></div>
</td><td><font size="1" face="sans-serif"><a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a></font>
</td></tr><tr valign="top">
<td>
<div align="right"><font size="1" face="sans-serif">cc</font></div>
</td><td>
</td></tr><tr valign="top">
<td>
<div align="right"><font size="1" face="sans-serif">Subject</font></div>
</td><td><font size="1" face="sans-serif">[Openstack] hidden / phasing out instance_types/flavors</font></td></tr></tbody></table>
<br>
<table>
<tbody><tr valign="top">
<td>
</td><td></td></tr></tbody></table>
<br></td></tr></tbody></table><div><div class="h5">
<br>
<br>
<br><font size="3">Hi Openstack community,</font>
<br>
<br><font size="3">We recently uploaded this change: </font><a href="https://review.openstack.org/#/c/8007/" target="_blank"><font size="3" color="blue"><u>https://review.openstack.org/#/c/8007/</u></font></a>
<br>
<br><font size="3">It adds a 'disabled' field to the 'instance_type' or 'flavor'
concept.</font>
<br>
<br><font size="3">The usage scenario we had in mind was to phase out a flavor
that's already in use; people shouldn't be able to build new instances
from that flavor, nor should customers see it in the list of available
flavors. But when they view an existing instance with that flavor type,
they should still be able to see the name of it at least. But should you
change your mind later and wish to re-enable it, it's easy to just flip
the flag.</font>
<br>
<br><font size="3">We'd appreciate feedback on the added field and the use
of the namespace in the core code. (Line 56 here: </font><a href="https://review.openstack.org/#/c/8007/1/nova/api/openstack/compute/views/flavors.py" target="_blank"><font size="3" color="blue"><u>https://review.openstack.org/#/c/8007/1/nova/api/openstack/compute/views/flavors.py</u></font></a><font size="3"> )</font>
<br>
<br><font size="3">The reasoning behind this is:</font>
<br><font size="3"> * If we did it as an extension, it would greatly
complicate the code. The code is much simpler being right in the core code.</font>
<br><font size="3"> * We can't just add a field to the API quickly,
so we need to use the namespace.</font>
<br><font size="3"> * The hope is that eventually it would be accepted
into the  main API anyway, then the coding would be just removing
the namespace.</font>
<br>
<br><font size="3">Many thanks in for reading. All feedback appreciated.</font>
<br>
<br></div></div><font size="3">Kind Regards,<br>
Matthew Sherborne</font><tt><font>_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
</font></tt>
<br></blockquote></div><br></div></div></div></div>