vrnetlab icon indicating copy to clipboard operation
vrnetlab copied to clipboard

Fix f**** CI

Open plajjan opened this issue 5 years ago • 5 comments

This project desperately needs CI! Can't really progress in the way we want without CI.

plajjan avatar Nov 14 '19 21:11 plajjan

Hi @plajjan what is required for this? Is there anything we can help with? I never set up a CI for github, but I am interested in investing some time as it would be greatly beneficial for the work I'm doing, so happy to help if I can.

mbound avatar Jan 21 '20 15:01 mbound

Hi,

so I think this is mostly on me. @emjemj has donated a machine that we could run CI jobs on so now all we need to do is set it up. I do want to make some changes to how CI works for vrnetlab but other than that, most of the actual CI configuration etc is already in place (like there is a .gitlab-ci.yml file etc).

It will also involve moving to gitlab as we need gitlab CI to run the tests rather than github. AFAIK github actions or other CI systems for github do not offer what we need (privileged docker + KVM).

I'm sure there are many things that can be improved over time as well to which you are most welcome to help out.

I'm currently deep into fixing CI for another project so I don't feel I have room in my head for another CI project right now but I think vrnetlab is "up next" :)

plajjan avatar Feb 03 '20 08:02 plajjan

Ok, that makes sense. I have some spare bandwidth anyways at the moment, and I need to setup a Gitlab or similar environment in our labs anyways, so I will take the opportunity to do that and test if the gitlab CI config you have here works fine on a mirror copy of this repo.

mbound avatar Feb 09 '20 15:02 mbound

@mbound ok, cool, that's welcome! Always good with a second set of eyes on it all!

plajjan avatar Feb 10 '20 09:02 plajjan

@plajjan So, I've got a basic CI working in our lab and seems fine. Although so far I have only tested with Juniper vMX 18.4.R2.7 (I had to merge a few fixes, e.g. #211 , interface alignment workaround)

I can easily get also OpenWRT and probably vQFX and vSRX or even cSRX to work, but I don't have access to anything else at the moment.

The main thing though is that, because we are using KVM, there is a heavy dependency on QEMU/libvirt and thus host OS environment. For example the USB device bug comes up with any QEMU version past 2.10.0. So these are quite substantial caveats that need to be spelled out.

mbound avatar Feb 13 '20 17:02 mbound