On 6/10/20 8:49 am, Dmitry Tantsur wrote:
> Hi folks,
>
> I'm wondering if we can somehow run our CI jobs on upstream Ironic
> projects. BMO uses Ironic in a somewhat unusual way, so regressions are
> not impossible (remember how long it took us to fix all agent token
> problems?). We also keep seeing problems with sushy-tools.
+1
> There are two paths we could follow:
> 1) A proper 3rd party CI. Something (what?) will listen for events from
> Gerrit, trigger a run and report the results. The "proper" option but
> may require a lot of work on the CI side.
> 2) A normal Zuul CI job that somehow (how?) triggers a run, collects and
> reports results.
>
> Does anyone have opinions on how we should proceed (and whether we
> should at all)?
I wonder if it makes sense to use OpenLab for this - it seems like
exactly the kind of thing they exist for (if, in fact, it is still
maintained): https://docs.openlabtesting.org/
It looks like somebody started on this 18 months ago but I don't know
what happened next: https://github.com/theopenlab/openlab/issues/260
cheers,
Zane.
--
You received this message because you are subscribed to the Google Groups "Metal3 Development List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to metal3-dev+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/metal3-dev/fc0737bb-592d-b6e6-4be0-7dae7089887e%40redhat.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/metal3-dev/CAF7gwdjgPNO1tL%2B53JfGqoSf8eCiwxn2YF4jOq0a%3DRXH-bGpbw%40mail.gmail.com.
Well, I think part of the conundrum that makes this infinitely more
difficult is the model of the BMO controls the pods/containers and we
would need to build/override with replacement content, ideally on
every single patch. It would be far easier if we could just point it
at an external ironic.
Then all of the existing job build/setup
substrate would be there and we could likely just do this in OpenDev
without much of a pain. Such a capability would entirely govern how
much re-use would even be possible.
For job triggers, we're likely looking in excess of twenty a day.
I don't really believe a nightly job would be useful since it would
only be a sign that something needs to be reverted once a problem has
been identified. The code has already been broken at that point. If
that makes sense.
To view this discussion on the web visit https://groups.google.com/d/msgid/metal3-dev/CACNgkFwixdGAyRVxL9JgaE7h9zX1-MoY4Vi-JHhBiTQpXqQJfw%40mail.gmail.com.
Okay, thanks for input.It seems that it's more likely that we should re-create the same CI job on OpenDev rather than trying to somehow attach the existing Metal3 CI to OpenDev. Could someone point me at the exact way the CI is run?The conundrum, as Julia rightfully noted, to use a patched version of upstream projects. We have pretty much two options:1) Update metal3-dev-env to be able to build and use images with ironic/inspector/sushy-tools from source. We'll also need a way to re-build ironic-python-agent images.2) Set up the CI based on Bifrost, so that Bifrost manages ironic, inspector and virtual VMs, while Metal3 uses it as external ironic.
Hello everyone,I was waiting for this part to reply as I knew we were going to talk about source-based images :)There is currently some work going on to be able to build images using source code directly and integrate patches coming from different sources (mainly gerrit), but it's in early stages.
We also have a good way to rebuild ironic-python-agent ramdisks using mechanisms integrated in the ipa-downloader image, although that doesn't include patching or building from source, so some work is also needed here.
At the moment I believe it would be easier to just use Bifrost and eventually switch (or not) to metal3-dev-env once we have the opportunity to build/patch the code in the images.
Okay, then it may be more beneficial to find a way to build images from an upstream source (or somehow inject it in the images). Then we can run the CI the usual way.Riccardo, how far are we from ^^^?