Misc edits to disable jobs hung on unresponsive nodes.

jjb/voltha-test/voltha-certification.yaml
jjb/voltha-test/voltha-certification/voltha-2.11.yaml
jjb/voltha-test/voltha-certification/voltha-2.12.yaml
jjb/voltha-test/voltha-certification/voltha-2.8.yaml
-----------------------------------------------------
  o Disable more menlo-certification jobs since cluster is offline.
  o Refactor altered 1600g jobs into configs named for branch/release.

requirements.txt
----------------
  o Added versioned urllib3 module so sphinx + python v3.6 will not barf.

Makefile
makefiles/lint/include.mk
makefiles/lint/doc8/include.mk
------------------------------
  o More updates from repo:onf-make, added library target lint-doc8.

makefiles/jjb/targets.mk
------------------------
  o build target - added a dependency on activate script so virtualenv
    will install on demand.  Worked by coincidence earlier, make lint
    also depends on venv.

jjb/voltha-e2e.yaml
-------------------
  o Purge lingering comments from joba-into-versioned-configs refactoring.
  o No fallout reported when configs were changed earlier.

Change-Id: I2571feb883a2049feb0781fc2464b875e3af325e
diff --git a/Makefile b/Makefile
index e1e394f..30ca940 100644
--- a/Makefile
+++ b/Makefile
@@ -60,6 +60,7 @@
 	@echo 'Usage: $(MAKE) help ...'
 	@echo '  % make clean sterile'
 	@echo '  % make lint lint-jjb'
+	@echo '  % make build           # jjb-gen'
 	@echo '  % make test'
 	@echo '  % make help            # show all available targes'
 
diff --git a/jjb/voltha-e2e.yaml b/jjb/voltha-e2e.yaml
index 50430cc..f77043e 100755
--- a/jjb/voltha-e2e.yaml
+++ b/jjb/voltha-e2e.yaml
@@ -1827,104 +1827,6 @@
 
       # -----------------------------------------------------------------------          
       # -----------------------------------------------------------------------          
-#      - 'voltha-periodic-test':
-#          name: 'periodic-voltha-sanity-test-multi-runs'
-#          code-branch: 'master'
-#          time-trigger: "H H/23 * * *"
-#          extraHelmFlags: '--set global.image_tag=master --set onos-classic.image.tag=master --set onu=2,pon=2'
-#          testTargets: |
-#            - target: sanity-kind
-#              workflow: att
-#              flags: ""
-#              teardown: true
-#              logging: true
-#            - target: sanity-kind
-#              workflow: att
-#              flags: ""
-#              teardown: false
-#              logging: true
-#            - target: sanity-kind
-#              workflow: att
-#              flags: ""
-#              teardown: false
-#              logging: true
-#            - target: sanity-kind
-#              workflow: att
-#              flags: ""
-#              teardown: false
-#              logging: true
-#            - target: sanity-kind
-#              workflow: att
-#              flags: ""
-#              teardown: false
-#              logging: true
-
-#      - 'voltha-periodic-test':
-#          name: 'periodic-voltha-sanity-test-multi-runs-2.8'
-#          pipeline-script: 'voltha/voltha-2.8/bbsim-tests.groovy'
-#          code-branch: 'voltha-2.8'
-#          time-trigger: "H H/23 * * *"
-#          testTargets: |
-#            - target: sanity-kind
-#              workflow: att
-#              flags: ""
-#              teardown: true
-#              logging: true
-#            - target: sanity-kind
-#              workflow: att
-#              flags: ""
-#              teardown: false
-#              logging: true
-#            - target: sanity-kind
-#              workflow: att
-#              flags: ""
-#              teardown: false
-#              logging: true
-#            - target: sanity-kind
-#              workflow: att
-#              flags: ""
-#              teardown: false
-#              logging: true
-#            - target: sanity-kind
-#              workflow: att
-#              flags: ""
-#              teardown: false
-#              logging: true
-
-#      - 'voltha-periodic-test':
-#          name: 'periodic-voltha-sanity-test-multi-runs-2.11'
-#          pipeline-script: 'voltha/voltha-2.11/bbsim-tests.groovy'
-#          code-branch: 'voltha-2.11'
-#          time-trigger: "H H/23 * * *"
-#          testTargets: |
-#            - target: sanity-kind
-#              workflow: att
-#              flags: ""
-#              teardown: true
-#              logging: true
-#            - target: sanity-kind
-#              workflow: att
-#              flags: ""
-#              teardown: false
-#              logging: true
-#            - target: sanity-kind
-#              workflow: att
-#              flags: ""
-#              teardown: false
-#              logging: true
-#            - target: sanity-kind
-#              workflow: att
-#              flags: ""
-#              teardown: false
-#              logging: true
-#            - target: sanity-kind
-#              workflow: att
-#              flags: ""
-#              teardown: false
-#              logging: true
-
-      # -----------------------------------------------------------------------          
-      # -----------------------------------------------------------------------          
       - 'voltha-periodic-test':
           name: 'periodic-voltha-dt-test-bbsim'
           build-node: 'ubuntu18.04-basebuild-4c-8g'
diff --git a/jjb/voltha-test/voltha-certification.yaml b/jjb/voltha-test/voltha-certification.yaml
index 353422a..3a8c7ea 100644
--- a/jjb/voltha-test/voltha-certification.yaml
+++ b/jjb/voltha-test/voltha-certification.yaml
@@ -28,12 +28,14 @@
     num-of-ponports: ''
 
     jobs:
-
+      
+      # branches moved, master.yaml jobs retained here for now
+      # job is a mirror of the one that follows, differs in explcit branch naming
       # Certification (Radisys 1600G) pod with olt/onu - master versions timer based job
       - 'build_voltha_pod_release_timer':
           build-node: 'menlo-certification-pod-1'
           config-pod: 'menlo-certification-pod-radisys-1600g'
-          disable-job: false
+          disable-job: true       # menlo-certification-pod-1: offline
           reinstall-olt: true
           name-extension: '_DT'
           work-flow: 'DT'
@@ -41,12 +43,13 @@
           time: '21'
           extraHelmFlags: "--set onos-classic.image.tag=master --set voltha.global.rw_core.rpc_timeout=30s --set voltha.global.rw_core.internal_timeout=30s"
 
-      # Certification (Radisys 1600G) POD test job - master versions: uses 1T8GEM tech profile on voltha branch
+          # branches moved, master.yaml jobs retained here for now
+          # Certification (Radisys 1600G) POD test job - master versions: uses 1T8GEM tech profile on voltha branch
       - 'build_voltha_pod_test':
           timeout: 330
           build-node: 'menlo-certification-pod-1'
           config-pod: 'menlo-certification-pod-radisys-1600g'
-          disable-job: false
+          disable-job: true       # menlo-certification-pod-1: offline
           release: 'master'
           branch: 'master'
           name-extension: '_DT'
@@ -137,109 +140,6 @@
           power-switch: true
           pipeline-script: 'voltha/voltha-2.11/voltha-dt-physical-functional-tests.groovy'
 
-      # Certification (Radisys) POD test job - master versions: uses 1T8GEM tech profile on voltha branch
-#      - 'build_voltha_pod_test':
-#          build-node: 'menlo-certification-pod-3'
-#          config-pod: 'menlo-certification-pod-radisys-3200g'
-#          disable-job: false
-#          release: '2.8'
-#          branch: 'voltha-2.8'
-#          name-extension: '_DT'
-#          work-flow: 'DT'
-#          test-repo: 'voltha-system-tests'
-#          profile: '1T8GEM'
-#          power-switch: true
-#          pipeline-script: 'voltha/voltha-2.8/voltha-dt-physical-functional-tests.groovy'
-
-      # -----------------------------------------------------------------------
-      # Certification (Radisys) pod with olt/onu - 2.11 version timer based job
-      # -----------------------------------------------------------------------
-      - 'build_voltha_pod_release_timer':
-          build-node: 'menlo-certification-pod-1'
-          config-pod: 'menlo-certification-pod-radisys-1600g'
-          disable-job: false
-          reinstall-olt: true
-          release: '2.12'
-          branch: 'voltha-2.12'
-          name-extension: '_DT'
-          work-flow: 'DT'
-          profile: '1T8GEM'
-          time: '13'
-          pipeline-script: 'voltha/voltha-2.12/physical-build.groovy'
-          extraHelmFlags: "--set onos-classic.image.tag=master"
-
-      - 'build_voltha_pod_release_timer':
-          build-node: 'menlo-certification-pod-1'
-          config-pod: 'menlo-certification-pod-radisys-1600g'
-          disable-job: false
-          reinstall-olt: true
-          release: '2.11'
-          branch: 'voltha-2.11'
-          name-extension: '_DT'
-          work-flow: 'DT'
-          profile: '1T8GEM'
-          time: '13'
-          pipeline-script: 'voltha/voltha-2.11/physical-build.groovy'
-          extraHelmFlags: "--set onos-classic.image.tag=master"
-
-      # Certification (Radisys) pod with olt/onu - 2.8 version timer based job
-#      - 'build_voltha_pod_release_timer':
-#          build-node: 'menlo-certification-pod-1'
-#          config-pod: 'menlo-certification-pod-radisys-1600g'
-#          disable-job: false
-##          reinstall-olt: true
- #         release: '2.8'
- #         branch: 'voltha-2.8'
- #         name-extension: '_DT'
- #         work-flow: 'DT'
- #         profile: '1T8GEM'
- #         time: '13'
- #         pipeline-script: 'voltha/voltha-2.8/physical-build.groovy'
- #         extraHelmFlags: "--set onos-classic.image.tag=master"
-
-      # -----------------------------------------------------------------------
-      # Certification (Radisys) POD test job - master versions: uses 1T8GEM tech profile on voltha branch
-      # -----------------------------------------------------------------------
-      - 'build_voltha_pod_test':
-          build-node: 'menlo-certification-pod-1'
-          config-pod: 'menlo-certification-pod-radisys-1600g'
-          disable-job: false
-          release: '2.12'
-          branch: 'voltha-2.12'
-          name-extension: '_DT'
-          work-flow: 'DT'
-          test-repo: 'voltha-system-tests'
-          profile: '1T8GEM'
-          power-switch: true
-          pipeline-script: 'voltha/voltha-2.12/voltha-dt-physical-functional-tests.groovy'
-
-      - 'build_voltha_pod_test':
-          build-node: 'menlo-certification-pod-1'
-          config-pod: 'menlo-certification-pod-radisys-1600g'
-          disable-job: false
-          release: '2.11'
-          branch: 'voltha-2.11'
-          name-extension: '_DT'
-          work-flow: 'DT'
-          test-repo: 'voltha-system-tests'
-          profile: '1T8GEM'
-          power-switch: true
-          pipeline-script: 'voltha/voltha-2.11/voltha-dt-physical-functional-tests.groovy'
-
-      # Certification (Radisys) POD test job - master versions: uses 1T8GEM tech profile on voltha branch
-#      - 'build_voltha_pod_test':
-#          build-node: 'menlo-certification-pod-1'
-#          config-pod: 'menlo-certification-pod-radisys-1600g'
-#          disable-job: false
-#          release: '2.8'
-#          branch: 'voltha-2.8'
-#          name-extension: '_DT'
-#          work-flow: 'DT'
-#          test-repo: 'voltha-system-tests'
-#          profile: '1T8GEM'
-#          power-switch: true
-#          pipeline-script: 'voltha/voltha-2.8/voltha-dt-physical-functional-tests.groovy'
-
       # -----------------------------------------------------------------------
       # Certification (Radisys) pod with olt/onu - 2.8 version timer based job
       # -----------------------------------------------------------------------
diff --git a/jjb/voltha-test/voltha-certification/voltha-2.11.yaml b/jjb/voltha-test/voltha-certification/voltha-2.11.yaml
index 7a6bd83..bc9781c 100644
--- a/jjb/voltha-test/voltha-certification/voltha-2.11.yaml
+++ b/jjb/voltha-test/voltha-certification/voltha-2.11.yaml
@@ -29,11 +29,27 @@
 
     jobs:
 
+      # -----------------------------------------------------------------------
+      # Certification (Radisys) POD test job - master versions: uses 1T8GEM tech profile on voltha branch
+      # -----------------------------------------------------------------------
+      - 'build_voltha_pod_test':
+          build-node: 'menlo-certification-pod-1'
+          config-pod: 'menlo-certification-pod-radisys-1600g'
+          disable-job: true       # menlo-certification-pod-1: offline
+          release: '2.11'
+          branch: 'voltha-2.11'
+          name-extension: '_DT'
+          work-flow: 'DT'
+          test-repo: 'voltha-system-tests'
+          profile: '1T8GEM'
+          power-switch: true
+          pipeline-script: 'voltha/voltha-2.11/voltha-dt-physical-functional-tests.groovy'
+
       # Certification (Radisys) pod with olt/onu - 2.11 version timer based job
       - 'build_voltha_pod_release_timer':
           build-node: 'menlo-certification-pod-3'
           config-pod: 'menlo-certification-pod-radisys-3200g'
-          disable-job: true
+          disable-job: true       # menlo-certification-pod-1: offline
           reinstall-olt: true
           release: '2.11'
           branch: 'voltha-2.11'
@@ -44,4 +60,18 @@
           pipeline-script: 'voltha/voltha-2.11/physical-build.groovy'
           extraHelmFlags: "--set onos-classic.image.tag=master"
 
+      - 'build_voltha_pod_release_timer':
+          build-node: 'menlo-certification-pod-1'
+          config-pod: 'menlo-certification-pod-radisys-1600g'
+          disable-job: true       # menlo-certification-pod-1: offline
+          reinstall-olt: true
+          release: '2.11'
+          branch: 'voltha-2.11'
+          name-extension: '_DT'
+          work-flow: 'DT'
+          profile: '1T8GEM'
+          time: '13'
+          pipeline-script: 'voltha/voltha-2.11/physical-build.groovy'
+          extraHelmFlags: "--set onos-classic.image.tag=master"
+          
 # [EOF]
diff --git a/jjb/voltha-test/voltha-certification/voltha-2.12.yaml b/jjb/voltha-test/voltha-certification/voltha-2.12.yaml
index ac8b46a..41ee4e9 100644
--- a/jjb/voltha-test/voltha-certification/voltha-2.12.yaml
+++ b/jjb/voltha-test/voltha-certification/voltha-2.12.yaml
@@ -29,6 +29,22 @@
 
     jobs:
 
+      # -----------------------------------------------------------------------
+      # Certification (Radisys) POD test job - master versions: uses 1T8GEM tech profile on voltha branch
+      # -----------------------------------------------------------------------
+      - 'build_voltha_pod_test':
+          build-node: 'menlo-certification-pod-1'
+          config-pod: 'menlo-certification-pod-radisys-1600g'
+          disable-job: true       # menlo-certification-pod-1: offline
+          release: '2.12'
+          branch: 'voltha-2.12'
+          name-extension: '_DT'
+          work-flow: 'DT'
+          test-repo: 'voltha-system-tests'
+          profile: '1T8GEM'
+          power-switch: true
+          pipeline-script: 'voltha/voltha-2.12/voltha-dt-physical-functional-tests.groovy'
+      
       # Certification (Radisys) pod with olt/onu - 2.12 version timer based job
       - 'build_voltha_pod_release_timer':
           build-node: 'menlo-certification-pod-3'
@@ -44,4 +60,21 @@
           pipeline-script: 'voltha/voltha-2.12/physical-build.groovy'
           extraHelmFlags: "--set onos-classic.image.tag=master"
 
+      # -----------------------------------------------------------------------
+      # Certification (Radisys) pod with olt/onu - 2.11 version timer based job
+      # -----------------------------------------------------------------------
+      - 'build_voltha_pod_release_timer':
+          build-node: 'menlo-certification-pod-1'
+          config-pod: 'menlo-certification-pod-radisys-1600g'
+          disable-job: true      # menlo-certification-pod-1: offline
+          reinstall-olt: true
+          release: '2.12'
+          branch: 'voltha-2.12'
+          name-extension: '_DT'
+          work-flow: 'DT'
+          profile: '1T8GEM'
+          time: '13'
+          pipeline-script: 'voltha/voltha-2.12/physical-build.groovy'
+          extraHelmFlags: "--set onos-classic.image.tag=master"
+          
 # [EOF]
diff --git a/jjb/voltha-test/voltha-certification/voltha-2.8.yaml b/jjb/voltha-test/voltha-certification/voltha-2.8.yaml
index f14c656..e327388 100644
--- a/jjb/voltha-test/voltha-certification/voltha-2.8.yaml
+++ b/jjb/voltha-test/voltha-certification/voltha-2.8.yaml
@@ -31,9 +31,38 @@
 
       # Certification (Radisys) pod with olt/onu - 2.8 version timer based job
       - 'build_voltha_pod_release_timer':
+          build-node: 'menlo-certification-pod-1'
+          config-pod: 'menlo-certification-pod-radisys-1600g'
+          disable-job:   true       # legacy
+          reinstall-olt: true
+          release: '2.8'
+          branch: 'voltha-2.8'
+          name-extension: '_DT'
+          work-flow: 'DT'
+          profile: '1T8GEM'
+          time: '13'
+          pipeline-script: 'voltha/voltha-2.8/physical-build.groovy'
+          extraHelmFlags: "--set onos-classic.image.tag=master"
+
+      # Certification (Radisys) POD test job - master versions: uses 1T8GEM tech profile on voltha branch
+      - 'build_voltha_pod_test':
+          build-node: 'menlo-certification-pod-1'
+          config-pod: 'menlo-certification-pod-radisys-1600g'
+          disable-job: true       # legacy
+          release: '2.8'
+          branch: 'voltha-2.8'
+          name-extension: '_DT'
+          work-flow: 'DT'
+          test-repo: 'voltha-system-tests'
+          profile: '1T8GEM'
+          power-switch: true
+          pipeline-script: 'voltha/voltha-2.8/voltha-dt-physical-functional-tests.groovy'
+          
+      # Certification (Radisys) pod with olt/onu - 2.8 version timer based job
+      - 'build_voltha_pod_release_timer':
           build-node: 'menlo-certification-pod-3'
           config-pod: 'menlo-certification-pod-radisys-3200g'
-          disable-job: true
+          disable-job:   true       # legacy
           reinstall-olt: true
           release: '2.8'
           branch: 'voltha-2.8'
@@ -44,4 +73,18 @@
           pipeline-script: 'voltha/voltha-2.8/physical-build.groovy'
           extraHelmFlags: "--set onos-classic.image.tag=master"
 
+      # Certification (Radisys) POD test job - master versions: uses 1T8GEM tech profile on voltha branch
+      - 'build_voltha_pod_test':
+          build-node: 'menlo-certification-pod-3'
+          config-pod: 'menlo-certification-pod-radisys-3200g'
+          disable-job: true       # legacy
+          release: '2.8'
+          branch: 'voltha-2.8'
+          name-extension: '_DT'
+          work-flow: 'DT'
+          test-repo: 'voltha-system-tests'
+          profile: '1T8GEM'
+          power-switch: true
+          pipeline-script: 'voltha/voltha-2.8/voltha-dt-physical-functional-tests.groovy'
+         
 # [EOF]
diff --git a/makefiles/jjb/targets.mk b/makefiles/jjb/targets.mk
index 730d229..889eceb 100644
--- a/makefiles/jjb/targets.mk
+++ b/makefiles/jjb/targets.mk
@@ -35,12 +35,13 @@
 .PHONY: jjb-gen
 
 jjb-gen-log := $(jjb-gen-dir)/jjb-gen.log
-jjb-gen:
+jjb-gen: $(venv-activate-script)
 	$(call banner-enter,Target $@)
 	@mkdir -p $(jjb-gen-dir)
 	@touch "$(jjb-gen-dir)/.sentinel"
-	( $(activate) \
-	   && jenkins-jobs test $(PWD)/jjb -o $(jjb-gen-dir) 3>&1 2>&1 \
+	( \
+	  $(activate) \
+	     && jenkins-jobs test $(PWD)/jjb -o $(jjb-gen-dir) 3>&1 2>&1 \
 	) | tee "$(jjb-gen-log)"
 
   ifdef LOGS
diff --git a/makefiles/lint/doc8/include.mk b/makefiles/lint/doc8/include.mk
index 6490b89..4764fa2 100644
--- a/makefiles/lint/doc8/include.mk
+++ b/makefiles/lint/doc8/include.mk
@@ -20,8 +20,14 @@
 ##-------------------##
 .PHONY: lint-doc8 lint-doc8-all lint-doc8-modified
 
-have-rst-files := $(if $(strip $(RST_SOURCE)),true)
-RST_SOURCE     ?= $(error RST_SOURCE= is required)
+have-doc8-files := $(if $(strip $(DOC8_SOURCE)),true)
+DOC8_SOURCE     ?= $(error DOC8_SOURCE= is required)
+
+##--------------------##
+##---]  INCLUDES  [---##
+##--------------------##
+# include $(ONF_MAKEDIR)/lint/doc8/help.mk
+include $(ONF_MAKEDIR)/lint/doc8/install.mk
 
 ## -----------------------------------------------------------------------
 ## -----------------------------------------------------------------------
@@ -36,23 +42,14 @@
 
 ## -----------------------------------------------------------------------
 ## -----------------------------------------------------------------------
-include $(ONF_MAKEDIR)/lint/doc8/excl.mk
+lint-doc8-excl := $(foreach dir,$(onf-excl-dirs),--ignore-path "$(dir)")
+lint-doc8: lint-doc8-cmd-version
 
-ifdef lint-doc8-excl
-  lint-doc8-excl-args += $(addprefix --ignore-path$(space),$(lint-doc8-excl))
-endif
-lint-doc8-excl-args += $(addprefix --ignore-path$(space),$(lint-doc8-excl-raw))
-
-lint-doc8-args += --max-line-length 120
-
-lint-doc8: $(venv-activate-script)
-	@echo
-	@echo '** -----------------------------------------------------------------------'
-	@echo '** doc8 *.rst syntax checking'
-	@echo '** -----------------------------------------------------------------------'
+	$(call banner-enter,Target $@)
 	$(activate) && doc8 --version
 	@echo
-	$(activate) && doc8 $(lint-doc8-excl-args) $(lint-doc8-args) .
+	$(activate) && doc8 $(lint-doc8-excl)
+	$(call banner-enter,Target $@)
 
 ## -----------------------------------------------------------------------
 ## Intent: Display command usage
diff --git a/makefiles/lint/doc8/install.mk b/makefiles/lint/doc8/install.mk
new file mode 100644
index 0000000..0e62260
--- /dev/null
+++ b/makefiles/lint/doc8/install.mk
@@ -0,0 +1,65 @@
+# -*- makefile -*-
+# -----------------------------------------------------------------------
+# Copyright 2022-2023 Open Networking Foundation (ONF) and the ONF Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-FileCopyrightText: 2022 Open Networking Foundation (ONF) and the ONF Contributors
+# SPDX-License-Identifier: Apache-2.0
+# -----------------------------------------------------------------------
+
+$(if $(DEBUG),$(warning ENTER))
+
+## -----------------------------------------------------------------------
+## Intent: Install the doc8 tool
+## -----------------------------------------------------------------------
+.PHONY: lint-doc8-install
+
+## Define a macro to standardize and simplify access
+# DOC8 ?= $(venv-activate-bin)/doc8
+# DOC8 ?= $(activate) && doc8
+
+## -----------------------------------------------------------------------
+## Intent: Display doc8 command version string.
+##   Note: As a side effect, install doc8 by dependency
+## -----------------------------------------------------------------------
+.PHONY: lint-doc8-cmd-version
+lint-doc8-cmd-version : $(venv-activate-bin)/doc8
+
+	$(HIDE) echo
+	$< --version
+
+## -----------------------------------------------------------------------
+## Intent: On-demand instalation of the doc8 command
+## -----------------------------------------------------------------------
+lint-doc8-install := $(venv-activate-bin)/doc8
+$(lint-doc8-install) : $(venv-activate-script)
+
+	$(call banner-enter,Target $@)
+	$(activate) && pip install doc8
+	$(call banner-leave,Target $@)
+
+## -----------------------------------------------------------------------
+## Intent: Purge doc8 tool installation
+## -----------------------------------------------------------------------
+sterile ::
+	$(HIDE)$(RM) "$(venv-abs-bin)/doc8"
+# HIDE)$(RM) -r .venv/lib/*/site-packages/doc8
+
+## -----------------------------------------------------------------------
+## Intent: Display command usage
+## -----------------------------------------------------------------------
+help::
+	@echo '  lint-doc8-install       Install the doc8 tool'
+
+# [EOF]
diff --git a/makefiles/lint/include.mk b/makefiles/lint/include.mk
index 2ae2575..7cfed79 100644
--- a/makefiles/lint/include.mk
+++ b/makefiles/lint/include.mk
@@ -27,7 +27,7 @@
 	@echo
 	@echo "[LINT]"
 
-include $(ONF_MAKEDIR)/lint/doc8
+include $(ONF_MAKEDIR)/lint/doc8/include.mk
 include $(ONF_MAKEDIR)/lint/groovy.mk
 include $(ONF_MAKEDIR)/lint/jjb.mk
 include $(ONF_MAKEDIR)/lint/json.mk