<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<div>I personally think that we need IPA versioning, but not so that we can pin a version. We need versioning so that we can do more intelligent graceful degradation in Ironic without just watching for errors and guessing if a feature isn’t available. If we
 add a new feature in Ironic that requires a feature in IPA, then we should add code in Ironic that checks the version of IPA (either via an API or reported at lookup) and turns on/off that feature based on the version of IPA we’re talking to. Doing this would
 allow for both backwards and forward IPA version compatibility:</div>
<div><br>
</div>
<div>Old Ironic with newer IPA: Should just work</div>
<div>New Ironic with old IPA: Ironic should intelligently turn off unsupported features, with Warnings in the logs telling the operator if a feature is skipped.</div>
<div><br>
</div>
<div>Sam</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">From: </span>Dmitry Tantsur <<a href="mailto:divius.inside@gmail.com">divius.inside@gmail.com</a>><br>
<span style="font-weight:bold">Reply-To: </span>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>><br>
<span style="font-weight:bold">Date: </span>Thursday, 2 June 2016 22:03<br>
<span style="font-weight:bold">To: </span>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>><br>
<span style="font-weight:bold">Subject: </span>Re: [openstack-dev] [ironic] versioning of IPA, it is time or is it?<br>
</div>
<div><br>
</div>
<div>
<div>
<p dir="ltr"><br>
2 èþíÿ 2016 ã. 10:19 PM ïîëüçîâàòåëü "Loo, Ruby" <<a href="mailto:ruby.loo@intel.com">ruby.loo@intel.com</a>> íàïèñàë:<br>
><br>
> Hi,<br>
><br>
> I recently reviewed a patch [1] that is trying to address an issue with ironic (master) talking to a ramdisk that has a mitaka IPA lurking around.<br>
><br>
> It made me think that IPA may no longer be a teenager (yay, boo). IPA now has a stable branch. I think it is time it grows up and acts responsibly. Ironic needs to know which era of IPA it is talking to. Or conversely, does ironic want to specify which microversion
 of IPA it wants to use? (Sorry, Dmitry, I realize you are cringing.)</p>
<p dir="ltr">With versioning in place we'll have to fix one IPA version in ironic. Meaning, as soon as we introduce a new feature, we have to explicitly break compatibility with old ramdisk by requesting a version it does not support. Even if the feature itself
 is optional. Or we have to wait some long time before using new IPA features in ironic. I hate both options.</p>
<p dir="ltr">Well, or we can use some different versioning procedure :)</p>
<p dir="ltr">><br>
> Has anyone thought more than I have about this (i.e., more than 2ish minutes)?<br>
><br>
> If the solution (whatever it is) is going to take a long time to implement, is there anything we can do in the short term (ie, in this cycle)?<br>
><br>
> --ruby<br>
><br>
> [1] <a href="https://review.openstack.org/#/c/319183/">https://review.openstack.org/#/c/319183/</a><br>
><br>
><br>
><br>
> __________________________________________________________________________<br>
> OpenStack Development Mailing List (not for usage questions)<br>
> Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe">
OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</p>
</div>
</div>
</span>
</body>
</html>