build: add yaml file linting to make checkstyle 05/23205/3
authorPaul Vinciguerra <pvinci@vinciconsulting.com>
Sun, 3 Nov 2019 23:44:31 +0000 (18:44 -0500)
committerOle Trøan <otroan@employees.org>
Wed, 6 Nov 2019 16:40:11 +0000 (16:40 +0000)
Type: feature

fts and trex rely on yaml config files.  Verify
that they are valid, so comitters can catch
errors early.

Change-Id: Ide0bb276659119c59bdbbc8b8155e37562a648b8
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
12 files changed:
Makefile
src/plugins/flowprobe/FEATURE.yaml
src/plugins/mactime/FEATURE.yaml
src/plugins/map/FEATURE.yaml
src/plugins/mdata/FEATURE.yaml
src/plugins/nat/extras/trex_cfg.yaml
src/vnet/devices/af_packet/FEATURE.yaml
src/vnet/devices/netmap/FEATURE.yaml
src/vnet/devices/pipe/FEATURE.yaml
src/vnet/devices/tap/FEATURE.yaml
src/vnet/devices/virtio/FEATURE.yaml
src/vnet/ipip/FEATURE.yaml

index 1a11da8..b8c8a78 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -68,7 +68,7 @@ DEB_DEPENDS += lcov chrpath autoconf indent clang-format libnuma-dev
 DEB_DEPENDS += python-all python3-all python3-setuptools python-dev
 DEB_DEPENDS += python-virtualenv python-pip libffi6 check
 DEB_DEPENDS += libboost-all-dev libffi-dev python3-ply libmbedtls-dev
-DEB_DEPENDS += cmake ninja-build uuid-dev python3-jsonschema python3-yaml
+DEB_DEPENDS += cmake ninja-build uuid-dev python3-jsonschema python3-yaml yamllint
 ifeq ($(OS_VERSION_ID),14.04)
        DEB_DEPENDS += libssl-dev
 else ifeq ($(OS_ID)-$(OS_VERSION_ID),debian-8)
@@ -89,6 +89,7 @@ RPM_DEPENDS += selinux-policy selinux-policy-devel
 RPM_DEPENDS += ninja-build
 RPM_DEPENDS += libuuid-devel
 RPM_DEPENDS += mbedtls-devel
+RPM_DEPENDS += yamllint
 
 ifeq ($(OS_ID),fedora)
        RPM_DEPENDS += dnf-utils
@@ -558,6 +559,7 @@ cscope: cscope.files
 
 checkstyle:
        @build-root/scripts/checkstyle.sh
+       yamllint $(WS_ROOT)/src
 
 fixstyle:
        @build-root/scripts/checkstyle.sh --fix
index f3388fc..6638243 100644 (file)
@@ -1,3 +1,4 @@
+---
 name: IPFIX probe
 maintainer: Ole Troan <ot@cisco.com>
 features:
@@ -6,8 +7,8 @@ features:
   - Recording of L2, L3 and L4 information
 description: "IPFIX flow probe. Works in the L2, or IP input feature path."
 missing:
- - Output path
- - Export over IPv6
- - Export over TCP/SCTP
 - Output path
 - Export over IPv6
 - Export over TCP/SCTP
 state: production
 properties: [API, CLI, STATS, MULTITHREAD]
index fbc0a6c..f24450e 100644 (file)
@@ -1,3 +1,4 @@
+---
 name: Time-range-based MAC-address filter (mactime)
 maintainer: Dave Barach <dave@barachs.net>
 features:
index 0d15635..b505591 100644 (file)
@@ -1,8 +1,9 @@
+---
 name: Mapping of Address and Port (MAP)
 maintainer: Ole Troan <ot@cisco.com>
 features:
   - LW46 BR (RFC7596):
-    - Fragmentation and Reassembly
+      - Fragmentation and Reassembly
   - MAP-E BR (RFC7597)
   - MAP-T BR (RFC7599)
 description: "IPv4 as a service mechanisms. Tunnel or translate
index 404739e..9bd11e4 100644 (file)
@@ -1,8 +1,10 @@
+---
 name: Buffer Metadata Change Tracker (mdata)
 maintainer: Dave Barach <dave@barachs.net>
 features:
   - Buffer Metadata Change Tracker
-description:  Buffer Metadata Change Tracker
+ |-
+              Buffer Metadata Change Tracker
               Uses the before / after graph node main loop performance
               callback hooks to snapshoot buffer metadata, then
               compare and summarize results per-node.
index 6fd1ab0..0388476 100644 (file)
@@ -1,5 +1,5 @@
-### Config file generated by dpdk_setup_ports.py ###
-
+# Config file generated by dpdk_setup_ports.py ##
+---
 - port_limit: 2
   version: 2
   interfaces: ['04:00.0', '04:00.1']
@@ -14,8 +14,7 @@
       master_thread_id: 0
       latency_thread_id: 8
       dual_if:
-        - socket: 0
-          threads: [1,2,3,4,5,6,7]
-        - socket: 1
-          threads: [9,10,11,12,13,14,15]
-
+          - socket: 0
+            threads: [1, 2, 3, 4, 5, 6, 7]
+          - socket: 1
+            threads: [9, 10, 11, 12, 13, 14, 15]
index 0063014..4a057c4 100644 (file)
@@ -1,9 +1,15 @@
+---
 name: host-interface Device (AF_PACKET)
 maintainer: Damjan Marion <damarion@cisco.com>
 features:
   - L4 checksum offload
-description: "Create a host interface that will attach to a linux AF_PACKET interface, one side of a veth pair. The veth pair must already exist. Once created, a new host interface will exist in VPP with the name 'host-<ifname>', where '<ifname>' is the name of the specified veth pair. Use the 'show interface' command to display host interface details."
+description: "Create a host interface that will attach to a linux AF_PACKET
+              interface, one side of a veth pair. The veth pair must
+              already exist. Once created, a new host interface will
+              exist in VPP with the name 'host-<ifname>', where '<ifname>'
+              is the name of the specified veth pair. Use the 'show interface'
+              command to display host interface details."
 missing:
- - API dump details beyond sw_if_index and name
 - API dump details beyond sw_if_index and name
 state: production
 properties: [API, CLI, STATS, MULTITHREAD]
index dfc32bb..e23e5c2 100644 (file)
@@ -1,9 +1,12 @@
+---
 name: Netmap Device
 maintainer: Damjan Marion <damarion@cisco.com>
 features:
   - L4 checksum offload
-description: "Create a netmap interface, which is a high speed user-space interface that allows VPP to patch into a linux namespace, a linux container, or a physical NIC without the use of DPDK."
+description: "Create a netmap interface, which is a high speed user-space
+              interface that allows VPP to patch into a linux namespace,
+              a linux container, or a physical NIC without the use of DPDK."
 missing:
- - API dump
 - API dump
 state: production
 properties: [API, CLI, STATS, MULTITHREAD]
index 0886ec5..dbe3b3b 100644 (file)
@@ -1,8 +1,12 @@
+---
 name: Pipe Device
 maintainer: Damjan Marion <damarion@cisco.com>
 features:
   - L4 checksum offload
-description: "Create a pipe device interface, which can pass packets bidirectionally in one side of the pipe to the other side of the pipe. While similar in behavior to a unix pipe, it is not a host-based pipe."
+description: "Create a pipe device interface, which can pass packets
+              bidirectionally in one side of the pipe to the other side of
+              the pipe. While similar in behavior to a unix pipe, it is
+              not a host-based pipe."
 missing:
   - does not use hw-address
   - does not support tagged traffic
index 2ca6057..ce2c510 100644 (file)
@@ -1,8 +1,10 @@
+---
 name: Tap Device
 maintainer: damarion@cisco.com sluong@cisco.com sykazmi@cisco.com
 features:
   - Virtio
-description: "Create a tap v2 device interface, which connects to a tap interface on the host system."
+description: "Create a tap v2 device interface, which connects to a
+              tap interface on the host system."
 missing:
 
   - API dump filtering by sw_if_index
index 69f4739..c98689e 100644 (file)
@@ -1,7 +1,9 @@
+---
 name: Virtio PCI Device
 maintainer: Mohsin Kazmi <sykazmi@cisco.com>
 features:
-  - connection to the emulated pci interface presented to vpp from the host interface.
+  - connection to the emulated pci interface presented to vpp from
+    the host interface.
 description: "Create a virtio-backed PCI device interface"
 missing:
   - API dump filtering by sw_if_index
index 6e670fc..010fa1e 100644 (file)
@@ -1,22 +1,24 @@
+---
 name: IP in IP tunnelling
 maintainer: Ole Troan <ot@cisco.com>
 features:
   - IPv4/IPv6 over IPv4/IPv6 encapsulation:
-    - Fragmentation and Reassembly
-    - Configurable MTU
-    - Inner to outer Traffic Class / TOS copy
-    - Configurable Traffic Class / TOS
+      - Fragmentation and Reassembly
+      - Configurable MTU
+      - Inner to outer Traffic Class / TOS copy
+      - Configurable Traffic Class / TOS
   - ICMPv4 / ICMPv6 proxying
   - 6RD (RFC5969):
-    - Border Relay
+      - Border Relay
 
-description: "Implements IP{v4,v6} over IP{v4,v6} tunnelling as
-              described in RFC2473. This module also implement the border relay of
-             6RD (RFC5969)."
+description: |-
+              Implements IP{v4,v6} over IP{v4,v6} tunnelling as
+              described in RFC2473. This module also implements the
+              border relay of 6RD (RFC5969).
 
 state: production
 properties: [API, CLI, STATS, MULTITHREAD]
 missing:
   - Tunnel PMTUD
   - Tracking of FIB state for tunnel state
-  - IPv6 extension headers (Tunnel encapsulation limit option)
\ No newline at end of file
+  - IPv6 extension headers (Tunnel encapsulation limit option)