<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div tabindex="-1" class="XbIp4 Vi1QO GNqVo yxtKT allowTextSelection">
<div>
<div>
<div dir="ltr">
<div style="color: black; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif, serif, EmojiFont; background-color: white;">
Hi,</div>
<div style="color: black; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif, serif, EmojiFont; background-color: white;">
<br>
</div>
<div style="color: black; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif, serif, EmojiFont; background-color: white;">
TL;DR: for a quick solution I suggest to add the ACL [1] for the ironic cores, something like this:</div>
<div style="color: black; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif, serif, EmojiFont; background-color: white;">
<br>
</div>
<div style="color: black; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif, serif, EmojiFont; background-color: white;">
<code>[access "refs/heads/bugfix/*"]</code></div>
<div style="color: black; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif, serif, EmojiFont; background-color: white;">
<code>delete = <code>= group ironic-core</code><br>
</code></div>
<div style="color: black; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif, serif, EmojiFont; background-color: white;">
<br>
</div>
<div style="color: black; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif, serif, EmojiFont; background-color: white;">
The more lengthy answer: as far as I know, bugfix branches were allowed based on ironic team's request, but with the conditions, that</div>
<div style="color: black; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif, serif, EmojiFont; background-color: white;">
<ul>
<li><span>it is out of Release Management scope</span></li><li><span>no official releases will be made out of these branches<br>
</span></li></ul>
</div>
<div style="color: black; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif, serif, EmojiFont; background-color: white;">
So basically it's completely the Ironic team's responsibility. (More senior @Release Managers: correct me if i am wrong)</div>
<div style="color: black; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif, serif, EmojiFont; background-color: white;">
<br>
</div>
<div style="color: black; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif, serif, EmojiFont; background-color: white;">
Nevertheless, time to time, there seem to be a need for 'EOL'ing / deleting branches that are not in the releases repo's deliverables/* directory (for example: projects opened a stable branch manually; no tags / releases were administered; branches were reopened
 accidentally; given project was not part of the official series release; etc). These needs to be handled out of the releases repo 'deliverables' directory, thus needs different handling & tools. And this task is not really coupled with release management,
 and also note, that the release management team is a very small team nowadays.</div>
<div style="color: black; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif, serif, EmojiFont; background-color: white;">
<br>
</div>
<div style="color: black; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif, serif, EmojiFont; background-color: white;">
Anyway, as a general stable maintainer core, I'm also thinking about how to solve this issue (old, obsolete branch deletion) in a safe way, though I'm not there yet to have any concrete solution. Ideas are welcome
<span>🙂</span> . Until a solution is not found, the quickest solution is I think is to add the above ACL extension to the ironic.config [1].</div>
<div style="color: black; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif, serif, EmojiFont; background-color: white;">
<br>
</div>
<div style="color: black; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif, serif, EmojiFont; background-color: white;">
Cheers,</div>
<div style="color: black; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif, serif, EmojiFont; background-color: white;">
<br>
</div>
<div style="color: black; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif, serif, EmojiFont; background-color: white;">
ElÅ‘d Illés</div>
<div style="color: black; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif, serif, EmojiFont; background-color: white;">
irc: elodilles @ #openstack-release #openstack-stable<br>
</div>
<div style="color: black; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif, serif, EmojiFont; background-color: white;">
<br>
</div>
<span style="color: black; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif, serif, EmojiFont; background-color: white;">[1]
<a href="https://opendev.org/openstack/project-config/src/commit/e92af53c10a811f4370cdae7436f0a5354683d7c/gerrit/acls/openstack/ironic.config#L11" target="_blank" rel="noopener noreferrer" data-auth="NotApplicable" data-safelink="true" style="color: rgb(228, 159, 255);" data-linkindex="0">
https://opendev.org/openstack/project-config/src/commit/e92af53c10a811f4370cdae7436f0a5354683d7c/gerrit/acls/openstack/ironic.config#L11</a></span></div>
</div>
</div>
</div>
<br>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Jay Faulkner <jay@gr-oss.io><br>
<b>Sent:</b> Tuesday, November 8, 2022 11:33 PM<br>
<b>To:</b> OpenStack Discuss <openstack-discuss@lists.openstack.org><br>
<b>Subject:</b> Re: [ironic][release] Bugfix branch status and cleanup w/r/t zuul-config-errors</font>
<div> </div>
</div>
<div>
<div dir="ltr">
<div>Does anyone from the Releases team want to chime in on the best way to execute this kind of change?</div>
<div><br>
</div>
<div>-JayF<br>
</div>
</div>
<br>
<div class="x_gmail_quote">
<div dir="ltr" class="x_gmail_attr">On Wed, Nov 2, 2022 at 7:02 AM Jay Faulkner <<a href="mailto:jay@gr-oss.io">jay@gr-oss.io</a>> wrote:<br>
</div>
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr">
<div dir="ltr"><br>
</div>
<br>
<div class="x_gmail_quote">
<div dir="ltr" class="x_gmail_attr">On Wed, Nov 2, 2022 at 3:04 AM Dmitry Tantsur <<a href="mailto:dtantsur@redhat.com" target="_blank">dtantsur@redhat.com</a>> wrote:<br>
</div>
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr">
<div>Hi Jay,<br>
</div>
<br>
<div class="x_gmail_quote">
<div dir="ltr" class="x_gmail_attr">On Tue, Nov 1, 2022 at 8:17 PM Jay Faulkner <<a href="mailto:jay@gr-oss.io" target="_blank">jay@gr-oss.io</a>> wrote:<br>
</div>
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr">
<div>Hey all,</div>
<div><br>
</div>
<div>I've been looking into the various zuul config errors showing up for Ironic-program branches. Almost all of our old bugfix branches are in the list. Additionally, not properly retiring the bugfix branches leads to an ever-growing list of branches which
 makes it a lot more difficult, for contributors and operators alike, to tell which ones are currently supported.</div>
</div>
</blockquote>
<div><br>
</div>
<div>I'd like to see the errors. We update Zuul configuration manually for each bugfix branch, mapping appropriate branches for other projects (devstack, nova, etc). It's possible that we always overlook a few jobs, which causes Zuul to be upset (but quietly
 upset, so we don't notice).<br>
</div>
<div> </div>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>The errors show up in <a href="https://zuul.opendev.org/t/openstack/config-errors" target="_blank">
https://zuul.opendev.org/t/openstack/config-errors</a> -- although they seem to be broken this morning. Most of them are older bugfix branches, ones that are out of support, that have the `Queue: Ironic` param that's no longer supported. I am not in favor of
 anyone going to dead bugfix branches and fixing CI; instead we should retire the ones out of use.<br>
</div>
<div> </div>
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr">
<div class="x_gmail_quote">
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr">
<div><br>
</div>
<div>I've put together a document describing the situation as it is now, and my proposal:</div>
<div><a href="https://etherpad.opendev.org/p/IronicBugfixBranchCleanup" target="_blank">https://etherpad.opendev.org/p/IronicBugfixBranchCleanup</a></div>
</div>
</blockquote>
<div><br>
</div>
<div>Going with the "I would like to retire" would cause us so much trouble that we'll have to urgently create a downstream mirror of them. Once we do this, using upstream bugfix branches at all will be questionable. Especially bugfix/19.0 (and corresponding
 IPA/inspector branches) is used in a very actively maintained release.<br>
</div>
<div> </div>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>Then we won't; but we do need to think about what timeline we can talk about upstream for getting a cadence for getting these retired out, just like we have a cadence for getting them cut every two months. I'll revise the list and remove the "I would like
 to retire" section (move it to keep-em-up).<br>
</div>
<div> </div>
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr">
<div class="x_gmail_quote">
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr">
<div><br>
</div>
<div>Essentially, I think we need to:</div>
<div>- identify bugfix branches to cleanup (I've done this in the above etherpad, but some of the )</div>
<div>- clean them up (the next step)<br>
</div>
<div>- update Ironic policy to set a regular cadence for when to retire bugfix branches, and encode the process for doing so</div>
<div><br>
</div>
<div>This means there are two overall questions to answer in this email:</div>
<div>1) Mechanically, what's the process for doing this? I don't believe the existing release tooling will be useful for this, but I'm not 100% sure. I've pulled (in the above etherpad and a local spreadsheet) the last SHA for each branch; so we should be able
 to EOL these branches similarly to how we EOL stable branches; except manually instead of with tooling. Who is going to do this work? (I'd prefer releases team continue to hold the keys to do this; but I understand if you don't want to take on this manual
 work).</div>
</div>
</blockquote>
<div><br>
</div>
<div>EOL tags will be created by the release team, yes. I don't think we can get the keys without going "independent".<br>
</div>
<div> </div>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>It's a gerrit ACL you can enable to give other people access to tags; but like I said, I don't want that access anyway :).<br>
</div>
<div> </div>
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr">
<div class="x_gmail_quote">
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr">
<div><br>
</div>
<div>2) What's the pattern for Ironic to adopt regarding these branches? We just need to write down the expected lifecycle and enforce it -- so we prevent being this deep into "branch debt" in the future.</div>
</div>
</blockquote>
<div><br>
</div>
<div>With my vendor's (red) hat on, I'd prefer to have a dual approach: the newest branches are supported by the community (i.e. us all), the oldest - by vendors who need them (EOLed if nobody volunteers). I think you already have a list of branches that OCP
 uses? Feel free to point Riccardo, Iury or myself at any issues with them.</div>
<div><br>
</div>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>That's not really an option IMO. These branches exist in the upstream community, and are seen by upstream contributors and operators. If they're going to live here; they need to have some reasonable documentation about what folks should expect out of them
 and efforts being put towards them. Even if the documentation is "bugfix/1.2 is maintained as long as Product A 1.2 is maintained", that's better than leaving the community guessing about what these are used for, and why some are more-supported than others.</div>
<div><br>
</div>
<div>-Jay<br>
</div>
<div><br>
</div>
<div><br>
</div>
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr">
<div class="x_gmail_quote">
<div></div>
<div>Dmitry<br>
</div>
<div> </div>
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr">
<div><br>
</div>
<div><br>
</div>
<div>What do folks think?</div>
<div><br>
</div>
<div>- <br>
</div>
<div>Jay Faulkner<br>
</div>
</div>
</blockquote>
</div>
<br clear="all">
<br>
-- <br>
<div dir="ltr">
<div dir="ltr">
<pre cols="72" style="white-space:pre-wrap"><a href="https://www.redhat.com/de/global/dach" target="_blank">Red Hat GmbH</a>, Registered seat: Werner von Siemens Ring 12, D-85630 Grasbrunn, Germany  
Commercial register: Amtsgericht Muenchen/Munich, HRB 153243,
<span>Managing</span> Directors: Ryan Barnhart, Charles Cachera, Michael O'Neill, Amy Ross</pre>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</body>
</html>