batfish / docker

Docker containers for Batfish and Pybatfish
Apache License 2.0
11 stars 14 forks source link

Got questions, feedback, or feature requests? Join our community on Slack!

Batfish Docker

This repo has the source files to build Batfish and allinone docker containers that provide a quick way to start using Batfish.

Follow the instructions on readthedocs to get started using Batfish.

Building and pushing Batfish artifacts

This repo defines a couple buildkite pipelines, including an upload pipeline. The upload pipeline builds and tests candidate release artifacts: docker images and the Pybatfish wheel.

This pipeline runs several cross-version tests: different versions of Batfish versus different versions of Pybatfish to ensure backward compatibility of new releases. For example, the pipeline step :snake: dev <-> :batfish: prod tests the new Pybatfish Python wheel (dev) versus the most recent release of Batfish (prod). Each of these cross-version checks run the integration tests defined in the Pybatfish repo.

Fixing new-feature tests

The most common cross-version test failure we see comes from adding tests for something not supported in old versions of Batfish or Pybatfish. In this case, the new integration test needs to have a minimum-version annotation (see details in the Pybatfish developer readme, here) attached in order to run the test to only on that version (or later) Batfish and Pybatfish.