Branch indexing Connecting to https://api.github.com using edgex-jenkins/****** (edgex-jenkins github personal access token) Connecting to https://api.github.com to check permissions of obtain list of jpwhitemn for edgexfoundry/edgex-docs Obtained Jenkinsfile from f166a4cb4001a31e636aa80609ac2fc9b78aff3d+436fc344ab5e98004d9cfad8274dda185e27eec8 (ea4a06a2773f3fdf496bfb59224cf271a564dedd) Running in Durability level: PERFORMANCE_OPTIMIZED Loading library edgex-global-pipelines@stable Attempting to resolve stable from remote references... > git --version # timeout=10 > git --version # 'git version 2.16.6' using GIT_SSH to set credentials SSH Credentials for GitHub > git ls-remote -h -t -- git@github.com:edgexfoundry/edgex-global-pipelines.git # timeout=10 Found match: refs/tags/stable revision ad104866bbc8c98dca93091e1a8abeb835fd4e4d Resolving tag commit... (remote references may be a lightweight tag or an annotated tag) > git rev-parse --is-inside-work-tree # timeout=10 Setting origin to git@github.com:edgexfoundry/edgex-global-pipelines.git > git config remote.origin.url git@github.com:edgexfoundry/edgex-global-pipelines.git # timeout=10 Fetching origin... Fetching upstream changes from origin > git --version # timeout=10 > git --version # 'git version 2.16.6' > git config --get remote.origin.url # timeout=10 using GIT_SSH to set credentials SSH Credentials for GitHub > git fetch --tags --progress -- origin +refs/heads/*:refs/remotes/origin/* # timeout=10 > git rev-parse refs/tags/stable^{commit} # timeout=10 Resolved tag stable revision ad104866bbc8c98dca93091e1a8abeb835fd4e4d using credential edgex-jenkins-ssh > git rev-parse --is-inside-work-tree # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url git@github.com:edgexfoundry/edgex-global-pipelines.git # timeout=10 Fetching with tags Fetching upstream changes from git@github.com:edgexfoundry/edgex-global-pipelines.git > git --version # timeout=10 > git --version # 'git version 2.16.6' using GIT_SSH to set credentials SSH Credentials for GitHub > git fetch --tags --progress -- git@github.com:edgexfoundry/edgex-global-pipelines.git +refs/pull/*:refs/remotes/origin/pr/* # timeout=10 Checking out Revision ad104866bbc8c98dca93091e1a8abeb835fd4e4d (stable) > git config core.sparsecheckout # timeout=10 > git checkout -f ad104866bbc8c98dca93091e1a8abeb835fd4e4d # timeout=10 Commit message: "Merge pull request #251 from ernestojeda/fix-codecov-uploader" > git remote # timeout=10 > git submodule init # timeout=10 > git submodule sync # timeout=10 > git config --get remote.origin.url # timeout=10 > git submodule init # timeout=10 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 > git config --get submodule.global-jjb.url # timeout=10 > git config -f .gitmodules --get submodule.global-jjb.path # timeout=10 > git submodule update --init --recursive global-jjb # timeout=10 Excluding src/test/ from checkout of git git@github.com:edgexfoundry/edgex-global-pipelines.git so that shared library test code cannot be accessed by Pipelines. To remove this log message, move the test code outside of src/. To restore the previous behavior that allowed access to files in src/test/, pass -Dorg.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.INCLUDE_SRC_TEST_IN_LIBRARIES=true to the java command used to start Jenkins. Loading library lf-pipelines@master Attempting to resolve master from remote references... > git --version # timeout=10 > git --version # 'git version 2.16.6' using GIT_SSH to set credentials SSH Credentials for GitHub > git ls-remote -h -- git@github.com:lfit/releng-pipelines.git # timeout=10 Found match: refs/heads/master revision b86a95d4aff1c43a521ca3be618780efd0ee2800 using credential edgex-jenkins-ssh > git rev-parse --is-inside-work-tree # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url git@github.com:lfit/releng-pipelines.git # timeout=10 Fetching without tags Fetching upstream changes from git@github.com:lfit/releng-pipelines.git > git --version # timeout=10 > git --version # 'git version 2.16.6' using GIT_SSH to set credentials SSH Credentials for GitHub > git fetch --no-tags --progress -- git@github.com:lfit/releng-pipelines.git +refs/heads/*:refs/remotes/origin/* # timeout=10 Checking out Revision b86a95d4aff1c43a521ca3be618780efd0ee2800 (master) > git config core.sparsecheckout # timeout=10 > git checkout -f b86a95d4aff1c43a521ca3be618780efd0ee2800 # timeout=10 Commit message: "Update global-jjb to latest" > git remote # timeout=10 > git submodule init # timeout=10 > git submodule sync # timeout=10 > git config --get remote.origin.url # timeout=10 > git submodule init # timeout=10 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 > git config --get submodule.global-jjb.url # timeout=10 > git config -f .gitmodules --get submodule.global-jjb.path # timeout=10 > git submodule update --init --recursive global-jjb # timeout=10 Excluding src/test/ from checkout of git git@github.com:lfit/releng-pipelines.git so that shared library test code cannot be accessed by Pipelines. To remove this log message, move the test code outside of src/. To restore the previous behavior that allowed access to files in src/test/, pass -Dorg.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.INCLUDE_SRC_TEST_IN_LIBRARIES=true to the java command used to start Jenkins. [Pipeline] Start of Pipeline [Pipeline] node Still waiting to schedule task ‘prd-centos7-docker-4c-2g-3275’ is offline Running on prd-centos7-docker-4c-2g-3303 in /w/workspace/edgexfoundry_edgex-docs_PR-246 [Pipeline] { [Pipeline] stage [Pipeline] { (Declarative: Checkout SCM) [Pipeline] checkout using credential edgex-jenkins-ssh Cloning the remote Git repository Cloning repository git@github.com:edgexfoundry/edgex-docs.git > git init /w/workspace/edgexfoundry_edgex-docs_PR-246 # timeout=10 Fetching upstream changes from git@github.com:edgexfoundry/edgex-docs.git > git --version # timeout=10 > git --version # 'git version 2.16.5' using GIT_SSH to set credentials SSH Credentials for GitHub > git fetch --tags --progress -- git@github.com:edgexfoundry/edgex-docs.git +refs/heads/*:refs/remotes/origin/* # timeout=10 Merging remotes/origin/master commit 436fc344ab5e98004d9cfad8274dda185e27eec8 into PR head commit f166a4cb4001a31e636aa80609ac2fc9b78aff3d > git config remote.origin.url git@github.com:edgexfoundry/edgex-docs.git # timeout=10 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10 > git config remote.origin.url git@github.com:edgexfoundry/edgex-docs.git # timeout=10 Fetching upstream changes from git@github.com:edgexfoundry/edgex-docs.git using GIT_SSH to set credentials SSH Credentials for GitHub > git fetch --tags --progress -- git@github.com:edgexfoundry/edgex-docs.git +refs/pull/246/head:refs/remotes/origin/PR-246 +refs/heads/master:refs/remotes/origin/master # timeout=10 > git config core.sparsecheckout # timeout=10 > git checkout -f f166a4cb4001a31e636aa80609ac2fc9b78aff3d # timeout=10 > git remote # timeout=10 > git config --get remote.origin.url # timeout=10 using GIT_SSH to set credentials SSH Credentials for GitHub > git merge 436fc344ab5e98004d9cfad8274dda185e27eec8 # timeout=10 Merge succeeded, producing b3cd6e2fb4b4e668fa60b15567761c9930da08ea Checking out Revision b3cd6e2fb4b4e668fa60b15567761c9930da08ea (PR-246) > git rev-parse HEAD^{commit} # timeout=10 > git config core.sparsecheckout # timeout=10 > git checkout -f b3cd6e2fb4b4e668fa60b15567761c9930da08ea # timeout=10 Commit message: "Merge commit '436fc344ab5e98004d9cfad8274dda185e27eec8' into HEAD" First time build. Skipping changelog. [Pipeline] } [Pipeline] // stage [Pipeline] withEnv [Pipeline] { [Pipeline] timestamps [Pipeline] { [Pipeline] stage [Pipeline] { (Build Docs) [Pipeline] getContext [Pipeline] isUnix [Pipeline] sh > git rev-list --no-walk ad5be027c40898acc4dacb246476ac294ed910df # timeout=10 [2020-10-04T01:50:33.077Z] + docker inspect -f . python:3-slim [2020-10-04T01:50:33.077Z] [2020-10-04T01:50:33.077Z] Error: No such object: python:3-slim [Pipeline] isUnix [Pipeline] sh [2020-10-04T01:50:33.474Z] + docker pull python:3-slim [2020-10-04T01:50:33.752Z] 3-slim: Pulling from library/python [2020-10-04T01:50:34.030Z] d121f8d1c412: Pulling fs layer [2020-10-04T01:50:34.030Z] ca572574cc82: Pulling fs layer [2020-10-04T01:50:34.030Z] 38ead5def216: Pulling fs layer [2020-10-04T01:50:34.030Z] d66d8ce1705e: Pulling fs layer [2020-10-04T01:50:34.030Z] 922f4bd7bc61: Pulling fs layer [2020-10-04T01:50:34.030Z] d66d8ce1705e: Waiting [2020-10-04T01:50:34.030Z] 922f4bd7bc61: Waiting [2020-10-04T01:50:34.030Z] ca572574cc82: Verifying Checksum [2020-10-04T01:50:34.303Z] d66d8ce1705e: Verifying Checksum [2020-10-04T01:50:34.303Z] d66d8ce1705e: Download complete [2020-10-04T01:50:34.303Z] 38ead5def216: Verifying Checksum [2020-10-04T01:50:34.303Z] 38ead5def216: Download complete [2020-10-04T01:50:34.570Z] 922f4bd7bc61: Verifying Checksum [2020-10-04T01:50:34.570Z] 922f4bd7bc61: Download complete [2020-10-04T01:50:34.840Z] d121f8d1c412: Verifying Checksum [2020-10-04T01:50:34.840Z] d121f8d1c412: Download complete [2020-10-04T01:50:36.252Z] d121f8d1c412: Pull complete [2020-10-04T01:50:36.516Z] ca572574cc82: Pull complete [2020-10-04T01:50:37.923Z] 38ead5def216: Pull complete [2020-10-04T01:50:37.923Z] d66d8ce1705e: Pull complete [2020-10-04T01:50:38.191Z] 922f4bd7bc61: Pull complete [2020-10-04T01:50:38.191Z] Digest: sha256:0944c626f71b2f44ed45c13761f3cb97d75566261ade2b2d34f6ce2987dacbcb [2020-10-04T01:50:38.191Z] Status: Downloaded newer image for python:3-slim [2020-10-04T01:50:38.457Z] docker.io/library/python:3-slim [Pipeline] withDockerContainer [2020-10-04T01:50:38.601Z] prd-centos7-docker-4c-2g-3303 does not seem to be running inside a container [2020-10-04T01:50:38.671Z] $ docker run -t -d -u 1001:1001 -u 0:0 --privileged -w /w/workspace/edgexfoundry_edgex-docs_PR-246 -v /w/workspace/edgexfoundry_edgex-docs_PR-246:/w/workspace/edgexfoundry_edgex-docs_PR-246:rw,z -v /w/workspace/edgexfoundry_edgex-docs_PR-246@tmp:/w/workspace/edgexfoundry_edgex-docs_PR-246@tmp:rw,z -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** python:3-slim cat [2020-10-04T01:50:41.843Z] $ docker top 467521bc6f8e0a67051e287ff1a52ecc6b3956b7e78b90ea55b067a024197285 -eo pid,comm [Pipeline] { [Pipeline] sh [2020-10-04T01:50:42.326Z] + pip install mkdocs [2020-10-04T01:50:44.254Z] Collecting mkdocs [2020-10-04T01:50:44.254Z] Downloading mkdocs-1.1.2-py3-none-any.whl (6.4 MB) [2020-10-04T01:50:44.517Z] Collecting tornado>=5.0 [2020-10-04T01:50:44.517Z] Downloading tornado-6.0.4.tar.gz (496 kB) [2020-10-04T01:50:45.466Z] Collecting PyYAML>=3.10 [2020-10-04T01:50:45.466Z] Downloading PyYAML-5.3.1.tar.gz (269 kB) [2020-10-04T01:50:46.101Z] Collecting click>=3.3 [2020-10-04T01:50:46.101Z] Downloading click-7.1.2-py2.py3-none-any.whl (82 kB) [2020-10-04T01:50:46.101Z] Collecting Jinja2>=2.10.1 [2020-10-04T01:50:46.101Z] Downloading Jinja2-2.11.2-py2.py3-none-any.whl (125 kB) [2020-10-04T01:50:46.101Z] Collecting lunr[languages]==0.5.8 [2020-10-04T01:50:46.101Z] Downloading lunr-0.5.8-py2.py3-none-any.whl (2.3 MB) [2020-10-04T01:50:46.363Z] Collecting Markdown>=3.2.1 [2020-10-04T01:50:46.364Z] Downloading Markdown-3.2.2-py3-none-any.whl (88 kB) [2020-10-04T01:50:46.364Z] Collecting livereload>=2.5.1 [2020-10-04T01:50:46.364Z] Downloading livereload-2.6.3.tar.gz (25 kB) [2020-10-04T01:50:46.626Z] Collecting MarkupSafe>=0.23 [2020-10-04T01:50:46.626Z] Downloading MarkupSafe-1.1.1-cp38-cp38-manylinux1_x86_64.whl (32 kB) [2020-10-04T01:50:46.888Z] Collecting future>=0.16.0 [2020-10-04T01:50:46.888Z] Downloading future-0.18.2.tar.gz (829 kB) [2020-10-04T01:50:47.468Z] Collecting six>=1.11.0 [2020-10-04T01:50:47.468Z] Downloading six-1.15.0-py2.py3-none-any.whl (10 kB) [2020-10-04T01:50:47.468Z] Collecting nltk>=3.2.5; python_version > "2.7" and extra == "languages" [2020-10-04T01:50:47.468Z] Downloading nltk-3.5.zip (1.4 MB) [2020-10-04T01:50:48.424Z] Collecting joblib [2020-10-04T01:50:48.424Z] Downloading joblib-0.17.0-py3-none-any.whl (301 kB) [2020-10-04T01:50:49.387Z] Collecting regex [2020-10-04T01:50:49.387Z] Downloading regex-2020.9.27-cp38-cp38-manylinux2010_x86_64.whl (675 kB) [2020-10-04T01:50:49.387Z] Collecting tqdm [2020-10-04T01:50:49.387Z] Downloading tqdm-4.50.0-py2.py3-none-any.whl (70 kB) [2020-10-04T01:50:49.387Z] Building wheels for collected packages: tornado, PyYAML, livereload, future, nltk [2020-10-04T01:50:49.387Z] Building wheel for tornado (setup.py): started [2020-10-04T01:50:49.964Z] Building wheel for tornado (setup.py): finished with status 'done' [2020-10-04T01:50:49.964Z] Created wheel for tornado: filename=tornado-6.0.4-cp38-cp38-linux_x86_64.whl size=415147 sha256=e11223ab944d625e55f3e3915519bdc7c8879eb04a32c5137fbe85dd9103625a [2020-10-04T01:50:49.964Z] Stored in directory: /root/.cache/pip/wheels/88/79/e5/598ba17e85eccf2626eab62e4ee8452895636cd542650d450d [2020-10-04T01:50:49.964Z] Building wheel for PyYAML (setup.py): started [2020-10-04T01:50:50.539Z] Building wheel for PyYAML (setup.py): finished with status 'done' [2020-10-04T01:50:50.539Z] Created wheel for PyYAML: filename=PyYAML-5.3.1-cp38-cp38-linux_x86_64.whl size=44619 sha256=f217447c496b1258de86c29a2350dc72a76e36e75b9d3ddd7895c8541c9e2f3c [2020-10-04T01:50:50.539Z] Stored in directory: /root/.cache/pip/wheels/13/90/db/290ab3a34f2ef0b5a0f89235dc2d40fea83e77de84ed2dc05c [2020-10-04T01:50:50.539Z] Building wheel for livereload (setup.py): started [2020-10-04T01:50:50.806Z] Building wheel for livereload (setup.py): finished with status 'done' [2020-10-04T01:50:50.806Z] Created wheel for livereload: filename=livereload-2.6.3-py2.py3-none-any.whl size=24713 sha256=e264ce5a1814e9850f8f40f67ed72f08b094f5928ac627dd15aa2a05ccb40640 [2020-10-04T01:50:50.806Z] Stored in directory: /root/.cache/pip/wheels/48/d7/34/372e0521bd5c9f6dcdff307e37ef6f9c00c1e1e2afc9707b5c [2020-10-04T01:50:50.806Z] Building wheel for future (setup.py): started [2020-10-04T01:50:51.756Z] Building wheel for future (setup.py): finished with status 'done' [2020-10-04T01:50:51.756Z] Created wheel for future: filename=future-0.18.2-py3-none-any.whl size=491059 sha256=0bd10e585a7e5e0475e8d98a6460eee754515ba4a989d535c5fda9af4d86672b [2020-10-04T01:50:51.756Z] Stored in directory: /root/.cache/pip/wheels/8e/70/28/3d6ccd6e315f65f245da085482a2e1c7d14b90b30f239e2cf4 [2020-10-04T01:50:51.756Z] Building wheel for nltk (setup.py): started [2020-10-04T01:50:52.700Z] Building wheel for nltk (setup.py): finished with status 'done' [2020-10-04T01:50:52.700Z] Created wheel for nltk: filename=nltk-3.5-py3-none-any.whl size=1434674 sha256=b948d5412a1ad3df86bcc6a455def24247ba730c1c7c36413b01d56a5bad48dc [2020-10-04T01:50:52.700Z] Stored in directory: /root/.cache/pip/wheels/ff/d5/7b/f1fb4e1e1603b2f01c2424dd60fbcc50c12ef918bafc44b155 [2020-10-04T01:50:52.700Z] Successfully built tornado PyYAML livereload future nltk [2020-10-04T01:50:52.700Z] Installing collected packages: tornado, PyYAML, click, MarkupSafe, Jinja2, future, six, joblib, regex, tqdm, nltk, lunr, Markdown, livereload, mkdocs [2020-10-04T01:50:56.943Z] Successfully installed Jinja2-2.11.2 Markdown-3.2.2 MarkupSafe-1.1.1 PyYAML-5.3.1 click-7.1.2 future-0.18.2 joblib-0.17.0 livereload-2.6.3 lunr-0.5.8 mkdocs-1.1.2 nltk-3.5 regex-2020.9.27 six-1.15.0 tornado-6.0.4 tqdm-4.50.0 [Pipeline] sh [2020-10-04T01:50:57.831Z] + pip install mkdocs-material==5.1.0 [2020-10-04T01:50:58.784Z] Collecting mkdocs-material==5.1.0 [2020-10-04T01:50:58.784Z] Downloading mkdocs_material-5.1.0-py2.py3-none-any.whl (3.1 MB) [2020-10-04T01:50:59.051Z] Collecting Pygments>=2.4 [2020-10-04T01:50:59.051Z] Downloading Pygments-2.7.1-py3-none-any.whl (944 kB) [2020-10-04T01:50:59.313Z] Requirement already satisfied: mkdocs>=1.1 in /usr/local/lib/python3.8/site-packages (from mkdocs-material==5.1.0) (1.1.2) [2020-10-04T01:50:59.313Z] Collecting pymdown-extensions>=7.0 [2020-10-04T01:50:59.313Z] Downloading pymdown_extensions-8.0.1-py2.py3-none-any.whl (206 kB) [2020-10-04T01:50:59.313Z] Requirement already satisfied: markdown>=3.2 in /usr/local/lib/python3.8/site-packages (from mkdocs-material==5.1.0) (3.2.2) [2020-10-04T01:50:59.313Z] Collecting mkdocs-material-extensions>=1.0b1 [2020-10-04T01:50:59.313Z] Downloading mkdocs_material_extensions-1.0.1-py3-none-any.whl (8.0 kB) [2020-10-04T01:50:59.313Z] Requirement already satisfied: Jinja2>=2.10.1 in /usr/local/lib/python3.8/site-packages (from mkdocs>=1.1->mkdocs-material==5.1.0) (2.11.2) [2020-10-04T01:50:59.313Z] Requirement already satisfied: click>=3.3 in /usr/local/lib/python3.8/site-packages (from mkdocs>=1.1->mkdocs-material==5.1.0) (7.1.2) [2020-10-04T01:50:59.313Z] Requirement already satisfied: tornado>=5.0 in /usr/local/lib/python3.8/site-packages (from mkdocs>=1.1->mkdocs-material==5.1.0) (6.0.4) [2020-10-04T01:50:59.313Z] Requirement already satisfied: PyYAML>=3.10 in /usr/local/lib/python3.8/site-packages (from mkdocs>=1.1->mkdocs-material==5.1.0) (5.3.1) [2020-10-04T01:50:59.313Z] Requirement already satisfied: lunr[languages]==0.5.8 in /usr/local/lib/python3.8/site-packages (from mkdocs>=1.1->mkdocs-material==5.1.0) (0.5.8) [2020-10-04T01:50:59.313Z] Requirement already satisfied: livereload>=2.5.1 in /usr/local/lib/python3.8/site-packages (from mkdocs>=1.1->mkdocs-material==5.1.0) (2.6.3) [2020-10-04T01:50:59.313Z] Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib/python3.8/site-packages (from Jinja2>=2.10.1->mkdocs>=1.1->mkdocs-material==5.1.0) (1.1.1) [2020-10-04T01:50:59.313Z] Requirement already satisfied: six>=1.11.0 in /usr/local/lib/python3.8/site-packages (from lunr[languages]==0.5.8->mkdocs>=1.1->mkdocs-material==5.1.0) (1.15.0) [2020-10-04T01:50:59.313Z] Requirement already satisfied: future>=0.16.0 in /usr/local/lib/python3.8/site-packages (from lunr[languages]==0.5.8->mkdocs>=1.1->mkdocs-material==5.1.0) (0.18.2) [2020-10-04T01:50:59.576Z] Requirement already satisfied: nltk>=3.2.5; python_version > "2.7" and extra == "languages" in /usr/local/lib/python3.8/site-packages (from lunr[languages]==0.5.8->mkdocs>=1.1->mkdocs-material==5.1.0) (3.5) [2020-10-04T01:50:59.576Z] Requirement already satisfied: joblib in /usr/local/lib/python3.8/site-packages (from nltk>=3.2.5; python_version > "2.7" and extra == "languages"->lunr[languages]==0.5.8->mkdocs>=1.1->mkdocs-material==5.1.0) (0.17.0) [2020-10-04T01:50:59.576Z] Requirement already satisfied: regex in /usr/local/lib/python3.8/site-packages (from nltk>=3.2.5; python_version > "2.7" and extra == "languages"->lunr[languages]==0.5.8->mkdocs>=1.1->mkdocs-material==5.1.0) (2020.9.27) [2020-10-04T01:50:59.576Z] Requirement already satisfied: tqdm in /usr/local/lib/python3.8/site-packages (from nltk>=3.2.5; python_version > "2.7" and extra == "languages"->lunr[languages]==0.5.8->mkdocs>=1.1->mkdocs-material==5.1.0) (4.50.0) [2020-10-04T01:50:59.576Z] Installing collected packages: Pygments, pymdown-extensions, mkdocs-material-extensions, mkdocs-material [2020-10-04T01:51:03.867Z] Successfully installed Pygments-2.7.1 mkdocs-material-5.1.0 mkdocs-material-extensions-1.0.1 pymdown-extensions-8.0.1 [Pipeline] sh [2020-10-04T01:51:04.170Z] + mkdocs build [2020-10-04T01:51:05.118Z] INFO - Cleaning site directory [2020-10-04T01:51:05.118Z] INFO - Building documentation to directory: /w/workspace/edgexfoundry_edgex-docs_PR-246/docs/1.3 [2020-10-04T01:51:05.118Z] INFO - The following pages exist in the docs directory, but are not included in the "nav" configuration: [2020-10-04T01:51:05.118Z] - design/adr/0001-Registy-Refactor.md [2020-10-04T01:51:05.118Z] - design/adr/0004-Feature-Flags.md [2020-10-04T01:51:05.118Z] - design/adr/0005-Service-Self-Config.md [2020-10-04T01:51:05.118Z] - design/adr/core/0003-V2-API-Principles.md [2020-10-04T01:51:05.118Z] - design/adr/device-service/0002-Array-Datatypes.md [2020-10-04T01:51:05.118Z] - design/adr/device-service/0011-DeviceService-Rest-API.md [2020-10-04T01:51:05.118Z] - design/adr/devops/0007-Release-Automation.md [2020-10-04T01:51:05.118Z] - design/adr/devops/0010-Release-Artifacts.md [2020-10-04T01:51:05.118Z] - design/adr/security/0008-Secret-Creation-and-Distribution.md [2020-10-04T01:51:05.118Z] - design/legacy-design/device-service/discovery.md [2020-10-04T01:51:05.118Z] - design/legacy-requirements/device-service.md [2020-10-04T01:51:05.118Z] - microservices/device/profile/Ch-DeviceProfileRef.md [2020-10-04T01:51:05.118Z] - microservices/security/Ch-Docker-Swarm-SecuringDeviceServices.md [2020-10-04T01:51:05.118Z] - microservices/security/Ch-SSH-Tunneling-HowToSecureDeviceServices.md [2020-10-04T01:51:05.118Z] - microservices/security/security-file-token-provider.1.md [2020-10-04T01:51:05.118Z] - microservices/security/security-secrets-setup.1.md [2020-10-04T01:51:15.154Z] INFO - Documentation built in 8.51 seconds [Pipeline] stash [2020-10-04T01:51:37.938Z] Stashed 779 file(s) [Pipeline] } [2020-10-04T01:51:37.947Z] $ docker stop --time=1 467521bc6f8e0a67051e287ff1a52ecc6b3956b7e78b90ea55b067a024197285 [2020-10-04T01:51:40.174Z] $ docker rm -f 467521bc6f8e0a67051e287ff1a52ecc6b3956b7e78b90ea55b067a024197285 [Pipeline] // withDockerContainer [Pipeline] } [Pipeline] // stage [Pipeline] stage [Pipeline] { (Push Changes) Stage "Push Changes" skipped due to when conditional [Pipeline] } [Pipeline] // stage [Pipeline] stage [Pipeline] { (Declarative: Post Actions) [Pipeline] stage [Pipeline] { (LF Post Build Actions) [Pipeline] libraryResource [Pipeline] sh [2020-10-04T01:51:41.970Z] ---> sysstat.sh [Pipeline] libraryResource [Pipeline] sh [2020-10-04T01:51:42.556Z] ---> package-listing.sh [2020-10-04T01:51:42.556Z] ++ facter osfamily [2020-10-04T01:51:42.556Z] ++ tr '[:upper:]' '[:lower:]' [2020-10-04T01:51:42.556Z] + OS_FAMILY=redhat [2020-10-04T01:51:42.556Z] + workspace=/w/workspace/edgexfoundry_edgex-docs_PR-246 [2020-10-04T01:51:42.556Z] + START_PACKAGES=/tmp/packages_start.txt [2020-10-04T01:51:42.556Z] + END_PACKAGES=/tmp/packages_end.txt [2020-10-04T01:51:42.556Z] + DIFF_PACKAGES=/tmp/packages_diff.txt [2020-10-04T01:51:42.556Z] + PACKAGES=/tmp/packages_start.txt [2020-10-04T01:51:42.556Z] + '[' /w/workspace/edgexfoundry_edgex-docs_PR-246 ']' [2020-10-04T01:51:42.556Z] + PACKAGES=/tmp/packages_end.txt [2020-10-04T01:51:42.556Z] + case "${OS_FAMILY}" in [2020-10-04T01:51:42.556Z] + rpm -qa [2020-10-04T01:51:42.556Z] + sort [2020-10-04T01:51:46.836Z] + '[' -f /tmp/packages_start.txt ']' [2020-10-04T01:51:46.836Z] + '[' -f /tmp/packages_end.txt ']' [2020-10-04T01:51:46.836Z] + diff /tmp/packages_start.txt /tmp/packages_end.txt [2020-10-04T01:51:46.836Z] + '[' /w/workspace/edgexfoundry_edgex-docs_PR-246 ']' [2020-10-04T01:51:46.836Z] + mkdir -p /w/workspace/edgexfoundry_edgex-docs_PR-246/archives/ [2020-10-04T01:51:46.836Z] + cp -f /tmp/packages_diff.txt /tmp/packages_end.txt /tmp/packages_start.txt /w/workspace/edgexfoundry_edgex-docs_PR-246/archives/ [Pipeline] withEnv [Pipeline] { [Pipeline] configFileProvider [2020-10-04T01:51:47.053Z] provisioning config files... [2020-10-04T01:51:47.082Z] copy managed file [jenkins-log-archives-settings] to file:/w/workspace/edgexfoundry_edgex-docs_PR-246@tmp/config2478419096366645426tmp [Pipeline] { [Pipeline] echo [2020-10-04T01:51:47.161Z] Running shell/create-netrc.sh [Pipeline] libraryResource [Pipeline] sh [2020-10-04T01:51:47.466Z] ---> create-netrc.sh [Pipeline] } [2020-10-04T01:51:47.476Z] Deleting 1 temporary files [Pipeline] // configFileProvider [Pipeline] echo [2020-10-04T01:51:47.558Z] Running shell/python-tools-install.sh [Pipeline] libraryResource [Pipeline] sh [2020-10-04T01:51:47.868Z] ---> python-tools-install.sh [2020-10-04T01:51:47.868Z] Generating Requirements File [2020-10-04T01:53:09.519Z] Python 3.6.8 [2020-10-04T01:53:09.519Z] pip 20.2.3 from /home/jenkins/.local/lib/python3.6/site-packages/pip (python 3.6) [2020-10-04T01:53:09.519Z] aiohttp==3.6.2 [2020-10-04T01:53:09.519Z] appdirs==1.4.3 [2020-10-04T01:53:09.519Z] argcomplete==1.12.1 [2020-10-04T01:53:09.519Z] aspy.yaml==1.3.0 [2020-10-04T01:53:09.519Z] async-timeout==3.0.1 [2020-10-04T01:53:09.519Z] attrs==19.3.0 [2020-10-04T01:53:09.519Z] Babel==2.8.0 [2020-10-04T01:53:09.519Z] beautifulsoup4==4.8.2 [2020-10-04T01:53:09.519Z] boto3==1.11.6 [2020-10-04T01:53:09.519Z] botocore==1.14.6 [2020-10-04T01:53:09.519Z] bs4==0.0.1 [2020-10-04T01:53:09.519Z] cachetools==4.1.1 [2020-10-04T01:53:09.519Z] certifi==2019.11.28 [2020-10-04T01:53:09.519Z] cffi==1.14.3 [2020-10-04T01:53:09.519Z] cfgv==2.0.1 [2020-10-04T01:53:09.519Z] chardet==3.0.4 [2020-10-04T01:53:09.519Z] click==7.1 [2020-10-04T01:53:09.519Z] cliff==3.4.0 [2020-10-04T01:53:09.519Z] cmd2==1.3.11 [2020-10-04T01:53:09.519Z] colorama==0.4.3 [2020-10-04T01:53:09.519Z] cryptography==3.1.1 [2020-10-04T01:53:09.519Z] debtcollector==2.2.0 [2020-10-04T01:53:09.519Z] decorator==4.4.2 [2020-10-04T01:53:09.519Z] defusedxml==0.6.0 [2020-10-04T01:53:09.519Z] Deprecated==1.2.7 [2020-10-04T01:53:09.519Z] distlib==0.3.1 [2020-10-04T01:53:09.519Z] distro==1.2.0 [2020-10-04T01:53:09.519Z] dnspython==1.16.0 [2020-10-04T01:53:09.519Z] docker==4.2.0 [2020-10-04T01:53:09.519Z] docutils==0.15.2 [2020-10-04T01:53:09.519Z] dogpile.cache==1.0.2 [2020-10-04T01:53:09.519Z] email-validator==1.0.5 [2020-10-04T01:53:09.519Z] filelock==3.0.12 [2020-10-04T01:53:09.519Z] future==0.18.2 [2020-10-04T01:53:09.519Z] google-auth==1.22.0 [2020-10-04T01:53:09.519Z] httplib2==0.17.0 [2020-10-04T01:53:09.519Z] identify==1.4.11 [2020-10-04T01:53:09.519Z] idna==2.9 [2020-10-04T01:53:09.519Z] idna-ssl==1.1.0 [2020-10-04T01:53:09.519Z] importlib-metadata==1.7.0 [2020-10-04T01:53:09.519Z] importlib-resources==1.5.0 [2020-10-04T01:53:09.519Z] iso8601==0.1.13 [2020-10-04T01:53:09.519Z] Jinja2==2.11.1 [2020-10-04T01:53:09.519Z] jmespath==0.10.0 [2020-10-04T01:53:09.519Z] jsonpatch==1.26 [2020-10-04T01:53:09.519Z] jsonpointer==2.0 [2020-10-04T01:53:09.519Z] jsonschema==3.2.0 [2020-10-04T01:53:09.519Z] keystoneauth1==4.2.1 [2020-10-04T01:53:09.519Z] kubernetes==11.0.0 [2020-10-04T01:53:09.519Z] lftools==0.34.2 [2020-10-04T01:53:09.519Z] lxml==4.5.0 [2020-10-04T01:53:09.519Z] MarkupSafe==0.23 [2020-10-04T01:53:09.519Z] msgpack==1.0.0 [2020-10-04T01:53:09.519Z] multi-key-dict==2.0.3 [2020-10-04T01:53:09.519Z] multidict==4.7.6 [2020-10-04T01:53:09.519Z] munch==2.5.0 [2020-10-04T01:53:09.519Z] netaddr==0.8.0 [2020-10-04T01:53:09.519Z] netifaces==0.10.9 [2020-10-04T01:53:09.519Z] niet==1.4.2 [2020-10-04T01:53:09.519Z] nodeenv==1.3.5 [2020-10-04T01:53:09.519Z] oauth2client==4.1.3 [2020-10-04T01:53:09.519Z] oauthlib==3.1.0 [2020-10-04T01:53:09.519Z] openstacksdk==0.50.0 [2020-10-04T01:53:09.519Z] os-client-config==2.1.0 [2020-10-04T01:53:09.519Z] os-service-types==1.7.0 [2020-10-04T01:53:09.519Z] osc-lib==2.2.1 [2020-10-04T01:53:09.519Z] oslo.config==8.3.2 [2020-10-04T01:53:09.519Z] oslo.context==3.1.1 [2020-10-04T01:53:09.519Z] oslo.i18n==5.0.1 [2020-10-04T01:53:09.519Z] oslo.log==4.4.0 [2020-10-04T01:53:09.519Z] oslo.serialization==4.0.1 [2020-10-04T01:53:09.519Z] oslo.utils==4.6.0 [2020-10-04T01:53:09.519Z] packaging==20.4 [2020-10-04T01:53:09.519Z] pbr==5.4.4 [2020-10-04T01:53:09.519Z] pluggy==0.13.1 [2020-10-04T01:53:09.519Z] prettytable==0.7.2 [2020-10-04T01:53:09.519Z] py==1.9.0 [2020-10-04T01:53:09.519Z] pyasn1==0.4.8 [2020-10-04T01:53:09.519Z] pyasn1-modules==0.2.8 [2020-10-04T01:53:09.519Z] pycparser==2.20 [2020-10-04T01:53:09.519Z] pygerrit2==2.0.10 [2020-10-04T01:53:09.519Z] PyGithub==1.46 [2020-10-04T01:53:09.519Z] pyinotify==0.9.6 [2020-10-04T01:53:09.519Z] PyJWT==1.7.1 [2020-10-04T01:53:09.519Z] pyparsing==2.4.7 [2020-10-04T01:53:09.519Z] pyperclip==1.8.0 [2020-10-04T01:53:09.519Z] pyroute2==0.4.13 [2020-10-04T01:53:09.519Z] pyrsistent==0.15.7 [2020-10-04T01:53:09.519Z] PySocks==1.6.8 [2020-10-04T01:53:09.519Z] python-cinderclient==7.2.0 [2020-10-04T01:53:09.519Z] python-dateutil==2.8.1 [2020-10-04T01:53:09.519Z] python-heatclient==2.2.1 [2020-10-04T01:53:09.519Z] python-jenkins==1.7.0 [2020-10-04T01:53:09.519Z] python-keystoneclient==4.1.1 [2020-10-04T01:53:09.519Z] python-magnumclient==3.2.1 [2020-10-04T01:53:09.519Z] python-novaclient==17.2.1 [2020-10-04T01:53:09.519Z] python-openstackclient==5.4.0 [2020-10-04T01:53:09.519Z] python-swiftclient==3.10.1 [2020-10-04T01:53:09.519Z] pytz==2020.1 [2020-10-04T01:53:09.519Z] PyYAML==5.3 [2020-10-04T01:53:09.519Z] requests==2.23.0 [2020-10-04T01:53:09.519Z] requests-oauthlib==1.3.0 [2020-10-04T01:53:09.519Z] requestsexceptions==1.4.0 [2020-10-04T01:53:09.519Z] rfc3986==1.4.0 [2020-10-04T01:53:09.519Z] rpm==4.11.3 [2020-10-04T01:53:09.519Z] rsa==4.0 [2020-10-04T01:53:09.519Z] ruamel.yaml==0.16.10 [2020-10-04T01:53:09.519Z] ruamel.yaml.clib==0.2.0 [2020-10-04T01:53:09.519Z] s3transfer==0.3.3 [2020-10-04T01:53:09.519Z] shade==1.27.2 [2020-10-04T01:53:09.519Z] simplejson==3.17.2 [2020-10-04T01:53:09.519Z] six==1.14.0 [2020-10-04T01:53:09.519Z] soupsieve==2.0 [2020-10-04T01:53:09.519Z] stevedore==3.2.2 [2020-10-04T01:53:09.519Z] tabulate==0.8.6 [2020-10-04T01:53:09.519Z] toml==0.10.0 [2020-10-04T01:53:09.519Z] tox==3.20.0 [2020-10-04T01:53:09.519Z] tqdm==4.43.0 [2020-10-04T01:53:09.519Z] typing-extensions==3.7.4.3 [2020-10-04T01:53:09.519Z] urllib3==1.25.8 [2020-10-04T01:53:09.519Z] virtualenv==20.0.32 [2020-10-04T01:53:09.519Z] wcwidth==0.2.5 [2020-10-04T01:53:09.519Z] websocket-client==0.57.0 [2020-10-04T01:53:09.519Z] wrapt==1.12.1 [2020-10-04T01:53:09.519Z] xdg==3.0.2 [2020-10-04T01:53:09.519Z] xmltodict==0.12.0 [2020-10-04T01:53:09.519Z] yarl==1.6.0 [2020-10-04T01:53:09.519Z] yq==2.11.1 [2020-10-04T01:53:09.519Z] zipp==3.3.0 [2020-10-04T01:53:09.519Z] Cache entry deserialization failed, entry ignored [2020-10-04T01:53:09.519Z] DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality. [2020-10-04T01:53:09.519Z] Python 2.7.5 [2020-10-04T01:53:09.519Z] pip 20.2.3 from /home/jenkins/.local/lib/python2.7/site-packages/pip (python 2.7) [2020-10-04T01:53:09.832Z] DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality. [2020-10-04T01:53:10.784Z] ansible==2.9.7 [2020-10-04T01:53:10.785Z] Babel==0.9.6 [2020-10-04T01:53:10.785Z] backports.ssl-match-hostname==3.5.0.1 [2020-10-04T01:53:10.785Z] beautifulsoup4==4.4.1 [2020-10-04T01:53:10.785Z] bodhi==2.11.0 [2020-10-04T01:53:10.785Z] bodhi-client==2.11.0 [2020-10-04T01:53:10.785Z] CCColUtils==1.4 [2020-10-04T01:53:10.785Z] cffi==1.6.0 [2020-10-04T01:53:10.785Z] chardet==2.2.1 [2020-10-04T01:53:10.785Z] click==6.7 [2020-10-04T01:53:10.785Z] cloud-init==18.5 [2020-10-04T01:53:10.785Z] configobj==4.7.2 [2020-10-04T01:53:10.785Z] cryptography==1.7.2 [2020-10-04T01:53:10.785Z] decorator==3.4.0 [2020-10-04T01:53:10.785Z] distro==1.2.0 [2020-10-04T01:53:10.785Z] enum34==1.0.4 [2020-10-04T01:53:10.785Z] fedpkg==1.38 [2020-10-04T01:53:10.785Z] futures==3.1.1 [2020-10-04T01:53:10.785Z] gitdb==0.6.4 [2020-10-04T01:53:10.785Z] GitPython==1.0.1 [2020-10-04T01:53:10.785Z] html5lib==0.999 [2020-10-04T01:53:10.785Z] httplib2==0.9.2 [2020-10-04T01:53:10.785Z] idna==2.4 [2020-10-04T01:53:10.785Z] iniparse==0.4 [2020-10-04T01:53:10.785Z] ipaddress==1.0.16 [2020-10-04T01:53:10.785Z] IPy==0.75 [2020-10-04T01:53:10.785Z] javapackages==1.0.0 [2020-10-04T01:53:10.785Z] Jinja2==2.7.2 [2020-10-04T01:53:10.785Z] jmespath==0.9.4 [2020-10-04T01:53:10.785Z] jsonpatch==1.2 [2020-10-04T01:53:10.785Z] jsonpointer==1.9 [2020-10-04T01:53:10.785Z] kerberos==1.1 [2020-10-04T01:53:10.785Z] kitchen==1.1.1 [2020-10-04T01:53:10.785Z] langtable==0.0.31 [2020-10-04T01:53:10.785Z] lockfile==0.9.1 [2020-10-04T01:53:10.785Z] lxml==3.2.1 [2020-10-04T01:53:10.785Z] MarkupSafe==0.11 [2020-10-04T01:53:10.785Z] munch==2.0.2 [2020-10-04T01:53:10.785Z] offtrac==0.1.0 [2020-10-04T01:53:10.785Z] openidc-client==0.6.0 [2020-10-04T01:53:10.785Z] packagedb-cli==2.14.1 [2020-10-04T01:53:10.785Z] paramiko==2.1.1 [2020-10-04T01:53:10.785Z] perf==0.1 [2020-10-04T01:53:10.785Z] ply==3.4 [2020-10-04T01:53:10.785Z] policycoreutils-default-encoding==0.1 [2020-10-04T01:53:10.785Z] prettytable==0.7.2 [2020-10-04T01:53:10.785Z] pyasn1==0.1.9 [2020-10-04T01:53:10.785Z] pycparser==2.14 [2020-10-04T01:53:10.785Z] pycurl==7.19.0 [2020-10-04T01:53:10.785Z] pygobject==3.22.0 [2020-10-04T01:53:10.785Z] pygpgme==0.3 [2020-10-04T01:53:10.785Z] pyliblzma==0.5.3 [2020-10-04T01:53:10.785Z] pyOpenSSL==0.13.1 [2020-10-04T01:53:10.785Z] pyparsing==1.5.6 [2020-10-04T01:53:10.785Z] pyserial==2.6 [2020-10-04T01:53:10.785Z] python-augeas==0.5.0 [2020-10-04T01:53:10.785Z] python-bugzilla==2.3.0 [2020-10-04T01:53:10.785Z] python-dateutil==1.5 [2020-10-04T01:53:10.785Z] python-fedora==0.10.0 [2020-10-04T01:53:10.785Z] python-linux-procfs==0.4.9 [2020-10-04T01:53:10.785Z] python-yubico==1.2.3 [2020-10-04T01:53:10.785Z] pyudev==0.15 [2020-10-04T01:53:10.785Z] pyusb==1.0.0b1 [2020-10-04T01:53:10.785Z] pyxattr==0.5.1 [2020-10-04T01:53:10.785Z] PyYAML==3.10 [2020-10-04T01:53:10.785Z] requests==2.6.0 [2020-10-04T01:53:10.785Z] requests-kerberos==0.7.0 [2020-10-04T01:53:10.785Z] rpkg==1.60 [2020-10-04T01:53:10.785Z] schedutils==0.4 [2020-10-04T01:53:10.785Z] seobject==0.1 [2020-10-04T01:53:10.785Z] sepolicy==1.1 [2020-10-04T01:53:10.785Z] six==1.9.0 [2020-10-04T01:53:10.785Z] smmap==0.9.0 [2020-10-04T01:53:10.785Z] urlgrabber==3.10 [2020-10-04T01:53:10.785Z] urllib3==1.10.2 [2020-10-04T01:53:10.785Z] virtualenv==15.1.0 [2020-10-04T01:53:10.785Z] yum-langpacks==0.4.2 [2020-10-04T01:53:10.785Z] yum-metadata-parser==1.1.4 [Pipeline] echo [2020-10-04T01:53:10.800Z] Running shell/sudo-logs.sh [Pipeline] libraryResource [Pipeline] sh [2020-10-04T01:53:11.122Z] ---> sudo-logs.sh [2020-10-04T01:53:11.122Z] Archiving 'sudo' log.. [Pipeline] echo [2020-10-04T01:53:11.724Z] Running shell/job-cost.sh [Pipeline] libraryResource [Pipeline] sh [2020-10-04T01:53:12.036Z] ---> job-cost.sh [2020-10-04T01:53:12.036Z] lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-I2Py [2020-10-04T01:53:20.295Z] Cache entry deserialization failed, entry ignored [2020-10-04T01:53:20.295Z] Cache entry deserialization failed, entry ignored [2020-10-04T01:53:21.312Z] Cache entry deserialization failed, entry ignored [2020-10-04T01:53:21.312Z] Cache entry deserialization failed, entry ignored [2020-10-04T01:53:21.312Z] Cache entry deserialization failed, entry ignored [2020-10-04T01:53:21.615Z] Cache entry deserialization failed, entry ignored [2020-10-04T01:53:21.615Z] Cache entry deserialization failed, entry ignored [2020-10-04T01:53:21.615Z] Cache entry deserialization failed, entry ignored [2020-10-04T01:53:21.900Z] Cache entry deserialization failed, entry ignored [2020-10-04T01:53:21.900Z] Cache entry deserialization failed, entry ignored [2020-10-04T01:53:21.900Z] Cache entry deserialization failed, entry ignored [2020-10-04T01:53:21.900Z] Cache entry deserialization failed, entry ignored [2020-10-04T01:53:25.304Z] lf-activate-venv(): INFO: Installing: zipp==1.1.0 python-openstackclient [2020-10-04T01:53:57.802Z] lf-activate-venv(): INFO: Adding /tmp/venv-I2Py/bin to PATH [2020-10-04T01:53:57.802Z] INFO: No Stack... [2020-10-04T01:53:57.802Z] INFO: Retrieving Pricing Info for: v1-standard-2 [2020-10-04T01:53:57.802Z] INFO: Archiving Costs [Pipeline] echo [2020-10-04T01:53:57.856Z] Running shell/logs-deploy.sh [Pipeline] libraryResource [Pipeline] sh [2020-10-04T01:53:58.254Z] ---> logs-deploy.sh [2020-10-04T01:53:58.254Z] INFO: Nexus URL https://nexus.edgexfoundry.org path production/vex-yul-edgex-jenkins-1/edgexfoundry/edgex-docs/PR-246/6 [2020-10-04T01:53:58.254Z] INFO: archiving workspace using pattern(s): [2020-10-04T01:53:59.764Z] Archives upload complete. [2020-10-04T01:53:59.764Z] INFO: archiving logs to Nexus