2025-04-10 15:08:13,219: INFO: Building contrail-controller-config-api 2025-04-10 15:08:13,259: 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_2_2_1-3_1 --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} ---> b18cb9f93b8e Step 4/10 : ARG PIP_REPOSITORY ---> Running in c0b6ad3bd57a ---> Removed intermediate container c0b6ad3bd57a ---> 9b905bd72849 Step 5/10 : ARG CONTAINER_NAME ---> Running in cba85c1e11fe ---> Removed intermediate container cba85c1e11fe ---> 24c71097d481 Step 6/10 : ENV SERVICE_NAME=api CONTAINER_NAME=$CONTAINER_NAME ---> Running in 7a897eba61dc ---> Removed intermediate container 7a897eba61dc ---> c9603fb57a41 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 18ac817d2640 ---> Removed intermediate container 18ac817d2640 ---> 2af096fb7886 Step 8/10 : COPY *.sh / ---> 59027f5f10bd 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 68ed60157cc3 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) Collecting keystoneauth1 Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/c41/b041abed17f5e/keystoneauth1-5.1.3-py3-none-any.whl (318 kB) Requirement already satisfied: gevent in /usr/local/lib64/python3.6/site-packages (from contrail-api-server==0.1.dev0) (22.10.2) 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: 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: 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: netaddr<1 in /usr/local/lib/python3.6/site-packages (from contrail-api-server==0.1.dev0) (0.10.1) 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) 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: kazoo in /usr/local/lib/python3.6/site-packages (from contrail-api-server==0.1.dev0) (2.10.0) Collecting uwsgi Downloading http://tf-mirrors.gz1.opensdn.io/root/pypi/%2Bf/79c/a1891ef2df145/uwsgi-2.0.28.tar.gz (816 kB) Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' 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) 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: stevedore in /usr/local/lib/python3.6/site-packages (from contrail-api-server==0.1.dev0) (3.5.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) 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) 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: 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: 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: 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: bitarray in /usr/local/lib64/python3.6/site-packages (from contrail-config-common==0.1.dev0->contrail-api-server==0.1.dev0) (3.3.0) 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) 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) 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) 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) 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: idna<4,>=2.5 in /usr/local/lib/python3.6/site-packages (from requests->vnc_openstack==0.1.dev0) (3.10) 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: 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: 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: 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.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.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.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 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.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 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.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 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 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 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: 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) 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) 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.28 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.2.1.3-master_1_5_2_1_3.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: contrail-docs x86_64 master.1.5.2.1.3-master_1_5_2_1_3.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.2.1.3-master_1_5_2_1_3.el7.x86_64 1/1 Verifying : contrail-docs-master.1.5.2.1.3-master_1_5_2_1_3.el7.x86_64 1/1 Installed: contrail-docs.x86_64 0:master.1.5.2.1.3-master_1_5_2_1_3.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 68ed60157cc3 ---> 2879f302b49d Step 10/10 : ENTRYPOINT ["/entrypoint.sh"] ---> Running in ef7d3e127342 ---> Removed intermediate container ef7d3e127342 ---> 7376f3e5688d [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 7376f3e5688d Successfully tagged nexus.gz1.opensdn.io:5101/contrail-controller-config-api:master-1_2_2_1-3_1 Successfully tagged nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-1_2_2_1-3_1 2025-04-10 15:11:43,167: INFO: Docker build duration: 210 seconds The push refers to repository [nexus.gz1.opensdn.io:5101/contrail-controller-config-api] ff15b2a75771: Preparing 76f1bb23e00c: Preparing 22c7f9e1fd3d: Preparing 89d1d6c5f999: Preparing 0af2581ff9da: Preparing 075d9b136e24: Preparing 6480a040eaef: Preparing 3def6da9ff67: Preparing c59042022f57: Preparing 703a1d7ef332: Preparing 174f56854903: Preparing 075d9b136e24: Waiting 6480a040eaef: Waiting 3def6da9ff67: Waiting c59042022f57: Waiting 703a1d7ef332: Waiting 174f56854903: Waiting 76f1bb23e00c: Pushed 22c7f9e1fd3d: Layer already exists 0af2581ff9da: Layer already exists 89d1d6c5f999: Layer already exists 075d9b136e24: Layer already exists 6480a040eaef: Layer already exists 3def6da9ff67: Layer already exists c59042022f57: Layer already exists 703a1d7ef332: Layer already exists 174f56854903: Layer already exists ff15b2a75771: Pushed master-1_2_2_1-3_1: digest: sha256:28a65c95282c6867e66854c970e16875dda8756a96b5e2d8c6114bd742e2c9d9 size: 2620 The push refers to repository [nexus.gz1.opensdn.io:5101/opensdn-controller-config-api] ff15b2a75771: Preparing 76f1bb23e00c: Preparing 22c7f9e1fd3d: Preparing 89d1d6c5f999: Preparing 0af2581ff9da: Preparing 075d9b136e24: Preparing 6480a040eaef: Preparing 3def6da9ff67: Preparing c59042022f57: Preparing 703a1d7ef332: Preparing 174f56854903: Preparing 075d9b136e24: Waiting 6480a040eaef: Waiting 3def6da9ff67: Waiting c59042022f57: Waiting 703a1d7ef332: Waiting 174f56854903: Waiting ff15b2a75771: Layer already exists 0af2581ff9da: Layer already exists 76f1bb23e00c: Layer already exists 22c7f9e1fd3d: Layer already exists 89d1d6c5f999: Layer already exists 075d9b136e24: Layer already exists 6480a040eaef: Layer already exists c59042022f57: Layer already exists 3def6da9ff67: Layer already exists 703a1d7ef332: Layer already exists 174f56854903: Layer already exists master-1_2_2_1-3_1: digest: sha256:28a65c95282c6867e66854c970e16875dda8756a96b5e2d8c6114bd742e2c9d9 size: 2620 2025-04-10 15:11:53,773: INFO: Building contrail-controller-config-api finished successfully, duration: 220 seconds