Thank you.
I just used an upper around Ansible runner,
which is part of Ansible core.
So it doesn't expose us too much to any kind of red dot thing.
But as you can see here, at the end,
you really call Ansible like you would do normally.
So in this case, we are populating some extra variables.
These WF4 trunk JSON is our subscription
with all the attributes that we need for that specific subscription.
And then a bunch of extra variables.
And you call this playbook iptrunks.yaml.
So yeah, this is also available for the masses.
Something very important, and I'm going back to this idea
of describing your business logic, is the modeling behind it.
So we first started to look at the node configuration
as a composition of something we call base config,
which is specific for the node, or it's the same of every node.
And let's say plus a bunch of services and prerequisites
that gets added to actually realize the final goal.
And so we can map services with products,
and then we decompose again a service in product blocks.
So for example, we have a product block
that represents your physical interface.
It could be a link aggregation or a single interface.
We have a product block that describes the VLAN
with the IP address on top of this interface.
And then we have multiple product blocks
that describes layer-to-circuits, BGPP years, etc., etc.
And so this is an example for something very, very simple,
but that if you think about it, it's not really native Ansible,
not because you want to describe a coordinate,
so a pipe that goes from A to B.
So normally in Ansible, you would split it in two,
and you would say the A side goes as host-vars on the A node,
and the B side goes as host-vars on the B node.
But actually that's not true,
because you want to kind of define attributes for the pipe itself.
And here you can see how the models kind of allow you
to separate these things.
So what is there, it regards the target.
So it regards it's about your router, the site,
and whatever kind of attribute comes up.
And up there there are the attributes for your core link.
So for example, your IGP metric and stuff like that.
Whew, I'm late.
And so just to wrap it up, this is an example of workflow.
The operator fills in a form, then the workflow ending starts,
goes to IPAM, gets IP address, gets DNS configured,
calls Ansible, configures the router,
calls Netbox, puts the router in Netbox with all the interfaces, etc.
Yeah.
So in case you want to do network automation,
don't forget that this is a network problem,
so you need network engineers,
but it's a lot of software, so you need developers.
And we found this super complicated.
We found our self-lost in translation many times,
but it's doable.
Yeah, I don't think that telling you how hard it is to do DTAP.
Yeah, you know.
Yeah, this is the main takeaway.
And if you want to know more, please feel free to approach me.
Now I'm around.
I have a bunch of links that you should find in the FOSTEM site.
So if you're interested, all the code is there.
Everything is for you guys.
Happy FOSTEM.
Thank you.
Any questions?
Thanks.
Yeah, yeah.
We use NetConf to push configuration.
If you say something like this to a network engineer,
he will start crying.
And it's also not true, no?
Because this is done for standard provisioning
and the provisioning of service.
If stuff explodes, of course you go CLI.
Have you had a look at Nordnir and Naipalm in terms of...
Can you hear me?
Okay.
Did you have a look at Nordnir and or Naipalm to replace Ansible?
Like to execute configuration on routers?
Yes, but no.
But that means...
How to say...
We didn't...
No solution for you.
Sorry?
No solution for you.
No, we have the solution.
So the question was if we were looking at Nordnir
or other automation tools,
what I'm trying to give you is the concept
that automation is kind of simple.
Okay?
And especially in our network, we have 40 nodes.
I don't need anything super performant
in terms of scalability or things.
If you compile a GINJA template
and you are able to talk with my device the way I want,
so for example, Comfy Private,
plus commit command and these kind of stuff,
I'm happy with it.
The complexity, the real complexity,
is taking the process, the entire process
made of emails and Word documents and calls
and show it in the orchestrator.
So maybe in the future we will look at Nordnir,
maybe in the future we will do it,
but for now, no need.
I hope.
Thank you.
Thank you, guys.
APPLAUSE