14:53:58 Started by timer
14:53:58 Running as SYSTEM
14:53:58 [EnvInject] - Loading node environment variables.
14:53:59 Building remotely on prd-ubuntu1804-docker-8c-8g-2777 (ubuntu1804-docker-8c-8g) in workspace /w/workspace/integration-netconf-pnp-simulator-docker-merge-master
14:53:59 [ssh-agent] Looking for ssh-agent implementation...
14:53:59 [ssh-agent] Exec ssh-agent (binary ssh-agent on a remote machine)
14:53:59 $ ssh-agent
14:53:59 SSH_AUTH_SOCK=/tmp/ssh-y0ipJa5N9lOJ/agent.2034
14:53:59 SSH_AGENT_PID=2036
14:53:59 [ssh-agent] Started.
14:53:59 Running ssh-add (command line suppressed)
14:53:59 Identity added: /w/workspace/integration-netconf-pnp-simulator-docker-merge-master@tmp/private_key_9644477775780720708.key (/w/workspace/integration-netconf-pnp-simulator-docker-merge-master@tmp/private_key_9644477775780720708.key)
14:53:59 [ssh-agent] Using credentials onap-jobbuiler (Gerrit user)
14:53:59 The recommended git tool is: NONE
14:54:00 using credential onap-jenkins-ssh
14:54:00 Wiping out workspace first.
14:54:00 Cloning the remote Git repository
14:54:00 Cloning repository git://cloud.onap.org/mirror/integration
14:54:00 > git init /w/workspace/integration-netconf-pnp-simulator-docker-merge-master # timeout=10
14:54:00 Fetching upstream changes from git://cloud.onap.org/mirror/integration
14:54:00 > git --version # timeout=10
14:54:00 > git --version # 'git version 2.17.1'
14:54:00 using GIT_SSH to set credentials Gerrit user
14:54:00 Verifying host key using manually-configured host key entries
14:54:00 > git fetch --tags --progress -- git://cloud.onap.org/mirror/integration +refs/heads/*:refs/remotes/origin/* # timeout=10
14:54:03 > git config remote.origin.url git://cloud.onap.org/mirror/integration # timeout=10
14:54:03 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
14:54:03 Avoid second fetch
14:54:03 > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
14:54:03 Checking out Revision c02b83b908774caad2cffea31609e0768cc5ae9d (refs/remotes/origin/master)
14:54:03 > git config core.sparsecheckout # timeout=10
14:54:03 > git checkout -f c02b83b908774caad2cffea31609e0768cc5ae9d # timeout=10
14:54:04 Commit message: "Revert "Appended London Release Notes""
14:54:04 > git rev-list --no-walk c02b83b908774caad2cffea31609e0768cc5ae9d # timeout=10
14:54:04 provisioning config files...
14:54:04 copy managed file [npmrc] to file:/home/jenkins/.npmrc
14:54:04 copy managed file [pipconf] to file:/home/jenkins/.config/pip/pip.conf
14:54:04 [integration-netconf-pnp-simulator-docker-merge-master] $ /bin/bash /tmp/jenkins16746472751276383874.sh
14:54:04 ---> python-tools-install.sh
14:54:04 Setup pyenv:
14:54:04 * system (set by /opt/pyenv/version)
14:54:04 * 3.8.13 (set by /opt/pyenv/version)
14:54:04 * 3.9.13 (set by /opt/pyenv/version)
14:54:04 * 3.10.6 (set by /opt/pyenv/version)
14:54:08 lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-wS3O
14:54:08 lf-activate-venv(): INFO: Save venv in file: /tmp/.os_lf_venv
14:54:11 lf-activate-venv(): INFO: Installing: lftools
14:54:42 lf-activate-venv(): INFO: Adding /tmp/venv-wS3O/bin to PATH
14:54:42 Generating Requirements File
14:55:13 Python 3.10.6
14:55:13 pip 23.3.1 from /tmp/venv-wS3O/lib/python3.10/site-packages/pip (python 3.10)
14:55:14 appdirs==1.4.4
14:55:14 argcomplete==3.1.6
14:55:14 aspy.yaml==1.3.0
14:55:14 attrs==23.1.0
14:55:14 autopage==0.5.2
14:55:14 Babel==2.13.1
14:55:14 beautifulsoup4==4.12.2
14:55:14 boto3==1.33.8
14:55:14 botocore==1.33.8
14:55:14 bs4==0.0.1
14:55:14 cachetools==5.3.2
14:55:14 certifi==2023.11.17
14:55:14 cffi==1.16.0
14:55:14 cfgv==3.4.0
14:55:14 chardet==5.2.0
14:55:14 charset-normalizer==3.3.2
14:55:14 click==8.1.7
14:55:14 cliff==4.4.0
14:55:14 cmd2==2.4.3
14:55:14 cryptography==3.3.2
14:55:14 debtcollector==2.5.0
14:55:14 decorator==5.1.1
14:55:14 defusedxml==0.7.1
14:55:14 Deprecated==1.2.14
14:55:14 distlib==0.3.7
14:55:14 dnspython==2.4.2
14:55:14 docker==4.2.2
14:55:14 dogpile.cache==1.2.2
14:55:14 email-validator==2.1.0.post1
14:55:14 filelock==3.13.1
14:55:14 future==0.18.3
14:55:14 gitdb==4.0.11
14:55:14 GitPython==3.1.40
14:55:14 google-auth==2.25.1
14:55:14 httplib2==0.22.0
14:55:14 identify==2.5.32
14:55:14 idna==3.6
14:55:14 importlib-metadata==7.0.0
14:55:14 importlib-resources==1.5.0
14:55:14 iso8601==2.1.0
14:55:14 Jinja2==3.1.2
14:55:14 jmespath==1.0.1
14:55:14 jsonpatch==1.33
14:55:14 jsonpointer==2.4
14:55:14 jsonschema==4.20.0
14:55:14 jsonschema-specifications==2023.11.2
14:55:14 keystoneauth1==5.4.0
14:55:14 kubernetes==28.1.0
14:55:14 lftools==0.37.8
14:55:14 lxml==4.9.3
14:55:14 MarkupSafe==2.1.3
14:55:14 msgpack==1.0.7
14:55:14 multi-key-dict==2.0.3
14:55:14 munch==4.0.0
14:55:14 netaddr==0.9.0
14:55:14 netifaces==0.11.0
14:55:14 niet==1.4.2
14:55:14 nodeenv==1.8.0
14:55:14 oauth2client==4.1.3
14:55:14 oauthlib==3.2.2
14:55:14 openstacksdk==0.62.0
14:55:14 os-client-config==2.1.0
14:55:14 os-service-types==1.7.0
14:55:14 osc-lib==2.9.0
14:55:14 oslo.config==9.2.0
14:55:14 oslo.context==5.3.0
14:55:14 oslo.i18n==6.2.0
14:55:14 oslo.log==5.4.0
14:55:14 oslo.serialization==5.2.0
14:55:14 oslo.utils==6.3.0
14:55:14 packaging==23.2
14:55:14 pbr==6.0.0
14:55:14 platformdirs==4.1.0
14:55:14 prettytable==3.9.0
14:55:14 pyasn1==0.5.1
14:55:14 pyasn1-modules==0.3.0
14:55:14 pycparser==2.21
14:55:14 pygerrit2==2.0.15
14:55:14 PyGithub==2.1.1
14:55:14 pyinotify==0.9.6
14:55:14 PyJWT==2.8.0
14:55:14 PyNaCl==1.5.0
14:55:14 pyparsing==2.4.7
14:55:14 pyperclip==1.8.2
14:55:14 pyrsistent==0.20.0
14:55:14 python-cinderclient==9.4.0
14:55:14 python-dateutil==2.8.2
14:55:14 python-heatclient==3.3.0
14:55:14 python-jenkins==1.8.2
14:55:14 python-keystoneclient==5.2.0
14:55:14 python-magnumclient==4.3.0
14:55:14 python-novaclient==18.4.0
14:55:14 python-openstackclient==6.0.0
14:55:14 python-swiftclient==4.4.0
14:55:14 pytz==2023.3.post1
14:55:14 PyYAML==6.0.1
14:55:14 referencing==0.31.1
14:55:14 requests==2.31.0
14:55:14 requests-oauthlib==1.3.1
14:55:14 requestsexceptions==1.4.0
14:55:14 rfc3986==2.0.0
14:55:14 rpds-py==0.13.2
14:55:14 rsa==4.9
14:55:14 ruamel.yaml==0.18.5
14:55:14 ruamel.yaml.clib==0.2.8
14:55:14 s3transfer==0.8.2
14:55:14 simplejson==3.19.2
14:55:14 six==1.16.0
14:55:14 smmap==5.0.1
14:55:14 soupsieve==2.5
14:55:14 stevedore==5.1.0
14:55:14 tabulate==0.9.0
14:55:14 toml==0.10.2
14:55:14 tomlkit==0.12.3
14:55:14 tqdm==4.66.1
14:55:14 typing_extensions==4.8.0
14:55:14 tzdata==2023.3
14:55:14 urllib3==1.26.18
14:55:14 virtualenv==20.25.0
14:55:14 wcwidth==0.2.12
14:55:14 websocket-client==1.7.0
14:55:14 wrapt==1.16.0
14:55:14 xdg==6.0.0
14:55:14 xmltodict==0.13.0
14:55:14 yq==3.2.3
14:55:14 zipp==3.17.0
14:55:14 provisioning config files...
14:55:14 copy managed file [global-settings] to file:/w/workspace/integration-netconf-pnp-simulator-docker-merge-master@tmp/config15452219308601925158tmp
14:55:14 copy managed file [integration-settings] to file:/w/workspace/integration-netconf-pnp-simulator-docker-merge-master@tmp/config8951980657188871873tmp
14:55:14 [integration-netconf-pnp-simulator-docker-merge-master] $ /bin/bash /tmp/jenkins4519409510226300025.sh
14:55:14 ---> docker-login.sh
14:55:14 nexus3.onap.org:10001
14:55:14 WARNING! Using --password via the CLI is insecure. Use --password-stdin.
14:55:14 WARNING! Your password will be stored unencrypted in /home/jenkins/.docker/config.json.
14:55:14 Configure a credential helper to remove this warning. See
14:55:14 https://docs.docker.com/engine/reference/commandline/login/#credentials-store
14:55:14
14:55:14 Login Succeeded
14:55:14 nexus3.onap.org:10002
14:55:14 WARNING! Using --password via the CLI is insecure. Use --password-stdin.
14:55:15 WARNING! Your password will be stored unencrypted in /home/jenkins/.docker/config.json.
14:55:15 Configure a credential helper to remove this warning. See
14:55:15 https://docs.docker.com/engine/reference/commandline/login/#credentials-store
14:55:15
14:55:15 Login Succeeded
14:55:15 nexus3.onap.org:10003
14:55:15 WARNING! Using --password via the CLI is insecure. Use --password-stdin.
14:55:15 WARNING! Your password will be stored unencrypted in /home/jenkins/.docker/config.json.
14:55:15 Configure a credential helper to remove this warning. See
14:55:15 https://docs.docker.com/engine/reference/commandline/login/#credentials-store
14:55:15
14:55:15 Login Succeeded
14:55:15 nexus3.onap.org:10004
14:55:15 WARNING! Using --password via the CLI is insecure. Use --password-stdin.
14:55:15 WARNING! Your password will be stored unencrypted in /home/jenkins/.docker/config.json.
14:55:15 Configure a credential helper to remove this warning. See
14:55:15 https://docs.docker.com/engine/reference/commandline/login/#credentials-store
14:55:15
14:55:15 Login Succeeded
14:55:15 docker.io
14:55:15 WARNING! Using --password via the CLI is insecure. Use --password-stdin.
14:55:15 WARNING! Your password will be stored unencrypted in /home/jenkins/.docker/config.json.
14:55:15 Configure a credential helper to remove this warning. See
14:55:15 https://docs.docker.com/engine/reference/commandline/login/#credentials-store
14:55:15
14:55:15 Login Succeeded
14:55:15 ---> docker-login.sh ends
14:55:15 [integration-netconf-pnp-simulator-docker-merge-master] $ /bin/bash /tmp/jenkins768454488724016094.sh
14:55:15 [integration-netconf-pnp-simulator-docker-merge-master] $ /bin/sh -xe /tmp/jenkins11794117254455885184.sh
14:55:15 [EnvInject] - Injecting environment variables from a build step.
14:55:15 [EnvInject] - Injecting as environment variables the properties content
14:55:15 DOCKER_ROOT=test/mocks/netconf-pnp-simulator/engine
14:55:15 CONTAINER_TAG_YAML_DIR=
14:55:15 CONTAINER_TAG_METHOD=yaml-file
14:55:15
14:55:15 [EnvInject] - Variables injected successfully.
14:55:15 [integration-netconf-pnp-simulator-docker-merge-master] $ /bin/bash -l /tmp/jenkins1583777744187253756.sh
14:55:15 ---> docker-get-container-tag.sh
14:55:15 Setup pyenv:
14:55:15 system
14:55:15 3.8.13
14:55:15 3.9.13
14:55:15 * 3.10.6 (set by /w/workspace/integration-netconf-pnp-simulator-docker-merge-master/.python-version)
14:55:15 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-wS3O from file:/tmp/.os_lf_venv
14:55:17 lf-activate-venv(): INFO: Installing: yq
14:55:18 lf-activate-venv(): INFO: Adding /tmp/venv-wS3O/bin to PATH
14:55:18 ---> Docker image tag found: 2.8.6
14:55:18 [EnvInject] - Injecting environment variables from a build step.
14:55:18 [EnvInject] - Injecting as environment variables the properties file path 'env_docker_inject.txt'
14:55:18 [EnvInject] - Variables injected successfully.
14:55:18 [EnvInject] - Injecting environment variables from a build step.
14:55:18 [EnvInject] - Injecting as environment variables the properties content
14:55:18 DOCKER_ARGS=
14:55:18 DOCKER_ROOT=test/mocks/netconf-pnp-simulator/engine
14:55:18 CONTAINER_PULL_REGISTRY=nexus3.onap.org:10001
14:55:18 CONTAINER_PUSH_REGISTRY=nexus3.onap.org:10003
14:55:18 DOCKER_NAME=onap/integration/simulators/netconf-pnp-simulator
14:55:18
14:55:18 [EnvInject] - Variables injected successfully.
14:55:18 [integration-netconf-pnp-simulator-docker-merge-master] $ /bin/bash /tmp/jenkins1767945720583805482.sh
14:55:18 ---> docker-build.sh
14:55:18 Docker version 20.10.18, build b40c2f6
14:55:18 Building image: nexus3.onap.org:10003/onap/integration/simulators/netconf-pnp-simulator:2.8.6
14:55:18 docker build -t nexus3.onap.org:10003/onap/integration/simulators/netconf-pnp-simulator:2.8.6 .
14:55:18 Sending build context to Docker daemon 145.9kB
14:55:18 Step 1/47 : FROM python:3.7.7-alpine3.11 as build
14:55:19 3.7.7-alpine3.11: Pulling from library/python
14:55:19 cbdbe7a5bc2a: Pulling fs layer
14:55:19 26ebcd19a4e3: Pulling fs layer
14:55:19 8341bd19193b: Pulling fs layer
14:55:19 ecc595bd65e1: Pulling fs layer
14:55:19 4b1c9d8f69d2: Pulling fs layer
14:55:19 ecc595bd65e1: Waiting
14:55:19 26ebcd19a4e3: Download complete
14:55:19 cbdbe7a5bc2a: Download complete
14:55:19 ecc595bd65e1: Verifying Checksum
14:55:19 ecc595bd65e1: Download complete
14:55:19 cbdbe7a5bc2a: Pull complete
14:55:19 4b1c9d8f69d2: Download complete
14:55:19 8341bd19193b: Verifying Checksum
14:55:19 8341bd19193b: Download complete
14:55:19 26ebcd19a4e3: Pull complete
14:55:20 8341bd19193b: Pull complete
14:55:20 ecc595bd65e1: Pull complete
14:55:20 4b1c9d8f69d2: Pull complete
14:55:20 Digest: sha256:778802b5b9797279772814fb15a7c6ee494848ced17965bb57092a0b900c0e4f
14:55:20 Status: Downloaded newer image for python:3.7.7-alpine3.11
14:55:20 ---> e854017db514
14:55:20 Step 2/47 : ARG zlog_version=1.2.14
14:55:23 ---> Running in 05795b6663bd
14:55:23 Removing intermediate container 05795b6663bd
14:55:23 ---> 5ec0e977df08
14:55:23 Step 3/47 : ARG libyang_version=v1.0-r5
14:55:23 ---> Running in 85ee293ca7f7
14:55:23 Removing intermediate container 85ee293ca7f7
14:55:23 ---> 1f21589d91b8
14:55:23 Step 4/47 : ARG sysrepo_version=v0.7.9
14:55:23 ---> Running in dfdbff16854b
14:55:24 Removing intermediate container dfdbff16854b
14:55:24 ---> a6e2903a3ce4
14:55:24 Step 5/47 : ARG libnetconf2_version=v0.12-r2
14:55:24 ---> Running in 3d3dfbafc8f0
14:55:24 Removing intermediate container 3d3dfbafc8f0
14:55:24 ---> 92496f3f26c1
14:55:24 Step 6/47 : ARG netopeer2_version=v0.7-r2
14:55:24 ---> Running in 763444dcf862
14:55:24 Removing intermediate container 763444dcf862
14:55:24 ---> 7a404f418911
14:55:24 Step 7/47 : WORKDIR /usr/src
14:55:24 ---> Running in 165b8d9d5fac
14:55:24 Removing intermediate container 165b8d9d5fac
14:55:24 ---> 0b589ca91a8e
14:55:24 Step 8/47 : RUN set -eux && apk add autoconf bash build-base cmake curl-dev file git libev-dev libssh-dev openssh-keygen openssl openssl-dev pcre-dev pkgconfig protobuf-c-dev swig ctags the_silver_searcher vim
14:55:24 ---> Running in 6a46e9a018e1
14:55:25 [91m+ apk add autoconf bash build-base cmake curl-dev file git libev-dev libssh-dev openssh-keygen openssl openssl-dev pcre-dev pkgconfig protobuf-c-dev swig ctags the_silver_searcher vim
14:55:25 [0mfetch http://dl-cdn.alpinelinux.org/alpine/v3.11/main/x86_64/APKINDEX.tar.gz
14:55:25 fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/community/x86_64/APKINDEX.tar.gz
14:55:25 (1/72) Upgrading musl (1.1.24-r2 -> 1.1.24-r3)
14:55:25 (2/72) Upgrading libcrypto1.1 (1.1.1g-r0 -> 1.1.1l-r0)
14:55:25 (3/72) Upgrading libssl1.1 (1.1.1g-r0 -> 1.1.1l-r0)
14:55:25 (4/72) Upgrading zlib (1.2.11-r3 -> 1.2.11-r5)
14:55:25 (5/72) Installing m4 (1.4.18-r1)
14:55:25 (6/72) Installing perl (5.30.3-r0)
14:55:25 (7/72) Installing autoconf (2.69-r2)
14:55:26 (8/72) Installing bash (5.0.11-r1)
14:55:26 Executing bash-5.0.11-r1.post-install
14:55:26 (9/72) Installing libgcc (9.3.0-r0)
14:55:26 (10/72) Installing libstdc++ (9.3.0-r0)
14:55:26 (11/72) Installing binutils (2.33.1-r1)
14:55:26 (12/72) Installing libmagic (5.37-r1)
14:55:26 (13/72) Installing file (5.37-r1)
14:55:26 (14/72) Installing gmp (6.1.2-r1)
14:55:26 (15/72) Installing isl (0.18-r0)
14:55:26 (16/72) Installing libgomp (9.3.0-r0)
14:55:26 (17/72) Installing libatomic (9.3.0-r0)
14:55:26 (18/72) Installing mpfr4 (4.0.2-r1)
14:55:26 (19/72) Installing mpc1 (1.1.0-r1)
14:55:26 (20/72) Installing gcc (9.3.0-r0)
14:55:26 (21/72) Installing musl-dev (1.1.24-r3)
14:55:26 (22/72) Installing libc-dev (0.7.2-r0)
14:55:26 (23/72) Installing g++ (9.3.0-r0)
14:55:27 (24/72) Installing make (4.2.1-r2)
14:55:27 (25/72) Installing fortify-headers (1.1-r0)
14:55:27 (26/72) Installing build-base (0.5-r1)
14:55:27 (27/72) Installing libacl (2.2.53-r0)
14:55:27 (28/72) Installing lz4-libs (1.9.2-r0)
14:55:27 (29/72) Installing zstd-libs (1.4.9-r0)
14:55:27 (30/72) Installing libarchive (3.4.2-r0)
14:55:27 (31/72) Installing nghttp2-libs (1.40.0-r1)
14:55:27 (32/72) Installing libcurl (7.79.1-r0)
14:55:27 (33/72) Installing rhash-libs (1.3.9-r0)
14:55:27 (34/72) Installing libuv (1.34.0-r0)
14:55:27 (35/72) Installing cmake (3.15.5-r0)
14:55:27 (36/72) Installing cmake-bash-completion (3.15.5-r0)
14:55:27 (37/72) Installing ctags (0_git20191207-r1)
14:55:27 (38/72) Installing pkgconf (1.6.3-r0)
14:55:27 (39/72) Installing openssl-dev (1.1.1l-r0)
14:55:27 (40/72) Installing nghttp2-dev (1.40.0-r1)
14:55:28 (41/72) Installing zlib-dev (1.2.11-r5)
14:55:28 (42/72) Installing curl-dev (7.79.1-r0)
14:55:28 (43/72) Installing pcre2 (10.34-r1)
14:55:28 (44/72) Installing git (2.24.4-r0)
14:55:28 (45/72) Installing perl-error (0.17028-r0)
14:55:28 (46/72) Installing perl-git (2.24.4-r0)
14:55:28 (47/72) Installing git-perl (2.24.4-r0)
14:55:28 (48/72) Installing libev (4.27-r0)
14:55:28 (49/72) Installing libev-dev (4.27-r0)
14:55:28 (50/72) Installing libssh (0.9.4-r1)
14:55:28 (51/72) Installing libssh-dev (0.9.4-r1)
14:55:28 (52/72) Installing openssh-keygen (8.1_p1-r1)
14:55:28 (53/72) Installing openssl (1.1.1l-r0)
14:55:28 (54/72) Installing libpcre16 (8.43-r1)
14:55:28 (55/72) Installing libpcre32 (8.43-r1)
14:55:28 (56/72) Installing pcre (8.43-r1)
14:55:28 (57/72) Installing libpcrecpp (8.43-r1)
14:55:28 (58/72) Installing pcre-dev (8.43-r1)
14:55:28 (59/72) Installing libprotobuf (3.11.2-r1)
14:55:29 (60/72) Installing libprotoc (3.11.2-r1)
14:55:29 (61/72) Installing protobuf-c (1.3.2-r3)
14:55:29 (62/72) Installing protobuf-c-dev (1.3.2-r3)
14:55:29 (63/72) Installing gc (8.0.4-r0)
14:55:29 (64/72) Installing libltdl (2.4.6-r7)
14:55:29 (65/72) Installing libunistring (0.9.10-r0)
14:55:29 (66/72) Installing guile-libs (2.0.14-r0)
14:55:29 (67/72) Installing guile (2.0.14-r0)
14:55:29 (68/72) Installing swig (3.0.12-r4)
14:55:29 (69/72) Installing the_silver_searcher (2.2.0-r0)
14:55:30 (70/72) Installing xxd (8.2.3437-r0)
14:55:30 (71/72) Installing lua5.3-libs (5.3.5-r2)
14:55:30 (72/72) Installing vim (8.2.3437-r0)
14:55:30 Executing busybox-1.31.1-r9.trigger
14:55:30 Executing ca-certificates-20191127-r1.trigger
14:55:30 OK: 329 MiB in 102 packages
14:55:38 Removing intermediate container 6a46e9a018e1
14:55:38 ---> c57d2101fc13
14:55:38 Step 9/47 : RUN git config --global advice.detachedHead false
14:55:38 ---> Running in d8677e0f3ddb
14:55:39 Removing intermediate container d8677e0f3ddb
14:55:39 ---> d0b9e64e45e4
14:55:39 Step 10/47 : ENV PKG_CONFIG_PATH=/opt/lib64/pkgconfig
14:55:39 ---> Running in a8fc28f22a13
14:55:39 Removing intermediate container a8fc28f22a13
14:55:39 ---> 3f445d4695d3
14:55:39 Step 11/47 : ENV LD_LIBRARY_PATH=/opt/lib:/opt/lib64
14:55:39 ---> Running in c7dbafa16c30
14:55:39 Removing intermediate container c7dbafa16c30
14:55:39 ---> b7e4192bb620
14:55:39 Step 12/47 : COPY patches/libyang/ ./patches/libyang/
14:55:39 ---> d5871e67cf2e
14:55:39 Step 13/47 : RUN set -eux && git clone --branch $libyang_version --depth 1 https://github.com/CESNET/libyang.git && cd libyang && for p in ../patches/libyang/*.patch; do patch -p1 -i $p; done && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE:String="Release" -DENABLE_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX:PATH=/opt -DGEN_LANGUAGE_BINDINGS=OFF .. && make -j2 && make install
14:55:39 ---> Running in b69dcd2c8909
14:55:40 [91m+ git clone --branch v1.0-r5 --depth 1 https://github.com/CESNET/libyang.git
14:55:40 [0m[91mCloning into 'libyang'...
14:55:40 [0m[91m+ cd libyang
14:55:40 [0m[91m+ patch -p1 -i ../patches/libyang/01-configurable-PYTHON_MODULE_PATH.patch
14:55:40 [0mpatching file swig/python/CMakeLists.txt
14:55:40 [91m+ mkdir build
14:55:40 [0m[91m+ cd build
14:55:40 + cmake '-DCMAKE_BUILD_TYPE:String=Release' '-DENABLE_BUILD_TESTS=OFF' '-DCMAKE_INSTALL_PREFIX:PATH=/opt' '-DGEN_LANGUAGE_BINDINGS=OFF' ..
14:55:41 [0m-- The C compiler identification is GNU 9.3.0
14:55:41 -- Check for working C compiler: /usr/bin/cc
14:55:41 -- Check for working C compiler: /usr/bin/cc -- works
14:55:41 -- Detecting C compiler ABI info
14:55:41 -- Detecting C compiler ABI info - done
14:55:41 -- Detecting C compile features
14:55:41 -- Detecting C compile features - done
14:55:41 -- Could NOT find FLEX (missing: FLEX_EXECUTABLE)
14:55:41 -- Could NOT find BISON (missing: BISON_EXECUTABLE)
14:55:41 [91mCMake Warning at CMakeLists.txt:115 (message):
14:55:41 Missing Bison.
14:55:41
14:55:41 You won't be able to generate source codes from changed flex/bison files.
14:55:41
14:55:41 Compiling libyang should still works fine.
14:55:41
14:55:41
14:55:41 [0m[91mCMake Warning at CMakeLists.txt:171 (message):
14:55:41 Missing tools (devscripts, debhelper package) for building deb package.
14:55:41
14:55:41 You won't be able to generate deb package from source code.
14:55:41
14:55:41 Compiling libyang should still works fine.
14:55:41
14:55:41
14:55:41 CMake Warning at CMakeLists.txt:182 (message):
14:55:41 Missing tools (rpm package) for building rpm package.
14:55:41
14:55:41 You won't be able to generate rpm package from source code.
14:55:41
14:55:41 Compiling libyang should still works fine.
14:55:41
14:55:41
14:55:41 [0m-- Looking for vdprintf
14:55:41 -- Looking for vdprintf - found
14:55:41 -- Looking for pthread.h
14:55:41 -- Looking for pthread.h - found
14:55:41 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
14:55:41 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
14:55:41 -- Found Threads: TRUE
14:55:41 -- Found PCRE: /usr/lib/libpcre.so
14:55:41 -- Found PkgConfig: /usr/bin/pkg-config (found version "1.6.3")
14:55:41 -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
14:55:41 -- Configuring done
14:55:41 -- Generating done
14:55:41 -- Build files have been written to: /usr/src/libyang/build
14:55:41 [91m+ make -j2
14:55:41 [0mScanning dependencies of target yangobj_tests
14:55:41 Scanning dependencies of target yangobj
14:55:41 [ 1%] Building C object CMakeFiles/yangobj.dir/src/common.c.o
14:55:41 [ 2%] Building C object CMakeFiles/yangobj_tests.dir/src/common.c.o
14:55:42 [ 3%] Building C object CMakeFiles/yangobj_tests.dir/src/context.c.o
14:55:42 [ 5%] Building C object CMakeFiles/yangobj.dir/src/context.c.o
14:55:42 [ 6%] Building C object CMakeFiles/yangobj_tests.dir/src/log.c.o
14:55:42 [ 7%] Building C object CMakeFiles/yangobj.dir/src/log.c.o
14:55:43 [ 8%] Building C object CMakeFiles/yangobj_tests.dir/src/hash_table.c.o
14:55:43 [91m/usr/src/libyang/src/hash_table.c: In function 'lyht_dbgprint_ht':
14:55:43 /usr/src/libyang/src/hash_table.c:634:17: warning: variable 'i_len' set but not used [-Wunused-but-set-variable]
14:55:43 634 | uint32_t i, i_len;
14:55:43 | ^~~~~
14:55:43 /usr/src/libyang/src/hash_table.c:631:53: warning: unused parameter 'info' [-Wunused-parameter]
14:55:43 631 | lyht_dbgprint_ht(struct hash_table *ht, const char *info)
14:55:43 | ~~~~~~~~~~~~^~~~
14:55:43 /usr/src/libyang/src/hash_table.c: In function 'lyht_dbgprint_value':
14:55:43 /usr/src/libyang/src/hash_table.c:665:43: warning: unused parameter 'hash' [-Wunused-parameter]
14:55:43 665 | lyht_dbgprint_value(void *val_p, uint32_t hash, uint16_t rec_size, const char *operation)
14:55:43 | ~~~~~~~~~^~~~
14:55:43 /usr/src/libyang/src/hash_table.c:665:80: warning: unused parameter 'operation' [-Wunused-parameter]
14:55:43 665 | lyht_dbgprint_value(void *val_p, uint32_t hash, uint16_t rec_size, const char *operation)
14:55:43 | ~~~~~~~~~~~~^~~~~~~~~
14:55:43 [0m[ 10%] Building C object CMakeFiles/yangobj.dir/src/hash_table.c.o
14:55:43 [91m/usr/src/libyang/src/hash_table.c: In function 'lyht_dbgprint_ht':
14:55:43 /usr/src/libyang/src/hash_table.c:634:17: warning: variable 'i_len' set but not used [-Wunused-but-set-variable]
14:55:43 634 | uint32_t i, i_len;
14:55:43 | ^~~~~
14:55:43 /usr/src/libyang/src/hash_table.c:631:53: warning: unused parameter 'info' [-Wunused-parameter]
14:55:43 631 | lyht_dbgprint_ht(struct hash_table *ht, const char *info)
14:55:43 | ~~~~~~~~~~~~^~~~
14:55:43 [0m[91m/usr/src/libyang/src/hash_table.c: In function 'lyht_dbgprint_value':
14:55:43 /usr/src/libyang/src/hash_table.c:665:43: warning: unused parameter 'hash' [-Wunused-parameter]
14:55:43 665 | lyht_dbgprint_value(void *val_p, uint32_t hash, uint16_t rec_size, const char *operation)
14:55:43 | ~~~~~~~~~^~~~
14:55:43 /usr/src/libyang/src/hash_table.c:665:80: warning: unused parameter 'operation' [-Wunused-parameter]
14:55:43 665 | lyht_dbgprint_value(void *val_p, uint32_t hash, uint16_t rec_size, const char *operation)
14:55:43 | ~~~~~~~~~~~~^~~~~~~~~
14:55:43 [0m[ 11%] Building C object CMakeFiles/yangobj_tests.dir/src/resolve.c.o
14:55:43 [ 12%] Building C object CMakeFiles/yangobj.dir/src/resolve.c.o
14:55:44 [91m/usr/src/libyang/src/resolve.c: In function 'resolve_instid':
14:55:44 [0m[91m/usr/src/libyang/src/resolve.c:7869:9: warning: 'mod_len' may be used uninitialized in this function [-Wmaybe-uninitialized]
14:55:44 7869 | int mod_len, name_len, has_predicate;
14:55:44 | ^~~~~~~
14:55:44 [0m[91m/usr/src/libyang/src/resolve.c: In function 'resolve_instid':
14:55:44 [0m[91m/usr/src/libyang/src/resolve.c:7869:9: warning: 'mod_len' may be used uninitialized in this function [-Wmaybe-uninitialized]
14:55:44 7869 | int mod_len, name_len, has_predicate;
14:55:44 | ^~~~~~~
14:55:45 [0m[ 13%] Building C object CMakeFiles/yangobj_tests.dir/src/validation.c.o
14:55:45 [ 15%] Building C object CMakeFiles/yangobj.dir/src/validation.c.o
14:55:45 [ 16%] Building C object CMakeFiles/yangobj_tests.dir/src/xml.c.o
14:55:45 [ 17%] Building C object CMakeFiles/yangobj.dir/src/xml.c.o
14:55:46 [ 18%] Building C object CMakeFiles/yangobj_tests.dir/src/parser.c.o
14:55:46 [ 20%] Building C object CMakeFiles/yangobj.dir/src/parser.c.o
14:55:47 [ 21%] Building C object CMakeFiles/yangobj_tests.dir/src/parser_yin.c.o
14:55:47 [ 22%] Building C object CMakeFiles/yangobj.dir/src/parser_yin.c.o
14:55:50 [ 23%] Building C object CMakeFiles/yangobj.dir/src/parser_xml.c.o
14:55:51 [ 25%] Building C object CMakeFiles/yangobj_tests.dir/src/parser_xml.c.o
14:55:51 [ 26%] Building C object CMakeFiles/yangobj.dir/src/parser_json.c.o
14:55:51 [ 27%] Building C object CMakeFiles/yangobj_tests.dir/src/parser_json.c.o
14:55:51 [ 28%] Building C object CMakeFiles/yangobj.dir/src/parser_lyb.c.o
14:55:52 [ 30%] Building C object CMakeFiles/yangobj_tests.dir/src/parser_lyb.c.o
14:55:52 [ 31%] Building C object CMakeFiles/yangobj.dir/src/parser_yang_bis.c.o
14:55:52 [ 32%] Building C object CMakeFiles/yangobj_tests.dir/src/parser_yang_bis.c.o
14:55:55 [ 33%] Building C object CMakeFiles/yangobj_tests.dir/src/parser_yang_lex.c.o
14:55:55 [ 35%] Building C object CMakeFiles/yangobj.dir/src/parser_yang_lex.c.o
14:55:56 [ 36%] Building C object CMakeFiles/yangobj.dir/src/parser_yang.c.o
14:55:56 [ 37%] Building C object CMakeFiles/yangobj_tests.dir/src/parser_yang.c.o
14:55:57 [ 38%] Building C object CMakeFiles/yangobj_tests.dir/src/tree_schema.c.o
14:55:57 [ 40%] Building C object CMakeFiles/yangobj.dir/src/tree_schema.c.o
14:55:58 [ 41%] Building C object CMakeFiles/yangobj_tests.dir/src/tree_data.c.o
14:55:58 [ 42%] Building C object CMakeFiles/yangobj.dir/src/tree_data.c.o
14:56:00 [ 43%] Building C object CMakeFiles/yangobj_tests.dir/src/plugins.c.o
14:56:00 [ 45%] Building C object CMakeFiles/yangobj.dir/src/plugins.c.o
14:56:01 [ 46%] Building C object CMakeFiles/yangobj.dir/src/printer.c.o
14:56:01 [ 47%] Building C object CMakeFiles/yangobj_tests.dir/src/printer.c.o
14:56:01 [ 48%] Building C object CMakeFiles/yangobj.dir/src/xpath.c.o
14:56:01 [ 50%] Building C object CMakeFiles/yangobj_tests.dir/src/xpath.c.o
14:56:03 [91m/usr/src/libyang/src/xpath.c: In function 'eval_predicate':
14:56:03 /usr/src/libyang/src/xpath.c:958:28: warning: 'end' may be used uninitialized in this function [-Wmaybe-uninitialized]
14:56:03 958 | uint16_t i, orig_used, end;
14:56:03 | ^~~
14:56:03 [0m[91m/usr/src/libyang/src/xpath.c: In function 'eval_predicate':
14:56:03 /usr/src/libyang/src/xpath.c:958:28: warning: 'end' may be used uninitialized in this function [-Wmaybe-uninitialized]
14:56:03 958 | uint16_t i, orig_used, end;
14:56:03 | ^~~
14:56:03 [0m[ 51%] Building C object CMakeFiles/yangobj_tests.dir/src/printer_yang.c.o
14:56:03 [ 52%] Building C object CMakeFiles/yangobj.dir/src/printer_yang.c.o
14:56:04 [ 53%] Building C object CMakeFiles/yangobj_tests.dir/src/printer_yin.c.o
14:56:04 [ 55%] Building C object CMakeFiles/yangobj.dir/src/printer_yin.c.o
14:56:05 [ 56%] Building C object CMakeFiles/yangobj_tests.dir/src/printer_json_schema.c.o
14:56:06 [ 57%] Building C object CMakeFiles/yangobj.dir/src/printer_json_schema.c.o
14:56:06 [ 58%] Building C object CMakeFiles/yangobj_tests.dir/src/printer_xml.c.o
14:56:06 [ 60%] Building C object CMakeFiles/yangobj.dir/src/printer_xml.c.o
14:56:06 [ 61%] Building C object CMakeFiles/yangobj_tests.dir/src/printer_tree.c.o
14:56:06 [ 62%] Building C object CMakeFiles/yangobj.dir/src/printer_tree.c.o
14:56:07 [ 63%] Building C object CMakeFiles/yangobj_tests.dir/src/printer_info.c.o
14:56:07 [ 65%] Building C object CMakeFiles/yangobj.dir/src/printer_info.c.o
14:56:07 [ 66%] Building C object CMakeFiles/yangobj_tests.dir/src/printer_json.c.o
14:56:07 [ 67%] Building C object CMakeFiles/yangobj.dir/src/printer_json.c.o
14:56:07 [ 68%] Building C object CMakeFiles/yangobj_tests.dir/src/printer_lyb.c.o
14:56:07 [ 70%] Building C object CMakeFiles/yangobj.dir/src/printer_lyb.c.o
14:56:08 [ 71%] Building C object CMakeFiles/yangobj_tests.dir/src/yang_types.c.o
14:56:08 [ 72%] Building C object CMakeFiles/yangobj.dir/src/yang_types.c.o
14:56:08 [ 72%] Built target yangobj_tests
14:56:08 Scanning dependencies of target yang2yin
14:56:08 [ 73%] Building C object CMakeFiles/yang2yin.dir/tools/yang2yin/main.c.o
14:56:08 [ 73%] Built target yangobj
14:56:08 Scanning dependencies of target yang
14:56:08 [ 75%] Linking C shared library libyang.so
14:56:08 [ 75%] Built target yang
14:56:08 Scanning dependencies of target yanglint
14:56:08 [ 76%] Building C object CMakeFiles/yanglint.dir/tools/lint/main.c.o
14:56:08 [ 77%] Building C object CMakeFiles/yanglint.dir/tools/lint/main_ni.c.o
14:56:08 [ 78%] Linking C executable yang2yin
14:56:08 [ 80%] Building C object CMakeFiles/yanglint.dir/tools/lint/commands.c.o
14:56:08 [ 80%] Built target yang2yin
14:56:08 Scanning dependencies of target yangre
14:56:08 [ 81%] Building C object CMakeFiles/yangre.dir/tools/re/main.c.o
14:56:08 [ 82%] Linking C executable yangre
14:56:08 [ 82%] Built target yangre
14:56:08 Scanning dependencies of target metadata
14:56:08 [ 83%] Building C object src/extensions/CMakeFiles/metadata.dir/metadata.c.o
14:56:08 [ 85%] Linking C shared library metadata.so
14:56:08 [ 85%] Built target metadata
14:56:08 Scanning dependencies of target yangdata
14:56:08 [ 86%] Building C object src/extensions/CMakeFiles/yangdata.dir/yangdata.c.o
14:56:09 [ 87%] Linking C shared library yangdata.so
14:56:09 [ 87%] Built target yangdata
14:56:09 [ 88%] Building C object CMakeFiles/yanglint.dir/tools/lint/completion.c.o
14:56:09 [ 90%] Building C object CMakeFiles/yanglint.dir/tools/lint/configuration.c.o
14:56:09 [ 91%] Building C object CMakeFiles/yanglint.dir/linenoise/linenoise.c.o
14:56:09 Scanning dependencies of target nacm
14:56:09 [ 92%] Building C object src/extensions/CMakeFiles/nacm.dir/nacm.c.o
14:56:09 [ 93%] Linking C shared library nacm.so
14:56:09 [ 93%] Built target nacm
14:56:09 Scanning dependencies of target user_yang_types
14:56:09 [ 95%] Building C object src/user_types/CMakeFiles/user_yang_types.dir/user_yang_types.c.o
14:56:09 [ 96%] Linking C shared library user_yang_types.so
14:56:09 [ 96%] Built target user_yang_types
14:56:09 Scanning dependencies of target user_inet_types
14:56:09 [ 97%] Building C object src/user_types/CMakeFiles/user_inet_types.dir/user_inet_types.c.o
14:56:09 [ 98%] Linking C executable yanglint
14:56:09 [ 98%] Built target yanglint
14:56:09 [100%] Linking C shared library user_inet_types.so
14:56:09 [100%] Built target user_inet_types
14:56:09 [91m+ make install
14:56:09 [0m[ 36%] Built target yangobj_tests
14:56:09 [ 72%] Built target yangobj
14:56:09 [ 73%] Built target yang
14:56:09 [ 82%] Built target yanglint
14:56:09 [ 85%] Built target yangre
14:56:09 [ 87%] Built target yang2yin
14:56:09 [ 90%] Built target metadata
14:56:09 [ 92%] Built target yangdata
14:56:09 [ 95%] Built target nacm
14:56:09 [ 97%] Built target user_yang_types
14:56:09 [100%] Built target user_inet_types
14:56:09 Install the project...
14:56:09 -- Install configuration: "Release"
14:56:09 -- Installing: /opt/lib64/libyang.so.1.4.1
14:56:09 -- Installing: /opt/lib64/libyang.so.1
14:56:09 -- Installing: /opt/lib64/libyang.so
14:56:09 -- Installing: /opt/include/libyang/tree_schema.h
14:56:09 -- Installing: /opt/include/libyang/tree_data.h
14:56:09 -- Installing: /opt/include/libyang/extensions.h
14:56:09 -- Installing: /opt/include/libyang/user_types.h
14:56:09 -- Installing: /opt/include/libyang/xml.h
14:56:09 -- Installing: /opt/include/libyang/dict.h
14:56:09 -- Installing: /opt/include/libyang/libyang.h
14:56:09 -- Installing: /opt/lib64/pkgconfig/libyang.pc
14:56:09 -- Installing: /opt/bin/yanglint
14:56:09 -- Set runtime path of "/opt/bin/yanglint" to ""
14:56:09 -- Installing: /opt/share/man/man1/yanglint.1
14:56:09 -- Installing: /opt/bin/yangre
14:56:09 -- Set runtime path of "/opt/bin/yangre" to ""
14:56:09 -- Installing: /opt/share/man/man1/yangre.1
14:56:09 -- Installing: /opt/lib64/libyang/extensions/nacm.so
14:56:09 -- Set runtime path of "/opt/lib64/libyang/extensions/nacm.so" to ""
14:56:09 -- Installing: /opt/lib64/libyang/extensions/metadata.so
14:56:09 -- Set runtime path of "/opt/lib64/libyang/extensions/metadata.so" to ""
14:56:09 -- Installing: /opt/lib64/libyang/extensions/yangdata.so
14:56:09 -- Set runtime path of "/opt/lib64/libyang/extensions/yangdata.so" to ""
14:56:09 -- Installing: /opt/lib64/libyang/user_types/user_yang_types.so
14:56:09 -- Set runtime path of "/opt/lib64/libyang/user_types/user_yang_types.so" to ""
14:56:09 -- Installing: /opt/lib64/libyang/user_types/user_inet_types.so
14:56:09 -- Set runtime path of "/opt/lib64/libyang/user_types/user_inet_types.so" to ""
14:56:11 Removing intermediate container b69dcd2c8909
14:56:11 ---> a46c0a5d1046
14:56:11 Step 14/47 : RUN set -eux && git clone --depth 1 https://github.com/sysrepo/libredblack.git && cd libredblack && ./configure --prefix=/opt --without-rbgen && make && make install
14:56:11 ---> Running in e2fe8f3ab4e8
14:56:11 [91m+ git clone --depth 1 https://github.com/sysrepo/libredblack.git
14:56:11 [0m[91mCloning into 'libredblack'...
14:56:11 [0m[91m+ cd libredblack
14:56:11 + ./configure '--prefix=/opt' --without-rbgen
14:56:12 [0mchecking for a BSD-compatible install... /usr/bin/install -c
14:56:13 checking whether build environment is sane... yes
14:56:13 checking for gawk... no
14:56:13 checking for mawk... no
14:56:13 checking for nawk... no
14:56:13 checking for awk... awk
14:56:13 checking whether make sets $(MAKE)... yes
14:56:13 checking for gcc... gcc
14:56:13 checking for C compiler default output... a.out
14:56:13 checking whether the C compiler works... yes
14:56:13 checking whether we are cross compiling... no
14:56:13 checking for suffix of executables...
14:56:13 checking for suffix of object files... o
14:56:13 checking whether we are using the GNU C compiler... yes
14:56:13 checking whether gcc accepts -g... yes
14:56:13 checking for gcc option to accept ANSI C... none needed
14:56:13 checking for style of include used by make... GNU
14:56:13 checking dependency style of gcc... gcc3
14:56:13 checking for a BSD-compatible install... /usr/bin/install -c
14:56:13 checking build system type... x86_64-unknown-linux-gnu
14:56:13 checking host system type... x86_64-unknown-linux-gnu
14:56:13 checking for ld used by GCC... /usr/x86_64-alpine-linux-musl/bin/ld
14:56:13 checking if the linker (/usr/x86_64-alpine-linux-musl/bin/ld) is GNU ld... yes
14:56:13 checking for /usr/x86_64-alpine-linux-musl/bin/ld option to reload object files... -r
14:56:13 checking for BSD-compatible nm... /usr/bin/nm -B
14:56:13 checking for a sed that does not truncate output... /bin/sed
14:56:13 checking whether ln -s works... yes
14:56:13 checking how to recognise dependent libraries... pass_all
14:56:13 checking command to parse /usr/bin/nm -B output... ok
14:56:13 checking how to run the C preprocessor... gcc -E
14:56:13 checking for egrep... grep -E
14:56:13 checking for ANSI C header files... yes
14:56:13 checking for sys/types.h... yes
14:56:13 checking for sys/stat.h... yes
14:56:13 checking for stdlib.h... yes
14:56:13 checking for string.h... yes
14:56:13 checking for memory.h... yes
14:56:13 checking for strings.h... yes
14:56:13 checking for inttypes.h... yes
14:56:14 checking for stdint.h... yes
14:56:14 checking for unistd.h... yes
14:56:14 checking dlfcn.h usability... yes
14:56:14 checking dlfcn.h presence... yes
14:56:14 checking for dlfcn.h... yes
14:56:14 checking for ranlib... ranlib
14:56:14 checking for strip... strip
14:56:14 checking for objdir... .libs
14:56:14 checking for gcc option to produce PIC... -fPIC
14:56:14 checking if gcc PIC flag -fPIC works... yes
14:56:14 checking if gcc static flag -static works... yes
14:56:14 checking if gcc supports -c -o file.o... yes
14:56:14 checking if gcc supports -c -o file.lo... yes
14:56:14 checking if gcc supports -fno-rtti -fno-exceptions... yes
14:56:14 checking whether the linker (/usr/x86_64-alpine-linux-musl/bin/ld) supports shared libraries... yes
14:56:14 checking how to hardcode library paths into programs... immediate
14:56:14 checking whether stripping libraries is possible... yes
14:56:14 checking dynamic linker characteristics... GNU/Linux ld.so
14:56:14 checking if libtool supports shared libraries... yes
14:56:14 checking whether to build shared libraries... yes
14:56:14 checking whether to build static libraries... yes
14:56:14 checking whether -lc should be explicitly linked in... no
14:56:14 creating libtool
14:56:14 checking for ANSI C header files... (cached) yes
14:56:14 checking for an ANSI C-conforming const... yes
14:56:14 checking for strdup... yes
14:56:14 configure: creating ./config.status
14:56:14 config.status: creating Makefile
14:56:14 config.status: creating libredblack.spec
14:56:14 config.status: creating rbgen
14:56:14 config.status: creating config.h
14:56:14 config.status: executing depfiles commands
14:56:14 config.status: executing default commands
14:56:14 [91m+ make
14:56:14 [0mcd . && /bin/sh /usr/src/libredblack/missing --run aclocal-1.6
14:56:14 [91m/usr/src/libredblack/missing: line 46: aclocal-1.6: not found
14:56:14 [0m[91mWARNING: `aclocal-1.6' is missing on your system. You should only need it if
14:56:14 you modified `acinclude.m4' or `configure.in'. You might want
14:56:14 to install the `Automake' and `Perl' packages. Grab them from
14:56:14 any GNU archive site.
14:56:14 [0mcd . && \
14:56:14 /bin/sh /usr/src/libredblack/missing --run automake-1.6 --gnu Makefile
14:56:14 [91m/usr/src/libredblack/missing: line 46: automake-1.6: not found
14:56:14 [0m[91mWARNING: `automake-1.6' is missing on your system. You should only need it if
14:56:14 you modified `Makefile.am', `acinclude.m4' or `configure.in'.
14:56:14 You might want to install the `Automake' and `Perl' packages.
14:56:14 Grab them from any GNU archive site.
14:56:14 [0mcd . && /bin/sh /usr/src/libredblack/missing --run autoconf
14:56:15 /bin/sh ./config.status --recheck
14:56:15 running /bin/sh ./configure --prefix=/opt --without-rbgen --no-create --no-recursion
14:56:15 checking for a BSD-compatible install... /usr/bin/install -c
14:56:16 checking whether build environment is sane... yes
14:56:16 checking for gawk... no
14:56:16 checking for mawk... no
14:56:16 checking for nawk... no
14:56:16 checking for awk... awk
14:56:16 checking whether make sets $(MAKE)... yes
14:56:16 checking for gcc... gcc
14:56:16 checking whether the C compiler works... yes
14:56:16 checking for C compiler default output file name... a.out
14:56:16 checking for suffix of executables...
14:56:16 checking whether we are cross compiling... no
14:56:16 checking for suffix of object files... o
14:56:16 checking whether we are using the GNU C compiler... yes
14:56:16 checking whether gcc accepts -g... yes
14:56:16 checking for gcc option to accept ISO C89... none needed
14:56:16 checking for style of include used by make... GNU
14:56:16 checking dependency style of gcc... gcc3
14:56:16 checking build system type... x86_64-unknown-linux-gnu
14:56:16 checking host system type... x86_64-unknown-linux-gnu
14:56:16 checking for ld used by GCC... /usr/x86_64-alpine-linux-musl/bin/ld
14:56:16 checking if the linker (/usr/x86_64-alpine-linux-musl/bin/ld) is GNU ld... yes
14:56:16 checking for /usr/x86_64-alpine-linux-musl/bin/ld option to reload object files... -r
14:56:16 checking for BSD-compatible nm... /usr/bin/nm -B
14:56:16 checking for a sed that does not truncate output... /bin/sed
14:56:16 checking whether ln -s works... yes
14:56:16 checking how to recognise dependent libraries... pass_all
14:56:16 checking command to parse /usr/bin/nm -B output... ok
14:56:16 checking how to run the C preprocessor... gcc -E
14:56:16 checking for grep that handles long lines and -e... /bin/grep
14:56:16 checking for egrep... /bin/grep -E
14:56:16 checking for ANSI C header files... yes
14:56:16 checking for sys/types.h... yes
14:56:17 checking for sys/stat.h... yes
14:56:17 checking for stdlib.h... yes
14:56:17 checking for string.h... yes
14:56:17 checking for memory.h... yes
14:56:17 checking for strings.h... yes
14:56:17 checking for inttypes.h... yes
14:56:17 checking for stdint.h... yes
14:56:17 checking for unistd.h... yes
14:56:17 checking dlfcn.h usability... yes
14:56:17 checking dlfcn.h presence... yes
14:56:17 checking for dlfcn.h... yes
14:56:17 checking for ranlib... ranlib
14:56:17 checking for strip... strip
14:56:17 checking for objdir... .libs
14:56:17 checking for gcc option to produce PIC... -fPIC
14:56:17 checking if gcc PIC flag -fPIC works... yes
14:56:17 checking if gcc static flag -static works... yes
14:56:17 checking if gcc supports -c -o file.o... yes
14:56:17 checking if gcc supports -c -o file.lo... yes
14:56:17 checking if gcc supports -fno-rtti -fno-exceptions... no
14:56:17 checking whether the linker (/usr/x86_64-alpine-linux-musl/bin/ld) supports shared libraries... yes
14:56:17 checking how to hardcode library paths into programs... immediate
14:56:17 checking whether stripping libraries is possible... yes
14:56:17 checking dynamic linker characteristics... GNU/Linux ld.so
14:56:17 checking if libtool supports shared libraries... yes
14:56:17 checking whether to build shared libraries... yes
14:56:17 checking whether to build static libraries... yes
14:56:17 checking whether -lc should be explicitly linked in... no
14:56:17 creating libtool
14:56:17 checking for ANSI C header files... (cached) yes
14:56:17 checking for an ANSI C-conforming const... yes
14:56:17 checking for strdup... yes
14:56:17 configure: creating ./config.status
14:56:17 cd . && /bin/sh ./config.status Makefile depfiles
14:56:17 config.status: creating Makefile
14:56:17 [91mconfig.status: WARNING: 'Makefile.in' seems to ignore the --datarootdir setting
14:56:17 [0mconfig.status: executing depfiles commands
14:56:17 cd . && /bin/sh /usr/src/libredblack/missing --run autoheader
14:56:18 touch ./config.h.in
14:56:18 cd . && /bin/sh ./config.status config.h
14:56:18 config.status: creating config.h
14:56:18 make all-am
14:56:18 make[1]: Entering directory '/usr/src/libredblack'
14:56:18 source='redblack.c' object='redblack.lo' libtool=yes \
14:56:18 depfile='.deps/redblack.Plo' tmpdepfile='.deps/redblack.TPlo' \
14:56:18 depmode=gcc3 /bin/sh ./depcomp \
14:56:18 /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -Wall -c -o redblack.lo `test -f 'redblack.c' || echo './'`redblack.c
14:56:18 mkdir .libs
14:56:18 gcc -DHAVE_CONFIG_H -I. -I. -I. -Wall -c redblack.c -MT redblack.lo -MD -MP -MF .deps/redblack.TPlo -fPIC -DPIC -o .libs/redblack.lo
14:56:18 [91mredblack.c: In function 'rbinit':
14:56:18 redblack.c:143:7: warning: variable 'c' set but not used [-Wunused-but-set-variable]
14:56:18 143 | char c;
14:56:18 | ^
14:56:18 [0mgcc -DHAVE_CONFIG_H -I. -I. -I. -Wall -c redblack.c -MT redblack.lo -MD -MP -MF .deps/redblack.TPlo -o redblack.o >/dev/null 2>&1
14:56:18 mv -f .libs/redblack.lo redblack.lo
14:56:18 /bin/sh ./libtool --mode=link gcc -Wall -o libredblack.la -rpath /opt/lib -version-info 2:3:2 redblack.lo
14:56:18 rm -fr .libs/libredblack.la .libs/libredblack.* .libs/libredblack.*
14:56:18 gcc -shared redblack.lo -Wl,-soname -Wl,libredblack.so.0 -o .libs/libredblack.so.0.2.3
14:56:18 (cd .libs && rm -f libredblack.so.0 && ln -s libredblack.so.0.2.3 libredblack.so.0)
14:56:18 (cd .libs && rm -f libredblack.so && ln -s libredblack.so.0.2.3 libredblack.so)
14:56:18 ar cru .libs/libredblack.a redblack.o
14:56:18 [91mar: `u' modifier ignored since `D' is the default (see `U')
14:56:18 [0mranlib .libs/libredblack.a
14:56:18 creating libredblack.la
14:56:18 (cd .libs && rm -f libredblack.la && ln -s ../libredblack.la libredblack.la)
14:56:18 source='example.c' object='example.o' libtool=no \
14:56:18 depfile='.deps/example.Po' tmpdepfile='.deps/example.TPo' \
14:56:18 depmode=gcc3 /bin/sh ./depcomp \
14:56:18 gcc -DHAVE_CONFIG_H -I. -I. -I. -Wall -c `test -f 'example.c' || echo './'`example.c
14:56:18 /bin/sh ./libtool --mode=link gcc -Wall -o example example.o libredblack.la
14:56:18 gcc -Wall -o .libs/example example.o ./.libs/libredblack.so -Wl,--rpath -Wl,/opt/lib
14:56:18 creating example
14:56:18 source='example1.c' object='example1.o' libtool=no \
14:56:18 depfile='.deps/example1.Po' tmpdepfile='.deps/example1.TPo' \
14:56:18 depmode=gcc3 /bin/sh ./depcomp \
14:56:18 gcc -DHAVE_CONFIG_H -I. -I. -I. -Wall -c `test -f 'example1.c' || echo './'`example1.c
14:56:18 /bin/sh ./libtool --mode=link gcc -Wall -o example1 example1.o libredblack.la
14:56:18 gcc -Wall -o .libs/example1 example1.o ./.libs/libredblack.so -Wl,--rpath -Wl,/opt/lib
14:56:18 creating example1
14:56:18 source='example2.c' object='example2.o' libtool=no \
14:56:18 depfile='.deps/example2.Po' tmpdepfile='.deps/example2.TPo' \
14:56:18 depmode=gcc3 /bin/sh ./depcomp \
14:56:18 gcc -DHAVE_CONFIG_H -I. -I. -I. -Wall -c `test -f 'example2.c' || echo './'`example2.c
14:56:18 /bin/sh ./libtool --mode=link gcc -Wall -o example2 example2.o libredblack.la
14:56:18 gcc -Wall -o .libs/example2 example2.o ./.libs/libredblack.so -Wl,--rpath -Wl,/opt/lib
14:56:18 creating example2
14:56:18 source='example3.c' object='example3.o' libtool=no \
14:56:18 depfile='.deps/example3.Po' tmpdepfile='.deps/example3.TPo' \
14:56:18 depmode=gcc3 /bin/sh ./depcomp \
14:56:18 gcc -DHAVE_CONFIG_H -I. -I. -I. -Wall -c `test -f 'example3.c' || echo './'`example3.c
14:56:18 /bin/sh ./libtool --mode=link gcc -Wall -o example3 example3.o libredblack.la
14:56:18 gcc -Wall -o .libs/example3 example3.o ./.libs/libredblack.so -Wl,--rpath -Wl,/opt/lib
14:56:18 creating example3
14:56:18 echo 'int main() { return(0); }' > example4.c
14:56:18 source='example4.c' object='example4.o' libtool=no \
14:56:18 depfile='.deps/example4.Po' tmpdepfile='.deps/example4.TPo' \
14:56:18 depmode=gcc3 /bin/sh ./depcomp \
14:56:18 gcc -DHAVE_CONFIG_H -I. -I. -I. -Wall -c `test -f 'example4.c' || echo './'`example4.c
14:56:18 /bin/sh ./libtool --mode=link gcc -Wall -o example4 example4.o
14:56:18 gcc -Wall -o example4 example4.o
14:56:18 make[1]: Leaving directory '/usr/src/libredblack'
14:56:18 [91m+ make install
14:56:18 [0mmake[1]: Entering directory '/usr/src/libredblack'
14:56:18 /bin/sh ./mkinstalldirs /opt/bin
14:56:18 /bin/sh ./mkinstalldirs /opt/lib
14:56:18 mkdir -p -- /opt/lib
14:56:18 /bin/sh ./libtool --mode=install /usr/bin/install -c libredblack.la /opt/lib/libredblack.la
14:56:18 /usr/bin/install -c .libs/libredblack.so.0.2.3 /opt/lib/libredblack.so.0.2.3
14:56:18 (cd /opt/lib && rm -f libredblack.so.0 && ln -s libredblack.so.0.2.3 libredblack.so.0)
14:56:18 (cd /opt/lib && rm -f libredblack.so && ln -s libredblack.so.0.2.3 libredblack.so)
14:56:18 /usr/bin/install -c .libs/libredblack.lai /opt/lib/libredblack.la
14:56:18 /usr/bin/install -c .libs/libredblack.a /opt/lib/libredblack.a
14:56:18 ranlib /opt/lib/libredblack.a
14:56:18 chmod 644 /opt/lib/libredblack.a
14:56:18 PATH="$PATH:/sbin" ldconfig -n /opt/lib
14:56:18 ----------------------------------------------------------------------
14:56:18 Libraries have been installed in:
14:56:18 /opt/lib
14:56:18
14:56:18 If you ever happen to want to link against installed libraries
14:56:18 in a given directory, LIBDIR, you must either use libtool, and
14:56:18 specify the full pathname of the library, or use the `-LLIBDIR'
14:56:18 flag during linking and do at least one of the following:
14:56:18 - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
14:56:18 during execution
14:56:18 - add LIBDIR to the `LD_RUN_PATH' environment variable
14:56:18 during linking
14:56:18 - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
14:56:18
14:56:18 See any operating system documentation about shared libraries for
14:56:18 more information, such as the ld(1) and ld.so(8) manual pages.
14:56:18 ----------------------------------------------------------------------
14:56:18 /bin/sh ./mkinstalldirs /opt/include
14:56:18 /usr/bin/install -c -m 644 redblack.h /opt/include/redblack.h
14:56:18 /bin/sh ./mkinstalldirs /opt/share/man/man1
14:56:18 /usr/bin/install -c -m 644 ./rbgen.1 /opt/share/man/man1/rbgen.1
14:56:18 /bin/sh ./mkinstalldirs /opt/share/man/man3
14:56:18 mkdir -p -- /opt/share/man/man3
14:56:18 /usr/bin/install -c -m 644 ./rbdelete.3 /opt/share/man/man3/rbdelete.3
14:56:18 /usr/bin/install -c -m 644 ./rbdestroy.3 /opt/share/man/man3/rbdestroy.3
14:56:18 /usr/bin/install -c -m 644 ./rbfind.3 /opt/share/man/man3/rbfind.3
14:56:18 /usr/bin/install -c -m 644 ./rbinit.3 /opt/share/man/man3/rbinit.3
14:56:18 /usr/bin/install -c -m 644 ./rbsearch.3 /opt/share/man/man3/rbsearch.3
14:56:18 /usr/bin/install -c -m 644 ./rblookup.3 /opt/share/man/man3/rblookup.3
14:56:18 /usr/bin/install -c -m 644 ./rbwalk.3 /opt/share/man/man3/rbwalk.3
14:56:18 /usr/bin/install -c -m 644 ./rbopenlist.3 /opt/share/man/man3/rbopenlist.3
14:56:18 /usr/bin/install -c -m 644 ./rbreadlist.3 /opt/share/man/man3/rbreadlist.3
14:56:18 /usr/bin/install -c -m 644 ./rbcloselist.3 /opt/share/man/man3/rbcloselist.3
14:56:18 /bin/sh ./mkinstalldirs /opt/share/libredblack
14:56:18 mkdir -p -- /opt/share/libredblack
14:56:18 /usr/bin/install -c -m 644 redblack.c /opt/share/libredblack/redblack.c
14:56:18 /usr/bin/install -c -m 644 redblack.h /opt/share/libredblack/redblack.h
14:56:18 make[1]: Leaving directory '/usr/src/libredblack'
14:56:20 Removing intermediate container e2fe8f3ab4e8
14:56:20 ---> 70f1c7902684
14:56:20 Step 15/47 : RUN set -eux && git clone --branch $zlog_version --depth 1 https://github.com/HardySimpson/zlog && cd zlog/src && make PREFIX=/opt && make install PREFIX=/opt
14:56:20 ---> Running in c9b5c07349b4
14:56:21 [91m+ git clone --branch 1.2.14 --depth 1 https://github.com/HardySimpson/zlog
14:56:21 [0m[91mCloning into 'zlog'...
14:56:21 [0m[91m+ cd zlog/src
14:56:21 + make 'PREFIX=/opt'
14:56:21 [0mcc -std=c99 -pedantic -c -O2 -fPIC -pthread -Wall -Wstrict-prototypes -fwrapv -g -ggdb buf.c
14:56:21 cc -std=c99 -pedantic -c -O2 -fPIC -pthread -Wall -Wstrict-prototypes -fwrapv -g -ggdb category.c
14:56:21 cc -std=c99 -pedantic -c -O2 -fPIC -pthread -Wall -Wstrict-prototypes -fwrapv -g -ggdb category_table.c
14:56:22 cc -std=c99 -pedantic -c -O2 -fPIC -pthread -Wall -Wstrict-prototypes -fwrapv -g -ggdb conf.c
14:56:22 cc -std=c99 -pedantic -c -O2 -fPIC -pthread -Wall -Wstrict-prototypes -fwrapv -g -ggdb event.c
14:56:22 [91mevent.c: In function 'zlog_event_new':
14:56:22 event.c:91:65: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
14:56:22 91 | a_event->tid_hex_str_len = sprintf(a_event->tid_hex_str, "%x", (unsigned int)a_event->tid);
14:56:22 | ^
14:56:22 [0mcc -std=c99 -pedantic -c -O2 -fPIC -pthread -Wall -Wstrict-prototypes -fwrapv -g -ggdb format.c
14:56:22 cc -std=c99 -pedantic -c -O2 -fPIC -pthread -Wall -Wstrict-prototypes -fwrapv -g -ggdb level.c
14:56:22 cc -std=c99 -pedantic -c -O2 -fPIC -pthread -Wall -Wstrict-prototypes -fwrapv -g -ggdb level_list.c
14:56:22 cc -std=c99 -pedantic -c -O2 -fPIC -pthread -Wall -Wstrict-prototypes -fwrapv -g -ggdb mdc.c
14:56:22 cc -std=c99 -pedantic -c -O2 -fPIC -pthread -Wall -Wstrict-prototypes -fwrapv -g -ggdb record.c
14:56:22 cc -std=c99 -pedantic -c -O2 -fPIC -pthread -Wall -Wstrict-prototypes -fwrapv -g -ggdb record_table.c
14:56:22 cc -std=c99 -pedantic -c -O2 -fPIC -pthread -Wall -Wstrict-prototypes -fwrapv -g -ggdb rotater.c
14:56:22 cc -std=c99 -pedantic -c -O2 -fPIC -pthread -Wall -Wstrict-prototypes -fwrapv -g -ggdb rule.c
14:56:23 cc -std=c99 -pedantic -c -O2 -fPIC -pthread -Wall -Wstrict-prototypes -fwrapv -g -ggdb spec.c
14:56:23 cc -std=c99 -pedantic -c -O2 -fPIC -pthread -Wall -Wstrict-prototypes -fwrapv -g -ggdb thread.c
14:56:23 cc -std=c99 -pedantic -c -O2 -fPIC -pthread -Wall -Wstrict-prototypes -fwrapv -g -ggdb zc_arraylist.c
14:56:23 cc -std=c99 -pedantic -c -O2 -fPIC -pthread -Wall -Wstrict-prototypes -fwrapv -g -ggdb zc_hashtable.c
14:56:23 cc -std=c99 -pedantic -c -O2 -fPIC -pthread -Wall -Wstrict-prototypes -fwrapv -g -ggdb zc_profile.c
14:56:23 cc -std=c99 -pedantic -c -O2 -fPIC -pthread -Wall -Wstrict-prototypes -fwrapv -g -ggdb zc_util.c
14:56:23 cc -std=c99 -pedantic -c -O2 -fPIC -pthread -Wall -Wstrict-prototypes -fwrapv -g -ggdb zlog.c
14:56:24 cc -shared -Wl,-soname,libzlog.so.1.2 -o libzlog.so buf.o category.o category_table.o conf.o event.o format.o level.o level_list.o mdc.o record.o record_table.o rotater.o rule.o spec.o thread.o zc_arraylist.o zc_hashtable.o zc_profile.o zc_util.o zlog.o -pthread
14:56:24 # for use in test folder - linux and requirement for aix runtime
14:56:24 # resolving
14:56:24 cp -f libzlog.so libzlog.so.1
14:56:24 cp -f libzlog.so libzlog.so.1.2
14:56:24 cc -std=c99 -pedantic -c -O2 -fPIC -pthread -Wall -Wstrict-prototypes -fwrapv -g -ggdb zlog-chk-conf.c
14:56:24 ar rcs libzlog.a buf.o category.o category_table.o conf.o event.o format.o level.o level_list.o mdc.o record.o record_table.o rotater.o rule.o spec.o thread.o zc_arraylist.o zc_hashtable.o zc_profile.o zc_util.o zlog.o
14:56:24 cc -o zlog-chk-conf zlog-chk-conf.o -L. -lzlog -pthread
14:56:24 [91m+ make install 'PREFIX=/opt'
14:56:24 [0mmkdir -p /opt/include /opt/lib /opt/bin
14:56:24 cp -a zlog.h /opt/include
14:56:24 cp -a zlog-chk-conf /opt/bin
14:56:24 cp -a libzlog.so /opt/lib/libzlog.so.1.2
14:56:24 cd /opt/lib && ln -sf libzlog.so.1.2 libzlog.so.1
14:56:24 cd /opt/lib && ln -sf libzlog.so.1 libzlog.so
14:56:24 cp -a libzlog.a /opt/lib
14:56:24 Removing intermediate container c9b5c07349b4
14:56:24 ---> 1f8242ade44d
14:56:24 Step 16/47 : COPY patches/sysrepo/ ./patches/sysrepo/
14:56:25 ---> 17ac5d2411e9
14:56:25 Step 17/47 : RUN set -eux && git clone --branch $sysrepo_version --depth 1 https://github.com/sysrepo/sysrepo.git && cd sysrepo && for p in ../patches/sysrepo/*.patch; do patch -p1 -i $p; done && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE:String="Release" -DENABLE_TESTS=OFF -DREPOSITORY_LOC:PATH=/opt/etc/sysrepo -DCMAKE_INSTALL_PREFIX:PATH=/opt -DGEN_PYTHON_VERSION=3 -DPYTHON_MODULE_PATH:PATH=/opt/lib/python3.7/site-packages -DBUILD_EXAMPLES=0 -DBUILD_CPP_EXAMPLES=0 .. && make -j2 && make install
14:56:25 ---> Running in 77ca72fa81d8
14:56:25 [91m+ git clone --branch v0.7.9 --depth 1 https://github.com/sysrepo/sysrepo.git
14:56:25 [0m[91mCloning into 'sysrepo'...
14:56:26 [0m[91m+ cd sysrepo
14:56:26 [0m[91m+ patch -p1 -i ../patches/sysrepo/01-configurable-PYTHON_MODULE_PATH.patch
14:56:26 [0mpatching file swig/python/CMakeLists.txt
14:56:26 [91m+ patch -p1 -i ../patches/sysrepo/02-zlog.patch
14:56:26 [0mpatching file CMakeLists.txt
14:56:26 patching file src/CMakeLists.txt
14:56:26 patching file src/common/sr_logger.c
14:56:26 patching file src/common/sr_logger.h
14:56:26 patching file src/executables/sysrepocfg.c
14:56:26 patching file src/executables/sysrepoctl.c
14:56:26 patching file src/clientlib/client_library.c
14:56:26 [91m+ mkdir build
14:56:26 [0m[91m+ cd build
14:56:26 + cmake '-DCMAKE_BUILD_TYPE:String=Release' '-DENABLE_TESTS=OFF' '-DREPOSITORY_LOC:PATH=/opt/etc/sysrepo' '-DCMAKE_INSTALL_PREFIX:PATH=/opt' '-DGEN_PYTHON_VERSION=3'[0m[91m '-DPYTHON_MODULE_PATH:PATH=/opt/lib/python3.7/site-packages' '-DBUILD_EXAMPLES=0' '-DBUILD_CPP_EXAMPLES=0' ..
14:56:26 [0m-- The C compiler identification is GNU 9.3.0
14:56:26 -- The CXX compiler identification is GNU 9.3.0
14:56:26 -- Check for working C compiler: /usr/bin/cc
14:56:26 -- Check for working C compiler: /usr/bin/cc -- works
14:56:26 -- Detecting C compiler ABI info
14:56:26 -- Detecting C compiler ABI info - done
14:56:26 -- Detecting C compile features
14:56:26 -- Detecting C compile features - done
14:56:26 -- Check for working CXX compiler: /usr/bin/c++
14:56:26 -- Check for working CXX compiler: /usr/bin/c++ -- works
14:56:26 -- Detecting CXX compiler ABI info
14:56:26 -- Detecting CXX compiler ABI info - done
14:56:26 -- Detecting CXX compile features
14:56:26 -- Detecting CXX compile features - done
14:56:26 -- Preparing systemwide build of sysrepo v. 0.7.8
14:56:26 -- sysrepo repository location: /opt/etc/sysrepo
14:56:26 -- Found ev: /usr/lib/libev.so
14:56:26 -- Found yang: /opt/lib64/libyang.so
14:56:26 -- Found protobuf-c: /usr/lib/libprotobuf-c.so
14:56:26 -- Could NOT find avl (missing: AVL_LIBRARY AVL_INCLUDE_DIR)
14:56:26 -- Found redblack: /opt/lib/libredblack.so
14:56:26 -- libredblack will be used for binary tree manipulations.
14:56:26 -- Looking for stdatomic.h
14:56:26 -- Looking for stdatomic.h - found
14:56:26 -- Looking for pthread_rwlockattr_setkind_np
14:56:27 -- Looking for pthread_rwlockattr_setkind_np - not found
14:56:27 -- Looking for getpeereid
14:56:27 -- Looking for getpeereid - not found
14:56:27 -- Looking for getpeerucred
14:56:27 -- Looking for getpeerucred - not found
14:56:27 -- Looking for include file ucred.h
14:56:27 -- Looking for include file ucred.h - not found
14:56:27 -- Looking for pthread_mutex_timedlock
14:56:27 -- Looking for pthread_mutex_timedlock - found
14:56:27 -- Looking for setfsuid
14:56:27 -- Looking for setfsuid - found
14:56:27 -- Looking for fsetxattr
14:56:27 -- Looking for fsetxattr - found
14:56:27 -- Looking for mkstemps
14:56:27 -- Looking for mkstemps - found
14:56:27 -- Performing Test HAVE_STAT_ST_MTIM
14:56:27 -- Performing Test HAVE_STAT_ST_MTIM - Success
14:56:27 -- Looking for F_OFD_SETLKW
14:56:27 -- Looking for F_OFD_SETLKW - found
14:56:27 -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
14:56:27 -- Found SWIG: /usr/bin/swig (found suitable version "3.0.12", minimum required is "3.0.12")
14:56:27 -- Python version 3 was selected
14:56:27 -- Found PythonLibs: /usr/local/lib/libpython3.7m.so (found suitable version "3.7.7", minimum required is "3")
14:56:27 -- Found PythonInterp: /usr/local/bin/python3.7 (found version "3.7.7")
14:56:27 -- Found SWIG: /usr/bin/swig (found suitable version "3.0.12", minimum required is "3.0.5")
14:56:27 -- Configuring done
14:56:27 -- Generating done
14:56:27 -- Build files have been written to: /usr/src/sysrepo/build
14:56:27 [91m+ make -j2
14:56:27 [0mScanning dependencies of target sysrepo_swig_compilation
14:56:27 [ 1%] Running C protocol buffer compiler on /usr/src/sysrepo/src/sysrepo.proto
14:56:27 [ 3%] Swig compile sysrepo.i for python
14:56:27 Scanning dependencies of target COMMON
14:56:27 [ 5%] Building C object src/CMakeFiles/COMMON.dir/common/sysrepo.pb-c.c.o
14:56:28 [ 7%] Building C object src/CMakeFiles/COMMON.dir/common/sr_common.c.o
14:56:28 [ 9%] Building C object src/CMakeFiles/COMMON.dir/common/sr_utils.c.o
14:56:29 [ 9%] Built target sysrepo_swig_compilation
14:56:29 [ 11%] Building C object src/CMakeFiles/COMMON.dir/common/sr_data_structs.c.o
14:56:29 [ 13%] Building C object src/CMakeFiles/COMMON.dir/common/sr_logger.c.o
14:56:29 [ 15%] Building C object src/CMakeFiles/COMMON.dir/common/sr_protobuf.c.o
14:56:29 [ 17%] Building C object src/CMakeFiles/COMMON.dir/common/sr_mem_mgmt.c.o
14:56:30 [ 19%] Building C object src/CMakeFiles/COMMON.dir/utils/plugins.c.o
14:56:30 [ 21%] Building C object src/CMakeFiles/COMMON.dir/utils/trees.c.o
14:56:30 [ 23%] Building C object src/CMakeFiles/COMMON.dir/utils/values.c.o
14:56:30 [ 25%] Building C object src/CMakeFiles/COMMON.dir/utils/xpath.c.o
14:56:30 [ 25%] Built target COMMON
14:56:30 Scanning dependencies of target SR_ENGINE
14:56:30 Scanning dependencies of target SR_SRC
14:56:30 [ 27%] Building C object src/CMakeFiles/SR_SRC.dir/clientlib/client_library.c.o
14:56:30 [ 29%] Building C object src/CMakeFiles/SR_ENGINE.dir/access_control.c.o
14:56:31 [ 31%] Building C object src/CMakeFiles/SR_ENGINE.dir/connection_manager.c.o
14:56:31 [ 33%] Building C object src/CMakeFiles/SR_ENGINE.dir/cm_session_manager.c.o
14:56:31 [ 35%] Building C object src/CMakeFiles/SR_ENGINE.dir/request_processor.c.o
14:56:32 [ 37%] Building C object src/CMakeFiles/SR_SRC.dir/clientlib/cl_subscription_manager.c.o
14:56:32 [ 39%] Building C object src/CMakeFiles/SR_SRC.dir/clientlib/cl_common.c.o
14:56:32 [ 41%] Building C object src/CMakeFiles/SR_SRC.dir/clientlib/cl_trees.c.o
14:56:33 [ 41%] Built target SR_SRC
14:56:33 [ 43%] Building C object src/CMakeFiles/SR_ENGINE.dir/rp_dt_xpath.c.o
14:56:33 [ 45%] Building C object src/CMakeFiles/SR_ENGINE.dir/rp_dt_lookup.c.o
14:56:33 [ 47%] Building C object src/CMakeFiles/SR_ENGINE.dir/rp_dt_get.c.o
14:56:33 [ 49%] Building C object src/CMakeFiles/SR_ENGINE.dir/rp_dt_edit.c.o
14:56:33 [ 50%] Building C object src/CMakeFiles/SR_ENGINE.dir/rp_dt_filter.c.o
14:56:34 [ 52%] Building C object src/CMakeFiles/SR_ENGINE.dir/data_manager.c.o
14:56:34 [ 54%] Building C object src/CMakeFiles/SR_ENGINE.dir/notification_processor.c.o
14:56:34 [ 56%] Building C object src/CMakeFiles/SR_ENGINE.dir/persistence_manager.c.o
14:56:35 [ 58%] Building C object src/CMakeFiles/SR_ENGINE.dir/module_dependencies.c.o
14:56:36 [ 60%] Building C object src/CMakeFiles/SR_ENGINE.dir/nacm.c.o
14:56:37 [ 60%] Built target SR_ENGINE
14:56:37 Scanning dependencies of target sysrepo_a
14:56:37 Scanning dependencies of target sysrepo
14:56:37 [ 62%] Linking C static library libsysrepo.a
14:56:37 [ 64%] Linking C shared library libsysrepo.so
14:56:37 [ 64%] Built target sysrepo_a
14:56:37 [ 64%] Built target sysrepo
14:56:37 Scanning dependencies of target sysrepoctl
14:56:37 Scanning dependencies of target sysrepod
14:56:37 [ 66%] Building C object src/CMakeFiles/sysrepoctl.dir/executables/sysrepoctl.c.o
14:56:37 [ 68%] Building C object src/CMakeFiles/sysrepod.dir/executables/sysrepod.c.o
14:56:37 [ 70%] Linking C executable sysrepod
14:56:37 [ 70%] Built target sysrepod
14:56:37 Scanning dependencies of target sysrepo-plugind
14:56:37 [ 72%] Building C object src/CMakeFiles/sysrepo-plugind.dir/executables/sysrepo-plugind.c.o
14:56:37 [ 74%] Linking C executable sysrepo-plugind
14:56:37 [ 74%] Built target sysrepo-plugind
14:56:37 Scanning dependencies of target sysrepocfg
14:56:37 [ 76%] Building C object src/CMakeFiles/sysrepocfg.dir/executables/sysrepocfg.c.o
14:56:37 [ 78%] Linking C executable sysrepoctl
14:56:37 [ 78%] Built target sysrepoctl
14:56:37 Scanning dependencies of target Sysrepo-cpp
14:56:37 [ 80%] Building CXX object swig/CMakeFiles/Sysrepo-cpp.dir/cpp/src/Sysrepo.cpp.o
14:56:37 [ 82%] Building CXX object swig/CMakeFiles/Sysrepo-cpp.dir/cpp/src/Connection.cpp.o
14:56:38 [ 84%] Linking C executable sysrepocfg
14:56:38 [ 84%] Built target sysrepocfg
14:56:38 [ 86%] Building CXX object swig/CMakeFiles/Sysrepo-cpp.dir/cpp/src/Session.cpp.o
14:56:38 [ 88%] Building CXX object swig/CMakeFiles/Sysrepo-cpp.dir/cpp/src/Struct.cpp.o
14:56:39 [ 90%] Building CXX object swig/CMakeFiles/Sysrepo-cpp.dir/cpp/src/Xpath.cpp.o
14:56:39 [ 92%] Building CXX object swig/CMakeFiles/Sysrepo-cpp.dir/cpp/src/Tree.cpp.o
14:56:39 [ 94%] Building CXX object swig/CMakeFiles/Sysrepo-cpp.dir/cpp/src/Internal.cpp.o
14:56:40 [ 96%] Linking CXX shared library libSysrepo-cpp.so
14:56:40 [ 96%] Built target Sysrepo-cpp
14:56:40 Scanning dependencies of target _sysrepo
14:56:40 [ 98%] Building CXX object swig/python/CMakeFiles/_sysrepo.dir/sysrepoPYTHON_wrap.cxx.o
14:56:56 [100%] Linking CXX shared module _sysrepo.so
14:56:56 [100%] Built target _sysrepo
14:56:56 [91m+ make install
14:56:56 [0m[ 23%] Built target COMMON
14:56:56 [ 50%] Built target SR_ENGINE
14:56:56 [ 58%] Built target SR_SRC
14:56:56 [ 60%] Built target sysrepo
14:56:56 [ 62%] Built target sysrepo_a
14:56:56 [ 66%] Built target sysrepoctl
14:56:56 [ 70%] Built target sysrepod
14:56:56 [ 74%] Built target sysrepo-plugind
14:56:56 [ 78%] Built target sysrepocfg
14:56:56 [ 94%] Built target Sysrepo-cpp
14:56:56 [ 96%] Built target sysrepo_swig_compilation
14:56:56 [100%] Built target _sysrepo
14:56:56 Install the project...
14:56:56 -- Install configuration: "Release"
14:56:56 -- Installing: /opt/etc/sysrepo
14:56:56 -- Installing: /opt/etc/sysrepo/yang/
14:56:56 -- Installing: /opt/etc/sysrepo/data/
14:56:56 -- Installing: /opt/etc/sysrepo/data/internal/
14:56:56 -- Installing: /var/run/sysrepo-subscriptions
14:56:56 -- Installing: /opt/lib64/sysrepo/plugins
14:56:56 -- Installing: /opt/etc/sysrepo/yang/internal/sysrepo-persistent-data.yang
14:56:56 -- Installing: /opt/etc/sysrepo/yang/internal/sysrepo-module-dependencies.yang
14:56:56 -- Installing: /opt/etc/sysrepo/yang/internal/sysrepo-notification-store.yang
14:56:56 -- Installing: /opt/lib64/pkgconfig/libsysrepo.pc
14:56:56 -- Installing: /opt/share/man/man1/sysrepoctl.1
14:56:56 -- Installing: /opt/share/man/man1/sysrepocfg.1
14:56:56 -- Exec: /usr/src/sysrepo/build/src/sysrepoctl --install --yang=/usr/src/sysrepo/yang/ietf-netconf-notifications.yang --permissions=666
14:56:56 -- Exec: /usr/src/sysrepo/build/src/sysrepoctl --install --yang=/usr/src/sysrepo/yang/nc-notifications.yang --permissions=666
14:56:56 -- Exec: /usr/src/sysrepo/build/src/sysrepoctl --install --yang=/usr/src/sysrepo/yang/notifications.yang --permissions=666
14:56:56 -- Installing: /opt/lib64/libsysrepo.so.0.7.8
14:56:56 -- Installing: /opt/lib64/libsysrepo.so.0.7
14:56:56 -- Set runtime path of "/opt/lib64/libsysrepo.so.0.7.8" to ""
14:56:56 -- Installing: /opt/lib64/libsysrepo.so
14:56:56 -- Installing: /opt/lib64/libsysrepo.a
14:56:56 -- Installing: /opt/bin/sysrepod
14:56:56 -- Set runtime path of "/opt/bin/sysrepod" to ""
14:56:56 -- Installing: /opt/bin/sysrepo-plugind
14:56:56 -- Set runtime path of "/opt/bin/sysrepo-plugind" to ""
14:56:56 -- Installing: /opt/bin/sysrepoctl
14:56:56 -- Set runtime path of "/opt/bin/sysrepoctl" to ""
14:56:56 -- Installing: /opt/bin/sysrepocfg
14:56:56 -- Set runtime path of "/opt/bin/sysrepocfg" to ""
14:56:56 -- Up-to-date: /opt/include
14:56:56 -- Installing: /opt/include/sysrepo
14:56:56 -- Installing: /opt/include/sysrepo/values.h
14:56:56 -- Installing: /opt/include/sysrepo/trees.h
14:56:56 -- Installing: /opt/include/sysrepo/plugins.h
14:56:56 -- Installing: /opt/include/sysrepo/xpath.h
14:56:56 -- Installing: /opt/include/sysrepo.h
14:56:56 -- Installing: /opt/lib64/libSysrepo-cpp.so.0.7.8
14:56:56 -- Installing: /opt/lib64/libSysrepo-cpp.so.0.7
14:56:56 -- Set runtime path of "/opt/lib64/libSysrepo-cpp.so.0.7.8" to ""
14:56:56 -- Installing: /opt/lib64/libSysrepo-cpp.so
14:56:56 -- Installing: /opt/include/sysrepo-cpp/Sysrepo.hpp
14:56:56 -- Installing: /opt/include/sysrepo-cpp/Connection.hpp
14:56:56 -- Installing: /opt/include/sysrepo-cpp/Session.hpp
14:56:56 -- Installing: /opt/include/sysrepo-cpp/Struct.hpp
14:56:56 -- Installing: /opt/include/sysrepo-cpp/Xpath.hpp
14:56:56 -- Installing: /opt/include/sysrepo-cpp/Tree.hpp
14:56:56 -- Installing: /opt/include/sysrepo-cpp/Internal.hpp
14:56:56 -- Installing: /opt/lib64/pkgconfig/libSysrepo-cpp.pc
14:56:56 -- Installing: /opt/lib/python3.7/site-packages/_sysrepo.so
14:56:56 -- Installing: /opt/lib/python3.7/site-packages/sysrepo.py
14:56:57 Removing intermediate container 77ca72fa81d8
14:56:57 ---> f5962d95b4e1
14:56:57 Step 18/47 : COPY patches/libnetconf2/ ./patches/libnetconf2/
14:56:57 ---> 01478960d2d1
14:56:57 Step 19/47 : RUN set -eux && git clone --branch $libnetconf2_version --depth 1 https://github.com/CESNET/libnetconf2.git && cd libnetconf2 && for p in ../patches/libnetconf2/*.patch; do patch -p1 -i $p; done && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE:String="Release" -DENABLE_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX:PATH=/opt -DENABLE_PYTHON=OFF .. && make && make install
14:56:57 ---> Running in be16abc4bf09
14:56:58 [91m+ git clone --branch v0.12-r2 --depth 1 https://github.com/CESNET/libnetconf2.git
14:56:58 [0m[91mCloning into 'libnetconf2'...
14:56:58 [0m[91m+ cd libnetconf2
14:56:58 + patch -p1 -i ../patches/libnetconf2/01-configurable-PYTHON_MODULE_PATH.patch
14:56:58 [0mpatching file python/CMakeLists.txt
14:56:58 [91m+ patch -p1 -i ../patches/libnetconf2/02-fix-missing-include-dir.patch
14:56:58 [0mpatching file python/setup.py.in
14:56:58 [91m+ patch -p1 -i ../patches/libnetconf2/03-fix-missing-pthread_rwlockattr_setkind_np.patch
14:56:58 [0mpatching file src/session_server.c
14:56:58 [91m+ patch -p1 -i ../patches/libnetconf2/04-io-log.patch
14:56:58 [0mpatching file src/io.c
14:56:58 [91m+ mkdir build
14:56:58 [0m[91m+ cd build
14:56:58 + cmake '-DCMAKE_BUILD_TYPE:String=Release' '-DENABLE_BUILD_TESTS=OFF' '-DCMAKE_INSTALL_PREFIX:PATH=/opt' '-DENABLE_PYTHON=OFF' ..
14:56:58 [0m-- The C compiler identification is GNU 9.3.0
14:56:58 -- Check for working C compiler: /usr/bin/cc
14:56:58 -- Check for working C compiler: /usr/bin/cc -- works
14:56:58 -- Detecting C compiler ABI info
14:56:58 -- Detecting C compiler ABI info - done
14:56:58 -- Detecting C compile features
14:56:58 -- Detecting C compile features - done
14:56:58 [91mCMake Warning at CMakeLists.txt:98 (message):
14:56:58 Missing tools (devscripts, debhelper package) for building deb package.
14:56:58
14:56:58 You won't be able to generate deb package from source code.
14:56:58
14:56:58 Compiling libnetconf2 should still works fine.
14:56:58
14:56:58
14:56:58 CMake Warning at CMakeLists.txt:109 (message):
14:56:58 Missing tools (rpm package) for building rpm package.
14:56:58
14:56:58 You won't be able to generate rpm package from source code.
14:56:58
14:56:58 Compiling libnetconf2 should still works fine.
14:56:58
14:56:58
14:56:58 [0m-- Looking for pthread.h
14:56:58 -- Looking for pthread.h - found
14:56:58 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
14:56:59 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
14:56:59 -- Found Threads: TRUE
14:56:59 -- Looking for stdatomic.h
14:56:59 [91mCMake Warning (dev) at /usr/share/cmake/Modules/CheckIncludeFile.cmake:80 (message):
14:56:59 Policy CMP0075 is not set: Include file check macros honor
14:56:59 CMAKE_REQUIRED_LIBRARIES. Run "cmake --help-policy CMP0075" for policy
14:56:59 details. Use the cmake_policy command to set the policy and suppress this
14:56:59 warning.
14:56:59
14:56:59 CMAKE_REQUIRED_LIBRARIES is set to:
14:56:59
14:56:59 pthread
14:56:59
14:56:59 For compatibility with CMake 3.11 and below this check is ignoring it.
14:56:59 Call Stack (most recent call first):
14:56:59 CMakeLists.txt:177 (check_include_file)
14:56:59 This warning is for project developers. Use -Wno-dev to suppress it.
14:56:59
14:56:59 [0m-- Looking for stdatomic.h - found
14:56:59 -- Looking for pthread_mutex_timedlock
14:56:59 -- Looking for pthread_mutex_timedlock - found
14:56:59 -- Found OpenSSL: /usr/lib/libcrypto.so (found version "1.1.1l")
14:56:59 -- Found LibSSH: /usr/lib/ (Required is at least version "0.7.0")
14:56:59 -- Performing Test HAVE_LIBSSH_OPTIONS_PUBLICKEY_ACCEPTED_TYPES
14:56:59 -- Performing Test HAVE_LIBSSH_OPTIONS_PUBLICKEY_ACCEPTED_TYPES - Success
14:56:59 -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
14:56:59 -- Found PkgConfig: /usr/bin/pkg-config (found version "1.6.3")
14:56:59 [91mCMake Warning at CMakeLists.txt:267 (message):
14:56:59 pkg-config will not detect the new package after installation, adjust
14:56:59 PKG_CONFIG_PATH using "export
14:56:59 PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:lib64/pkgconfig".
14:56:59
14:56:59
14:56:59 [0m-- Configuring done
14:56:59 -- Generating done
14:56:59 -- Build files have been written to: /usr/src/libnetconf2/build
14:56:59 [91m+ make
14:56:59 [0mScanning dependencies of target netconf2
14:56:59 [ 7%] Building C object CMakeFiles/netconf2.dir/src/io.c.o
14:56:59 [ 15%] Building C object CMakeFiles/netconf2.dir/src/log.c.o
14:56:59 [ 23%] Building C object CMakeFiles/netconf2.dir/src/messages_client.c.o
14:57:00 [ 30%] Building C object CMakeFiles/netconf2.dir/src/messages_server.c.o
14:57:00 [ 38%] Building C object CMakeFiles/netconf2.dir/src/session.c.o
14:57:00 [91m/usr/src/libnetconf2/src/session.c:1368:1: warning: 'nc_ssh_destroy' defined but not used [-Wunused-function]
14:57:00 1368 | nc_ssh_destroy(void)
14:57:00 | ^~~~~~~~~~~~~~
14:57:00 /usr/src/libnetconf2/src/session.c:1361:1: warning: 'nc_ssh_init' defined but not used [-Wunused-function]
14:57:00 1361 | nc_ssh_init(void)
14:57:00 | ^~~~~~~~~~~
14:57:01 [0m[ 46%] Building C object CMakeFiles/netconf2.dir/src/session_client.c.o
14:57:01 [ 53%] Building C object CMakeFiles/netconf2.dir/src/session_server.c.o
14:57:02 [ 61%] Building C object CMakeFiles/netconf2.dir/src/time.c.o
14:57:02 [ 69%] Building C object CMakeFiles/netconf2.dir/src/session_client_ssh.c.o
14:57:02 [91m/usr/src/libnetconf2/src/session_client_ssh.c: In function 'sshauth_hostkey_check':
14:57:02 [0m[91m/usr/src/libnetconf2/src/session_client_ssh.c:284:5: warning: 'ssh_is_server_known' is deprecated [-Wdeprecated-declarations]
14:57:02 284 | state = ssh_is_server_known(session);
14:57:02 | ^~~~~
14:57:02 [0m[91mIn file included from /usr/src/libnetconf2/src/session_client_ssh.c:40:
14:57:02 /usr/include/libssh/libssh.h:561:31: note: declared here
14:57:02 561 | SSH_DEPRECATED LIBSSH_API int ssh_is_server_known(ssh_session session);
14:57:02 | ^~~~~~~~~~~~~~~~~~~
14:57:02 [0m[91m/usr/src/libnetconf2/src/session_client_ssh.c:286:5: warning: 'ssh_get_publickey' is deprecated [-Wdeprecated-declarations]
14:57:02 286 | ret = ssh_get_publickey(session, &srv_pubkey);
14:57:02 | ^~~
14:57:02 In file included from /usr/src/libnetconf2/src/session_client_ssh.c:40:
14:57:02 /usr/include/libssh/libssh.h:558:31: note: declared here
14:57:02 558 | SSH_DEPRECATED LIBSSH_API int ssh_get_publickey(ssh_session session, ssh_key *key);
14:57:02 | ^~~~~~~~~~~~~~~~~
14:57:02 [0m[91m/usr/src/libnetconf2/src/session_client_ssh.c:388:17: warning: 'ssh_write_knownhost' is deprecated [-Wdeprecated-declarations]
14:57:02 388 | ret = ssh_write_knownhost(session);
14:57:02 | ^~~
14:57:02 In file included from /usr/src/libnetconf2/src/session_client_ssh.c:40:
14:57:02 /usr/include/libssh/libssh.h:559:31: note: declared here
14:57:02 559 | SSH_DEPRECATED LIBSSH_API int ssh_write_knownhost(ssh_session session);
14:57:02 | ^~~~~~~~~~~~~~~~~~~
14:57:03 [0m[ 76%] Building C object CMakeFiles/netconf2.dir/src/session_server_ssh.c.o
14:57:03 [ 84%] Building C object CMakeFiles/netconf2.dir/src/session_client_tls.c.o
14:57:04 [ 92%] Building C object CMakeFiles/netconf2.dir/src/session_server_tls.c.o
14:57:04 [100%] Linking C shared library libnetconf2.so
14:57:04 [100%] Built target netconf2
14:57:04 [91m+ make install
14:57:04 [0m[100%] Built target netconf2
14:57:04 Install the project...
14:57:04 -- Install configuration: "Release"
14:57:04 -- Installing: /opt/lib64/libnetconf2.so.0.12.55
14:57:04 -- Installing: /opt/lib64/libnetconf2.so.0.12
14:57:04 -- Set runtime path of "/opt/lib64/libnetconf2.so.0.12.55" to ""
14:57:04 -- Installing: /opt/lib64/libnetconf2.so
14:57:04 -- Installing: /opt/include/nc_client.h
14:57:04 -- Installing: /opt/include/nc_server.h
14:57:04 -- Installing: /opt/include/libnetconf2/log.h
14:57:04 -- Installing: /opt/include/libnetconf2/netconf.h
14:57:04 -- Installing: /opt/include/libnetconf2/session.h
14:57:04 -- Installing: /opt/include/libnetconf2/messages_client.h
14:57:04 -- Installing: /opt/include/libnetconf2/messages_server.h
14:57:04 -- Installing: /opt/include/libnetconf2/session_client.h
14:57:04 -- Installing: /opt/include/libnetconf2/session_client_ch.h
14:57:04 -- Installing: /opt/include/libnetconf2/session_server.h
14:57:04 -- Installing: /opt/include/libnetconf2/session_server_ch.h
14:57:04 -- Installing: /opt/share/libnetconf2/ietf-inet-types.yin
14:57:04 -- Installing: /opt/share/libnetconf2/ietf-netconf-acm.yin
14:57:04 -- Installing: /opt/share/libnetconf2/ietf-netconf-monitoring.yin
14:57:04 -- Installing: /opt/share/libnetconf2/ietf-netconf-notifications.yin
14:57:04 -- Installing: /opt/share/libnetconf2/ietf-netconf-with-defaults.yin
14:57:04 -- Installing: /opt/share/libnetconf2/ietf-netconf.yin
14:57:04 -- Installing: /opt/share/libnetconf2/nc-notifications.yin
14:57:04 -- Installing: /opt/share/libnetconf2/notifications.yin
14:57:04 -- Installing: /opt/lib64/pkgconfig/libnetconf2.pc
14:57:05 Removing intermediate container be16abc4bf09
14:57:05 ---> 54f31eb38be4
14:57:05 Step 20/47 : COPY patches/Netopeer2/ ./patches/Netopeer2/
14:57:05 ---> 0c1e4928b5c8
14:57:05 Step 21/47 : RUN set -eux && git clone --branch $netopeer2_version --depth 1 https://github.com/CESNET/Netopeer2.git && cd Netopeer2 && for p in ../patches/Netopeer2/*.patch; do patch -p1 -i $p; done && cd keystored && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE:String="Release" -DCMAKE_INSTALL_PREFIX:PATH=/opt -DMODEL_INSTALL=ON .. && make -j2 && make install
14:57:05 ---> Running in acddf5a9df16
14:57:06 [91m+ git clone --branch v0.7-r2 --depth 1 https://github.com/CESNET/Netopeer2.git
14:57:06 [0m[91mCloning into 'Netopeer2'...
14:57:06 [0m[91m+ cd Netopeer2
14:57:06 [0m[91m+ patch -p1 -i ../patches/Netopeer2/01-fix-grep-count.patch
14:57:06 [0mpatching file keystored/scripts/model-install.sh
14:57:06 patching file server/scripts/model-install.sh.in
14:57:06 [91m+ patch -p1[0m[91m -i ../patches/Netopeer2/02-zlog.patch
14:57:06 [0mpatching file server/CMakeLists.txt
14:57:06 patching file server/log.c
14:57:06 patching file server/main.c
14:57:06 [91m+ cd keystored
14:57:06 [0m[91m+ mkdir build
14:57:06 [0m[91m+ cd build
14:57:06 + cmake '-DCMAKE_BUILD_TYPE:String=Release' '-DCMAKE_INSTALL_PREFIX:PATH=/opt' '-DMODEL_INSTALL=ON' ..
14:57:06 [0m-- The C compiler identification is GNU 9.3.0
14:57:06 -- Check for working C compiler: /usr/bin/cc
14:57:06 -- Check for working C compiler: /usr/bin/cc -- works
14:57:06 -- Detecting C compiler ABI info
14:57:07 -- Detecting C compiler ABI info - done
14:57:07 -- Detecting C compile features
14:57:07 -- Detecting C compile features - done
14:57:07 -- Found PkgConfig: /usr/bin/pkg-config (found version "1.6.3")
14:57:07 [91mCMake Warning at CMakeLists.txt:58 (message):
14:57:07 keystored pkg-config file copied into a directory not searched by
14:57:07 pkg-config.
14:57:07
14:57:07
14:57:07 [0m[91mCMake Warning at CMakeLists.txt:59 (message):
14:57:07 For netopeer2-server configuration to work, pkg-config search path must
14:57:07 include "/opt/lib64/pkgconfig" or keystored keys directory will have to be
14:57:07 set manually to "/opt/etc/keystored/keys".
14:57:07
14:57:07
14:57:07 [0m-- Found sysrepo: /opt/lib64/libsysrepo.so
14:57:07 -- Configuring done
14:57:07 -- Generating done
14:57:07 -- Build files have been written to: /usr/src/Netopeer2/keystored/build
14:57:07 [91m+ make -j2
14:57:07 [0mScanning dependencies of target keystored
14:57:07 [ 50%] Building C object CMakeFiles/keystored.dir/keystored.c.o
14:57:07 [100%] Linking C shared library libkeystored.so
14:57:07 [100%] Built target keystored
14:57:07 [91m+ make install
14:57:07 [0m[100%] Built target keystored
14:57:07 Install the project...
14:57:07 -- Install configuration: "Release"
14:57:07 -- Installing: /opt/lib64/pkgconfig/keystored.pc
14:57:07 -- Installing: /opt/etc/keystored/keys
14:57:07 - Installing module ietf-x509-cert-to-name...
14:57:07 Installing a new module from file '/usr/src/Netopeer2/keystored/scripts/../../modules/ietf-x509-cert-to-name.yang'...
14:57:07 Installing the YANG file to '/opt/etc/sysrepo/yang/ietf-x509-cert-to-name@2014-12-10.yang'...
14:57:07 Skipping installation of data files for module 'ietf-x509-cert-to-name'...
14:57:07 Notifying sysrepo about the change...
14:57:07 Install operation completed successfully.
14:57:07 - Installing module ietf-keystore...
14:57:07 Installing a new module from file '/usr/src/Netopeer2/keystored/scripts/../../modules/ietf-keystore.yang'...
14:57:07 Installing the YANG file to '/opt/etc/sysrepo/yang/ietf-keystore@2016-10-31.yang'...
14:57:07 Installing data files for module 'ietf-keystore'...
14:57:07 Notifying sysrepo about the change...
14:57:07 Install operation completed successfully.
14:57:07 - SSH hostkey not found, generating a new one...
14:57:07 - Importing ietf-keystore stock key configuration...
14:57:07 The new configuration was successfully applied.
14:57:07 -- Installing: /opt/lib64/sysrepo/plugins/libkeystored.so
14:57:07 -- Set runtime path of "/opt/lib64/sysrepo/plugins/libkeystored.so" to ""
14:57:08 Removing intermediate container acddf5a9df16
14:57:08 ---> 14d6980fd9b8
14:57:08 Step 22/47 : RUN set -eux && cd Netopeer2/server && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE:String="Release" -DCMAKE_INSTALL_PREFIX:PATH=/opt .. && make -j2 && make install
14:57:08 ---> Running in 4a4d9ccca579
14:57:08 [91m+ cd Netopeer2/server
14:57:08 + mkdir build
14:57:08 [0m[91m+ cd build
14:57:08 + cmake '-DCMAKE_BUILD_TYPE:String=Release' '-DCMAKE_INSTALL_PREFIX:PATH=/opt' ..
14:57:08 [0m-- The C compiler identification is GNU 9.3.0
14:57:08 -- Check for working C compiler: /usr/bin/cc
14:57:08 -- Check for working C compiler: /usr/bin/cc -- works
14:57:08 -- Detecting C compiler ABI info
14:57:08 -- Detecting C compiler ABI info - done
14:57:08 -- Detecting C compile features
14:57:08 -- Detecting C compile features - done
14:57:09 -- Found CURL: /usr/lib/libcurl.so (found version "7.79.1")
14:57:09 -- Found PkgConfig: /usr/bin/pkg-config (found version "1.6.3")
14:57:09 -- keystored keys directory is "/opt/etc/keystored/keys".
14:57:09 -- Found libcurl 7.79.1
14:57:09 -- Enabling URL capability
14:57:09 -- libnetconf2 was compiled with support of up to 6 threads
14:57:09 -- Looking for pthread.h
14:57:09 -- Looking for pthread.h - found
14:57:09 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
14:57:09 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
14:57:09 -- Found Threads: TRUE
14:57:09 -- Looking for pthread_rwlockattr_setkind_np
14:57:09 -- Looking for pthread_rwlockattr_setkind_np - not found
14:57:09 -- Looking for stdatomic.h
14:57:09 -- Looking for stdatomic.h - found
14:57:09 -- Looking for NC_ENABLED_SSH
14:57:09 -- Looking for NC_ENABLED_SSH - found
14:57:09 -- Looking for NC_ENABLED_TLS
14:57:09 -- Looking for NC_ENABLED_TLS - found
14:57:09 -- Found sysrepo: /opt/lib64/libsysrepo.so
14:57:09 -- Configuring done
14:57:09 -- Generating done
14:57:09 -- Build files have been written to: /usr/src/Netopeer2/server/build
14:57:09 [91m+ make -j2
14:57:09 [0mScanning dependencies of target serverobj
14:57:09 [ 5%] Building C object CMakeFiles/serverobj.dir/ietf_system.c.o
14:57:09 [ 11%] Building C object CMakeFiles/serverobj.dir/ietf_netconf_server.c.o
14:57:09 [ 16%] Building C object CMakeFiles/serverobj.dir/ietf_keystore.c.o
14:57:10 [ 22%] Building C object CMakeFiles/serverobj.dir/netconf_monitoring.c.o
14:57:10 [ 27%] Building C object CMakeFiles/serverobj.dir/operations.c.o
14:57:10 [ 33%] Building C object CMakeFiles/serverobj.dir/op_get_config.c.o
14:57:10 [ 38%] Building C object CMakeFiles/serverobj.dir/op_editconfig.c.o
14:57:10 [ 44%] Building C object CMakeFiles/serverobj.dir/op_copyconfig.c.o
14:57:10 [91m/usr/src/Netopeer2/server/op_copyconfig.c: In function 'op_copyconfig':
14:57:10 /usr/src/Netopeer2/server/op_copyconfig.c:477:13: warning: 'ly_wd' may be used uninitialized in this function [-Wmaybe-uninitialized]
14:57:10 477 | if (op_url_export(target_url, LYP_FORMAT | LYP_WITHSIBLINGS | opcopy_wd_nc2ly(nc_wd), root, &ereply) == 0) {
14:57:10 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14:57:11 [0m[ 50%] Building C object CMakeFiles/serverobj.dir/op_deleteconfig.c.o
14:57:11 [ 55%] Building C object CMakeFiles/serverobj.dir/op_candidate.c.o
14:57:11 [ 61%] Building C object CMakeFiles/serverobj.dir/op_validate.c.o
14:57:11 [ 66%] Building C object CMakeFiles/serverobj.dir/op_un_lock.c.o
14:57:11 [ 72%] Building C object CMakeFiles/serverobj.dir/op_generic.c.o
14:57:11 [ 77%] Building C object CMakeFiles/serverobj.dir/op_notifications.c.o
14:57:11 [ 83%] Building C object CMakeFiles/serverobj.dir/op_kill.c.o
14:57:11 [ 88%] Building C object CMakeFiles/serverobj.dir/log.c.o
14:57:11 [ 88%] Built target serverobj
14:57:11 Scanning dependencies of target netopeer2-server
14:57:11 [ 94%] Building C object CMakeFiles/netopeer2-server.dir/main.c.o
14:57:12 [100%] Linking C executable netopeer2-server
14:57:12 [100%] Built target netopeer2-server
14:57:12 [91m+ make install
14:57:12 [0m[ 88%] Built target serverobj
14:57:12 [100%] Built target netopeer2-server
14:57:12 Install the project...
14:57:12 -- Install configuration: "Release"
14:57:12 -- Installing: /opt/bin/netopeer2-server
14:57:12 -- Set runtime path of "/opt/bin/netopeer2-server" to ""
14:57:12 - Installing module ietf-netconf...
14:57:12 Installing a new module from file '/usr/src/Netopeer2/server/../modules/ietf-netconf.yang'...
14:57:12 Installing the YANG file to '/opt/etc/sysrepo/yang/ietf-netconf@2011-06-01.yang'...
14:57:12 Resolving dependency: 'ietf-netconf' imports 'ietf-netconf-acm'...
14:57:12 Installing the YANG file to '/opt/etc/sysrepo/yang/ietf-netconf-acm@2018-02-14.yang'...
14:57:12 Installing data files for module 'ietf-netconf'...
14:57:12 Resolving dependency: 'ietf-netconf' imports 'ietf-netconf-acm'...
14:57:12 Skipping installation of data files for module 'ietf-netconf-acm'...
14:57:12 Notifying sysrepo about the change...
14:57:12 Install operation completed successfully.
14:57:12 - Enabling feature writable-running in ietf-netconf...
14:57:12 Enabling feature 'writable-running' in the module 'ietf-netconf'.
14:57:12 Operation completed successfully.
14:57:12 - Enabling feature candidate in ietf-netconf...
14:57:12 Enabling feature 'candidate' in the module 'ietf-netconf'.
14:57:12 Operation completed successfully.
14:57:12 - Enabling feature rollback-on-error in ietf-netconf...
14:57:12 Enabling feature 'rollback-on-error' in the module 'ietf-netconf'.
14:57:12 Operation completed successfully.
14:57:12 - Enabling feature validate in ietf-netconf...
14:57:12 Enabling feature 'validate' in the module 'ietf-netconf'.
14:57:12 Operation completed successfully.
14:57:12 - Enabling feature startup in ietf-netconf...
14:57:12 Enabling feature 'startup' in the module 'ietf-netconf'.
14:57:12 Operation completed successfully.
14:57:12 - Enabling feature xpath in ietf-netconf...
14:57:12 Enabling feature 'xpath' in the module 'ietf-netconf'.
14:57:12 Operation completed successfully.
14:57:12 - Enabling feature url in ietf-netconf...
14:57:12 Enabling feature 'url' in the module 'ietf-netconf'.
14:57:12 Operation completed successfully.
14:57:12 - Installing module ietf-netconf-with-defaults...
14:57:12 Installing a new module from file '/usr/src/Netopeer2/server/../modules/ietf-netconf-with-defaults.yang'...
14:57:12 Installing the YANG file to '/opt/etc/sysrepo/yang/ietf-netconf-with-defaults@2011-06-01.yang'...
14:57:12 Resolving dependency: 'ietf-netconf-with-defaults' imports 'ietf-netconf'...
14:57:12 Installing the YANG file to '/opt/etc/sysrepo/yang/ietf-netconf@2011-06-01.yang'...
14:57:12 Resolving dependency: 'ietf-netconf' imports 'ietf-netconf-acm'...
14:57:12 Installing the YANG file to '/opt/etc/sysrepo/yang/ietf-netconf-acm@2018-02-14.yang'...
14:57:12 Skipping installation of data files for module 'ietf-netconf-with-defaults'...
14:57:12 Resolving dependency: 'ietf-netconf-with-defaults' imports 'ietf-netconf'...
14:57:12 Installing data files for module 'ietf-netconf'...
14:57:12 Resolving dependency: 'ietf-netconf' imports 'ietf-netconf-acm'...
14:57:12 Skipping installation of data files for module 'ietf-netconf-acm'...
14:57:12 Notifying sysrepo about the change...
14:57:12 Install operation completed successfully.
14:57:12 - Installing module ietf-netconf-monitoring...
14:57:12 Installing a new module from file '/usr/src/Netopeer2/server/../modules/ietf-netconf-monitoring.yang'...
14:57:12 Installing the YANG file to '/opt/etc/sysrepo/yang/ietf-netconf-monitoring@2010-10-04.yang'...
14:57:12 Installing data files for module 'ietf-netconf-monitoring'...
14:57:12 Notifying sysrepo about the change...
14:57:12 Install operation completed successfully.
14:57:12 - Module notifications already installed.
14:57:13 - Module nc-notifications already installed.
14:57:13 - Module ietf-netconf-notifications already installed.
14:57:13 - Installing module ietf-yang-library...
14:57:13 Installing a new module from file '/usr/src/Netopeer2/server/../modules/ietf-yang-library.yang'...
14:57:13 Installing the YANG file to '/opt/etc/sysrepo/yang/ietf-yang-library@2018-01-17.yang'...
14:57:13 Resolving dependency: 'ietf-yang-library' imports 'ietf-datastores'...
14:57:13 Installing the YANG file to '/opt/etc/sysrepo/yang/ietf-datastores@2017-08-17.yang'...
14:57:13 Installing data files for module 'ietf-yang-library'...
14:57:13 Resolving dependency: 'ietf-yang-library' imports 'ietf-datastores'...
14:57:13 Skipping installation of data files for module 'ietf-datastores'...
14:57:13 Notifying sysrepo about the change...
14:57:13 Install operation completed successfully.
14:57:13 - Installing module ietf-netconf-server...
14:57:13 Installing a new module from file '/usr/src/Netopeer2/server/../modules/ietf-netconf-server.yang'...
14:57:13 Installing the YANG file to '/opt/etc/sysrepo/yang/ietf-netconf-server@2016-11-02.yang'...
14:57:13 Resolving dependency: 'ietf-netconf-server' imports 'ietf-x509-cert-to-name'...
14:57:13 Installing the YANG file to '/opt/etc/sysrepo/yang/ietf-x509-cert-to-name@2014-12-10.yang'...
14:57:13 Resolving dependency: 'ietf-netconf-server' imports 'ietf-ssh-server'...
14:57:13 Installing the YANG file to '/opt/etc/sysrepo/yang/ietf-ssh-server@2016-11-02.yang'...
14:57:13 Resolving dependency: 'ietf-ssh-server' imports 'ietf-keystore'...
14:57:13 Installing the YANG file to '/opt/etc/sysrepo/yang/ietf-keystore@2016-10-31.yang'...
14:57:13 Resolving dependency: 'ietf-netconf-server' imports 'ietf-tls-server'...
14:57:13 Installing the YANG file to '/opt/etc/sysrepo/yang/ietf-tls-server@2016-11-02.yang'...
14:57:13 Resolving dependency: 'ietf-tls-server' imports 'ietf-keystore'...
14:57:13 Installing the YANG file to '/opt/etc/sysrepo/yang/ietf-keystore@2016-10-31.yang'...
14:57:13 Installing data files for module 'ietf-netconf-server'...
14:57:13 Resolving dependency: 'ietf-netconf-server' imports 'ietf-x509-cert-to-name'...
14:57:13 Skipping installation of data files for module 'ietf-x509-cert-to-name'...
14:57:13 Resolving dependency: 'ietf-netconf-server' imports 'ietf-ssh-server'...
14:57:13 Skipping installation of data files for module 'ietf-ssh-server'...
14:57:13 Resolving dependency: 'ietf-ssh-server' imports 'ietf-keystore'...
14:57:13 Installing data files for module 'ietf-keystore'...
14:57:13 Resolving dependency: 'ietf-netconf-server' imports 'ietf-tls-server'...
14:57:13 Skipping installation of data files for module 'ietf-tls-server'...
14:57:13 Resolving dependency: 'ietf-tls-server' imports 'ietf-keystore'...
14:57:13 Installing data files for module 'ietf-keystore'...
14:57:13 Notifying sysrepo about the change...
14:57:13 Install operation completed successfully.
14:57:13 - Enabling feature listen in ietf-netconf-server...
14:57:13 Enabling feature 'listen' in the module 'ietf-netconf-server'.
14:57:13 Operation completed successfully.
14:57:13 - Enabling feature ssh-listen in ietf-netconf-server...
14:57:13 Enabling feature 'ssh-listen' in the module 'ietf-netconf-server'.
14:57:13 Operation completed successfully.
14:57:13 - Enabling feature tls-listen in ietf-netconf-server...
14:57:13 Enabling feature 'tls-listen' in the module 'ietf-netconf-server'.
14:57:13 Operation completed successfully.
14:57:13 - Enabling feature call-home in ietf-netconf-server...
14:57:13 Enabling feature 'call-home' in the module 'ietf-netconf-server'.
14:57:13 Operation completed successfully.
14:57:13 - Enabling feature ssh-call-home in ietf-netconf-server...
14:57:13 Enabling feature 'ssh-call-home' in the module 'ietf-netconf-server'.
14:57:13 Operation completed successfully.
14:57:13 - Enabling feature tls-call-home in ietf-netconf-server...
14:57:13 Enabling feature 'tls-call-home' in the module 'ietf-netconf-server'.
14:57:13 Operation completed successfully.
14:57:13 - Installing module ietf-system...
14:57:13 Installing a new module from file '/usr/src/Netopeer2/server/../modules/ietf-system.yang'...
14:57:13 Installing the YANG file to '/opt/etc/sysrepo/yang/ietf-system@2014-08-06.yang'...
14:57:13 Resolving dependency: 'ietf-system' imports 'ietf-netconf-acm'...
14:57:13 Installing the YANG file to '/opt/etc/sysrepo/yang/ietf-netconf-acm@2018-02-14.yang'...
14:57:13 Resolving dependency: 'ietf-system' imports 'iana-crypt-hash'...
14:57:13 Installing the YANG file to '/opt/etc/sysrepo/yang/iana-crypt-hash@2014-08-06.yang'...
14:57:13 Installing data files for module 'ietf-system'...
14:57:13 Resolving dependency: 'ietf-system' imports 'ietf-netconf-acm'...
14:57:13 Skipping installation of data files for module 'ietf-netconf-acm'...
14:57:13 Resolving dependency: 'ietf-system' imports 'iana-crypt-hash'...
14:57:13 Skipping installation of data files for module 'iana-crypt-hash'...
14:57:13 Notifying sysrepo about the change...
14:57:13 Install operation completed successfully.
14:57:13 - Enabling feature authentication in ietf-system...
14:57:13 Enabling feature 'authentication' in the module 'ietf-system'.
14:57:13 Operation completed successfully.
14:57:13 - Enabling feature local-users in ietf-system...
14:57:13 Enabling feature 'local-users' in the module 'ietf-system'.
14:57:13 Operation completed successfully.
14:57:13 The new configuration was successfully applied.
14:57:14 Removing intermediate container 4a4d9ccca579
14:57:14 ---> 6f1c34653fd3
14:57:14 Step 23/47 : FROM python:3.7.7-alpine3.11 as stage0
14:57:14 ---> e854017db514
14:57:14 Step 24/47 : RUN apk upgrade --no-cache --available
14:57:14 ---> Running in f21c957a4ec3
14:57:14 fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/main/x86_64/APKINDEX.tar.gz
14:57:14 fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/community/x86_64/APKINDEX.tar.gz
14:57:14 Upgrading critical system libraries and apk-tools:
14:57:14 (1/1) Upgrading apk-tools (2.10.5-r0 -> 2.10.8-r0)
14:57:14 Executing busybox-1.31.1-r9.trigger
14:57:15 Continuing the upgrade transaction with new apk-tools:
14:57:15 fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/main/x86_64/APKINDEX.tar.gz
14:57:15 fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/community/x86_64/APKINDEX.tar.gz
14:57:15 (1/10) Upgrading musl (1.1.24-r2 -> 1.1.24-r3)
14:57:15 (2/10) Upgrading libcrypto1.1 (1.1.1g-r0 -> 1.1.1l-r0)
14:57:15 (3/10) Upgrading libssl1.1 (1.1.1g-r0 -> 1.1.1l-r0)
14:57:15 (4/10) Upgrading krb5-libs (1.17.1-r0 -> 1.17.2-r0)
14:57:15 (5/10) Upgrading zlib (1.2.11-r3 -> 1.2.11-r5)
14:57:15 (6/10) Upgrading busybox (1.31.1-r9 -> 1.31.1-r11)
14:57:15 Executing busybox-1.31.1-r11.post-upgrade
14:57:15 (7/10) Upgrading ca-certificates-cacert (20191127-r1 -> 20191127-r2)
14:57:15 (8/10) Upgrading ssl_client (1.31.1-r9 -> 1.31.1-r11)
14:57:15 (9/10) Upgrading ca-certificates (20191127-r1 -> 20191127-r2)
14:57:15 (10/10) Upgrading musl-utils (1.1.24-r2 -> 1.1.24-r3)
14:57:15 Executing busybox-1.31.1-r11.trigger
14:57:15 Executing ca-certificates-20191127-r2.trigger
14:57:15 OK: 11 MiB in 34 packages
14:57:17 Removing intermediate container f21c957a4ec3
14:57:17 ---> 8316448da073
14:57:17 Step 25/47 : FROM scratch
14:57:17 --->
14:57:17 Step 26/47 : LABEL authors="eliezio.oliveira@est.tech"
14:57:17 ---> Running in 9fb4e6347a8b
14:57:18 Removing intermediate container 9fb4e6347a8b
14:57:18 ---> d243202226f0
14:57:18 Step 27/47 : COPY --from=stage0 / /
14:57:24 ---> 9952ca94682d
14:57:24 Step 28/47 : RUN set -eux && apk add --no-cache coreutils libcurl libev libssh openssl pcre protobuf-c xmlstarlet
14:57:24 ---> Running in 1c97d0d4c235
14:57:25 [91m+ apk add --no-cache coreutils libcurl libev libssh openssl pcre protobuf-c xmlstarlet
14:57:25 [0mfetch http://dl-cdn.alpinelinux.org/alpine/v3.11/main/x86_64/APKINDEX.tar.gz
14:57:25 fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/community/x86_64/APKINDEX.tar.gz
14:57:25 (1/19) Installing libacl (2.2.53-r0)
14:57:25 (2/19) Installing libattr (2.4.48-r0)
14:57:25 (3/19) Installing coreutils (8.31-r0)
14:57:26 (4/19) Installing nghttp2-libs (1.40.0-r1)
14:57:26 (5/19) Installing libcurl (7.79.1-r0)
14:57:26 (6/19) Installing libev (4.27-r0)
14:57:26 (7/19) Installing libssh (0.9.4-r1)
14:57:26 (8/19) Installing openssl (1.1.1l-r0)
14:57:26 (9/19) Installing pcre (8.43-r1)
14:57:26 (10/19) Installing libgcc (9.3.0-r0)
14:57:26 (11/19) Installing libstdc++ (9.3.0-r0)
14:57:26 (12/19) Installing libprotobuf (3.11.2-r1)
14:57:26 (13/19) Installing libprotoc (3.11.2-r1)
14:57:26 (14/19) Installing protobuf-c (1.3.2-r3)
14:57:26 (15/19) Installing libgpg-error (1.36-r2)
14:57:26 (16/19) Installing libgcrypt (1.8.8-r1)
14:57:26 (17/19) Installing libxml2 (2.9.12-r0)
14:57:26 (18/19) Installing libxslt (1.1.34-r0)
14:57:26 (19/19) Installing xmlstarlet (1.6.1-r0)
14:57:26 Executing busybox-1.31.1-r11.trigger
14:57:26 OK: 23 MiB in 53 packages
14:57:34 Removing intermediate container 1c97d0d4c235
14:57:34 ---> 5e427d553256
14:57:34 Step 29/47 : COPY --from=build /opt/ /opt/
14:57:39 ---> 50faa36d88a9
14:57:39 Step 30/47 : ENV LD_LIBRARY_PATH=/opt/lib:/opt/lib64
14:57:40 ---> Running in c532288cb78e
14:57:43 Removing intermediate container c532288cb78e
14:57:43 ---> d07bfab18e62
14:57:43 Step 31/47 : ENV PYTHONPATH=/opt/lib/python3.7/site-packages
14:57:45 ---> Running in e6c2150b2618
14:57:48 Removing intermediate container e6c2150b2618
14:57:48 ---> 1374b3eac9d7
14:57:48 Step 32/47 : COPY patches/supervisor/ /usr/src/patches/supervisor/
14:57:52 ---> 93ac5ac99889
14:57:52 Step 33/47 : RUN set -eux && pip install --no-cache-dir loguru supervisor==4.1.0 virtualenv && cd /usr/local/lib/python3.7/site-packages && for p in /usr/src/patches/supervisor/*.patch; do patch -p1 -i $p; done
14:57:56 ---> Running in 0fa0034c3b08
14:57:59 [91m+ pip install --no-cache-dir loguru 'supervisor==4.1.0' virtualenv
14:58:01 [0mCollecting loguru
14:58:01 Downloading loguru-0.7.2-py3-none-any.whl (62 kB)
14:58:01 Collecting supervisor==4.1.0
14:58:01 Downloading supervisor-4.1.0-py2.py3-none-any.whl (318 kB)
14:58:01 Collecting virtualenv
14:58:01 Downloading virtualenv-20.25.0-py3-none-any.whl (3.8 MB)
14:58:02 Collecting importlib-metadata>=6.6; python_version < "3.8"
14:58:02 Downloading importlib_metadata-6.7.0-py3-none-any.whl (22 kB)
14:58:02 Collecting platformdirs<5,>=3.9.1
14:58:02 Downloading platformdirs-4.0.0-py3-none-any.whl (17 kB)
14:58:02 Collecting distlib<1,>=0.3.7
14:58:02 Downloading distlib-0.3.7-py2.py3-none-any.whl (468 kB)
14:58:02 Collecting filelock<4,>=3.12.2
14:58:02 Downloading filelock-3.12.2-py3-none-any.whl (10 kB)
14:58:02 Collecting typing-extensions>=3.6.4; python_version < "3.8"
14:58:02 Downloading typing_extensions-4.7.1-py3-none-any.whl (33 kB)
14:58:02 Collecting zipp>=0.5
14:58:02 Downloading zipp-3.15.0-py3-none-any.whl (6.8 kB)
14:58:02 Installing collected packages: loguru, supervisor, typing-extensions, zipp, importlib-metadata, platformdirs, distlib, filelock, virtualenv
14:58:03 Successfully installed distlib-0.3.7 filelock-3.12.2 importlib-metadata-6.7.0 loguru-0.7.2 platformdirs-4.0.0 supervisor-4.1.0 typing-extensions-4.7.1 virtualenv-20.25.0 zipp-3.15.0
14:58:03 [91mWARNING: You are using pip version 20.1.1; however, version 23.3.1 is available.
14:58:03 You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
14:58:03 [0m[91m+ cd /usr/local/lib/python3.7/site-packages
14:58:03 [0m[91m+ patch -p1 -i /usr/src/patches/supervisor/01-std-log-format.patch
14:58:03 [0mpatching file supervisor/loggers.py
14:58:03 patching file supervisor/options.py
14:58:04 Removing intermediate container 0fa0034c3b08
14:58:04 ---> 66e67b280a2d
14:58:04 Step 34/47 : COPY config/ /config
14:58:04 ---> 71e2e364d054
14:58:04 Step 35/47 : VOLUME /config
14:58:04 ---> Running in 91d2f30e0448
14:58:04 Removing intermediate container 91d2f30e0448
14:58:04 ---> fcfce76ede8a
14:58:04 Step 36/47 : COPY templates/ /templates
14:58:05 ---> 5be892da2259
14:58:05 Step 37/47 : RUN adduser --system --disabled-password --gecos 'Netconf User' netconf
14:58:05 ---> Running in 2938c68d9e9e
14:58:05 Removing intermediate container 2938c68d9e9e
14:58:05 ---> 378d224d1ff0
14:58:05 Step 38/47 : HEALTHCHECK --interval=1s --start-period=2s --retries=10 CMD test -f /run/netopeer2-server.pid
14:58:05 ---> Running in 022fe9104c32
14:58:06 Removing intermediate container 022fe9104c32
14:58:06 ---> bda8167490d8
14:58:06 Step 39/47 : EXPOSE 830
14:58:06 ---> Running in 50a21ec10155
14:58:06 Removing intermediate container 50a21ec10155
14:58:06 ---> 277cc68096bf
14:58:06 Step 40/47 : EXPOSE 6513
14:58:06 ---> Running in 6db6cd86367b
14:58:06 Removing intermediate container 6db6cd86367b
14:58:06 ---> 0a9f0b4cdc9d
14:58:06 Step 41/47 : COPY supervisord.conf /etc/supervisord.conf
14:58:06 ---> e9f04e4aa06c
14:58:06 Step 42/47 : RUN mkdir /etc/supervisord.d
14:58:06 ---> Running in 9b12ad494743
14:58:07 Removing intermediate container 9b12ad494743
14:58:07 ---> ed00019e770e
14:58:07 Step 43/47 : COPY zlog.conf /opt/etc/
14:58:07 ---> f00ceae0b0e2
14:58:07 Step 44/47 : ENV LOGURU_FORMAT="{time:YYYY-DD-MM HH:mm:ss.SSS} {level: <5} [{module}] {message}"
14:58:07 ---> Running in a8fc24c947f3
14:58:07 Removing intermediate container a8fc24c947f3
14:58:07 ---> ff283c5a8729
14:58:07 Step 45/47 : ENV LOGURU_COLORIZE=True
14:58:07 ---> Running in 47b0a4508e5d
14:58:08 Removing intermediate container 47b0a4508e5d
14:58:08 ---> 18a39ada751a
14:58:08 Step 46/47 : COPY entrypoint.sh common.sh configure-*.sh reconfigure-*.sh generic_subscriber.py /opt/bin/
14:58:08 ---> 7747d202d257
14:58:08 Step 47/47 : CMD /opt/bin/entrypoint.sh
14:58:08 ---> Running in 78c45278abf0
14:58:08 Removing intermediate container 78c45278abf0
14:58:08 ---> 6d58e265ec9c
14:58:08 Successfully built 6d58e265ec9c
14:58:08 Successfully tagged nexus3.onap.org:10003/onap/integration/simulators/netconf-pnp-simulator:2.8.6
14:58:08 ---> docker-build.sh ends
14:58:08 [integration-netconf-pnp-simulator-docker-merge-master] $ /bin/bash /tmp/jenkins17318738838102580064.sh
14:58:08 + cd test/mocks/netconf-pnp-simulator/engine
14:58:08 + docker tag nexus3.onap.org:10003/onap/integration/simulators/netconf-pnp-simulator:2.8.6 netconf-pnp-simulator:latest
14:58:09 + tox
14:58:09 No handlers could be found for logger "tox_pyenv"
14:58:09 .tox create: /w/workspace/integration-netconf-pnp-simulator-docker-merge-master/test/mocks/netconf-pnp-simulator/engine/.tox/.tox
14:58:10 .tox installdeps: tox-docker == 1.7.0, tox >= 3.26.0
14:58:17 py3 create: /w/workspace/integration-netconf-pnp-simulator-docker-merge-master/test/mocks/netconf-pnp-simulator/engine/.tox/py3
14:58:17 No handlers could be found for logger "filelock"
14:58:18 py3 installdeps: pytest == 6.2.2, docker == 4.4.4, lxml == 4.6.2, ncclient == 0.6.9
14:58:27 py3 installed: attrs==22.2.0,bcrypt==4.0.1,certifi==2023.11.17,cffi==1.15.1,charset-normalizer==2.0.12,cryptography==40.0.2,docker==4.4.4,idna==3.6,importlib-metadata==4.8.3,iniconfig==1.1.1,lxml==4.6.2,ncclient==0.6.9,packaging==21.3,paramiko==3.3.1,pluggy==0.13.1,py==1.11.0,pycparser==2.21,PyNaCl==1.5.0,pyparsing==3.1.1,pytest==6.2.2,requests==2.27.1,six==1.16.0,toml==0.10.2,typing_extensions==4.1.1,urllib3==1.26.18,websocket-client==1.3.1,zipp==3.6.0
14:58:27 py3 docker: run 'netconf-pnp-simulator:latest'
14:58:29 py3 docker: health check: u'netconf-pnp-simulator:latest'
14:58:31 py3 run-test-pre: PYTHONHASHSEED='1175477333'
14:58:31 py3 run-test: commands[0] | pytest -v
14:58:31 ============================= test session starts ==============================
14:58:31 platform linux -- Python 3.6.9, pytest-6.2.2, py-1.11.0, pluggy-0.13.1 -- /w/workspace/integration-netconf-pnp-simulator-docker-merge-master/test/mocks/netconf-pnp-simulator/engine/.tox/py3/bin/python
14:58:31 cachedir: .tox/py3/.pytest_cache
14:58:31 rootdir: /w/workspace/integration-netconf-pnp-simulator-docker-merge-master/test/mocks/netconf-pnp-simulator/engine, configfile: tox.ini
14:58:31 collecting ... collected 20 items
14:58:31
14:58:32 test_basic_operations.py::TestBasicOperations::test_capabilities PASSED [ 5%]
14:58:32 test_basic_operations.py::TestBasicOperations::test_get PASSED [ 10%]
14:58:32 test_basic_operations.py::TestBasicOperations::test_get_config_startup PASSED [ 15%]
14:58:33 test_basic_operations.py::TestBasicOperations::test_get_config_running PASSED [ 20%]
14:58:33 test_basic_operations.py::TestBasicOperations::test_copy_config PASSED [ 25%]
14:58:33 test_basic_operations.py::TestBasicOperations::test_neg_filter PASSED [ 30%]
14:58:34 test_basic_operations.py::TestBasicOperations::test_lock PASSED [ 35%]
14:58:34 test_tls.py::TestTLS::test_tls_connect PASSED [ 40%]
14:58:39 test_tls.py::TestTLS::test_tls_reconfiguration[round #1] PASSED [ 45%]
14:58:44 test_tls.py::TestTLS::test_tls_reconfiguration[round #2] PASSED [ 50%]
14:58:49 test_tls.py::TestTLS::test_tls_reconfiguration[round #3] FAILED [ 55%]
14:58:52 test_tls.py::TestTLS::test_tls_reconfiguration[round #4] FAILED [ 60%]
14:58:54 test_tls.py::TestTLS::test_tls_reconfiguration[round #5] FAILED [ 65%]
14:59:00 test_tls.py::TestTLS::test_tls_reconfiguration[round #6] FAILED [ 70%]
14:59:00 test_turing_machine.py::TestTuringMachine::test_get ERROR [ 75%]
14:59:00 test_turing_machine.py::TestTuringMachine::test_get_config_startup ERROR [ 80%]
14:59:00 test_turing_machine.py::TestTuringMachine::test_get_config_running ERROR [ 85%]
14:59:00 test_turing_machine.py::TestTuringMachine::test_get_subtree_filter PASSED [ 90%]
14:59:01 test_turing_machine.py::TestTuringMachine::test_get_xpath_filter PASSED [ 95%]
14:59:02 test_turing_machine.py::TestTuringMachine::test_edit_config PASSED [100%]
14:59:02
14:59:02 ==================================== ERRORS ====================================
14:59:02 _________________ ERROR at setup of TestTuringMachine.test_get _________________
14:59:02
14:59:02 self =
14:59:02
14:59:02 def _check_banner(self):
14:59:02 # this is slow, but we only have to do it once
14:59:02 for i in range(100):
14:59:02 # give them 15 seconds for the first line, then just 2 seconds
14:59:02 # each additional line. (some sites have very high latency.)
14:59:02 if i == 0:
14:59:02 timeout = self.banner_timeout
14:59:02 else:
14:59:02 timeout = 2
14:59:02 try:
14:59:02 > buf = self.packetizer.readline(timeout)
14:59:02
14:59:02 ../.tox/py3/lib/python3.6/site-packages/paramiko/transport.py:2292:
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02
14:59:02 self = , timeout = 15
14:59:02
14:59:02 def readline(self, timeout):
14:59:02 """
14:59:02 Read a line from the socket. We assume no data is pending after the
14:59:02 line, so it's okay to attempt large reads.
14:59:02 """
14:59:02 buf = self.__remainder
14:59:02 while linefeed_byte not in buf:
14:59:02 > buf += self._read_timeout(timeout)
14:59:02
14:59:02 ../.tox/py3/lib/python3.6/site-packages/paramiko/packet.py:374:
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02
14:59:02 self = , timeout = 15
14:59:02
14:59:02 def _read_timeout(self, timeout):
14:59:02 start = time.time()
14:59:02 while True:
14:59:02 try:
14:59:02 > x = self.__socket.recv(128)
14:59:02 E ConnectionResetError: [Errno 104] Connection reset by peer
14:59:02
14:59:02 ../.tox/py3/lib/python3.6/site-packages/paramiko/packet.py:601: ConnectionResetError
14:59:02
14:59:02 During handling of the above exception, another exception occurred:
14:59:02
14:59:02 self = , host = '127.0.0.1', port = 49154
14:59:02 timeout = None
14:59:02 unknown_host_cb =
14:59:02 username = 'netconf', password = None, key_filename = '../config/ssh/id_rsa'
14:59:02 allow_agent = False, hostkey_verify = False, hostkey_b64 = None
14:59:02 look_for_keys = False, ssh_config = None, sock_fd = None, bind_addr = None
14:59:02
14:59:02 def connect(
14:59:02 self,
14:59:02 host,
14:59:02 port = PORT_NETCONF_DEFAULT,
14:59:02 timeout = None,
14:59:02 unknown_host_cb = default_unknown_host_cb,
14:59:02 username = None,
14:59:02 password = None,
14:59:02 key_filename = None,
14:59:02 allow_agent = True,
14:59:02 hostkey_verify = True,
14:59:02 hostkey_b64 = None,
14:59:02 look_for_keys = True,
14:59:02 ssh_config = None,
14:59:02 sock_fd = None,
14:59:02 bind_addr = None):
14:59:02
14:59:02 """Connect via SSH and initialize the NETCONF session. First attempts the publickey authentication method and then password authentication.
14:59:02
14:59:02 To disable attempting publickey authentication altogether, call with *allow_agent* and *look_for_keys* as `False`.
14:59:02
14:59:02 *host* is the hostname or IP address to connect to
14:59:02
14:59:02 *port* is by default 830 (PORT_NETCONF_DEFAULT), but some devices use the default SSH port of 22 so this may need to be specified
14:59:02
14:59:02 *timeout* is an optional timeout for socket connect
14:59:02
14:59:02 *unknown_host_cb* is called when the server host key is not recognized. It takes two arguments, the hostname and the fingerprint (see the signature of :func:`default_unknown_host_cb`)
14:59:02
14:59:02 *username* is the username to use for SSH authentication
14:59:02
14:59:02 *password* is the password used if using password authentication, or the passphrase to use for unlocking keys that require it
14:59:02
14:59:02 *key_filename* is a filename where a the private key to be used can be found
14:59:02
14:59:02 *allow_agent* enables querying SSH agent (if found) for keys
14:59:02
14:59:02 *hostkey_verify* enables hostkey verification from ~/.ssh/known_hosts
14:59:02
14:59:02 *hostkey_b64* only connect when server presents a public hostkey matching this (obtain from server /etc/ssh/ssh_host_*pub or ssh-keyscan)
14:59:02
14:59:02 *look_for_keys* enables looking in the usual locations for ssh keys (e.g. :file:`~/.ssh/id_*`)
14:59:02
14:59:02 *ssh_config* enables parsing of an OpenSSH configuration file, if set to its path, e.g. :file:`~/.ssh/config` or to True (in this case, use :file:`~/.ssh/config`).
14:59:02
14:59:02 *sock_fd* is an already open socket which shall be used for this connection. Useful for NETCONF outbound ssh. Use host=None together with a valid sock_fd number
14:59:02
14:59:02 *bind_addr* is a (local) source IP address to use, must be reachable from the remote device.
14:59:02 """
14:59:02 if not (host or sock_fd):
14:59:02 raise SSHError("Missing host or socket fd")
14:59:02
14:59:02 self._host = host
14:59:02
14:59:02 # Optionally, parse .ssh/config
14:59:02 config = {}
14:59:02 if ssh_config is True:
14:59:02 ssh_config = "~/.ssh/config" if sys.platform != "win32" else "~/ssh/config"
14:59:02 if ssh_config is not None:
14:59:02 config = paramiko.SSHConfig()
14:59:02 with open(os.path.expanduser(ssh_config)) as ssh_config_file_obj:
14:59:02 config.parse(ssh_config_file_obj)
14:59:02
14:59:02 # Save default Paramiko SSH port so it can be reverted
14:59:02 paramiko_default_ssh_port = paramiko.config.SSH_PORT
14:59:02
14:59:02 # Change the default SSH port to the port specified by the user so expand_variables
14:59:02 # replaces %p with the passed in port rather than 22 (the defauld paramiko.config.SSH_PORT)
14:59:02
14:59:02 paramiko.config.SSH_PORT = port
14:59:02
14:59:02 config = config.lookup(host)
14:59:02
14:59:02 # paramiko.config.SSHconfig::expand_variables is called by lookup so we can set the SSH port
14:59:02 # back to the default
14:59:02 paramiko.config.SSH_PORT = paramiko_default_ssh_port
14:59:02
14:59:02 host = config.get("hostname", host)
14:59:02 if username is None:
14:59:02 username = config.get("user")
14:59:02 if key_filename is None:
14:59:02 key_filename = config.get("identityfile")
14:59:02 if hostkey_verify:
14:59:02 userknownhostsfile = config.get("userknownhostsfile")
14:59:02 if userknownhostsfile:
14:59:02 self.load_known_hosts(os.path.expanduser(userknownhostsfile))
14:59:02 if timeout is None:
14:59:02 timeout = config.get("connecttimeout")
14:59:02 if timeout:
14:59:02 timeout = int(timeout)
14:59:02
14:59:02 if username is None:
14:59:02 username = getpass.getuser()
14:59:02
14:59:02 if sock_fd is None:
14:59:02 proxycommand = config.get("proxycommand")
14:59:02 if proxycommand:
14:59:02 self.logger.debug("Configuring Proxy. %s", proxycommand)
14:59:02 if not isinstance(proxycommand, six.string_types):
14:59:02 proxycommand = [os.path.expanduser(elem) for elem in proxycommand]
14:59:02 else:
14:59:02 proxycommand = os.path.expanduser(proxycommand)
14:59:02 sock = paramiko.proxy.ProxyCommand(proxycommand)
14:59:02 else:
14:59:02 for res in socket.getaddrinfo(host, port, socket.AF_UNSPEC, socket.SOCK_STREAM):
14:59:02 af, socktype, proto, canonname, sa = res
14:59:02 try:
14:59:02 sock = socket.socket(af, socktype, proto)
14:59:02 sock.settimeout(timeout)
14:59:02 except socket.error:
14:59:02 continue
14:59:02 try:
14:59:02 if bind_addr:
14:59:02 sock.bind((bind_addr, 0))
14:59:02 sock.connect(sa)
14:59:02 except socket.error:
14:59:02 sock.close()
14:59:02 continue
14:59:02 break
14:59:02 else:
14:59:02 raise SSHError("Could not open socket to %s:%s" % (host, port))
14:59:02 else:
14:59:02 if sys.version_info[0] < 3:
14:59:02 s = socket.fromfd(int(sock_fd), socket.AF_INET, socket.SOCK_STREAM)
14:59:02 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM, _sock=s)
14:59:02 else:
14:59:02 sock = socket.fromfd(int(sock_fd), socket.AF_INET, socket.SOCK_STREAM)
14:59:02 sock.settimeout(timeout)
14:59:02
14:59:02 self._transport = paramiko.Transport(sock)
14:59:02 self._transport.set_log_channel(logger.name)
14:59:02 if config.get("compression") == 'yes':
14:59:02 self._transport.use_compression()
14:59:02
14:59:02 if hostkey_b64:
14:59:02 # If we need to connect with a specific hostkey, negotiate for only its type
14:59:02 hostkey_obj = None
14:59:02 for key_cls in [paramiko.DSSKey, paramiko.Ed25519Key, paramiko.RSAKey, paramiko.ECDSAKey]:
14:59:02 try:
14:59:02 hostkey_obj = key_cls(data=base64.b64decode(hostkey_b64))
14:59:02 except paramiko.SSHException:
14:59:02 # Not a key of this type - try the next
14:59:02 pass
14:59:02 if not hostkey_obj:
14:59:02 # We've tried all known host key types and haven't found a suitable one to use - bail
14:59:02 raise SSHError("Couldn't find suitable paramiko key class for host key %s" % hostkey_b64)
14:59:02 self._transport._preferred_keys = [hostkey_obj.get_name()]
14:59:02 elif self._host_keys:
14:59:02 # Else set preferred host keys to those we possess for the host
14:59:02 # (avoids situation where known_hosts contains a valid key for the host, but that key type is not selected during negotiation)
14:59:02 known_host_keys_for_this_host = self._host_keys.lookup(host) or {}
14:59:02 host_port = '[%s]:%s' % (host, port)
14:59:02 known_host_keys_for_this_host.update(self._host_keys.lookup(host_port) or {})
14:59:02 if known_host_keys_for_this_host:
14:59:02 self._transport._preferred_keys = list(known_host_keys_for_this_host)
14:59:02
14:59:02 # Connect
14:59:02 try:
14:59:02 > self._transport.start_client()
14:59:02
14:59:02 ../.tox/py3/lib/python3.6/site-packages/ncclient/transport/ssh.py:329:
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02
14:59:02 self =
14:59:02 event = , timeout = None
14:59:02
14:59:02 def start_client(self, event=None, timeout=None):
14:59:02 """
14:59:02 Negotiate a new SSH2 session as a client. This is the first step after
14:59:02 creating a new `.Transport`. A separate thread is created for protocol
14:59:02 negotiation.
14:59:02
14:59:02 If an event is passed in, this method returns immediately. When
14:59:02 negotiation is done (successful or not), the given ``Event`` will
14:59:02 be triggered. On failure, `is_active` will return ``False``.
14:59:02
14:59:02 (Since 1.4) If ``event`` is ``None``, this method will not return until
14:59:02 negotiation is done. On success, the method returns normally.
14:59:02 Otherwise an SSHException is raised.
14:59:02
14:59:02 After a successful negotiation, you will usually want to authenticate,
14:59:02 calling `auth_password ` or
14:59:02 `auth_publickey `.
14:59:02
14:59:02 .. note:: `connect` is a simpler method for connecting as a client.
14:59:02
14:59:02 .. note::
14:59:02 After calling this method (or `start_server` or `connect`), you
14:59:02 should no longer directly read from or write to the original socket
14:59:02 object.
14:59:02
14:59:02 :param .threading.Event event:
14:59:02 an event to trigger when negotiation is complete (optional)
14:59:02
14:59:02 :param float timeout:
14:59:02 a timeout, in seconds, for SSH2 session negotiation (optional)
14:59:02
14:59:02 :raises:
14:59:02 `.SSHException` -- if negotiation fails (and no ``event`` was
14:59:02 passed in)
14:59:02 """
14:59:02 self.active = True
14:59:02 if event is not None:
14:59:02 # async, return immediately and let the app poll for completion
14:59:02 self.completion_event = event
14:59:02 self.start()
14:59:02 return
14:59:02
14:59:02 # synchronous, wait for a result
14:59:02 self.completion_event = event = threading.Event()
14:59:02 self.start()
14:59:02 max_time = time.time() + timeout if timeout is not None else None
14:59:02 while True:
14:59:02 event.wait(0.1)
14:59:02 if not self.active:
14:59:02 e = self.get_exception()
14:59:02 if e is not None:
14:59:02 > raise e
14:59:02
14:59:02 ../.tox/py3/lib/python3.6/site-packages/paramiko/transport.py:722:
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02
14:59:02 self =
14:59:02
14:59:02 def run(self):
14:59:02 # (use the exposed "run" method, because if we specify a thread target
14:59:02 # of a private method, threading.Thread will keep a reference to it
14:59:02 # indefinitely, creating a GC cycle and not letting Transport ever be
14:59:02 # GC'd. it's a bug in Thread.)
14:59:02
14:59:02 # Hold reference to 'sys' so we can test sys.modules to detect
14:59:02 # interpreter shutdown.
14:59:02 self.sys = sys
14:59:02
14:59:02 # active=True occurs before the thread is launched, to avoid a race
14:59:02 _active_threads.append(self)
14:59:02 tid = hex(id(self) & xffffffff)
14:59:02 if self.server_mode:
14:59:02 self._log(DEBUG, "starting thread (server mode): {}".format(tid))
14:59:02 else:
14:59:02 self._log(DEBUG, "starting thread (client mode): {}".format(tid))
14:59:02 try:
14:59:02 try:
14:59:02 self.packetizer.write_all(b(self.local_version + "\r\n"))
14:59:02 self._log(
14:59:02 DEBUG,
14:59:02 "Local version/idstring: {}".format(self.local_version),
14:59:02 ) # noqa
14:59:02 > self._check_banner()
14:59:02
14:59:02 ../.tox/py3/lib/python3.6/site-packages/paramiko/transport.py:2113:
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02
14:59:02 self =
14:59:02
14:59:02 def _check_banner(self):
14:59:02 # this is slow, but we only have to do it once
14:59:02 for i in range(100):
14:59:02 # give them 15 seconds for the first line, then just 2 seconds
14:59:02 # each additional line. (some sites have very high latency.)
14:59:02 if i == 0:
14:59:02 timeout = self.banner_timeout
14:59:02 else:
14:59:02 timeout = 2
14:59:02 try:
14:59:02 buf = self.packetizer.readline(timeout)
14:59:02 except ProxyCommandFailure:
14:59:02 raise
14:59:02 except Exception as e:
14:59:02 raise SSHException(
14:59:02 > "Error reading SSH protocol banner" + str(e)
14:59:02 )
14:59:02 E paramiko.ssh_exception.SSHException: Error reading SSH protocol banner[Errno 104] Connection reset by peer
14:59:02
14:59:02 ../.tox/py3/lib/python3.6/site-packages/paramiko/transport.py:2297: SSHException
14:59:02
14:59:02 During handling of the above exception, another exception occurred:
14:59:02
14:59:02 self =
14:59:02
14:59:02 def setup(self):
14:59:02 self.nc = manager.connect(
14:59:02 host=settings.HOST,
14:59:02 port=settings.SSH_PORT,
14:59:02 username=settings.USERNAME,
14:59:02 key_filename=settings.SSH_KEY_FILENAME,
14:59:02 allow_agent=False,
14:59:02 look_for_keys=False,
14:59:02 > hostkey_verify=False)
14:59:02
14:59:02 nctest.py:46:
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02 ../.tox/py3/lib/python3.6/site-packages/ncclient/manager.py:168: in connect
14:59:02 return connect_ssh(*args, **kwds)
14:59:02 ../.tox/py3/lib/python3.6/site-packages/ncclient/manager.py:135: in connect_ssh
14:59:02 session.connect(*args, **kwds)
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02
14:59:02 self = , host = '127.0.0.1', port = 49154
14:59:02 timeout = None
14:59:02 unknown_host_cb =
14:59:02 username = 'netconf', password = None, key_filename = '../config/ssh/id_rsa'
14:59:02 allow_agent = False, hostkey_verify = False, hostkey_b64 = None
14:59:02 look_for_keys = False, ssh_config = None, sock_fd = None, bind_addr = None
14:59:02
14:59:02 def connect(
14:59:02 self,
14:59:02 host,
14:59:02 port = PORT_NETCONF_DEFAULT,
14:59:02 timeout = None,
14:59:02 unknown_host_cb = default_unknown_host_cb,
14:59:02 username = None,
14:59:02 password = None,
14:59:02 key_filename = None,
14:59:02 allow_agent = True,
14:59:02 hostkey_verify = True,
14:59:02 hostkey_b64 = None,
14:59:02 look_for_keys = True,
14:59:02 ssh_config = None,
14:59:02 sock_fd = None,
14:59:02 bind_addr = None):
14:59:02
14:59:02 """Connect via SSH and initialize the NETCONF session. First attempts the publickey authentication method and then password authentication.
14:59:02
14:59:02 To disable attempting publickey authentication altogether, call with *allow_agent* and *look_for_keys* as `False`.
14:59:02
14:59:02 *host* is the hostname or IP address to connect to
14:59:02
14:59:02 *port* is by default 830 (PORT_NETCONF_DEFAULT), but some devices use the default SSH port of 22 so this may need to be specified
14:59:02
14:59:02 *timeout* is an optional timeout for socket connect
14:59:02
14:59:02 *unknown_host_cb* is called when the server host key is not recognized. It takes two arguments, the hostname and the fingerprint (see the signature of :func:`default_unknown_host_cb`)
14:59:02
14:59:02 *username* is the username to use for SSH authentication
14:59:02
14:59:02 *password* is the password used if using password authentication, or the passphrase to use for unlocking keys that require it
14:59:02
14:59:02 *key_filename* is a filename where a the private key to be used can be found
14:59:02
14:59:02 *allow_agent* enables querying SSH agent (if found) for keys
14:59:02
14:59:02 *hostkey_verify* enables hostkey verification from ~/.ssh/known_hosts
14:59:02
14:59:02 *hostkey_b64* only connect when server presents a public hostkey matching this (obtain from server /etc/ssh/ssh_host_*pub or ssh-keyscan)
14:59:02
14:59:02 *look_for_keys* enables looking in the usual locations for ssh keys (e.g. :file:`~/.ssh/id_*`)
14:59:02
14:59:02 *ssh_config* enables parsing of an OpenSSH configuration file, if set to its path, e.g. :file:`~/.ssh/config` or to True (in this case, use :file:`~/.ssh/config`).
14:59:02
14:59:02 *sock_fd* is an already open socket which shall be used for this connection. Useful for NETCONF outbound ssh. Use host=None together with a valid sock_fd number
14:59:02
14:59:02 *bind_addr* is a (local) source IP address to use, must be reachable from the remote device.
14:59:02 """
14:59:02 if not (host or sock_fd):
14:59:02 raise SSHError("Missing host or socket fd")
14:59:02
14:59:02 self._host = host
14:59:02
14:59:02 # Optionally, parse .ssh/config
14:59:02 config = {}
14:59:02 if ssh_config is True:
14:59:02 ssh_config = "~/.ssh/config" if sys.platform != "win32" else "~/ssh/config"
14:59:02 if ssh_config is not None:
14:59:02 config = paramiko.SSHConfig()
14:59:02 with open(os.path.expanduser(ssh_config)) as ssh_config_file_obj:
14:59:02 config.parse(ssh_config_file_obj)
14:59:02
14:59:02 # Save default Paramiko SSH port so it can be reverted
14:59:02 paramiko_default_ssh_port = paramiko.config.SSH_PORT
14:59:02
14:59:02 # Change the default SSH port to the port specified by the user so expand_variables
14:59:02 # replaces %p with the passed in port rather than 22 (the defauld paramiko.config.SSH_PORT)
14:59:02
14:59:02 paramiko.config.SSH_PORT = port
14:59:02
14:59:02 config = config.lookup(host)
14:59:02
14:59:02 # paramiko.config.SSHconfig::expand_variables is called by lookup so we can set the SSH port
14:59:02 # back to the default
14:59:02 paramiko.config.SSH_PORT = paramiko_default_ssh_port
14:59:02
14:59:02 host = config.get("hostname", host)
14:59:02 if username is None:
14:59:02 username = config.get("user")
14:59:02 if key_filename is None:
14:59:02 key_filename = config.get("identityfile")
14:59:02 if hostkey_verify:
14:59:02 userknownhostsfile = config.get("userknownhostsfile")
14:59:02 if userknownhostsfile:
14:59:02 self.load_known_hosts(os.path.expanduser(userknownhostsfile))
14:59:02 if timeout is None:
14:59:02 timeout = config.get("connecttimeout")
14:59:02 if timeout:
14:59:02 timeout = int(timeout)
14:59:02
14:59:02 if username is None:
14:59:02 username = getpass.getuser()
14:59:02
14:59:02 if sock_fd is None:
14:59:02 proxycommand = config.get("proxycommand")
14:59:02 if proxycommand:
14:59:02 self.logger.debug("Configuring Proxy. %s", proxycommand)
14:59:02 if not isinstance(proxycommand, six.string_types):
14:59:02 proxycommand = [os.path.expanduser(elem) for elem in proxycommand]
14:59:02 else:
14:59:02 proxycommand = os.path.expanduser(proxycommand)
14:59:02 sock = paramiko.proxy.ProxyCommand(proxycommand)
14:59:02 else:
14:59:02 for res in socket.getaddrinfo(host, port, socket.AF_UNSPEC, socket.SOCK_STREAM):
14:59:02 af, socktype, proto, canonname, sa = res
14:59:02 try:
14:59:02 sock = socket.socket(af, socktype, proto)
14:59:02 sock.settimeout(timeout)
14:59:02 except socket.error:
14:59:02 continue
14:59:02 try:
14:59:02 if bind_addr:
14:59:02 sock.bind((bind_addr, 0))
14:59:02 sock.connect(sa)
14:59:02 except socket.error:
14:59:02 sock.close()
14:59:02 continue
14:59:02 break
14:59:02 else:
14:59:02 raise SSHError("Could not open socket to %s:%s" % (host, port))
14:59:02 else:
14:59:02 if sys.version_info[0] < 3:
14:59:02 s = socket.fromfd(int(sock_fd), socket.AF_INET, socket.SOCK_STREAM)
14:59:02 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM, _sock=s)
14:59:02 else:
14:59:02 sock = socket.fromfd(int(sock_fd), socket.AF_INET, socket.SOCK_STREAM)
14:59:02 sock.settimeout(timeout)
14:59:02
14:59:02 self._transport = paramiko.Transport(sock)
14:59:02 self._transport.set_log_channel(logger.name)
14:59:02 if config.get("compression") == 'yes':
14:59:02 self._transport.use_compression()
14:59:02
14:59:02 if hostkey_b64:
14:59:02 # If we need to connect with a specific hostkey, negotiate for only its type
14:59:02 hostkey_obj = None
14:59:02 for key_cls in [paramiko.DSSKey, paramiko.Ed25519Key, paramiko.RSAKey, paramiko.ECDSAKey]:
14:59:02 try:
14:59:02 hostkey_obj = key_cls(data=base64.b64decode(hostkey_b64))
14:59:02 except paramiko.SSHException:
14:59:02 # Not a key of this type - try the next
14:59:02 pass
14:59:02 if not hostkey_obj:
14:59:02 # We've tried all known host key types and haven't found a suitable one to use - bail
14:59:02 raise SSHError("Couldn't find suitable paramiko key class for host key %s" % hostkey_b64)
14:59:02 self._transport._preferred_keys = [hostkey_obj.get_name()]
14:59:02 elif self._host_keys:
14:59:02 # Else set preferred host keys to those we possess for the host
14:59:02 # (avoids situation where known_hosts contains a valid key for the host, but that key type is not selected during negotiation)
14:59:02 known_host_keys_for_this_host = self._host_keys.lookup(host) or {}
14:59:02 host_port = '[%s]:%s' % (host, port)
14:59:02 known_host_keys_for_this_host.update(self._host_keys.lookup(host_port) or {})
14:59:02 if known_host_keys_for_this_host:
14:59:02 self._transport._preferred_keys = list(known_host_keys_for_this_host)
14:59:02
14:59:02 # Connect
14:59:02 try:
14:59:02 self._transport.start_client()
14:59:02 except paramiko.SSHException as e:
14:59:02 > raise SSHError('Negotiation failed: %s' % e)
14:59:02 E ncclient.transport.errors.SSHError: Negotiation failed: Error reading SSH protocol banner[Errno 104] Connection reset by peer
14:59:02
14:59:02 ../.tox/py3/lib/python3.6/site-packages/ncclient/transport/ssh.py:331: SSHError
14:59:02 ------------------------------ Captured log setup ------------------------------
14:59:02 14:59:00.053 ERROR [ncclient.transport.ssh] Exception (client): Error reading SSH protocol banner[Errno 104] Connection reset by peer
14:59:02 14:59:00.054 ERROR [ncclient.transport.ssh] Traceback (most recent call last):
14:59:02 14:59:00.054 ERROR [ncclient.transport.ssh] File "/w/workspace/integration-netconf-pnp-simulator-docker-merge-master/test/mocks/netconf-pnp-simulator/engine/.tox/py3/lib/python3.6/site-packages/paramiko/transport.py", line 2292, in _check_banner
14:59:02 14:59:00.054 ERROR [ncclient.transport.ssh] buf = self.packetizer.readline(timeout)
14:59:02 14:59:00.054 ERROR [ncclient.transport.ssh] File "/w/workspace/integration-netconf-pnp-simulator-docker-merge-master/test/mocks/netconf-pnp-simulator/engine/.tox/py3/lib/python3.6/site-packages/paramiko/packet.py", line 374, in readline
14:59:02 14:59:00.054 ERROR [ncclient.transport.ssh] buf += self._read_timeout(timeout)
14:59:02 14:59:00.054 ERROR [ncclient.transport.ssh] File "/w/workspace/integration-netconf-pnp-simulator-docker-merge-master/test/mocks/netconf-pnp-simulator/engine/.tox/py3/lib/python3.6/site-packages/paramiko/packet.py", line 601, in _read_timeout
14:59:02 14:59:00.054 ERROR [ncclient.transport.ssh] x = self.__socket.recv(128)
14:59:02 14:59:00.054 ERROR [ncclient.transport.ssh] ConnectionResetError: [Errno 104] Connection reset by peer
14:59:02 14:59:00.054 ERROR [ncclient.transport.ssh]
14:59:02 14:59:00.054 ERROR [ncclient.transport.ssh] During handling of the above exception, another exception occurred:
14:59:02 14:59:00.054 ERROR [ncclient.transport.ssh]
14:59:02 14:59:00.054 ERROR [ncclient.transport.ssh] Traceback (most recent call last):
14:59:02 14:59:00.054 ERROR [ncclient.transport.ssh] File "/w/workspace/integration-netconf-pnp-simulator-docker-merge-master/test/mocks/netconf-pnp-simulator/engine/.tox/py3/lib/python3.6/site-packages/paramiko/transport.py", line 2113, in run
14:59:02 14:59:00.054 ERROR [ncclient.transport.ssh] self._check_banner()
14:59:02 14:59:00.054 ERROR [ncclient.transport.ssh] File "/w/workspace/integration-netconf-pnp-simulator-docker-merge-master/test/mocks/netconf-pnp-simulator/engine/.tox/py3/lib/python3.6/site-packages/paramiko/transport.py", line 2297, in _check_banner
14:59:02 14:59:00.055 ERROR [ncclient.transport.ssh] "Error reading SSH protocol banner" + str(e)
14:59:02 14:59:00.055 ERROR [ncclient.transport.ssh] paramiko.ssh_exception.SSHException: Error reading SSH protocol banner[Errno 104] Connection reset by peer
14:59:02 14:59:00.055 ERROR [ncclient.transport.ssh]
14:59:02 _________ ERROR at setup of TestTuringMachine.test_get_config_startup __________
14:59:02
14:59:02 self =
14:59:02
14:59:02 def _check_banner(self):
14:59:02 # this is slow, but we only have to do it once
14:59:02 for i in range(100):
14:59:02 # give them 15 seconds for the first line, then just 2 seconds
14:59:02 # each additional line. (some sites have very high latency.)
14:59:02 if i == 0:
14:59:02 timeout = self.banner_timeout
14:59:02 else:
14:59:02 timeout = 2
14:59:02 try:
14:59:02 > buf = self.packetizer.readline(timeout)
14:59:02
14:59:02 ../.tox/py3/lib/python3.6/site-packages/paramiko/transport.py:2292:
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02
14:59:02 self = , timeout = 15
14:59:02
14:59:02 def readline(self, timeout):
14:59:02 """
14:59:02 Read a line from the socket. We assume no data is pending after the
14:59:02 line, so it's okay to attempt large reads.
14:59:02 """
14:59:02 buf = self.__remainder
14:59:02 while linefeed_byte not in buf:
14:59:02 > buf += self._read_timeout(timeout)
14:59:02
14:59:02 ../.tox/py3/lib/python3.6/site-packages/paramiko/packet.py:374:
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02
14:59:02 self = , timeout = 15
14:59:02
14:59:02 def _read_timeout(self, timeout):
14:59:02 start = time.time()
14:59:02 while True:
14:59:02 try:
14:59:02 > x = self.__socket.recv(128)
14:59:02 E ConnectionResetError: [Errno 104] Connection reset by peer
14:59:02
14:59:02 ../.tox/py3/lib/python3.6/site-packages/paramiko/packet.py:601: ConnectionResetError
14:59:02
14:59:02 During handling of the above exception, another exception occurred:
14:59:02
14:59:02 self = , host = '127.0.0.1', port = 49154
14:59:02 timeout = None
14:59:02 unknown_host_cb =
14:59:02 username = 'netconf', password = None, key_filename = '../config/ssh/id_rsa'
14:59:02 allow_agent = False, hostkey_verify = False, hostkey_b64 = None
14:59:02 look_for_keys = False, ssh_config = None, sock_fd = None, bind_addr = None
14:59:02
14:59:02 def connect(
14:59:02 self,
14:59:02 host,
14:59:02 port = PORT_NETCONF_DEFAULT,
14:59:02 timeout = None,
14:59:02 unknown_host_cb = default_unknown_host_cb,
14:59:02 username = None,
14:59:02 password = None,
14:59:02 key_filename = None,
14:59:02 allow_agent = True,
14:59:02 hostkey_verify = True,
14:59:02 hostkey_b64 = None,
14:59:02 look_for_keys = True,
14:59:02 ssh_config = None,
14:59:02 sock_fd = None,
14:59:02 bind_addr = None):
14:59:02
14:59:02 """Connect via SSH and initialize the NETCONF session. First attempts the publickey authentication method and then password authentication.
14:59:02
14:59:02 To disable attempting publickey authentication altogether, call with *allow_agent* and *look_for_keys* as `False`.
14:59:02
14:59:02 *host* is the hostname or IP address to connect to
14:59:02
14:59:02 *port* is by default 830 (PORT_NETCONF_DEFAULT), but some devices use the default SSH port of 22 so this may need to be specified
14:59:02
14:59:02 *timeout* is an optional timeout for socket connect
14:59:02
14:59:02 *unknown_host_cb* is called when the server host key is not recognized. It takes two arguments, the hostname and the fingerprint (see the signature of :func:`default_unknown_host_cb`)
14:59:02
14:59:02 *username* is the username to use for SSH authentication
14:59:02
14:59:02 *password* is the password used if using password authentication, or the passphrase to use for unlocking keys that require it
14:59:02
14:59:02 *key_filename* is a filename where a the private key to be used can be found
14:59:02
14:59:02 *allow_agent* enables querying SSH agent (if found) for keys
14:59:02
14:59:02 *hostkey_verify* enables hostkey verification from ~/.ssh/known_hosts
14:59:02
14:59:02 *hostkey_b64* only connect when server presents a public hostkey matching this (obtain from server /etc/ssh/ssh_host_*pub or ssh-keyscan)
14:59:02
14:59:02 *look_for_keys* enables looking in the usual locations for ssh keys (e.g. :file:`~/.ssh/id_*`)
14:59:02
14:59:02 *ssh_config* enables parsing of an OpenSSH configuration file, if set to its path, e.g. :file:`~/.ssh/config` or to True (in this case, use :file:`~/.ssh/config`).
14:59:02
14:59:02 *sock_fd* is an already open socket which shall be used for this connection. Useful for NETCONF outbound ssh. Use host=None together with a valid sock_fd number
14:59:02
14:59:02 *bind_addr* is a (local) source IP address to use, must be reachable from the remote device.
14:59:02 """
14:59:02 if not (host or sock_fd):
14:59:02 raise SSHError("Missing host or socket fd")
14:59:02
14:59:02 self._host = host
14:59:02
14:59:02 # Optionally, parse .ssh/config
14:59:02 config = {}
14:59:02 if ssh_config is True:
14:59:02 ssh_config = "~/.ssh/config" if sys.platform != "win32" else "~/ssh/config"
14:59:02 if ssh_config is not None:
14:59:02 config = paramiko.SSHConfig()
14:59:02 with open(os.path.expanduser(ssh_config)) as ssh_config_file_obj:
14:59:02 config.parse(ssh_config_file_obj)
14:59:02
14:59:02 # Save default Paramiko SSH port so it can be reverted
14:59:02 paramiko_default_ssh_port = paramiko.config.SSH_PORT
14:59:02
14:59:02 # Change the default SSH port to the port specified by the user so expand_variables
14:59:02 # replaces %p with the passed in port rather than 22 (the defauld paramiko.config.SSH_PORT)
14:59:02
14:59:02 paramiko.config.SSH_PORT = port
14:59:02
14:59:02 config = config.lookup(host)
14:59:02
14:59:02 # paramiko.config.SSHconfig::expand_variables is called by lookup so we can set the SSH port
14:59:02 # back to the default
14:59:02 paramiko.config.SSH_PORT = paramiko_default_ssh_port
14:59:02
14:59:02 host = config.get("hostname", host)
14:59:02 if username is None:
14:59:02 username = config.get("user")
14:59:02 if key_filename is None:
14:59:02 key_filename = config.get("identityfile")
14:59:02 if hostkey_verify:
14:59:02 userknownhostsfile = config.get("userknownhostsfile")
14:59:02 if userknownhostsfile:
14:59:02 self.load_known_hosts(os.path.expanduser(userknownhostsfile))
14:59:02 if timeout is None:
14:59:02 timeout = config.get("connecttimeout")
14:59:02 if timeout:
14:59:02 timeout = int(timeout)
14:59:02
14:59:02 if username is None:
14:59:02 username = getpass.getuser()
14:59:02
14:59:02 if sock_fd is None:
14:59:02 proxycommand = config.get("proxycommand")
14:59:02 if proxycommand:
14:59:02 self.logger.debug("Configuring Proxy. %s", proxycommand)
14:59:02 if not isinstance(proxycommand, six.string_types):
14:59:02 proxycommand = [os.path.expanduser(elem) for elem in proxycommand]
14:59:02 else:
14:59:02 proxycommand = os.path.expanduser(proxycommand)
14:59:02 sock = paramiko.proxy.ProxyCommand(proxycommand)
14:59:02 else:
14:59:02 for res in socket.getaddrinfo(host, port, socket.AF_UNSPEC, socket.SOCK_STREAM):
14:59:02 af, socktype, proto, canonname, sa = res
14:59:02 try:
14:59:02 sock = socket.socket(af, socktype, proto)
14:59:02 sock.settimeout(timeout)
14:59:02 except socket.error:
14:59:02 continue
14:59:02 try:
14:59:02 if bind_addr:
14:59:02 sock.bind((bind_addr, 0))
14:59:02 sock.connect(sa)
14:59:02 except socket.error:
14:59:02 sock.close()
14:59:02 continue
14:59:02 break
14:59:02 else:
14:59:02 raise SSHError("Could not open socket to %s:%s" % (host, port))
14:59:02 else:
14:59:02 if sys.version_info[0] < 3:
14:59:02 s = socket.fromfd(int(sock_fd), socket.AF_INET, socket.SOCK_STREAM)
14:59:02 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM, _sock=s)
14:59:02 else:
14:59:02 sock = socket.fromfd(int(sock_fd), socket.AF_INET, socket.SOCK_STREAM)
14:59:02 sock.settimeout(timeout)
14:59:02
14:59:02 self._transport = paramiko.Transport(sock)
14:59:02 self._transport.set_log_channel(logger.name)
14:59:02 if config.get("compression") == 'yes':
14:59:02 self._transport.use_compression()
14:59:02
14:59:02 if hostkey_b64:
14:59:02 # If we need to connect with a specific hostkey, negotiate for only its type
14:59:02 hostkey_obj = None
14:59:02 for key_cls in [paramiko.DSSKey, paramiko.Ed25519Key, paramiko.RSAKey, paramiko.ECDSAKey]:
14:59:02 try:
14:59:02 hostkey_obj = key_cls(data=base64.b64decode(hostkey_b64))
14:59:02 except paramiko.SSHException:
14:59:02 # Not a key of this type - try the next
14:59:02 pass
14:59:02 if not hostkey_obj:
14:59:02 # We've tried all known host key types and haven't found a suitable one to use - bail
14:59:02 raise SSHError("Couldn't find suitable paramiko key class for host key %s" % hostkey_b64)
14:59:02 self._transport._preferred_keys = [hostkey_obj.get_name()]
14:59:02 elif self._host_keys:
14:59:02 # Else set preferred host keys to those we possess for the host
14:59:02 # (avoids situation where known_hosts contains a valid key for the host, but that key type is not selected during negotiation)
14:59:02 known_host_keys_for_this_host = self._host_keys.lookup(host) or {}
14:59:02 host_port = '[%s]:%s' % (host, port)
14:59:02 known_host_keys_for_this_host.update(self._host_keys.lookup(host_port) or {})
14:59:02 if known_host_keys_for_this_host:
14:59:02 self._transport._preferred_keys = list(known_host_keys_for_this_host)
14:59:02
14:59:02 # Connect
14:59:02 try:
14:59:02 > self._transport.start_client()
14:59:02
14:59:02 ../.tox/py3/lib/python3.6/site-packages/ncclient/transport/ssh.py:329:
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02
14:59:02 self =
14:59:02 event = , timeout = None
14:59:02
14:59:02 def start_client(self, event=None, timeout=None):
14:59:02 """
14:59:02 Negotiate a new SSH2 session as a client. This is the first step after
14:59:02 creating a new `.Transport`. A separate thread is created for protocol
14:59:02 negotiation.
14:59:02
14:59:02 If an event is passed in, this method returns immediately. When
14:59:02 negotiation is done (successful or not), the given ``Event`` will
14:59:02 be triggered. On failure, `is_active` will return ``False``.
14:59:02
14:59:02 (Since 1.4) If ``event`` is ``None``, this method will not return until
14:59:02 negotiation is done. On success, the method returns normally.
14:59:02 Otherwise an SSHException is raised.
14:59:02
14:59:02 After a successful negotiation, you will usually want to authenticate,
14:59:02 calling `auth_password ` or
14:59:02 `auth_publickey `.
14:59:02
14:59:02 .. note:: `connect` is a simpler method for connecting as a client.
14:59:02
14:59:02 .. note::
14:59:02 After calling this method (or `start_server` or `connect`), you
14:59:02 should no longer directly read from or write to the original socket
14:59:02 object.
14:59:02
14:59:02 :param .threading.Event event:
14:59:02 an event to trigger when negotiation is complete (optional)
14:59:02
14:59:02 :param float timeout:
14:59:02 a timeout, in seconds, for SSH2 session negotiation (optional)
14:59:02
14:59:02 :raises:
14:59:02 `.SSHException` -- if negotiation fails (and no ``event`` was
14:59:02 passed in)
14:59:02 """
14:59:02 self.active = True
14:59:02 if event is not None:
14:59:02 # async, return immediately and let the app poll for completion
14:59:02 self.completion_event = event
14:59:02 self.start()
14:59:02 return
14:59:02
14:59:02 # synchronous, wait for a result
14:59:02 self.completion_event = event = threading.Event()
14:59:02 self.start()
14:59:02 max_time = time.time() + timeout if timeout is not None else None
14:59:02 while True:
14:59:02 event.wait(0.1)
14:59:02 if not self.active:
14:59:02 e = self.get_exception()
14:59:02 if e is not None:
14:59:02 > raise e
14:59:02
14:59:02 ../.tox/py3/lib/python3.6/site-packages/paramiko/transport.py:722:
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02
14:59:02 self =
14:59:02
14:59:02 def run(self):
14:59:02 # (use the exposed "run" method, because if we specify a thread target
14:59:02 # of a private method, threading.Thread will keep a reference to it
14:59:02 # indefinitely, creating a GC cycle and not letting Transport ever be
14:59:02 # GC'd. it's a bug in Thread.)
14:59:02
14:59:02 # Hold reference to 'sys' so we can test sys.modules to detect
14:59:02 # interpreter shutdown.
14:59:02 self.sys = sys
14:59:02
14:59:02 # active=True occurs before the thread is launched, to avoid a race
14:59:02 _active_threads.append(self)
14:59:02 tid = hex(id(self) & xffffffff)
14:59:02 if self.server_mode:
14:59:02 self._log(DEBUG, "starting thread (server mode): {}".format(tid))
14:59:02 else:
14:59:02 self._log(DEBUG, "starting thread (client mode): {}".format(tid))
14:59:02 try:
14:59:02 try:
14:59:02 self.packetizer.write_all(b(self.local_version + "\r\n"))
14:59:02 self._log(
14:59:02 DEBUG,
14:59:02 "Local version/idstring: {}".format(self.local_version),
14:59:02 ) # noqa
14:59:02 > self._check_banner()
14:59:02
14:59:02 ../.tox/py3/lib/python3.6/site-packages/paramiko/transport.py:2113:
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02
14:59:02 self =
14:59:02
14:59:02 def _check_banner(self):
14:59:02 # this is slow, but we only have to do it once
14:59:02 for i in range(100):
14:59:02 # give them 15 seconds for the first line, then just 2 seconds
14:59:02 # each additional line. (some sites have very high latency.)
14:59:02 if i == 0:
14:59:02 timeout = self.banner_timeout
14:59:02 else:
14:59:02 timeout = 2
14:59:02 try:
14:59:02 buf = self.packetizer.readline(timeout)
14:59:02 except ProxyCommandFailure:
14:59:02 raise
14:59:02 except Exception as e:
14:59:02 raise SSHException(
14:59:02 > "Error reading SSH protocol banner" + str(e)
14:59:02 )
14:59:02 E paramiko.ssh_exception.SSHException: Error reading SSH protocol banner[Errno 104] Connection reset by peer
14:59:02
14:59:02 ../.tox/py3/lib/python3.6/site-packages/paramiko/transport.py:2297: SSHException
14:59:02
14:59:02 During handling of the above exception, another exception occurred:
14:59:02
14:59:02 self =
14:59:02
14:59:02 def setup(self):
14:59:02 self.nc = manager.connect(
14:59:02 host=settings.HOST,
14:59:02 port=settings.SSH_PORT,
14:59:02 username=settings.USERNAME,
14:59:02 key_filename=settings.SSH_KEY_FILENAME,
14:59:02 allow_agent=False,
14:59:02 look_for_keys=False,
14:59:02 > hostkey_verify=False)
14:59:02
14:59:02 nctest.py:46:
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02 ../.tox/py3/lib/python3.6/site-packages/ncclient/manager.py:168: in connect
14:59:02 return connect_ssh(*args, **kwds)
14:59:02 ../.tox/py3/lib/python3.6/site-packages/ncclient/manager.py:135: in connect_ssh
14:59:02 session.connect(*args, **kwds)
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02
14:59:02 self = , host = '127.0.0.1', port = 49154
14:59:02 timeout = None
14:59:02 unknown_host_cb =
14:59:02 username = 'netconf', password = None, key_filename = '../config/ssh/id_rsa'
14:59:02 allow_agent = False, hostkey_verify = False, hostkey_b64 = None
14:59:02 look_for_keys = False, ssh_config = None, sock_fd = None, bind_addr = None
14:59:02
14:59:02 def connect(
14:59:02 self,
14:59:02 host,
14:59:02 port = PORT_NETCONF_DEFAULT,
14:59:02 timeout = None,
14:59:02 unknown_host_cb = default_unknown_host_cb,
14:59:02 username = None,
14:59:02 password = None,
14:59:02 key_filename = None,
14:59:02 allow_agent = True,
14:59:02 hostkey_verify = True,
14:59:02 hostkey_b64 = None,
14:59:02 look_for_keys = True,
14:59:02 ssh_config = None,
14:59:02 sock_fd = None,
14:59:02 bind_addr = None):
14:59:02
14:59:02 """Connect via SSH and initialize the NETCONF session. First attempts the publickey authentication method and then password authentication.
14:59:02
14:59:02 To disable attempting publickey authentication altogether, call with *allow_agent* and *look_for_keys* as `False`.
14:59:02
14:59:02 *host* is the hostname or IP address to connect to
14:59:02
14:59:02 *port* is by default 830 (PORT_NETCONF_DEFAULT), but some devices use the default SSH port of 22 so this may need to be specified
14:59:02
14:59:02 *timeout* is an optional timeout for socket connect
14:59:02
14:59:02 *unknown_host_cb* is called when the server host key is not recognized. It takes two arguments, the hostname and the fingerprint (see the signature of :func:`default_unknown_host_cb`)
14:59:02
14:59:02 *username* is the username to use for SSH authentication
14:59:02
14:59:02 *password* is the password used if using password authentication, or the passphrase to use for unlocking keys that require it
14:59:02
14:59:02 *key_filename* is a filename where a the private key to be used can be found
14:59:02
14:59:02 *allow_agent* enables querying SSH agent (if found) for keys
14:59:02
14:59:02 *hostkey_verify* enables hostkey verification from ~/.ssh/known_hosts
14:59:02
14:59:02 *hostkey_b64* only connect when server presents a public hostkey matching this (obtain from server /etc/ssh/ssh_host_*pub or ssh-keyscan)
14:59:02
14:59:02 *look_for_keys* enables looking in the usual locations for ssh keys (e.g. :file:`~/.ssh/id_*`)
14:59:02
14:59:02 *ssh_config* enables parsing of an OpenSSH configuration file, if set to its path, e.g. :file:`~/.ssh/config` or to True (in this case, use :file:`~/.ssh/config`).
14:59:02
14:59:02 *sock_fd* is an already open socket which shall be used for this connection. Useful for NETCONF outbound ssh. Use host=None together with a valid sock_fd number
14:59:02
14:59:02 *bind_addr* is a (local) source IP address to use, must be reachable from the remote device.
14:59:02 """
14:59:02 if not (host or sock_fd):
14:59:02 raise SSHError("Missing host or socket fd")
14:59:02
14:59:02 self._host = host
14:59:02
14:59:02 # Optionally, parse .ssh/config
14:59:02 config = {}
14:59:02 if ssh_config is True:
14:59:02 ssh_config = "~/.ssh/config" if sys.platform != "win32" else "~/ssh/config"
14:59:02 if ssh_config is not None:
14:59:02 config = paramiko.SSHConfig()
14:59:02 with open(os.path.expanduser(ssh_config)) as ssh_config_file_obj:
14:59:02 config.parse(ssh_config_file_obj)
14:59:02
14:59:02 # Save default Paramiko SSH port so it can be reverted
14:59:02 paramiko_default_ssh_port = paramiko.config.SSH_PORT
14:59:02
14:59:02 # Change the default SSH port to the port specified by the user so expand_variables
14:59:02 # replaces %p with the passed in port rather than 22 (the defauld paramiko.config.SSH_PORT)
14:59:02
14:59:02 paramiko.config.SSH_PORT = port
14:59:02
14:59:02 config = config.lookup(host)
14:59:02
14:59:02 # paramiko.config.SSHconfig::expand_variables is called by lookup so we can set the SSH port
14:59:02 # back to the default
14:59:02 paramiko.config.SSH_PORT = paramiko_default_ssh_port
14:59:02
14:59:02 host = config.get("hostname", host)
14:59:02 if username is None:
14:59:02 username = config.get("user")
14:59:02 if key_filename is None:
14:59:02 key_filename = config.get("identityfile")
14:59:02 if hostkey_verify:
14:59:02 userknownhostsfile = config.get("userknownhostsfile")
14:59:02 if userknownhostsfile:
14:59:02 self.load_known_hosts(os.path.expanduser(userknownhostsfile))
14:59:02 if timeout is None:
14:59:02 timeout = config.get("connecttimeout")
14:59:02 if timeout:
14:59:02 timeout = int(timeout)
14:59:02
14:59:02 if username is None:
14:59:02 username = getpass.getuser()
14:59:02
14:59:02 if sock_fd is None:
14:59:02 proxycommand = config.get("proxycommand")
14:59:02 if proxycommand:
14:59:02 self.logger.debug("Configuring Proxy. %s", proxycommand)
14:59:02 if not isinstance(proxycommand, six.string_types):
14:59:02 proxycommand = [os.path.expanduser(elem) for elem in proxycommand]
14:59:02 else:
14:59:02 proxycommand = os.path.expanduser(proxycommand)
14:59:02 sock = paramiko.proxy.ProxyCommand(proxycommand)
14:59:02 else:
14:59:02 for res in socket.getaddrinfo(host, port, socket.AF_UNSPEC, socket.SOCK_STREAM):
14:59:02 af, socktype, proto, canonname, sa = res
14:59:02 try:
14:59:02 sock = socket.socket(af, socktype, proto)
14:59:02 sock.settimeout(timeout)
14:59:02 except socket.error:
14:59:02 continue
14:59:02 try:
14:59:02 if bind_addr:
14:59:02 sock.bind((bind_addr, 0))
14:59:02 sock.connect(sa)
14:59:02 except socket.error:
14:59:02 sock.close()
14:59:02 continue
14:59:02 break
14:59:02 else:
14:59:02 raise SSHError("Could not open socket to %s:%s" % (host, port))
14:59:02 else:
14:59:02 if sys.version_info[0] < 3:
14:59:02 s = socket.fromfd(int(sock_fd), socket.AF_INET, socket.SOCK_STREAM)
14:59:02 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM, _sock=s)
14:59:02 else:
14:59:02 sock = socket.fromfd(int(sock_fd), socket.AF_INET, socket.SOCK_STREAM)
14:59:02 sock.settimeout(timeout)
14:59:02
14:59:02 self._transport = paramiko.Transport(sock)
14:59:02 self._transport.set_log_channel(logger.name)
14:59:02 if config.get("compression") == 'yes':
14:59:02 self._transport.use_compression()
14:59:02
14:59:02 if hostkey_b64:
14:59:02 # If we need to connect with a specific hostkey, negotiate for only its type
14:59:02 hostkey_obj = None
14:59:02 for key_cls in [paramiko.DSSKey, paramiko.Ed25519Key, paramiko.RSAKey, paramiko.ECDSAKey]:
14:59:02 try:
14:59:02 hostkey_obj = key_cls(data=base64.b64decode(hostkey_b64))
14:59:02 except paramiko.SSHException:
14:59:02 # Not a key of this type - try the next
14:59:02 pass
14:59:02 if not hostkey_obj:
14:59:02 # We've tried all known host key types and haven't found a suitable one to use - bail
14:59:02 raise SSHError("Couldn't find suitable paramiko key class for host key %s" % hostkey_b64)
14:59:02 self._transport._preferred_keys = [hostkey_obj.get_name()]
14:59:02 elif self._host_keys:
14:59:02 # Else set preferred host keys to those we possess for the host
14:59:02 # (avoids situation where known_hosts contains a valid key for the host, but that key type is not selected during negotiation)
14:59:02 known_host_keys_for_this_host = self._host_keys.lookup(host) or {}
14:59:02 host_port = '[%s]:%s' % (host, port)
14:59:02 known_host_keys_for_this_host.update(self._host_keys.lookup(host_port) or {})
14:59:02 if known_host_keys_for_this_host:
14:59:02 self._transport._preferred_keys = list(known_host_keys_for_this_host)
14:59:02
14:59:02 # Connect
14:59:02 try:
14:59:02 self._transport.start_client()
14:59:02 except paramiko.SSHException as e:
14:59:02 > raise SSHError('Negotiation failed: %s' % e)
14:59:02 E ncclient.transport.errors.SSHError: Negotiation failed: Error reading SSH protocol banner[Errno 104] Connection reset by peer
14:59:02
14:59:02 ../.tox/py3/lib/python3.6/site-packages/ncclient/transport/ssh.py:331: SSHError
14:59:02 ------------------------------ Captured log setup ------------------------------
14:59:02 14:59:00.231 ERROR [ncclient.transport.ssh] Exception (client): Error reading SSH protocol banner[Errno 104] Connection reset by peer
14:59:02 14:59:00.232 ERROR [ncclient.transport.ssh] Traceback (most recent call last):
14:59:02 14:59:00.232 ERROR [ncclient.transport.ssh] File "/w/workspace/integration-netconf-pnp-simulator-docker-merge-master/test/mocks/netconf-pnp-simulator/engine/.tox/py3/lib/python3.6/site-packages/paramiko/transport.py", line 2292, in _check_banner
14:59:02 14:59:00.232 ERROR [ncclient.transport.ssh] buf = self.packetizer.readline(timeout)
14:59:02 14:59:00.232 ERROR [ncclient.transport.ssh] File "/w/workspace/integration-netconf-pnp-simulator-docker-merge-master/test/mocks/netconf-pnp-simulator/engine/.tox/py3/lib/python3.6/site-packages/paramiko/packet.py", line 374, in readline
14:59:02 14:59:00.232 ERROR [ncclient.transport.ssh] buf += self._read_timeout(timeout)
14:59:02 14:59:00.232 ERROR [ncclient.transport.ssh] File "/w/workspace/integration-netconf-pnp-simulator-docker-merge-master/test/mocks/netconf-pnp-simulator/engine/.tox/py3/lib/python3.6/site-packages/paramiko/packet.py", line 601, in _read_timeout
14:59:02 14:59:00.232 ERROR [ncclient.transport.ssh] x = self.__socket.recv(128)
14:59:02 14:59:00.232 ERROR [ncclient.transport.ssh] ConnectionResetError: [Errno 104] Connection reset by peer
14:59:02 14:59:00.232 ERROR [ncclient.transport.ssh]
14:59:02 14:59:00.232 ERROR [ncclient.transport.ssh] During handling of the above exception, another exception occurred:
14:59:02 14:59:00.232 ERROR [ncclient.transport.ssh]
14:59:02 14:59:00.232 ERROR [ncclient.transport.ssh] Traceback (most recent call last):
14:59:02 14:59:00.233 ERROR [ncclient.transport.ssh] File "/w/workspace/integration-netconf-pnp-simulator-docker-merge-master/test/mocks/netconf-pnp-simulator/engine/.tox/py3/lib/python3.6/site-packages/paramiko/transport.py", line 2113, in run
14:59:02 14:59:00.233 ERROR [ncclient.transport.ssh] self._check_banner()
14:59:02 14:59:00.233 ERROR [ncclient.transport.ssh] File "/w/workspace/integration-netconf-pnp-simulator-docker-merge-master/test/mocks/netconf-pnp-simulator/engine/.tox/py3/lib/python3.6/site-packages/paramiko/transport.py", line 2297, in _check_banner
14:59:02 14:59:00.233 ERROR [ncclient.transport.ssh] "Error reading SSH protocol banner" + str(e)
14:59:02 14:59:00.233 ERROR [ncclient.transport.ssh] paramiko.ssh_exception.SSHException: Error reading SSH protocol banner[Errno 104] Connection reset by peer
14:59:02 14:59:00.233 ERROR [ncclient.transport.ssh]
14:59:02 _________ ERROR at setup of TestTuringMachine.test_get_config_running __________
14:59:02
14:59:02 self =
14:59:02
14:59:02 def _check_banner(self):
14:59:02 # this is slow, but we only have to do it once
14:59:02 for i in range(100):
14:59:02 # give them 15 seconds for the first line, then just 2 seconds
14:59:02 # each additional line. (some sites have very high latency.)
14:59:02 if i == 0:
14:59:02 timeout = self.banner_timeout
14:59:02 else:
14:59:02 timeout = 2
14:59:02 try:
14:59:02 > buf = self.packetizer.readline(timeout)
14:59:02
14:59:02 ../.tox/py3/lib/python3.6/site-packages/paramiko/transport.py:2292:
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02
14:59:02 self = , timeout = 15
14:59:02
14:59:02 def readline(self, timeout):
14:59:02 """
14:59:02 Read a line from the socket. We assume no data is pending after the
14:59:02 line, so it's okay to attempt large reads.
14:59:02 """
14:59:02 buf = self.__remainder
14:59:02 while linefeed_byte not in buf:
14:59:02 > buf += self._read_timeout(timeout)
14:59:02
14:59:02 ../.tox/py3/lib/python3.6/site-packages/paramiko/packet.py:374:
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02
14:59:02 self = , timeout = 15
14:59:02
14:59:02 def _read_timeout(self, timeout):
14:59:02 start = time.time()
14:59:02 while True:
14:59:02 try:
14:59:02 x = self.__socket.recv(128)
14:59:02 if len(x) == 0:
14:59:02 > raise EOFError()
14:59:02 E EOFError
14:59:02
14:59:02 ../.tox/py3/lib/python3.6/site-packages/paramiko/packet.py:603: EOFError
14:59:02
14:59:02 During handling of the above exception, another exception occurred:
14:59:02
14:59:02 self = , host = '127.0.0.1', port = 49154
14:59:02 timeout = None
14:59:02 unknown_host_cb =
14:59:02 username = 'netconf', password = None, key_filename = '../config/ssh/id_rsa'
14:59:02 allow_agent = False, hostkey_verify = False, hostkey_b64 = None
14:59:02 look_for_keys = False, ssh_config = None, sock_fd = None, bind_addr = None
14:59:02
14:59:02 def connect(
14:59:02 self,
14:59:02 host,
14:59:02 port = PORT_NETCONF_DEFAULT,
14:59:02 timeout = None,
14:59:02 unknown_host_cb = default_unknown_host_cb,
14:59:02 username = None,
14:59:02 password = None,
14:59:02 key_filename = None,
14:59:02 allow_agent = True,
14:59:02 hostkey_verify = True,
14:59:02 hostkey_b64 = None,
14:59:02 look_for_keys = True,
14:59:02 ssh_config = None,
14:59:02 sock_fd = None,
14:59:02 bind_addr = None):
14:59:02
14:59:02 """Connect via SSH and initialize the NETCONF session. First attempts the publickey authentication method and then password authentication.
14:59:02
14:59:02 To disable attempting publickey authentication altogether, call with *allow_agent* and *look_for_keys* as `False`.
14:59:02
14:59:02 *host* is the hostname or IP address to connect to
14:59:02
14:59:02 *port* is by default 830 (PORT_NETCONF_DEFAULT), but some devices use the default SSH port of 22 so this may need to be specified
14:59:02
14:59:02 *timeout* is an optional timeout for socket connect
14:59:02
14:59:02 *unknown_host_cb* is called when the server host key is not recognized. It takes two arguments, the hostname and the fingerprint (see the signature of :func:`default_unknown_host_cb`)
14:59:02
14:59:02 *username* is the username to use for SSH authentication
14:59:02
14:59:02 *password* is the password used if using password authentication, or the passphrase to use for unlocking keys that require it
14:59:02
14:59:02 *key_filename* is a filename where a the private key to be used can be found
14:59:02
14:59:02 *allow_agent* enables querying SSH agent (if found) for keys
14:59:02
14:59:02 *hostkey_verify* enables hostkey verification from ~/.ssh/known_hosts
14:59:02
14:59:02 *hostkey_b64* only connect when server presents a public hostkey matching this (obtain from server /etc/ssh/ssh_host_*pub or ssh-keyscan)
14:59:02
14:59:02 *look_for_keys* enables looking in the usual locations for ssh keys (e.g. :file:`~/.ssh/id_*`)
14:59:02
14:59:02 *ssh_config* enables parsing of an OpenSSH configuration file, if set to its path, e.g. :file:`~/.ssh/config` or to True (in this case, use :file:`~/.ssh/config`).
14:59:02
14:59:02 *sock_fd* is an already open socket which shall be used for this connection. Useful for NETCONF outbound ssh. Use host=None together with a valid sock_fd number
14:59:02
14:59:02 *bind_addr* is a (local) source IP address to use, must be reachable from the remote device.
14:59:02 """
14:59:02 if not (host or sock_fd):
14:59:02 raise SSHError("Missing host or socket fd")
14:59:02
14:59:02 self._host = host
14:59:02
14:59:02 # Optionally, parse .ssh/config
14:59:02 config = {}
14:59:02 if ssh_config is True:
14:59:02 ssh_config = "~/.ssh/config" if sys.platform != "win32" else "~/ssh/config"
14:59:02 if ssh_config is not None:
14:59:02 config = paramiko.SSHConfig()
14:59:02 with open(os.path.expanduser(ssh_config)) as ssh_config_file_obj:
14:59:02 config.parse(ssh_config_file_obj)
14:59:02
14:59:02 # Save default Paramiko SSH port so it can be reverted
14:59:02 paramiko_default_ssh_port = paramiko.config.SSH_PORT
14:59:02
14:59:02 # Change the default SSH port to the port specified by the user so expand_variables
14:59:02 # replaces %p with the passed in port rather than 22 (the defauld paramiko.config.SSH_PORT)
14:59:02
14:59:02 paramiko.config.SSH_PORT = port
14:59:02
14:59:02 config = config.lookup(host)
14:59:02
14:59:02 # paramiko.config.SSHconfig::expand_variables is called by lookup so we can set the SSH port
14:59:02 # back to the default
14:59:02 paramiko.config.SSH_PORT = paramiko_default_ssh_port
14:59:02
14:59:02 host = config.get("hostname", host)
14:59:02 if username is None:
14:59:02 username = config.get("user")
14:59:02 if key_filename is None:
14:59:02 key_filename = config.get("identityfile")
14:59:02 if hostkey_verify:
14:59:02 userknownhostsfile = config.get("userknownhostsfile")
14:59:02 if userknownhostsfile:
14:59:02 self.load_known_hosts(os.path.expanduser(userknownhostsfile))
14:59:02 if timeout is None:
14:59:02 timeout = config.get("connecttimeout")
14:59:02 if timeout:
14:59:02 timeout = int(timeout)
14:59:02
14:59:02 if username is None:
14:59:02 username = getpass.getuser()
14:59:02
14:59:02 if sock_fd is None:
14:59:02 proxycommand = config.get("proxycommand")
14:59:02 if proxycommand:
14:59:02 self.logger.debug("Configuring Proxy. %s", proxycommand)
14:59:02 if not isinstance(proxycommand, six.string_types):
14:59:02 proxycommand = [os.path.expanduser(elem) for elem in proxycommand]
14:59:02 else:
14:59:02 proxycommand = os.path.expanduser(proxycommand)
14:59:02 sock = paramiko.proxy.ProxyCommand(proxycommand)
14:59:02 else:
14:59:02 for res in socket.getaddrinfo(host, port, socket.AF_UNSPEC, socket.SOCK_STREAM):
14:59:02 af, socktype, proto, canonname, sa = res
14:59:02 try:
14:59:02 sock = socket.socket(af, socktype, proto)
14:59:02 sock.settimeout(timeout)
14:59:02 except socket.error:
14:59:02 continue
14:59:02 try:
14:59:02 if bind_addr:
14:59:02 sock.bind((bind_addr, 0))
14:59:02 sock.connect(sa)
14:59:02 except socket.error:
14:59:02 sock.close()
14:59:02 continue
14:59:02 break
14:59:02 else:
14:59:02 raise SSHError("Could not open socket to %s:%s" % (host, port))
14:59:02 else:
14:59:02 if sys.version_info[0] < 3:
14:59:02 s = socket.fromfd(int(sock_fd), socket.AF_INET, socket.SOCK_STREAM)
14:59:02 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM, _sock=s)
14:59:02 else:
14:59:02 sock = socket.fromfd(int(sock_fd), socket.AF_INET, socket.SOCK_STREAM)
14:59:02 sock.settimeout(timeout)
14:59:02
14:59:02 self._transport = paramiko.Transport(sock)
14:59:02 self._transport.set_log_channel(logger.name)
14:59:02 if config.get("compression") == 'yes':
14:59:02 self._transport.use_compression()
14:59:02
14:59:02 if hostkey_b64:
14:59:02 # If we need to connect with a specific hostkey, negotiate for only its type
14:59:02 hostkey_obj = None
14:59:02 for key_cls in [paramiko.DSSKey, paramiko.Ed25519Key, paramiko.RSAKey, paramiko.ECDSAKey]:
14:59:02 try:
14:59:02 hostkey_obj = key_cls(data=base64.b64decode(hostkey_b64))
14:59:02 except paramiko.SSHException:
14:59:02 # Not a key of this type - try the next
14:59:02 pass
14:59:02 if not hostkey_obj:
14:59:02 # We've tried all known host key types and haven't found a suitable one to use - bail
14:59:02 raise SSHError("Couldn't find suitable paramiko key class for host key %s" % hostkey_b64)
14:59:02 self._transport._preferred_keys = [hostkey_obj.get_name()]
14:59:02 elif self._host_keys:
14:59:02 # Else set preferred host keys to those we possess for the host
14:59:02 # (avoids situation where known_hosts contains a valid key for the host, but that key type is not selected during negotiation)
14:59:02 known_host_keys_for_this_host = self._host_keys.lookup(host) or {}
14:59:02 host_port = '[%s]:%s' % (host, port)
14:59:02 known_host_keys_for_this_host.update(self._host_keys.lookup(host_port) or {})
14:59:02 if known_host_keys_for_this_host:
14:59:02 self._transport._preferred_keys = list(known_host_keys_for_this_host)
14:59:02
14:59:02 # Connect
14:59:02 try:
14:59:02 > self._transport.start_client()
14:59:02
14:59:02 ../.tox/py3/lib/python3.6/site-packages/ncclient/transport/ssh.py:329:
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02
14:59:02 self =
14:59:02 event = , timeout = None
14:59:02
14:59:02 def start_client(self, event=None, timeout=None):
14:59:02 """
14:59:02 Negotiate a new SSH2 session as a client. This is the first step after
14:59:02 creating a new `.Transport`. A separate thread is created for protocol
14:59:02 negotiation.
14:59:02
14:59:02 If an event is passed in, this method returns immediately. When
14:59:02 negotiation is done (successful or not), the given ``Event`` will
14:59:02 be triggered. On failure, `is_active` will return ``False``.
14:59:02
14:59:02 (Since 1.4) If ``event`` is ``None``, this method will not return until
14:59:02 negotiation is done. On success, the method returns normally.
14:59:02 Otherwise an SSHException is raised.
14:59:02
14:59:02 After a successful negotiation, you will usually want to authenticate,
14:59:02 calling `auth_password ` or
14:59:02 `auth_publickey `.
14:59:02
14:59:02 .. note:: `connect` is a simpler method for connecting as a client.
14:59:02
14:59:02 .. note::
14:59:02 After calling this method (or `start_server` or `connect`), you
14:59:02 should no longer directly read from or write to the original socket
14:59:02 object.
14:59:02
14:59:02 :param .threading.Event event:
14:59:02 an event to trigger when negotiation is complete (optional)
14:59:02
14:59:02 :param float timeout:
14:59:02 a timeout, in seconds, for SSH2 session negotiation (optional)
14:59:02
14:59:02 :raises:
14:59:02 `.SSHException` -- if negotiation fails (and no ``event`` was
14:59:02 passed in)
14:59:02 """
14:59:02 self.active = True
14:59:02 if event is not None:
14:59:02 # async, return immediately and let the app poll for completion
14:59:02 self.completion_event = event
14:59:02 self.start()
14:59:02 return
14:59:02
14:59:02 # synchronous, wait for a result
14:59:02 self.completion_event = event = threading.Event()
14:59:02 self.start()
14:59:02 max_time = time.time() + timeout if timeout is not None else None
14:59:02 while True:
14:59:02 event.wait(0.1)
14:59:02 if not self.active:
14:59:02 e = self.get_exception()
14:59:02 if e is not None:
14:59:02 > raise e
14:59:02
14:59:02 ../.tox/py3/lib/python3.6/site-packages/paramiko/transport.py:722:
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02
14:59:02 self =
14:59:02
14:59:02 def run(self):
14:59:02 # (use the exposed "run" method, because if we specify a thread target
14:59:02 # of a private method, threading.Thread will keep a reference to it
14:59:02 # indefinitely, creating a GC cycle and not letting Transport ever be
14:59:02 # GC'd. it's a bug in Thread.)
14:59:02
14:59:02 # Hold reference to 'sys' so we can test sys.modules to detect
14:59:02 # interpreter shutdown.
14:59:02 self.sys = sys
14:59:02
14:59:02 # active=True occurs before the thread is launched, to avoid a race
14:59:02 _active_threads.append(self)
14:59:02 tid = hex(id(self) & xffffffff)
14:59:02 if self.server_mode:
14:59:02 self._log(DEBUG, "starting thread (server mode): {}".format(tid))
14:59:02 else:
14:59:02 self._log(DEBUG, "starting thread (client mode): {}".format(tid))
14:59:02 try:
14:59:02 try:
14:59:02 self.packetizer.write_all(b(self.local_version + "\r\n"))
14:59:02 self._log(
14:59:02 DEBUG,
14:59:02 "Local version/idstring: {}".format(self.local_version),
14:59:02 ) # noqa
14:59:02 > self._check_banner()
14:59:02
14:59:02 ../.tox/py3/lib/python3.6/site-packages/paramiko/transport.py:2113:
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02
14:59:02 self =
14:59:02
14:59:02 def _check_banner(self):
14:59:02 # this is slow, but we only have to do it once
14:59:02 for i in range(100):
14:59:02 # give them 15 seconds for the first line, then just 2 seconds
14:59:02 # each additional line. (some sites have very high latency.)
14:59:02 if i == 0:
14:59:02 timeout = self.banner_timeout
14:59:02 else:
14:59:02 timeout = 2
14:59:02 try:
14:59:02 buf = self.packetizer.readline(timeout)
14:59:02 except ProxyCommandFailure:
14:59:02 raise
14:59:02 except Exception as e:
14:59:02 raise SSHException(
14:59:02 > "Error reading SSH protocol banner" + str(e)
14:59:02 )
14:59:02 E paramiko.ssh_exception.SSHException: Error reading SSH protocol banner
14:59:02
14:59:02 ../.tox/py3/lib/python3.6/site-packages/paramiko/transport.py:2297: SSHException
14:59:02
14:59:02 During handling of the above exception, another exception occurred:
14:59:02
14:59:02 self =
14:59:02
14:59:02 def setup(self):
14:59:02 self.nc = manager.connect(
14:59:02 host=settings.HOST,
14:59:02 port=settings.SSH_PORT,
14:59:02 username=settings.USERNAME,
14:59:02 key_filename=settings.SSH_KEY_FILENAME,
14:59:02 allow_agent=False,
14:59:02 look_for_keys=False,
14:59:02 > hostkey_verify=False)
14:59:02
14:59:02 nctest.py:46:
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02 ../.tox/py3/lib/python3.6/site-packages/ncclient/manager.py:168: in connect
14:59:02 return connect_ssh(*args, **kwds)
14:59:02 ../.tox/py3/lib/python3.6/site-packages/ncclient/manager.py:135: in connect_ssh
14:59:02 session.connect(*args, **kwds)
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02
14:59:02 self = , host = '127.0.0.1', port = 49154
14:59:02 timeout = None
14:59:02 unknown_host_cb =
14:59:02 username = 'netconf', password = None, key_filename = '../config/ssh/id_rsa'
14:59:02 allow_agent = False, hostkey_verify = False, hostkey_b64 = None
14:59:02 look_for_keys = False, ssh_config = None, sock_fd = None, bind_addr = None
14:59:02
14:59:02 def connect(
14:59:02 self,
14:59:02 host,
14:59:02 port = PORT_NETCONF_DEFAULT,
14:59:02 timeout = None,
14:59:02 unknown_host_cb = default_unknown_host_cb,
14:59:02 username = None,
14:59:02 password = None,
14:59:02 key_filename = None,
14:59:02 allow_agent = True,
14:59:02 hostkey_verify = True,
14:59:02 hostkey_b64 = None,
14:59:02 look_for_keys = True,
14:59:02 ssh_config = None,
14:59:02 sock_fd = None,
14:59:02 bind_addr = None):
14:59:02
14:59:02 """Connect via SSH and initialize the NETCONF session. First attempts the publickey authentication method and then password authentication.
14:59:02
14:59:02 To disable attempting publickey authentication altogether, call with *allow_agent* and *look_for_keys* as `False`.
14:59:02
14:59:02 *host* is the hostname or IP address to connect to
14:59:02
14:59:02 *port* is by default 830 (PORT_NETCONF_DEFAULT), but some devices use the default SSH port of 22 so this may need to be specified
14:59:02
14:59:02 *timeout* is an optional timeout for socket connect
14:59:02
14:59:02 *unknown_host_cb* is called when the server host key is not recognized. It takes two arguments, the hostname and the fingerprint (see the signature of :func:`default_unknown_host_cb`)
14:59:02
14:59:02 *username* is the username to use for SSH authentication
14:59:02
14:59:02 *password* is the password used if using password authentication, or the passphrase to use for unlocking keys that require it
14:59:02
14:59:02 *key_filename* is a filename where a the private key to be used can be found
14:59:02
14:59:02 *allow_agent* enables querying SSH agent (if found) for keys
14:59:02
14:59:02 *hostkey_verify* enables hostkey verification from ~/.ssh/known_hosts
14:59:02
14:59:02 *hostkey_b64* only connect when server presents a public hostkey matching this (obtain from server /etc/ssh/ssh_host_*pub or ssh-keyscan)
14:59:02
14:59:02 *look_for_keys* enables looking in the usual locations for ssh keys (e.g. :file:`~/.ssh/id_*`)
14:59:02
14:59:02 *ssh_config* enables parsing of an OpenSSH configuration file, if set to its path, e.g. :file:`~/.ssh/config` or to True (in this case, use :file:`~/.ssh/config`).
14:59:02
14:59:02 *sock_fd* is an already open socket which shall be used for this connection. Useful for NETCONF outbound ssh. Use host=None together with a valid sock_fd number
14:59:02
14:59:02 *bind_addr* is a (local) source IP address to use, must be reachable from the remote device.
14:59:02 """
14:59:02 if not (host or sock_fd):
14:59:02 raise SSHError("Missing host or socket fd")
14:59:02
14:59:02 self._host = host
14:59:02
14:59:02 # Optionally, parse .ssh/config
14:59:02 config = {}
14:59:02 if ssh_config is True:
14:59:02 ssh_config = "~/.ssh/config" if sys.platform != "win32" else "~/ssh/config"
14:59:02 if ssh_config is not None:
14:59:02 config = paramiko.SSHConfig()
14:59:02 with open(os.path.expanduser(ssh_config)) as ssh_config_file_obj:
14:59:02 config.parse(ssh_config_file_obj)
14:59:02
14:59:02 # Save default Paramiko SSH port so it can be reverted
14:59:02 paramiko_default_ssh_port = paramiko.config.SSH_PORT
14:59:02
14:59:02 # Change the default SSH port to the port specified by the user so expand_variables
14:59:02 # replaces %p with the passed in port rather than 22 (the defauld paramiko.config.SSH_PORT)
14:59:02
14:59:02 paramiko.config.SSH_PORT = port
14:59:02
14:59:02 config = config.lookup(host)
14:59:02
14:59:02 # paramiko.config.SSHconfig::expand_variables is called by lookup so we can set the SSH port
14:59:02 # back to the default
14:59:02 paramiko.config.SSH_PORT = paramiko_default_ssh_port
14:59:02
14:59:02 host = config.get("hostname", host)
14:59:02 if username is None:
14:59:02 username = config.get("user")
14:59:02 if key_filename is None:
14:59:02 key_filename = config.get("identityfile")
14:59:02 if hostkey_verify:
14:59:02 userknownhostsfile = config.get("userknownhostsfile")
14:59:02 if userknownhostsfile:
14:59:02 self.load_known_hosts(os.path.expanduser(userknownhostsfile))
14:59:02 if timeout is None:
14:59:02 timeout = config.get("connecttimeout")
14:59:02 if timeout:
14:59:02 timeout = int(timeout)
14:59:02
14:59:02 if username is None:
14:59:02 username = getpass.getuser()
14:59:02
14:59:02 if sock_fd is None:
14:59:02 proxycommand = config.get("proxycommand")
14:59:02 if proxycommand:
14:59:02 self.logger.debug("Configuring Proxy. %s", proxycommand)
14:59:02 if not isinstance(proxycommand, six.string_types):
14:59:02 proxycommand = [os.path.expanduser(elem) for elem in proxycommand]
14:59:02 else:
14:59:02 proxycommand = os.path.expanduser(proxycommand)
14:59:02 sock = paramiko.proxy.ProxyCommand(proxycommand)
14:59:02 else:
14:59:02 for res in socket.getaddrinfo(host, port, socket.AF_UNSPEC, socket.SOCK_STREAM):
14:59:02 af, socktype, proto, canonname, sa = res
14:59:02 try:
14:59:02 sock = socket.socket(af, socktype, proto)
14:59:02 sock.settimeout(timeout)
14:59:02 except socket.error:
14:59:02 continue
14:59:02 try:
14:59:02 if bind_addr:
14:59:02 sock.bind((bind_addr, 0))
14:59:02 sock.connect(sa)
14:59:02 except socket.error:
14:59:02 sock.close()
14:59:02 continue
14:59:02 break
14:59:02 else:
14:59:02 raise SSHError("Could not open socket to %s:%s" % (host, port))
14:59:02 else:
14:59:02 if sys.version_info[0] < 3:
14:59:02 s = socket.fromfd(int(sock_fd), socket.AF_INET, socket.SOCK_STREAM)
14:59:02 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM, _sock=s)
14:59:02 else:
14:59:02 sock = socket.fromfd(int(sock_fd), socket.AF_INET, socket.SOCK_STREAM)
14:59:02 sock.settimeout(timeout)
14:59:02
14:59:02 self._transport = paramiko.Transport(sock)
14:59:02 self._transport.set_log_channel(logger.name)
14:59:02 if config.get("compression") == 'yes':
14:59:02 self._transport.use_compression()
14:59:02
14:59:02 if hostkey_b64:
14:59:02 # If we need to connect with a specific hostkey, negotiate for only its type
14:59:02 hostkey_obj = None
14:59:02 for key_cls in [paramiko.DSSKey, paramiko.Ed25519Key, paramiko.RSAKey, paramiko.ECDSAKey]:
14:59:02 try:
14:59:02 hostkey_obj = key_cls(data=base64.b64decode(hostkey_b64))
14:59:02 except paramiko.SSHException:
14:59:02 # Not a key of this type - try the next
14:59:02 pass
14:59:02 if not hostkey_obj:
14:59:02 # We've tried all known host key types and haven't found a suitable one to use - bail
14:59:02 raise SSHError("Couldn't find suitable paramiko key class for host key %s" % hostkey_b64)
14:59:02 self._transport._preferred_keys = [hostkey_obj.get_name()]
14:59:02 elif self._host_keys:
14:59:02 # Else set preferred host keys to those we possess for the host
14:59:02 # (avoids situation where known_hosts contains a valid key for the host, but that key type is not selected during negotiation)
14:59:02 known_host_keys_for_this_host = self._host_keys.lookup(host) or {}
14:59:02 host_port = '[%s]:%s' % (host, port)
14:59:02 known_host_keys_for_this_host.update(self._host_keys.lookup(host_port) or {})
14:59:02 if known_host_keys_for_this_host:
14:59:02 self._transport._preferred_keys = list(known_host_keys_for_this_host)
14:59:02
14:59:02 # Connect
14:59:02 try:
14:59:02 self._transport.start_client()
14:59:02 except paramiko.SSHException as e:
14:59:02 > raise SSHError('Negotiation failed: %s' % e)
14:59:02 E ncclient.transport.errors.SSHError: Negotiation failed: Error reading SSH protocol banner
14:59:02
14:59:02 ../.tox/py3/lib/python3.6/site-packages/ncclient/transport/ssh.py:331: SSHError
14:59:02 ------------------------------ Captured log setup ------------------------------
14:59:02 14:59:00.379 ERROR [ncclient.transport.ssh] Exception (client): Error reading SSH protocol banner
14:59:02 14:59:00.380 ERROR [ncclient.transport.ssh] Traceback (most recent call last):
14:59:02 14:59:00.380 ERROR [ncclient.transport.ssh] File "/w/workspace/integration-netconf-pnp-simulator-docker-merge-master/test/mocks/netconf-pnp-simulator/engine/.tox/py3/lib/python3.6/site-packages/paramiko/transport.py", line 2292, in _check_banner
14:59:02 14:59:00.380 ERROR [ncclient.transport.ssh] buf = self.packetizer.readline(timeout)
14:59:02 14:59:00.380 ERROR [ncclient.transport.ssh] File "/w/workspace/integration-netconf-pnp-simulator-docker-merge-master/test/mocks/netconf-pnp-simulator/engine/.tox/py3/lib/python3.6/site-packages/paramiko/packet.py", line 374, in readline
14:59:02 14:59:00.380 ERROR [ncclient.transport.ssh] buf += self._read_timeout(timeout)
14:59:02 14:59:00.380 ERROR [ncclient.transport.ssh] File "/w/workspace/integration-netconf-pnp-simulator-docker-merge-master/test/mocks/netconf-pnp-simulator/engine/.tox/py3/lib/python3.6/site-packages/paramiko/packet.py", line 603, in _read_timeout
14:59:02 14:59:00.380 ERROR [ncclient.transport.ssh] raise EOFError()
14:59:02 14:59:00.380 ERROR [ncclient.transport.ssh] EOFError
14:59:02 14:59:00.380 ERROR [ncclient.transport.ssh]
14:59:02 14:59:00.381 ERROR [ncclient.transport.ssh] During handling of the above exception, another exception occurred:
14:59:02 14:59:00.381 ERROR [ncclient.transport.ssh]
14:59:02 14:59:00.381 ERROR [ncclient.transport.ssh] Traceback (most recent call last):
14:59:02 14:59:00.381 ERROR [ncclient.transport.ssh] File "/w/workspace/integration-netconf-pnp-simulator-docker-merge-master/test/mocks/netconf-pnp-simulator/engine/.tox/py3/lib/python3.6/site-packages/paramiko/transport.py", line 2113, in run
14:59:02 14:59:00.381 ERROR [ncclient.transport.ssh] self._check_banner()
14:59:02 14:59:00.381 ERROR [ncclient.transport.ssh] File "/w/workspace/integration-netconf-pnp-simulator-docker-merge-master/test/mocks/netconf-pnp-simulator/engine/.tox/py3/lib/python3.6/site-packages/paramiko/transport.py", line 2297, in _check_banner
14:59:02 14:59:00.381 ERROR [ncclient.transport.ssh] "Error reading SSH protocol banner" + str(e)
14:59:02 14:59:00.381 ERROR [ncclient.transport.ssh] paramiko.ssh_exception.SSHException: Error reading SSH protocol banner
14:59:02 14:59:00.381 ERROR [ncclient.transport.ssh]
14:59:02 =================================== FAILURES ===================================
14:59:02 __________________ TestTLS.test_tls_reconfiguration[round #3] __________________
14:59:02
14:59:02 self = , round_id = 'round #3'
14:59:02
14:59:02 @pytest.mark.parametrize("round_id", [f"round #{i + 1}" for i in range(6)])
14:59:02 def test_tls_reconfiguration(self, round_id):
14:59:02 # pylint: disable=W0613
14:59:02 self.reconfigure_and_check(NEW_CONFIG_DIR, INITIAL_CONFIG_DIR)
14:59:02 > self.reconfigure_and_check(INITIAL_CONFIG_DIR, NEW_CONFIG_DIR)
14:59:02
14:59:02 test_tls.py:47:
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02 test_tls.py:60: in reconfigure_and_check
14:59:02 nc_connect(good_config_dir)
14:59:02 test_tls.py:93: in nc_connect
14:59:02 conn.connect((settings.HOST, settings.TLS_PORT))
14:59:02 /usr/lib/python3.6/ssl.py:1109: in connect
14:59:02 self._real_connect(addr, False)
14:59:02 /usr/lib/python3.6/ssl.py:1100: in _real_connect
14:59:02 self.do_handshake()
14:59:02 /usr/lib/python3.6/ssl.py:1077: in do_handshake
14:59:02 self._sslobj.do_handshake()
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02
14:59:02 self =
14:59:02
14:59:02 def do_handshake(self):
14:59:02 """Start the SSL/TLS handshake."""
14:59:02 > self._sslobj.do_handshake()
14:59:02 E ConnectionResetError: [Errno 104] Connection reset by peer
14:59:02
14:59:02 /usr/lib/python3.6/ssl.py:689: ConnectionResetError
14:59:02 ----------------------------- Captured stdout call -----------------------------
14:59:02 Received NETCONF HelloMessage:
14:59:02 urn:ietf:params:netconf:base:1.0urn:ietf:params:netconf:base:1.1urn:ietf:params:netconf:capability:writable-running:1.0urn:ietf:params:netconf:capability:candidate:1.0urn:ietf:params:netconf:capability:rollback-on-error:1.0urn:ietf:params:netconf:capability:validate:1.1urn:ietf:params:netconf:capability:startup:1.0urn:ietf:params:netconf:capability:url:1.0urn:ietf:params:netconf:capability:xpath:1.0urn:ietf:params:netconf:capability:with-defaults:1.0?basic-mode=explicit&also-supported=report-all,report-all-tagged,trim,expliciturn:ietf:params:netconf:capability:notification:1.0urn:ietf:params:netconf:capability:interleave:1.0urn:ietf:params:xml:ns:yang:ietf-yang-metadata?module=ietf-yang-metadata&revision=2016-08-05urn:ietf:params:xml:ns:yang:1?module=yang&revision=2017-02-20urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15urn:ietf:params:netconf:capability:yang-library:1.0?revision=2019-01-04&module-set-id=22urn:ietf:params:xml:ns:yang:ietf-netconf-acm?module=ietf-netconf-acm&revision=2018-02-14urn:ietf:params:xml:ns:netconf:base:1.0?module=ietf-netconf&revision=2011-06-01&features=writable-running,candidate,rollback-on-error,validate,startup,url,xpathurn:ietf:params:xml:ns:yang:ietf-netconf-notifications?module=ietf-netconf-notifications&revision=2012-02-06urn:ietf:params:xml:ns:netconf:notification:1.0?module=notifications&revision=2008-07-14urn:ietf:params:xml:ns:netmod:notification?module=nc-notifications&revision=2008-07-14urn:ietf:params:xml:ns:yang:ietf-x509-cert-to-name?module=ietf-x509-cert-to-name&revision=2014-12-10urn:ietf:params:xml:ns:yang:ietf-netconf-with-defaults?module=ietf-netconf-with-defaults&revision=2011-06-01urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04urn:ietf:params:xml:ns:yang:iana-crypt-hash?module=iana-crypt-hash&revision=2014-08-06urn:ietf:params:xml:ns:yang:ietf-system?module=ietf-system&revision=2014-08-06&features=authentication,local-usershttp://example.net/turing-machine?module=turing-machine&revision=2013-12-271]]>]]>
14:59:02 __________________ TestTLS.test_tls_reconfiguration[round #4] __________________
14:59:02
14:59:02 self = , round_id = 'round #4'
14:59:02
14:59:02 @pytest.mark.parametrize("round_id", [f"round #{i + 1}" for i in range(6)])
14:59:02 def test_tls_reconfiguration(self, round_id):
14:59:02 # pylint: disable=W0613
14:59:02 > self.reconfigure_and_check(NEW_CONFIG_DIR, INITIAL_CONFIG_DIR)
14:59:02
14:59:02 test_tls.py:46:
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02 test_tls.py:60: in reconfigure_and_check
14:59:02 nc_connect(good_config_dir)
14:59:02 test_tls.py:93: in nc_connect
14:59:02 conn.connect((settings.HOST, settings.TLS_PORT))
14:59:02 /usr/lib/python3.6/ssl.py:1109: in connect
14:59:02 self._real_connect(addr, False)
14:59:02 /usr/lib/python3.6/ssl.py:1100: in _real_connect
14:59:02 self.do_handshake()
14:59:02 /usr/lib/python3.6/ssl.py:1077: in do_handshake
14:59:02 self._sslobj.do_handshake()
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02
14:59:02 self =
14:59:02
14:59:02 def do_handshake(self):
14:59:02 """Start the SSL/TLS handshake."""
14:59:02 > self._sslobj.do_handshake()
14:59:02 E ConnectionResetError: [Errno 104] Connection reset by peer
14:59:02
14:59:02 /usr/lib/python3.6/ssl.py:689: ConnectionResetError
14:59:02 __________________ TestTLS.test_tls_reconfiguration[round #5] __________________
14:59:02
14:59:02 self = , round_id = 'round #5'
14:59:02
14:59:02 @pytest.mark.parametrize("round_id", [f"round #{i + 1}" for i in range(6)])
14:59:02 def test_tls_reconfiguration(self, round_id):
14:59:02 # pylint: disable=W0613
14:59:02 > self.reconfigure_and_check(NEW_CONFIG_DIR, INITIAL_CONFIG_DIR)
14:59:02
14:59:02 test_tls.py:46:
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02 test_tls.py:60: in reconfigure_and_check
14:59:02 nc_connect(good_config_dir)
14:59:02 test_tls.py:93: in nc_connect
14:59:02 conn.connect((settings.HOST, settings.TLS_PORT))
14:59:02 /usr/lib/python3.6/ssl.py:1109: in connect
14:59:02 self._real_connect(addr, False)
14:59:02 /usr/lib/python3.6/ssl.py:1100: in _real_connect
14:59:02 self.do_handshake()
14:59:02 /usr/lib/python3.6/ssl.py:1077: in do_handshake
14:59:02 self._sslobj.do_handshake()
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02
14:59:02 self =
14:59:02
14:59:02 def do_handshake(self):
14:59:02 """Start the SSL/TLS handshake."""
14:59:02 > self._sslobj.do_handshake()
14:59:02 E ConnectionResetError: [Errno 104] Connection reset by peer
14:59:02
14:59:02 /usr/lib/python3.6/ssl.py:689: ConnectionResetError
14:59:02 __________________ TestTLS.test_tls_reconfiguration[round #6] __________________
14:59:02
14:59:02 self = , round_id = 'round #6'
14:59:02
14:59:02 @pytest.mark.parametrize("round_id", [f"round #{i + 1}" for i in range(6)])
14:59:02 def test_tls_reconfiguration(self, round_id):
14:59:02 # pylint: disable=W0613
14:59:02 self.reconfigure_and_check(NEW_CONFIG_DIR, INITIAL_CONFIG_DIR)
14:59:02 > self.reconfigure_and_check(INITIAL_CONFIG_DIR, NEW_CONFIG_DIR)
14:59:02
14:59:02 test_tls.py:47:
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02 test_tls.py:60: in reconfigure_and_check
14:59:02 nc_connect(good_config_dir)
14:59:02 test_tls.py:93: in nc_connect
14:59:02 conn.connect((settings.HOST, settings.TLS_PORT))
14:59:02 /usr/lib/python3.6/ssl.py:1109: in connect
14:59:02 self._real_connect(addr, False)
14:59:02 /usr/lib/python3.6/ssl.py:1100: in _real_connect
14:59:02 self.do_handshake()
14:59:02 /usr/lib/python3.6/ssl.py:1077: in do_handshake
14:59:02 self._sslobj.do_handshake()
14:59:02 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
14:59:02
14:59:02 self =
14:59:02
14:59:02 def do_handshake(self):
14:59:02 """Start the SSL/TLS handshake."""
14:59:02 > self._sslobj.do_handshake()
14:59:02 E ConnectionResetError: [Errno 104] Connection reset by peer
14:59:02
14:59:02 /usr/lib/python3.6/ssl.py:689: ConnectionResetError
14:59:02 ----------------------------- Captured stdout call -----------------------------
14:59:02 Received NETCONF HelloMessage:
14:59:02 urn:ietf:params:netconf:base:1.0urn:ietf:params:netconf:base:1.1urn:ietf:params:netconf:capability:writable-running:1.0urn:ietf:params:netconf:capability:candidate:1.0urn:ietf:params:netconf:capability:rollback-on-error:1.0urn:ietf:params:netconf:capability:validate:1.1urn:ietf:params:netconf:capability:startup:1.0urn:ietf:params:netconf:capability:url:1.0urn:ietf:params:netconf:capability:xpath:1.0urn:ietf:params:netconf:capability:with-defaults:1.0?basic-mode=explicit&also-supported=report-all,report-all-tagged,trim,expliciturn:ietf:params:netconf:capability:notification:1.0urn:ietf:params:netconf:capability:interleave:1.0urn:ietf:params:xml:ns:yang:ietf-yang-metadata?module=ietf-yang-metadata&revision=2016-08-05urn:ietf:params:xml:ns:yang:1?module=yang&revision=2017-02-20urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15urn:ietf:params:netconf:capability:yang-library:1.0?revision=2019-01-04&module-set-id=22urn:ietf:params:xml:ns:yang:ietf-netconf-acm?module=ietf-netconf-acm&revision=2018-02-14urn:ietf:params:xml:ns:netconf:base:1.0?module=ietf-netconf&revision=2011-06-01&features=writable-running,candidate,rollback-on-error,validate,startup,url,xpathurn:ietf:params:xml:ns:yang:ietf-netconf-notifications?module=ietf-netconf-notifications&revision=2012-02-06urn:ietf:params:xml:ns:netconf:notification:1.0?module=notifications&revision=2008-07-14urn:ietf:params:xml:ns:netmod:notification?module=nc-notifications&revision=2008-07-14urn:ietf:params:xml:ns:yang:ietf-x509-cert-to-name?module=ietf-x509-cert-to-name&revision=2014-12-10urn:ietf:params:xml:ns:yang:ietf-netconf-with-defaults?module=ietf-netconf-with-defaults&revision=2011-06-01urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04urn:ietf:params:xml:ns:yang:iana-crypt-hash?module=iana-crypt-hash&revision=2014-08-06urn:ietf:params:xml:ns:yang:ietf-system?module=ietf-system&revision=2014-08-06&features=authentication,local-usershttp://example.net/turing-machine?module=turing-machine&revision=2013-12-271]]>]]>
14:59:02 =============================== warnings summary ===============================
14:59:02 ../.tox/py3/lib/python3.6/site-packages/paramiko/transport.py:32
14:59:02 /w/workspace/integration-netconf-pnp-simulator-docker-merge-master/test/mocks/netconf-pnp-simulator/engine/.tox/py3/lib/python3.6/site-packages/paramiko/transport.py:32: CryptographyDeprecationWarning: Python 3.6 is no longer supported by the Python core team. Therefore, support for it is deprecated in cryptography. The next release of cryptography will remove support for Python 3.6.
14:59:02 from cryptography.hazmat.backends import default_backend
14:59:02
14:59:02 -- Docs: https://docs.pytest.org/en/stable/warnings.html
14:59:02 =========================== short test summary info ============================
14:59:02 FAILED test_tls.py::TestTLS::test_tls_reconfiguration[round #3] - ConnectionR...
14:59:02 FAILED test_tls.py::TestTLS::test_tls_reconfiguration[round #4] - ConnectionR...
14:59:02 FAILED test_tls.py::TestTLS::test_tls_reconfiguration[round #5] - ConnectionR...
14:59:02 FAILED test_tls.py::TestTLS::test_tls_reconfiguration[round #6] - ConnectionR...
14:59:02 ERROR test_turing_machine.py::TestTuringMachine::test_get - ncclient.transpor...
14:59:02 ERROR test_turing_machine.py::TestTuringMachine::test_get_config_startup - nc...
14:59:02 ERROR test_turing_machine.py::TestTuringMachine::test_get_config_running - nc...
14:59:02 ============== 4 failed, 13 passed, 1 warning, 3 errors in 31.19s ==============
14:59:02 ERROR: InvocationError for command /w/workspace/integration-netconf-pnp-simulator-docker-merge-master/test/mocks/netconf-pnp-simulator/engine/.tox/py3/bin/pytest -v (exited with code 1)
14:59:02 py3 docker: remove 'cbc113b831' (forced)
14:59:04 ___________________________________ summary ____________________________________
14:59:04 ERROR: py3: commands failed
14:59:04 Build step 'Execute shell' marked build as failure
14:59:04 $ ssh-agent -k
14:59:04 unset SSH_AUTH_SOCK;
14:59:04 unset SSH_AGENT_PID;
14:59:04 echo Agent pid 2036 killed;
14:59:04 [ssh-agent] Stopped.
14:59:04 [PostBuildScript] - [INFO] Executing post build scripts.
14:59:04 [integration-netconf-pnp-simulator-docker-merge-master] $ /bin/bash /tmp/jenkins16354260479705178199.sh
14:59:04 ---> sysstat.sh
14:59:04 [integration-netconf-pnp-simulator-docker-merge-master] $ /bin/bash /tmp/jenkins3736646706692567820.sh
14:59:04 ---> package-listing.sh
14:59:04 ++ facter osfamily
14:59:04 ++ tr '[:upper:]' '[:lower:]'
14:59:05 + OS_FAMILY=debian
14:59:05 + workspace=/w/workspace/integration-netconf-pnp-simulator-docker-merge-master
14:59:05 + START_PACKAGES=/tmp/packages_start.txt
14:59:05 + END_PACKAGES=/tmp/packages_end.txt
14:59:05 + DIFF_PACKAGES=/tmp/packages_diff.txt
14:59:05 + PACKAGES=/tmp/packages_start.txt
14:59:05 + '[' /w/workspace/integration-netconf-pnp-simulator-docker-merge-master ']'
14:59:05 + PACKAGES=/tmp/packages_end.txt
14:59:05 + case "${OS_FAMILY}" in
14:59:05 + dpkg -l
14:59:05 + grep '^ii'
14:59:05 + '[' -f /tmp/packages_start.txt ']'
14:59:05 + '[' -f /tmp/packages_end.txt ']'
14:59:05 + diff /tmp/packages_start.txt /tmp/packages_end.txt
14:59:05 + '[' /w/workspace/integration-netconf-pnp-simulator-docker-merge-master ']'
14:59:05 + mkdir -p /w/workspace/integration-netconf-pnp-simulator-docker-merge-master/archives/
14:59:05 + cp -f /tmp/packages_diff.txt /tmp/packages_end.txt /tmp/packages_start.txt /w/workspace/integration-netconf-pnp-simulator-docker-merge-master/archives/
14:59:05 [integration-netconf-pnp-simulator-docker-merge-master] $ /bin/bash /tmp/jenkins10444910168116330405.sh
14:59:05 ---> capture-instance-metadata.sh
14:59:05 Setup pyenv:
14:59:05 system
14:59:05 3.8.13
14:59:05 3.9.13
14:59:05 * 3.10.6 (set by /w/workspace/integration-netconf-pnp-simulator-docker-merge-master/.python-version)
14:59:05 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-wS3O from file:/tmp/.os_lf_venv
14:59:06 lf-activate-venv(): INFO: Installing: lftools
14:59:23 lf-activate-venv(): INFO: Adding /tmp/venv-wS3O/bin to PATH
14:59:23 INFO: Running in OpenStack, capturing instance metadata
14:59:23 [integration-netconf-pnp-simulator-docker-merge-master] $ /bin/bash /tmp/jenkins8794050163004257481.sh
14:59:23 provisioning config files...
14:59:23 copy managed file [jenkins-log-archives-settings] to file:/w/workspace/integration-netconf-pnp-simulator-docker-merge-master@tmp/config2262101999915041632tmp
14:59:23 Regular expression run condition: Expression=[^.*logs-s3.*], Label=[]
14:59:23 Run condition [Regular expression match] preventing perform for step [Provide Configuration files]
14:59:23 [EnvInject] - Injecting environment variables from a build step.
14:59:23 [EnvInject] - Injecting as environment variables the properties content
14:59:23 SERVER_ID=logs
14:59:23
14:59:23 [EnvInject] - Variables injected successfully.
14:59:23 [integration-netconf-pnp-simulator-docker-merge-master] $ /bin/bash /tmp/jenkins13320614434361206801.sh
14:59:23 ---> create-netrc.sh
14:59:23 [integration-netconf-pnp-simulator-docker-merge-master] $ /bin/bash /tmp/jenkins8610500782899258676.sh
14:59:23 ---> python-tools-install.sh
14:59:23 Setup pyenv:
14:59:23 system
14:59:23 3.8.13
14:59:23 3.9.13
14:59:23 * 3.10.6 (set by /w/workspace/integration-netconf-pnp-simulator-docker-merge-master/.python-version)
14:59:24 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-wS3O from file:/tmp/.os_lf_venv
14:59:25 lf-activate-venv(): INFO: Installing: lftools
14:59:36 lf-activate-venv(): INFO: Adding /tmp/venv-wS3O/bin to PATH
14:59:36 [integration-netconf-pnp-simulator-docker-merge-master] $ /bin/bash /tmp/jenkins3211692665398133368.sh
14:59:36 ---> sudo-logs.sh
14:59:36 Archiving 'sudo' log..
14:59:37 [integration-netconf-pnp-simulator-docker-merge-master] $ /bin/bash /tmp/jenkins2022575987520733488.sh
14:59:37 ---> job-cost.sh
14:59:37 Setup pyenv:
14:59:37 system
14:59:37 3.8.13
14:59:37 3.9.13
14:59:37 * 3.10.6 (set by /w/workspace/integration-netconf-pnp-simulator-docker-merge-master/.python-version)
14:59:37 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-wS3O from file:/tmp/.os_lf_venv
14:59:38 lf-activate-venv(): INFO: Installing: zipp==1.1.0 python-openstackclient urllib3~=1.26.15
14:59:46 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
14:59:46 lftools 0.37.8 requires openstacksdk<1.5.0, but you have openstacksdk 2.0.0 which is incompatible.
14:59:46 lf-activate-venv(): INFO: Adding /tmp/venv-wS3O/bin to PATH
14:59:46 INFO: No Stack...
14:59:46 INFO: Retrieving Pricing Info for: v3-standard-8
14:59:47 INFO: Archiving Costs
14:59:47 [integration-netconf-pnp-simulator-docker-merge-master] $ /bin/bash -l /tmp/jenkins17026397796541072368.sh
14:59:47 ---> logs-deploy.sh
14:59:47 Setup pyenv:
14:59:47 system
14:59:47 3.8.13
14:59:47 3.9.13
14:59:47 * 3.10.6 (set by /w/workspace/integration-netconf-pnp-simulator-docker-merge-master/.python-version)
14:59:47 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-wS3O from file:/tmp/.os_lf_venv
14:59:49 lf-activate-venv(): INFO: Installing: lftools
15:00:00 lf-activate-venv(): INFO: Adding /tmp/venv-wS3O/bin to PATH
15:00:00 INFO: Nexus URL https://nexus.onap.org path production/vex-yul-ecomp-jenkins-1/integration-netconf-pnp-simulator-docker-merge-master/207
15:00:00 INFO: archiving workspace using pattern(s):
15:00:01 Archives upload complete.
15:00:01 INFO: archiving logs to Nexus
15:00:02 ---> uname -a:
15:00:02 Linux prd-ubuntu1804-docker-8c-8g-2777 4.15.0-192-generic #203-Ubuntu SMP Wed Aug 10 17:40:03 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
15:00:02
15:00:02
15:00:02 ---> lscpu:
15:00:02 Architecture: x86_64
15:00:02 CPU op-mode(s): 32-bit, 64-bit
15:00:02 Byte Order: Little Endian
15:00:02 CPU(s): 8
15:00:02 On-line CPU(s) list: 0-7
15:00:02 Thread(s) per core: 1
15:00:02 Core(s) per socket: 1
15:00:02 Socket(s): 8
15:00:02 NUMA node(s): 1
15:00:02 Vendor ID: AuthenticAMD
15:00:02 CPU family: 23
15:00:02 Model: 49
15:00:02 Model name: AMD EPYC-Rome Processor
15:00:02 Stepping: 0
15:00:02 CPU MHz: 2800.000
15:00:02 BogoMIPS: 5600.00
15:00:02 Virtualization: AMD-V
15:00:02 Hypervisor vendor: KVM
15:00:02 Virtualization type: full
15:00:02 L1d cache: 32K
15:00:02 L1i cache: 32K
15:00:02 L2 cache: 512K
15:00:02 L3 cache: 16384K
15:00:02 NUMA node0 CPU(s): 0-7
15:00:02 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl xtopology cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr arat npt nrip_save umip rdpid arch_capabilities
15:00:02
15:00:02
15:00:02 ---> nproc:
15:00:02 8
15:00:02
15:00:02
15:00:02 ---> df -h:
15:00:02 Filesystem Size Used Avail Use% Mounted on
15:00:02 udev 16G 0 16G 0% /dev
15:00:02 tmpfs 3.2G 712K 3.2G 1% /run
15:00:02 /dev/vda1 155G 11G 145G 7% /
15:00:02 tmpfs 16G 0 16G 0% /dev/shm
15:00:02 tmpfs 5.0M 0 5.0M 0% /run/lock
15:00:02 tmpfs 16G 0 16G 0% /sys/fs/cgroup
15:00:02 /dev/vda15 105M 4.4M 100M 5% /boot/efi
15:00:02 tmpfs 3.2G 0 3.2G 0% /run/user/1001
15:00:02
15:00:02
15:00:02 ---> free -m:
15:00:02 total used free shared buff/cache available
15:00:02 Mem: 32167 798 28276 0 3092 30913
15:00:02 Swap: 1023 0 1023
15:00:02
15:00:02
15:00:02 ---> ip addr:
15:00:02 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
15:00:02 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
15:00:02 inet 127.0.0.1/8 scope host lo
15:00:02 valid_lft forever preferred_lft forever
15:00:02 inet6 ::1/128 scope host
15:00:02 valid_lft forever preferred_lft forever
15:00:02 2: ens3: mtu 1458 qdisc fq_codel state UP group default qlen 1000
15:00:02 link/ether fa:16:3e:d2:f6:aa brd ff:ff:ff:ff:ff:ff
15:00:02 inet 10.30.106.23/23 brd 10.30.107.255 scope global dynamic ens3
15:00:02 valid_lft 86005sec preferred_lft 86005sec
15:00:02 inet6 fe80::f816:3eff:fed2:f6aa/64 scope link
15:00:02 valid_lft forever preferred_lft forever
15:00:02 3: docker0: mtu 1500 qdisc noqueue state DOWN group default
15:00:02 link/ether 02:42:73:c1:0b:c2 brd ff:ff:ff:ff:ff:ff
15:00:02 inet 10.250.0.254/24 brd 10.250.0.255 scope global docker0
15:00:02 valid_lft forever preferred_lft forever
15:00:02 inet6 fe80::42:73ff:fec1:bc2/64 scope link
15:00:02 valid_lft forever preferred_lft forever
15:00:02
15:00:02
15:00:02 ---> sar -b -r -n DEV:
15:00:02 Linux 4.15.0-192-generic (prd-ubuntu1804-docker-8c-8g-2777) 12/06/23 _x86_64_ (8 CPU)
15:00:02
15:00:02 14:53:30 LINUX RESTART (8 CPU)
15:00:02
15:00:02 14:54:01 tps rtps wtps bread/s bwrtn/s
15:00:02 14:55:01 108.98 36.28 72.70 1692.93 21907.20
15:00:02 14:56:01 196.58 9.10 187.49 1643.86 49566.94
15:00:02 14:57:01 65.82 0.08 65.74 9.07 17955.81
15:00:02 14:58:01 94.53 0.18 94.35 14.13 17953.27
15:00:02 14:59:01 163.79 24.75 139.04 683.62 21552.41
15:00:02 15:00:01 46.81 1.22 45.59 59.46 15234.66
15:00:02 Average: 112.75 11.93 100.82 683.82 24028.44
15:00:02
15:00:02 14:54:01 kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
15:00:02 14:55:01 30027068 31708992 2912152 8.84 71504 1919360 1463408 4.31 875048 1748996 184636
15:00:02 14:56:01 29428288 31715488 3510932 10.66 92180 2476260 1572012 4.63 980336 2176880 18992
15:00:02 14:57:01 29365984 31699968 3573236 10.85 93676 2518524 1619296 4.76 1023360 2186152 2468
15:00:02 14:58:01 29218952 31688728 3720268 11.29 99972 2641100 1569540 4.62 1119580 2223368 5332
15:00:02 14:59:01 28910556 31595884 4028664 12.23 113420 2823228 1987852 5.85 1259080 2359432 936
15:00:02 15:00:01 28984176 31684296 3955044 12.01 118200 2833716 1455600 4.28 1193708 2357676 32744
15:00:02 Average: 29322504 31682226 3616716 10.98 98159 2535365 1611285 4.74 1075185 2175417 40851
15:00:02
15:00:02 14:54:01 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil
15:00:02 14:55:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
15:00:02 14:55:01 ens3 112.83 78.62 1712.43 13.45 0.00 0.00 0.00 0.00
15:00:02 14:55:01 lo 1.47 1.47 0.16 0.16 0.00 0.00 0.00 0.00
15:00:02 14:56:01 docker0 62.52 115.96 3.34 1775.47 0.00 0.00 0.00 0.00
15:00:02 14:56:01 ens3 169.14 97.58 2444.48 11.56 0.00 0.00 0.00 0.00
15:00:02 14:56:01 veth6df05b9 4.40 6.42 0.31 31.33 0.00 0.00 0.00 0.00
15:00:02 14:56:01 lo 2.67 2.67 0.26 0.26 0.00 0.00 0.00 0.00
15:00:02 14:57:01 docker0 6.18 7.17 0.42 75.59 0.00 0.00 0.00 0.00
15:00:02 14:57:01 ens3 31.74 29.25 81.08 6.23 0.00 0.00 0.00 0.00
15:00:02 14:57:01 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
15:00:02 14:57:01 veth29504e0 0.92 1.13 0.08 5.05 0.00 0.00 0.00 0.00
15:00:02 14:58:01 docker0 9.98 16.21 0.60 227.69 0.00 0.00 0.00 0.00
15:00:02 14:58:01 vethb317c5c 0.00 0.12 0.00 0.01 0.00 0.00 0.00 0.00
15:00:02 14:58:01 ens3 26.53 19.93 230.67 3.34 0.00 0.00 0.00 0.00
15:00:02 14:58:01 lo 0.20 0.20 0.01 0.01 0.00 0.00 0.00 0.00
15:00:02 14:59:01 docker0 11.95 12.88 3.64 81.47 0.00 0.00 0.00 0.00
15:00:02 14:59:01 ens3 33.98 25.53 503.37 4.35 0.00 0.00 0.00 0.00
15:00:02 14:59:01 veth0c32251 7.60 7.33 3.32 1.48 0.00 0.00 0.00 0.00
15:00:02 14:59:01 lo 13.63 13.63 4.63 4.63 0.00 0.00 0.00 0.00
15:00:02 15:00:01 docker0 1.42 1.35 0.55 0.23 0.00 0.00 0.00 0.00
15:00:02 15:00:01 ens3 26.03 22.70 62.17 10.04 0.00 0.00 0.00 0.00
15:00:02 15:00:01 lo 3.30 3.30 0.82 0.82 0.00 0.00 0.00 0.00
15:00:02 Average: docker0 15.34 25.60 1.43 360.09 0.00 0.00 0.00 0.00
15:00:02 Average: ens3 66.71 45.60 839.01 8.16 0.00 0.00 0.00 0.00
15:00:02 Average: lo 3.54 3.54 0.98 0.98 0.00 0.00 0.00 0.00
15:00:02
15:00:02
15:00:02 ---> sar -P ALL:
15:00:02 Linux 4.15.0-192-generic (prd-ubuntu1804-docker-8c-8g-2777) 12/06/23 _x86_64_ (8 CPU)
15:00:02
15:00:02 14:53:30 LINUX RESTART (8 CPU)
15:00:02
15:00:02 14:54:01 CPU %user %nice %system %iowait %steal %idle
15:00:02 14:55:01 all 10.16 0.00 0.78 1.76 0.04 87.26
15:00:02 14:55:01 0 10.74 0.00 0.77 0.53 0.03 87.92
15:00:02 14:55:01 1 3.68 0.00 0.33 0.50 0.02 95.47
15:00:02 14:55:01 2 0.75 0.00 0.50 9.41 0.03 89.30
15:00:02 14:55:01 3 4.28 0.00 0.48 1.22 0.02 94.00
15:00:02 14:55:01 4 1.92 0.00 0.43 0.28 0.03 97.33
15:00:02 14:55:01 5 6.61 0.00 0.50 0.20 0.10 92.59
15:00:02 14:55:01 6 39.91 0.00 2.38 1.70 0.07 55.94
15:00:02 14:55:01 7 13.39 0.00 0.84 0.23 0.03 85.51
15:00:02 14:56:01 all 12.94 0.00 1.51 2.64 0.05 82.86
15:00:02 14:56:01 0 18.66 0.00 1.92 0.80 0.03 78.58
15:00:02 14:56:01 1 8.18 0.00 1.54 4.19 0.03 86.06
15:00:02 14:56:01 2 7.96 0.00 1.94 5.76 0.03 84.30
15:00:02 14:56:01 3 16.51 0.00 1.20 1.44 0.03 80.81
15:00:02 14:56:01 4 14.20 0.00 1.17 1.78 0.03 82.82
15:00:02 14:56:01 5 17.04 0.00 2.23 6.40 0.07 74.27
15:00:02 14:56:01 6 7.24 0.00 0.82 0.60 0.03 91.30
15:00:02 14:56:01 7 13.71 0.00 1.26 0.12 0.08 84.83
15:00:02 14:57:01 all 13.76 0.00 1.64 1.31 0.07 83.21
15:00:02 14:57:01 0 8.48 0.00 1.60 0.42 0.05 89.45
15:00:02 14:57:01 1 10.59 0.00 1.55 0.18 0.03 87.64
15:00:02 14:57:01 2 4.88 0.00 1.28 1.50 0.20 92.13
15:00:02 14:57:01 3 12.16 0.00 1.54 0.84 0.05 85.41
15:00:02 14:57:01 4 12.51 0.00 1.91 6.35 0.07 79.16
15:00:02 14:57:01 5 45.63 0.00 2.20 0.47 0.08 51.62
15:00:02 14:57:01 6 5.16 0.00 1.32 0.72 0.05 92.75
15:00:02 14:57:01 7 10.85 0.00 1.72 0.03 0.03 87.36
15:00:02 14:58:01 all 3.37 0.00 1.02 9.77 0.04 85.81
15:00:02 14:58:01 0 4.89 0.00 1.10 6.06 0.03 87.92
15:00:02 14:58:01 1 3.00 0.00 0.80 4.03 0.03 92.14
15:00:02 14:58:01 2 3.64 0.00 1.25 1.27 0.05 93.79
15:00:02 14:58:01 3 2.36 0.00 0.92 4.46 0.03 92.23
15:00:02 14:58:01 4 2.86 0.00 1.04 12.66 0.03 83.41
15:00:02 14:58:01 5 2.58 0.00 0.59 1.59 0.05 95.20
15:00:02 14:58:01 6 4.67 0.00 1.09 1.39 0.03 92.82
15:00:02 14:58:01 7 2.96 0.00 1.36 46.73 0.03 48.92
15:00:02 14:59:01 all 6.89 0.00 1.55 3.47 0.06 88.03
15:00:02 14:59:01 0 4.92 0.00 1.57 0.38 0.07 93.06
15:00:02 14:59:01 1 4.41 0.00 1.29 2.71 0.07 91.53
15:00:02 14:59:01 2 2.76 0.00 1.54 2.90 0.05 92.75
15:00:02 14:59:01 3 13.18 0.00 1.91 2.34 0.05 82.52
15:00:02 14:59:01 4 4.94 0.00 1.81 0.60 0.07 92.59
15:00:02 14:59:01 5 7.57 0.00 1.32 0.58 0.05 90.48
15:00:02 14:59:01 6 13.09 0.00 1.59 2.40 0.05 82.87
15:00:02 14:59:01 7 4.23 0.00 1.36 15.90 0.12 78.40
15:00:02 15:00:01 all 8.32 0.00 0.54 3.84 0.03 87.27
15:00:02 15:00:01 0 7.98 0.00 0.43 1.34 0.02 90.23
15:00:02 15:00:01 1 25.74 0.00 1.09 1.18 0.05 71.94
15:00:02 15:00:01 2 13.58 0.00 0.97 0.90 0.05 84.50
15:00:02 15:00:01 3 2.57 0.00 0.32 1.22 0.02 95.88
15:00:02 15:00:01 4 0.35 0.00 0.27 3.48 0.03 95.87
15:00:02 15:00:01 5 4.09 0.00 0.37 0.12 0.02 95.41
15:00:02 15:00:01 6 0.52 0.00 0.30 0.25 0.02 98.92
15:00:02 15:00:01 7 11.86 0.00 0.55 22.34 0.03 65.22
15:00:02 Average: all 9.24 0.00 1.17 3.80 0.05 85.74
15:00:02 Average: 0 9.28 0.00 1.23 1.59 0.04 87.86
15:00:02 Average: 1 9.25 0.00 1.10 2.13 0.04 87.48
15:00:02 Average: 2 5.59 0.00 1.25 3.62 0.07 89.47
15:00:02 Average: 3 8.50 0.00 1.06 1.92 0.03 88.48
15:00:02 Average: 4 6.12 0.00 1.10 4.19 0.04 88.54
15:00:02 Average: 5 13.88 0.00 1.20 1.55 0.06 83.31
15:00:02 Average: 6 11.77 0.00 1.25 1.18 0.04 85.76
15:00:02 Average: 7 9.50 0.00 1.18 14.22 0.06 75.04
15:00:02
15:00:02
15:00:02