2025-04-21 07:24:07,125: INFO: Building contrail-controller-config-api 2025-04-21 07:24:07,179: INFO: Building args: --network host --build-arg PIP_REPOSITORY=http://localhost:6667/pip/simple --build-arg CONTRAIL_REGISTRY=nexus.gz1.opensdn.io:5101 --build-arg CONTRAIL_CONTAINER_TAG=master-1_5_8_8-5 --build-arg SITE_MIRROR=http://nexus.gz1.opensdn.io/repository/external-web-cache --build-arg LINUX_DISTR_VER=7 --build-arg LINUX_DISTR=centos --build-arg GENERAL_EXTRA_RPMS="" --build-arg BASE_EXTRA_RPMS="" --build-arg YUM_ENABLE_REPOS="" --build-arg CONTAINER_NAME=contrail-controller-config-api --build-arg UBUNTU_DISTR_VERSION=22.04 --build-arg UBUNTU_DISTR=ubuntu --build-arg VENDOR_NAME=OpenSDN-IO --build-arg VENDOR_DOMAIN=io.opensdn Sending build context to Docker daemon 15.87 kB Step 1/10 : ARG CONTRAIL_REGISTRY Step 2/10 : ARG CONTRAIL_CONTAINER_TAG Step 3/10 : FROM ${CONTRAIL_REGISTRY}/opensdn-controller-config-base:${CONTRAIL_CONTAINER_TAG} ---> d21fbb4bf38b Step 4/10 : ARG PIP_REPOSITORY ---> Running in bb793d72f3f8 ---> Removed intermediate container bb793d72f3f8 ---> 68ab28ea5b71 Step 5/10 : ARG CONTAINER_NAME ---> Running in 5f9f240dcda7 ---> Removed intermediate container 5f9f240dcda7 ---> 17cb2ce54448 Step 6/10 : ENV SERVICE_NAME=api CONTAINER_NAME=$CONTAINER_NAME ---> Running in d24b39d09cc0 ---> Removed intermediate container d24b39d09cc0 ---> 2692704c4236 Step 7/10 : LABEL name=$CONTAINER_NAME summary="Contrail Controller Configuration API" description="Controller Configuration API provides a REST API to an orchestration system." $VENDOR_DOMAIN".service"=$SERVICE_NAME $VENDOR_DOMAIN".container.name"=$CONTAINER_NAME ---> Running in 70417985d86b ---> Removed intermediate container 70417985d86b ---> 2ad5755f353d Step 8/10 : COPY *.sh / ---> c83e367cac75 Step 9/10 : RUN set -e ; python3 -m pip install --no-compile --extra-index-url $PIP_REPOSITORY "contrail-api-server==0.1.dev0" "vnc_openstack==0.1.dev0" "contrail_issu==0.1.dev0" ; rm -rf /root/.cache ; yum install -y contrail-docs ; yum clean all -y ; rm -rf /var/cache/yum ---> Running in e39608c6e838 Looking in indexes: http://tf-mirrors.gz1.opensdn.io/root/pypi/+simple/, http://localhost:6667/pip/simple Collecting contrail-api-server==0.1.dev0 Downloading http://localhost:6667/pip/simple/contrail-api-server/contrail_api_server-0.1.dev0-py3-none-any.whl (516 kB) Collecting vnc_openstack==0.1.dev0 Downloading http://localhost:6667/pip/simple/vnc-openstack/vnc_openstack-0.1.dev0-py3-none-any.whl (125 kB) Collecting contrail_issu==0.1.dev0 Downloading http://localhost:6667/pip/simple/contrail-issu/contrail_issu-0.1.dev0-py3-none-any.whl (13 kB) Requirement already satisfied: sandesh-common==0.1.dev0 in /usr/local/lib/python3.6/site-packages (from contrail-api-server==0.1.dev0) (0.1.dev0) Requirement already satisfied: netaddr<1 in /usr/local/lib/python3.6/site-packages (from contrail-api-server==0.1.dev0) (0.10.1) Requirement already satisfied: contrail-config-common==0.1.dev0 in /usr/local/lib/python3.6/site-packages (from contrail-api-server==0.1.dev0) (0.1.dev0) Collecting keystoneauth1 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/c41/b041abed17f5e/keystoneauth1-5.1.3-py3-none-any.whl (318 kB) Collecting uwsgi Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/6bd/150ae60d0d994/uwsgi-2.0.29.tar.gz (822 kB) Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Requirement already satisfied: contrail-api-client==0.1.dev0 in /usr/local/lib/python3.6/site-packages (from contrail-api-server==0.1.dev0) (0.1.dev0) Requirement already satisfied: sandesh==0.1.dev0 in /usr/local/lib/python3.6/site-packages (from contrail-api-server==0.1.dev0) (0.1.dev0) Collecting python-keystoneclient Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/5ba/d91bda4f6f565/python_keystoneclient-4.5.0-py3-none-any.whl (398 kB) Requirement already satisfied: kazoo in /usr/local/lib/python3.6/site-packages (from contrail-api-server==0.1.dev0) (2.10.0) Collecting netifaces Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/28f/4bf3a1361ab3e/netifaces-0.11.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (32 kB) Requirement already satisfied: stevedore in /usr/local/lib/python3.6/site-packages (from contrail-api-server==0.1.dev0) (3.5.2) Requirement already satisfied: gevent in /usr/local/lib64/python3.6/site-packages (from contrail-api-server==0.1.dev0) (22.10.2) Collecting keystonemiddleware Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/665/4d46b30f8a77f/keystonemiddleware-9.5.0-py3-none-any.whl (119 kB) Collecting pycrypto Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/f2c/e1e989b272cfc/pycrypto-2.6.1.tar.gz (446 kB) Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Requirement already satisfied: bottle<0.13 in /usr/local/lib/python3.6/site-packages (from contrail-api-server==0.1.dev0) (0.12.25) Requirement already satisfied: requests in /usr/local/lib/python3.6/site-packages (from vnc_openstack==0.1.dev0) (2.27.1) Collecting python-novaclient Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/7f3/cbe33a65f8fc3/python_novaclient-17.7.0-py3-none-any.whl (333 kB) Requirement already satisfied: timeout-decorator in /usr/local/lib/python3.6/site-packages (from vnc_openstack==0.1.dev0) (0.5.0) Requirement already satisfied: simplejson in /usr/local/lib64/python3.6/site-packages (from contrail-config-common==0.1.dev0->contrail-api-server==0.1.dev0) (3.20.1) Requirement already satisfied: xmltodict==0.12.0 in /usr/local/lib/python3.6/site-packages (from contrail-config-common==0.1.dev0->contrail-api-server==0.1.dev0) (0.12.0) Requirement already satisfied: kombu in /usr/local/lib/python3.6/site-packages (from contrail-config-common==0.1.dev0->contrail-api-server==0.1.dev0) (5.1.0) Requirement already satisfied: bitarray in /usr/local/lib64/python3.6/site-packages (from contrail-config-common==0.1.dev0->contrail-api-server==0.1.dev0) (3.3.1) Requirement already satisfied: cassandra-driver in /usr/local/lib64/python3.6/site-packages (from contrail-config-common==0.1.dev0->contrail-api-server==0.1.dev0) (3.29.2) Requirement already satisfied: greenlet in /usr/local/lib64/python3.6/site-packages (from contrail-config-common==0.1.dev0->contrail-api-server==0.1.dev0) (2.0.2) Requirement already satisfied: fysom in /usr/local/lib/python3.6/site-packages (from sandesh==0.1.dev0->contrail-api-server==0.1.dev0) (2.1.6) Requirement already satisfied: importlib-resources in /usr/local/lib/python3.6/site-packages (from netaddr<1->contrail-api-server==0.1.dev0) (5.4.0) Requirement already satisfied: zope.event in /usr/local/lib/python3.6/site-packages (from gevent->contrail-api-server==0.1.dev0) (4.6) Requirement already satisfied: zope.interface in /usr/local/lib64/python3.6/site-packages (from gevent->contrail-api-server==0.1.dev0) (5.5.2) Requirement already satisfied: setuptools in /usr/local/lib/python3.6/site-packages (from gevent->contrail-api-server==0.1.dev0) (59.6.0) Collecting os-service-types>=1.2.0 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/050/5c72205690910/os_service_types-1.7.0-py2.py3-none-any.whl (24 kB) Collecting iso8601>=0.1.11 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/840/0e90141bf792b/iso8601-1.1.0-py3-none-any.whl (9.9 kB) Requirement already satisfied: pbr!=2.1.0,>=2.0.0 in /usr/local/lib/python3.6/site-packages (from keystoneauth1->contrail-api-server==0.1.dev0) (6.1.1) Requirement already satisfied: six>=1.10.0 in /usr/local/lib/python3.6/site-packages (from keystoneauth1->contrail-api-server==0.1.dev0) (1.17.0) Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.6/site-packages (from requests->vnc_openstack==0.1.dev0) (1.26.20) Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/site-packages (from requests->vnc_openstack==0.1.dev0) (2025.1.31) Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.6/site-packages (from requests->vnc_openstack==0.1.dev0) (3.10) Requirement already satisfied: charset-normalizer~=2.0.0 in /usr/local/lib/python3.6/site-packages (from requests->vnc_openstack==0.1.dev0) (2.0.12) Requirement already satisfied: importlib-metadata>=1.7.0 in /usr/local/lib/python3.6/site-packages (from stevedore->contrail-api-server==0.1.dev0) (4.8.3) Collecting oslo.config>=5.2.0 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/643/130555aa66c31/oslo.config-8.8.1-py3-none-any.whl (128 kB) Collecting oslo.serialization!=2.19.1,>=2.18.0 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/6c1/c483231c38277/oslo.serialization-4.3.0-py3-none-any.whl (25 kB) Collecting WebOb>=1.7.1 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/45e/34c58ed0c7e2e/WebOb-1.8.9-py2.py3-none-any.whl (115 kB) Collecting pycadf!=2.0.0,>=1.1.0 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/b1f/a1dea7638c0f6/pycadf-3.1.1-py3-none-any.whl (39 kB) Collecting oslo.cache>=1.26.0 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/d14/b91dd5040367b/oslo.cache-2.11.0-py3-none-any.whl (69 kB) Collecting oslo.utils>=3.33.0 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/dab/26f205980a379/oslo.utils-4.13.0-py3-none-any.whl (101 kB) Collecting oslo.log>=3.36.0 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/b06/1c66ec176cf5b/oslo.log-4.8.0-py3-none-any.whl (71 kB) Collecting oslo.context>=2.19.2 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/a0c/f84fe7970cc07/oslo.context-4.1.0-py3-none-any.whl (20 kB) Collecting oslo.i18n>=3.15.3 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/750/86cfd89881963/oslo.i18n-5.1.0-py3-none-any.whl (46 kB) Collecting debtcollector>=1.2.0 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/139/3a527d2c72f14/debtcollector-2.5.0-py3-none-any.whl (23 kB) Collecting packaging>=20.4 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/ef1/03e05f519cdc7/packaging-21.3-py3-none-any.whl (40 kB) Collecting PrettyTable>=0.7.2 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/141/1c65d21dca9ea/prettytable-2.5.0-py3-none-any.whl (24 kB) Collecting wrapt>=1.7.0 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/3eb/f019be5c09d40/wrapt-1.16.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (77 kB) Requirement already satisfied: typing-extensions>=3.6.4 in /usr/local/lib/python3.6/site-packages (from importlib-metadata>=1.7.0->stevedore->contrail-api-server==0.1.dev0) (4.1.1) Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.6/site-packages (from importlib-metadata>=1.7.0->stevedore->contrail-api-server==0.1.dev0) (3.6.0) Collecting dogpile.cache>=1.1.5 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/f6c/2c6ff3a3dc7dc/dogpile.cache-1.2.2-py3-none-any.whl (52 kB) Collecting PyYAML>=5.1 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/afd/7e57eddb1a54f/PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (677 kB) Collecting rfc3986>=1.2.0 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/a86/d6e1f5b1dc238/rfc3986-1.5.0-py2.py3-none-any.whl (31 kB) Collecting pyinotify>=0.9.6 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/9c9/98a5d7606ca83/pyinotify-0.9.6.tar.gz (60 kB) Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting python-dateutil>=2.7.0 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/a8b/2bc7bffae2822/python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB) Collecting pytz>=2013.6 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/5dd/f76296dd8c44c/pytz-2025.2-py2.py3-none-any.whl (509 kB) Collecting msgpack>=0.5.2 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/b1d/46dfe3832660f/msgpack-1.0.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (300 kB) Collecting pyparsing>=2.1.0 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/a6a/7ee4235a3f944/pyparsing-3.1.4-py3-none-any.whl (104 kB) Collecting wcwidth Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/3da/69048e4540d84/wcwidth-0.2.13-py2.py3-none-any.whl (34 kB) Requirement already satisfied: geomet<0.3,>=0.1 in /usr/local/lib/python3.6/site-packages (from cassandra-driver->contrail-config-common==0.1.dev0->contrail-api-server==0.1.dev0) (0.2.1.post1) Requirement already satisfied: vine in /usr/local/lib/python3.6/site-packages (from kombu->contrail-config-common==0.1.dev0->contrail-api-server==0.1.dev0) (5.1.0) Requirement already satisfied: amqp<6.0.0,>=5.0.6 in /usr/local/lib/python3.6/site-packages (from kombu->contrail-config-common==0.1.dev0->contrail-api-server==0.1.dev0) (5.3.1) Requirement already satisfied: cached-property in /usr/local/lib/python3.6/site-packages (from kombu->contrail-config-common==0.1.dev0->contrail-api-server==0.1.dev0) (1.5.2) Collecting decorator>=4.0.0 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/b8c/3f85900b9dc42/decorator-5.1.1-py3-none-any.whl (9.1 kB) Requirement already satisfied: click in /usr/local/lib/python3.6/site-packages (from geomet<0.3,>=0.1->cassandra-driver->contrail-config-common==0.1.dev0->contrail-api-server==0.1.dev0) (8.0.4) Using legacy 'setup.py install' for pycrypto, since package 'wheel' is not installed. Using legacy 'setup.py install' for uwsgi, since package 'wheel' is not installed. Using legacy 'setup.py install' for pyinotify, since package 'wheel' is not installed. Installing collected packages: wrapt, pyparsing, pytz, packaging, oslo.i18n, netifaces, iso8601, debtcollector, rfc3986, PyYAML, oslo.utils, msgpack, python-dateutil, pyinotify, oslo.serialization, oslo.context, oslo.config, os-service-types, decorator, wcwidth, oslo.log, keystoneauth1, dogpile.cache, WebOb, python-keystoneclient, pycadf, PrettyTable, oslo.cache, uwsgi, python-novaclient, pycrypto, keystonemiddleware, vnc-openstack, contrail-issu, contrail-api-server Running setup.py install for pyinotify: started Running setup.py install for pyinotify: finished with status 'done' Running setup.py install for uwsgi: started Running setup.py install for uwsgi: finished with status 'done' Running setup.py install for pycrypto: started Running setup.py install for pycrypto: finished with status 'done' Successfully installed PrettyTable-2.5.0 PyYAML-6.0.1 WebOb-1.8.9 contrail-api-server-0.1.dev0 contrail-issu-0.1.dev0 debtcollector-2.5.0 decorator-5.1.1 dogpile.cache-1.2.2 iso8601-1.1.0 keystoneauth1-5.1.3 keystonemiddleware-9.5.0 msgpack-1.0.5 netifaces-0.11.0 os-service-types-1.7.0 oslo.cache-2.11.0 oslo.config-8.8.1 oslo.context-4.1.0 oslo.i18n-5.1.0 oslo.log-4.8.0 oslo.serialization-4.3.0 oslo.utils-4.13.0 packaging-21.3 pycadf-3.1.1 pycrypto-2.6.1 pyinotify-0.9.6 pyparsing-3.1.4 python-dateutil-2.9.0.post0 python-keystoneclient-4.5.0 python-novaclient-17.7.0 pytz-2025.2 rfc3986-1.5.0 uwsgi-2.0.29 vnc-openstack-0.1.dev0 wcwidth-0.2.13 wrapt-1.16.0 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv Loaded plugins: fastestmirror, ovl Determining fastest mirrors Resolving Dependencies --> Running transaction check ---> Package contrail-docs.x86_64 0:master.1.5.8.5.2-master_1_5_8_5_2.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: contrail-docs x86_64 master.1.5.8.5.2-master_1_5_8_5_2.el7 contrail 4.5 M Transaction Summary ================================================================================ Install 1 Package Total download size: 4.5 M Installed size: 57 M Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : contrail-docs-master.1.5.8.5.2-master_1_5_8_5_2.el7.x86_64 1/1 Verifying : contrail-docs-master.1.5.8.5.2-master_1_5_8_5_2.el7.x86_64 1/1 Installed: contrail-docs.x86_64 0:master.1.5.8.5.2-master_1_5_8_5_2.el7 Complete! Loaded plugins: fastestmirror, ovl Cleaning repos: contrail tf-mirrors.ci_repos_centos-openstack-queens : tf-mirrors.ci_repos_dockerrepo tf-mirrors.ci_repos_yum7-base : tf-mirrors.ci_repos_yum7-centos-sclo-rh : tf-mirrors.ci_repos_yum7-centosplus : tf-mirrors.ci_repos_yum7-extras tf-mirrors.ci_repos_yum7-updates : tpc Cleaning up list of fastest mirrors ---> Removed intermediate container e39608c6e838 ---> 4d490c485f21 Step 10/10 : ENTRYPOINT ["/entrypoint.sh"] ---> Running in 2fa9ce6e0de3 ---> Removed intermediate container 2fa9ce6e0de3 ---> 794018d90d03 [Warning] One or more build-args [BASE_EXTRA_RPMS GENERAL_EXTRA_RPMS LINUX_DISTR LINUX_DISTR_VER SITE_MIRROR UBUNTU_DISTR UBUNTU_DISTR_VERSION VENDOR_DOMAIN VENDOR_NAME YUM_ENABLE_REPOS] were not consumed Successfully built 794018d90d03 Successfully tagged nexus.gz1.opensdn.io:5101/contrail-controller-config-api:master-1_5_8_8-5 Successfully tagged nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-1_5_8_8-5 2025-04-21 07:27:45,353: INFO: Docker build duration: 218 seconds The push refers to repository [nexus.gz1.opensdn.io:5101/contrail-controller-config-api] 74f939fd6325: Preparing f704020634d0: Preparing 1665b9ad126e: Preparing b5a5efc605be: Preparing 2c14baf9610b: Preparing 276e485d222c: Preparing 9a181a67e934: Preparing e1fba7b70733: Preparing 97a8a9c4067a: Preparing dd89ee90bb92: Preparing 174f56854903: Preparing 9a181a67e934: Waiting e1fba7b70733: Waiting 97a8a9c4067a: Waiting dd89ee90bb92: Waiting 174f56854903: Waiting 276e485d222c: Waiting 2c14baf9610b: Waiting f704020634d0: Pushed b5a5efc605be: Layer already exists 1665b9ad126e: Layer already exists 2c14baf9610b: Layer already exists 276e485d222c: Layer already exists e1fba7b70733: Layer already exists 9a181a67e934: Layer already exists 174f56854903: Layer already exists 97a8a9c4067a: Layer already exists dd89ee90bb92: Layer already exists 74f939fd6325: Pushed master-1_5_8_8-5: digest: sha256:e64cda529e1f5d37006f9670e193122503a668443b45124bce8ae9e35aaaafb4 size: 2620 The push refers to repository [nexus.gz1.opensdn.io:5101/opensdn-controller-config-api] 74f939fd6325: Preparing f704020634d0: Preparing 1665b9ad126e: Preparing b5a5efc605be: Preparing 2c14baf9610b: Preparing 276e485d222c: Preparing 9a181a67e934: Preparing e1fba7b70733: Preparing 97a8a9c4067a: Preparing dd89ee90bb92: Preparing 174f56854903: Preparing b5a5efc605be: Waiting 2c14baf9610b: Waiting 276e485d222c: Waiting 9a181a67e934: Waiting e1fba7b70733: Waiting 97a8a9c4067a: Waiting dd89ee90bb92: Waiting 174f56854903: Waiting f704020634d0: Layer already exists 74f939fd6325: Layer already exists 1665b9ad126e: Layer already exists b5a5efc605be: Layer already exists 276e485d222c: Layer already exists 2c14baf9610b: Layer already exists 9a181a67e934: Layer already exists e1fba7b70733: Layer already exists 97a8a9c4067a: Layer already exists dd89ee90bb92: Layer already exists 174f56854903: Layer already exists master-1_5_8_8-5: digest: sha256:e64cda529e1f5d37006f9670e193122503a668443b45124bce8ae9e35aaaafb4 size: 2620 2025-04-21 07:27:55,585: INFO: Building contrail-controller-config-api finished successfully, duration: 228 seconds