Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

--latest ignores whether the plugin is actually available or not #87

Closed
EcHoOfInSaNiTy opened this issue Mar 6, 2020 · 15 comments
Closed

Comments

@EcHoOfInSaNiTy
Copy link
Contributor

If I want to resolve the latest dependencies for my Jenkins plugins I often run into a scenario where a plugin is in the process of being bumped to a newer version (by the maintainer), and this is reflected on the jenkins update center as a new directory, however the actual jpi hasn't been uploaded yet so it fails to download. This is troublesome as if I test that the plugins are available in a test environment before rolling to production, there could be a plugin version bump in progress that causes a failure in the time between testing in the test environment and moving it to production.

Perhaps a --latest-available flag that checks if there is a jpi available and if not rolls to the previous release of a plugin would avoid this? To play devils advocate, I can't see why someone would want this behaviour using --latest in the first place.

@timja
Copy link
Member

timja commented Mar 6, 2020

Not sure if it's something we want to solve here, it's more a jenkins infrastructure problem, that it reports the update before it's actually available on all mirrors yet, and you can be sent to a mirror that doesn't have it 😢

@EcHoOfInSaNiTy
Copy link
Contributor Author

I agree that it definitely feels like more of a Jenkins Infrastructure problem, however it does in a way undermine this tool (which is great btw).

I believe the infrastructure in question is here: https://github.com/jenkins-infra/update-center2 however it looks like I'm unable to open an issue 😢

@timja
Copy link
Member

timja commented Mar 6, 2020

it uses jira, https://issues.jenkins-ci.org/ (in the infra project)

There's two ongoing workstreams atm that may mitigate or fix it,

  1. swap from mirrorbrain to mirrorbit, with the added benefit that it will support ssl as well
  2. use fastly as a CDN and don't do any mirroring at all (waiting for stuff to be signed I think)

@olblak may be able to comment more

@olblak
Copy link
Member

olblak commented Mar 6, 2020

Indeed it's more an infrastructure issue,as @timja mentioned it, I am currently testing a tool called mirrobits which only provide a file from a mirror if the md5sum match the one from mirrobits otherwise it falls back to a specific mirror. So you always get the same latest file

@EcHoOfInSaNiTy
Copy link
Contributor Author

Indeed it's more an infrastructure issue,as @timja mentioned it, I am currently testing a tool called mirrobits which only provide a file from a mirror if the md5sum match the one from mirrobits otherwise it falls back to a specific mirror. So you always get the same latest file

This sounds great! Is there an ETA on this? Or a jira issue I can follow?

@timja
Copy link
Member

timja commented Mar 6, 2020

Not sure about jira, this is the PR: jenkins-infra/kubernetes-management#122

Merging of it won’t mean it’s live but it would mean it’s close

@EcHoOfInSaNiTy
Copy link
Contributor Author

I see this was merged, @timja would this resolve this issue?

@timja
Copy link
Member

timja commented Mar 10, 2020

I see this was merged, @timja would this resolve this issue?

not yet, olblak sent an email about it yesterday:
https://groups.google.com/forum/#!topic/jenkins-infra/R7QqpgoSkbI

@EcHoOfInSaNiTy
Copy link
Contributor Author

@timja would your recommendation be to pin plugin versions in the YAML file until this is resolved to improve reliability?

@timja
Copy link
Member

timja commented Mar 10, 2020

@timja would your recommendation be to pin plugin versions in the YAML file until this is resolved to improve reliability?

Yes

@EcHoOfInSaNiTy
Copy link
Contributor Author

EcHoOfInSaNiTy commented Mar 10, 2020

@timja would your recommendation be to pin plugin versions in the YAML file until this is resolved to improve reliability?

Yes

I've opened up a PR to update the README here as I think this is valuable information for anyone looking to use this.

@EcHoOfInSaNiTy
Copy link
Contributor Author

Would love to contribute to the project also! This tool has really set a standard for Jenkins plugins IMO.

@timja
Copy link
Member

timja commented Mar 10, 2020

Would love to contribute to the project also! This tool has really set a standard for Jenkins plugins IMO.

All contributions welcomed ❤️

I'm not actively developing here but can guide contributions and review / merge PRs

@EcHoOfInSaNiTy
Copy link
Contributor Author

EcHoOfInSaNiTy commented Mar 24, 2020

@timja given the update here jenkins-infra/kubernetes-management#122 it sounds like this won't be fixed for a bit.

How difficult would it be to add an option to skip failed downloads? I noticed you opened an issue to have --latest the default, I feel that this will increase the chances of the issue I reported happening to users who desire --latest. WDYT?

EDIT: I'm working on a PR for this now

@timja
Copy link
Member

timja commented Sep 11, 2020

@timja timja closed this as completed Sep 11, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants