Skip to content

Instantly share code, notes, and snippets.

@shundhammer
Last active November 15, 2021 13:44
Show Gist options
  • Select an option

  • Save shundhammer/ae586333b0db05b08cc8319c57431a04 to your computer and use it in GitHub Desktop.

Select an option

Save shundhammer/ae586333b0db05b08cc8319c57431a04 to your computer and use it in GitHub Desktop.
YaST Maintenance Updates

YaST Maintenance Updates

Rough, incomplete, WIP, just to get a discussion going

Rough Outline

  • Work in a Git branch for the desired released product, e.g. SLE-15-SP42

  • Create a pull request from that, get it reviewed and merge it

  • Upon merge, a GitHub action will trigger an (internal) Jenkins job:

    • Build the package
    • If it builds, check the package in to IBS Devel:YaST:SLE-15-SP42
    • Create a submit request from there to IBS SUSE:SLE-15-SP42:Update which IBS will automatically convert into a maintenance request for already released products
  • The maintenance request enters the maintenance queue in IBS:

    • It is automatically built for different architectures
    • Bots check various things (license-digger, maintenance-bot)
    • A human reviews it
    • It goes to the staging projects, e.g. SUSE:SLE-15-SP42:GA:Staging:A etc.
    • ... ?

Problems

  • From merging the PR to submitting the MR, everything on the YaST side is automated
  • From that point on, it takes quite some time (days or weeks) inside the maintenance queue
  • From our (the YaST) perspective, we have done our work once it enters IBS
  • If it is declined (which may take some days or even some weeks), we won't notice
  • Somebody would have to monitor every MR to check on a regular basis if it was accepted, if it was released to the customers, or if it was declined
  • Unless the individual developer who initiated the MR checks it again and again until it finally is accepted or, better yet, released, a failure might not be noticed for a long time

Questions

  • In the case of an L3, the L3 team watches the progress closely because they have one specific customer who is waiting for a fix. How do they do that?
  • At what point in the process do we hand off responsibility to the maintenance team?
  • Is the expectation what that point is the same for us as for the maintenance team? Or is there a gap that neither feels responsible for?
  • Since we have so many packages and so many maintained product versions, can we realistically monitor the MRs manually?
  • Tools:
    • What tools are already available for such a task?
    • What tools could we think of to do that?
    • Who would be in charge to create such tools?
  • How do other teams do it? E.g. SUSEManager? Or is this not a problem for them because they have only a much smaller number of packages to maintain?
  • How do our many package maintainers (all around SUSE R&D, outside the YaST team) do it?
@lslezak
Copy link
Copy Markdown

lslezak commented Nov 15, 2021

I created the YaST Dashboard to avoid the unnoticed declined SRs, that was exactly my goal. Recently I fixed missing checks for SLE15-SPx... ๐Ÿ™„

I already mentioned several times that the y2maintainer should additionally also check the dashboard and ping the respective people when a problem occurs, just like with normal bugs ๐Ÿž ...

@shundhammer
Copy link
Copy Markdown
Author

Right. That should catch at least the declined requests. Or shouldn't it? I am not sure.

And how about requests that are just stuck for a long time? Will they show up in the dashboard?

@shundhammer
Copy link
Copy Markdown
Author

The dashboard (requires a VPN connection):

https://ci.suse.de/view/YaST/job/yast-status-check/Dashboard/

@shundhammer
Copy link
Copy Markdown
Author

mvidner says: There are lots of notification mails from OBS, but the large majority of those are just noise. The important ones get lost in the noise.

@shundhammer
Copy link
Copy Markdown
Author

General consensus: The y2maintainer should more often check the dashboard. If anything is red (wrong) there, he should contact the one who created the request; he doesn't have to fix everything all alone.

@mvidner
Copy link
Copy Markdown

mvidner commented Nov 15, 2021

@shundhammer
Copy link
Copy Markdown
Author

SUSE maintenance dashboard:

https://smelt.suse.de/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment