The execution of vppcfg/tests.py from the main directory will cause the
--test flag to not glob any YAML files. Enter the source directory
before executing the tests.
Before:
- No YAML tests were executed, so 'success' was always returned. Unit
tests were all executed.
After:
- Both unit tests and YAML tests are executed (and they all pass)
Before, interface_names was a literal copy of the VPPMessage() from
sw_interface_details, so interfaces and interface_names kept the
messages twice. This change makes interface_names a pointer to the index
on interfaces.
- Update the cache creation to make the indirection from interface_names
to interfaces
- Introduce get_interface_by_name()
- Update/fix all the call sites
Tested:
- All unit tests and yamltests pass before and after this change
- The hippo integration test passes before and after this change
Fixed python load paths so that vppcfg will work installed as python
library and standalone from the source directory, fixing load
pathes for resources such as yaml files along the way.
Added a make target for pylint called 'make check-style', fixed a
number of minor pylint issues along the way.
Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
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>
When a bridge-domain has a BVI, it will not sync/add the interfaces to
the bridge. As an example:
bridgedomains:
bd1001:
bvi: loop1001
interfaces: [ tap1001 ]
mtu: 9000
taps:
tap1001:
host:
bridge: br0
mac: 02:fe:83:97:f4:7f
mtu: 9000
name: vpp-bd1001
Before this change, the 'tap1001' would get created, but if the BVI
'loop1001' was correctly set up on the bridge, the code would continue
and skip over enumerating config_bridge_iface. After this change,
both the BVI will be checked (and added if not present), AND all
interfaces will be enumerated (and added if not present).
Add a reasonably tolerant .pylintrc and fix most pylint errors and
warnings.
------------------------------------------------------------------
Your code has been rated at 9.78/10