BIRD Testing With Ansible?
Maria Matejka
maria.matejka at nic.cz
Wed Jun 1 11:37:35 CEST 2022
TL;DR: Should we test BIRD with Ansible?
Hello!
Dear fellow users and anybody else reading this message, please take a
deep breath and read the story of testing BIRD before you shout NO, YES,
DEFINITELY MAYBE or whatever else.
Long time ago, when Linux implemented Network Namespaces feature, even
before anybody knew anything about "ip netns", Santiago created a simple
but quite powerful tool called "netlab" to test BIRD on one machine,
using this exact feature. It has grown to quite a decent set of
automatic functionality tests which you can see in the bird-tools
repository[1] in the "netlab" directory.
After some time, when I got to BIRD development, we wanted to test also
BIRD on different platforms. We went to virtualization, setup a decent
testing setup with QEMU-KVM and OpenVSwitch and then I tried to run
there a simple MPLS setup when the OpenVSwitch suddenly crashed on
SegFault. I solved it by using just plain old bridges and veth's.
When I met some friends several days later, one of them being a Linux
kernel developer working also on OpenVSwitch, I mentioned these
problems, thinking that he may give me a pointer how to solve it.
Instead, he interrupted me, saying "hey, shut up, this is an embargoed
bug". I had missed that this segfault may be a security problem leading
at least to DoS.
This was happening when the OpenStack and LibVirt and others were still
in an early phase of development and we couldn't find any suitable
solution for us so we just developed something for ourselves.
Anyway, now it is 2022 and when I reach out to almost any user of BIRD,
I hear about Ansible. I'm thinking whether it is a good idea to leave
our old tooling in a museum and to migrate to Ansible.
Facts:
* Our team is familiar with the current tooling, not Ansible.
* It's probably easier to learn how to use our tooling than Ansible,
provided you have seen neither of them before.
* Some of the users are already using BIRD with Ansible.
* We don't know much about pros and cons of Ansible.
Proposal:
We would retire our old testing setups and instead of that we would
upstream a bunch of functionality tests implemented in Ansible.
I have some questions for you:
(1) Are you using Ansible with BIRD?
(2) Do you have some testing setup implemented with Ansible?
(3) Would you run the upstream functionality tests if they used Ansible?
(4) If encountering a bug, would you consider creating an Ansible
scenario to replicate that behavior?
(5) If contributing, would it be OK for you to create also an
appropriate functionality test in Ansible, or rather in our current tooling?
Thank you all for your answers and discussion, please don't throw chairs
nor eggs nor tomatoes on each other.
Maria
More information about the Bird-users
mailing list