On Fri, Oct 12, 2018 at 4:01 PM Kevin Fenzi <kevin@scrye.com> wrote:
Greetings everyone.

I thought I would send a short note on something I put in place before
the freeze. Basically it seems, even though we have SOPs and docs, we
spend a lot of time around release milestones changing files in ansible,
realizing we forgot something and changing another one, etc.

I'd like to minimize that.

To that end I have created some variables in ansible. You can see them
in the ansible/vars/all/ directory. Every file in this directory tree is
included via the virt_instance_create and persistent_cloud tasks (so
most of our machines, exclusing bare metal ones).

00-FedoraCycleNumber.yaml is the number only of the current stable
Fedora. So, right now it's 28, but soon when f29 is released it will
change to 29. This is used for many of the later variables so it's 00-
to be loaded first.

FedoraBranchedBodhi.yaml - indicates is we are using Bodhi in a new branch.

FedoraBranchedNumber.yaml - Number of the curret branched version.

FedoraBranched.yaml - If there is a branched or not.

FedoraPreviousCycleNumber.yaml - This is the 'older' stable release.
Right now 27.

FedoraPreviousPreviousCycleNumber.yaml - This is the 'older' 'older'
stable release. Right now we don't have one, but after f29 releases, f27
will be this until it EOLs in a month.

FedoraPreviousPrevious.yaml - If there is a 'older' 'older' release.

FedoraRawhideNumber.yaml - number of current rawhide (30)

Frozen.yaml - If infrastructure is frozen.
Then I think we should use another variable (probably RelengFreeze)
to indicate releng freeze, as they dont actually end on the same day.
Also, we are using it forĀ  automated bodhi pushes, and we start
pushing stable updates once we are a GO which we generally know
on Thu itself. WDYT?

We can add things as we go, but some rules:

* I think for these CamelCase is easiest to read, so keep to that.
* If you can base the variable on others so you never have to edit it,
great!
* It should be of general use.

So, given these, I updated the bodhi config to use them. So, when f29 is
released:

* 00-FedoraCycleNumber.yaml - edit and change to 29
* FedoraPreviousPrevious.yaml - edit and change to true
* FedoraBranched.yaml - edit and set to false
* Frozen.yaml - edit and set to false a day after release.

Then we just need to run playbooks and everything adjusts. There are a
number more places we could leverage this, so I encourage people to look
for those and submit patches to enable them. In particular the
new-updates-sync script could use these so we don't have to edit it all
the time.

Hope that makes sense and feedback welcome.

kevin

_______________________________________________
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-leave@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org