Skip to content
This repository has been archived by the owner on Dec 3, 2021. It is now read-only.

Introduce new "configurator" for configuring devices, and templatize mgmt interface configuration #207

Merged
merged 8 commits into from
Mar 24, 2019

Conversation

Mierdin
Copy link
Member

@Mierdin Mierdin commented Mar 23, 2019

The discussion in nre-learning/antidote-core#93 illustrated the need to make the management IP address for devices more predictable, since the existing model of configuration hard-coded the same management address behind a NAT, so we could always use the same one.

However, this model proves problematic when you want to do more advanced things like streaming telemetry out of the management interface. The new vqfx-full image contributed by @mwiget instead, maps the em0 port directly to the outer container's eth0 interface, sharing its dynamically configured IP address, but because this is dynamically assigned by the CNI plugin, it's impossible to predict ahead of time with baked-in address configurations.

This PR introduces a new docker image intended to be used by Syringe to configure network devices. It works similar to the legacy one antidotelabs/napalm, but instead adds additional logic for passing dynamic data into a configuration template before applying it to the device. This allows us to totally templatize the management interface configuration for all devices, and pass it in by first retrieving the current address, and placing this data into any new proposed template. This PR also converts all existing network configurations to include this templatized parameter.

nre-learning/antidote-core#93 will now be converted purely to leverage the use of this image, without compromising on the current model of using the NAPALM replace strategy, which is a good practice to ensure atomicity between labs.

Signed-off-by: Matt Oswalt <[email protected]>
@Mierdin Mierdin merged commit 7b6dac4 into master Mar 24, 2019
@Mierdin Mierdin deleted the vqfx-full-testing branch March 24, 2019 07:02
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant