Ahoj Maria!

For our production RS'es we do not use Ansible, yet we do for Restena route collector machine which runs on a Centos custom build and what we have done with Ansible is :

. Building the bird config
. Install bird2
. Ensure bird2 config folder exists . Remove old configs
. Configure bird2
. Ensure bird2 is running and enabled

Also we have used Ansible to deploy bird_exporter : . Installing the systemd service . Building its config and so on.


I would be very glad to have soon  bird officially being Ansible'd .

Regards, See you soon

Irene,


On 01/06/2022 11:37, Maria Matejka wrote:
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


--
Irene Lalioti
Network Engineer
Fondation RESTENA
2, avenue de l'Université
L-4365 Esch/Alzette

Tel: +352 424409 1
Fax: +352 422473

This email may contain information for limited distribution only, please treat 
accordingly.
BEGIN:VCARD
VERSION:4.0
FN:Irene Lalioti
N:Lalioti;Irene;;;
TEL;VALUE=TEXT:Network Engineer
UID:2b720f1d-244b-7845-940a-c9a50d678857
END:VCARD

Reply via email to