Files
vppcfg/README.md
Ray Kinsella 3122022383 build: initial pybuild based deb packaging
Initial version of deb pkg, based on pybuild. Reverted to classic
setup.py, because debian tooling does not yet understand the newer
pyproject.toml.

Yamale is absent from the list of package dependencies as there is as
yet no upstream debian packaging for it, will need to work around with
documentation and install with pip for the moment. Autotest of the
debian packaging is also disabled for the moment.

Systemd service is automatically installed and bould to the vpp
service, but does not become active until the user creates the
configuration /etc/vpp/config.yaml

Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
2022-07-04 11:34:16 +01:00

2.7 KiB

A VPP Configuration Utility

This tool reads a configuration file, checks it for syntax and semantic correctness, and then reconciles a running VPP daemon with its configuration. It is meant to be re-entrant and stateless. The tool connects to the VPP API and creates/removes all of the configuration in a minimally intrusive way.

NOTE This code is under development, and probably won't work well until this note is removed. If you're interested in helping, reach out to <pim at ipng dot ch> to discuss options.

Building

This program expects Python3 and PIP to be installed. It's known to work on OpenBSD and Debian.

## Install python build dependencies 
$ make install-deps

## Ensure all unittests pass.
$ vppcfg/tests.py -d -t unittest/yaml/*.yaml

## Build vppcfg
$ make build

## Install the tool with PIP
$ make install

## To build & install debian packaging
$ make pkg-deb
$ sudo deb -i ../vppcfg_0.0.1_amd64.deb

Running

usage: vppcfg [-h] [-d] [-q] [-f] {check,dump,plan,apply} ...

positional arguments:
  {check,dump,plan,apply}
    check               check given YAML config for validity (no VPP)
    dump                dump current running VPP configuration (VPP readonly)
    plan                plan changes from current VPP dataplane to target config (VPP readonly)
    apply               apply changes from current VPP dataplane to target config

optional arguments:
  -h, --help            show this help message and exit
  -d, --debug           enable debug logging, default False
  -q, --quiet           be quiet (only warnings/errors), default False
  -f, --force           force progress despite warnings, default False

Please see vppcfg <command> -h   for per-command arguments

Documentation

Main user-focused documentation:

Developer deep-dives:

Licensing

The code in this project is release under Apache 2.0 license. A copy of the license is provided in this repo here. All contributions are held against our contributing guidelines. Notably, all code must be licensed Apache 2.0, and all contributions must come with a certificate of origin in the form of a Signed-off-by field in the commit.

All documentation under the docs/ directory is licensed Creative Commons Attribution 4.0 International License (details). A copy of the license is provided in this repo here.