-
Notifications
You must be signed in to change notification settings - Fork 27
Allow scheduling products for product increments #234
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought that the schedule logic will be encapsulated in another Class, which it will have to reuse some logic from IncrementApprover. Now it is tight to the IncrementApprover but the scheduling should be more generic.
I don't think it makes sense to create another class for scheduling function that is less than 20 lines of code unless we really want to use it independently of the approver. However, for now I'd like to treat this as one task for the sake of simplicity (instead of splitting it into different commands). |
|
By the way, with this products are scheduled and on subsequent runs the very same products will be checked for results and the increment possibly approved. We now could try to integrate any code @d3flex already has for determining the changed packages in an incident and add additional variables for the scheduled product based on that. EDIT: I've just read the following on Slack:
So maybe we can actually make use of this SMELT feature. I'll explore this even though it is a bit out of scope for https://progress.opensuse.org/issues/190251. |
9fce4a6 to
1afba6f
Compare
|
This PR changes the meaning of some of the arguments a little bit as they now act as a filter. So I'll change the descriptions. I don't think it makes sense to still support the previous behavior where you would use these arguments to refer to the scheduled product with static parameters because this way it isn't possible to know whether that scheduled product is actually relevant. (E.g. an existing scheduled product might be from a previous build so we need to take at least the build number into account and that's a dynamic parameter. It would probably also be always good to avoid hardcoding the other parameters like all relevant archs in the pipeline schedule.) |
* Determine scheduling parameters (`DISTRI`, `VERSION`, `FLAVOR`, `ARCH`,
`BUILD`) dynamically from the files in the directory listing of the
download repository of the OBS/IBS project targeted by the product
increment request
* No longer rely on hard-coded parameters except for the OBS/IBS
project
* Change the meaning of the CLI parameters to act as filters
* Add additional flag to create a scheduled product if no jobs have been
created yet
Related ticket: https://progress.opensuse.org/issues/190251
| # deduce DISTRI, VERSION, FLAVOR, ARCH and BUILD from the spdx files in the repo listing similar to the sync plugin, | ||
| # e.g. https://download.suse.de/download/ibs/SUSE:/SLFO:/Products:/SLES:/16.0:/TEST/product/?jsontable=1 | ||
| path = self.args.obs_project.replace(":", ":/") | ||
| url = f"{OBS_DOWNLOAD_URL}/{path}/product/?jsontable=1" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As part of the os-autoinst/openqa-trigger-from-obs#322 I ended up using the dist.suse.de, as that was what the rsync commands used. I still do not know whether is better than download page but I just want to let you know.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess I'll keep using whatever OBS_DOWNLOAD_URL points to for now for the sake of consistency with the rest of the codebase. It is quite nice to be able to use ?jsontable=1 to avoid parsing HTML which I think is only possible with download.suse.de right now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fact. ?jsontable=1 is not possible in the other page
|
This pull request, with head sha This pull request will be automatically closed by GitHub.As soon as GitHub detects that the sha It is possible for this pull request to remain open if this detection does not happen, this usually happens when a force-push is done on this branch |
|
And now that I wanted to push changes requested in #235 it got merged… |
This PR depends on os-autoinst/openQA#6798.
Related ticket: https://progress.opensuse.org/issues/190251