pierky / arouteserver

A tool to automatically build (and test) feature-rich configurations for BGP route servers.
https://arouteserver.readthedocs.org/
GNU General Public License v3.0
288 stars 46 forks source link

run.sh requires envvars that are not used with custom-general #68

Closed bluikko closed 3 years ago

bluikko commented 3 years ago

I would prefer a way to pass RS_ASN, ROUTER_ID, LOCAL_PREFIXES as environment vars even when using custom-general.yml, but as a simple fix just move the check for the vars inside the if general.yml doesn't exist.

coveralls commented 3 years ago

Coverage Status

Coverage remained the same at 72.748% when pulling fe84c260964e5006fe58c8eba13e524b5b5f00db on bluikko:patch-1 into e532f1fed19e3b6ea7cfbb2db673804ea467443b on pierky:master.

pierky commented 3 years ago

Hi @bluikko, thanks a lot for the contributions!

This is just to let you know that I'm working to add some tests for this PR (wip under the dev branch, I'll push it soon).

pierky commented 3 years ago

Hi @bluikko, thanks again for your PRs.

I've merged them into dev and I've added some tests, things look good and I'll most likely push a new release out soon.

In the meantime, I've filed a preliminary release v1.5.1-alpha1, which is going through the CI/CD pipelines right now and hopefully will be published soon to the staging instance of PyPI (instructions on how to install it can be found here, just in case you wanna have a look).

Regarding the possibility of using env vars in genera.yml, it's already a thing: https://arouteserver.readthedocs.io/en/latest/CONFIG.html#yaml-files-inclusion-and-environment-variables-expansion

I've added also a test case to cover this scenario via the Docker image, you can find it here: https://github.com/pierky/arouteserver/commit/e17c1a3fe9eb9c4d9fca242d1158654505b4f791#diff-19f870378a7753a505c3b1613b55eed8987a2281158b74d3d2f067c5090515a1R160-R168 (here a similar test that doesn't involve Docker: https://github.com/pierky/arouteserver/commit/e17c1a3fe9eb9c4d9fca242d1158654505b4f791#diff-9cae8d10dc33f99694de93d6143c25fd2938233b52fdea428ec902df79c2c6c8R54). As you can see, both test cases are using a general.yml file that has some config knobs referencing env vars: https://github.com/pierky/arouteserver/commit/e17c1a3fe9eb9c4d9fca242d1158654505b4f791#diff-57c63767c25cbdaa94636ca3d181e2d4e9c8642aaa568ec473b58e7a83fcb3eaR2-R3

Hope this helps you to deploy the solution that you like most.

pierky commented 3 years ago

Hello @bluikko, the PRs have been merged and the pipeline is running to release v1.5.1. Thanks again for your contributions.

Are you using ARouteServer for any specific IX? I'd like to hear your feedback if you like to share it: please feel free to reach me out if you want. Thanks.