2025-04-14 01:36:52,996: INFO: Building contrail-controller-config-api 2025-04-14 01:36:53,032: INFO: Building args: --network host --build-arg PIP_REPOSITORY=http://localhost:6667/pip/simple --build-arg CONTRAIL_REGISTRY=nexus.gz1.opensdn.io:5102 --build-arg CONTRAIL_CONTAINER_TAG=nightly --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} ---> 12a9558a485f Step 4/10 : ARG PIP_REPOSITORY ---> Running in 9efe7ce6a992 ---> Removed intermediate container 9efe7ce6a992 ---> 53371576fc90 Step 5/10 : ARG CONTAINER_NAME ---> Running in 812739d8018c ---> Removed intermediate container 812739d8018c ---> 00f45f0742bb Step 6/10 : ENV SERVICE_NAME=api CONTAINER_NAME=$CONTAINER_NAME ---> Running in 5995beca82a9 ---> Removed intermediate container 5995beca82a9 ---> e7fb0e814b51 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 034745dfba8c ---> Removed intermediate container 034745dfba8c ---> 91a0a8259f64 Step 8/10 : COPY *.sh / ---> 1c079025d560 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 8746baec7f52 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 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: bottle<0.13 in /usr/local/lib/python3.6/site-packages (from contrail-api-server==0.1.dev0) (0.12.25) 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) 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: kazoo in /usr/local/lib/python3.6/site-packages (from contrail-api-server==0.1.dev0) (2.10.0) 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' 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: 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: stevedore in /usr/local/lib/python3.6/site-packages (from contrail-api-server==0.1.dev0) (3.5.2) 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: netaddr<1 in /usr/local/lib/python3.6/site-packages (from contrail-api-server==0.1.dev0) (0.10.1) 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: 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: 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: 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: 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: 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: 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: setuptools in /usr/local/lib/python3.6/site-packages (from gevent->contrail-api-server==0.1.dev0) (59.6.0) 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: 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: 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 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: 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: 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: 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.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.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 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 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 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.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 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.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.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 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: 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 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 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 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 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 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: 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) 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: 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) 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' 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 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 Loaded plugins: fastestmirror, ovl Determining fastest mirrors Resolving Dependencies --> Running transaction check ---> Package contrail-docs.x86_64 0:nightly-nightly.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: contrail-docs x86_64 nightly-nightly.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-nightly-nightly.el7.x86_64 1/1 Verifying : contrail-docs-nightly-nightly.el7.x86_64 1/1 Installed: contrail-docs.x86_64 0:nightly-nightly.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 8746baec7f52 ---> a6ed61f7825b Step 10/10 : ENTRYPOINT ["/entrypoint.sh"] ---> Running in 7c5f85977e5f ---> Removed intermediate container 7c5f85977e5f ---> ac943b20546b [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 ac943b20546b Successfully tagged nexus.gz1.opensdn.io:5102/contrail-controller-config-api:nightly Successfully tagged nexus.gz1.opensdn.io:5102/opensdn-controller-config-api:nightly 2025-04-14 01:40:35,109: INFO: Docker build duration: 223 seconds The push refers to repository [nexus.gz1.opensdn.io:5102/contrail-controller-config-api] 1c9bd28a3ec8: Preparing f6fedd9b1da4: Preparing b134de6c2cd2: Preparing b2845bfa3ae0: Preparing fc74abd6211f: Preparing 783da8055c3d: Preparing f27e01eb2aea: Preparing 4c25b287e677: Preparing 2f2acb0c3b8b: Preparing 482f62afb81f: Preparing 174f56854903: Preparing b134de6c2cd2: Waiting b2845bfa3ae0: Waiting fc74abd6211f: Waiting 783da8055c3d: Waiting f27e01eb2aea: Waiting 4c25b287e677: Waiting 2f2acb0c3b8b: Waiting 482f62afb81f: Waiting 174f56854903: Waiting b2845bfa3ae0: Layer already exists b134de6c2cd2: Layer already exists fc74abd6211f: Layer already exists f6fedd9b1da4: Pushed 783da8055c3d: Layer already exists f27e01eb2aea: Layer already exists 4c25b287e677: Layer already exists 2f2acb0c3b8b: Layer already exists 482f62afb81f: Layer already exists 174f56854903: Layer already exists 1c9bd28a3ec8: Pushed nightly: digest: sha256:3ea493a9d8202abc1070d5fbd9a188f2c892caf9c4dbf8a5f9ecd3396c494f15 size: 2620 The push refers to repository [nexus.gz1.opensdn.io:5102/opensdn-controller-config-api] 1c9bd28a3ec8: Preparing f6fedd9b1da4: Preparing b134de6c2cd2: Preparing b2845bfa3ae0: Preparing fc74abd6211f: Preparing 783da8055c3d: Preparing f27e01eb2aea: Preparing 4c25b287e677: Preparing 2f2acb0c3b8b: Preparing 482f62afb81f: Preparing 174f56854903: Preparing fc74abd6211f: Waiting 783da8055c3d: Waiting f27e01eb2aea: Waiting 4c25b287e677: Waiting 2f2acb0c3b8b: Waiting 482f62afb81f: Waiting 174f56854903: Waiting 1c9bd28a3ec8: Layer already exists f6fedd9b1da4: Layer already exists b134de6c2cd2: Layer already exists b2845bfa3ae0: Layer already exists fc74abd6211f: Layer already exists 783da8055c3d: Layer already exists f27e01eb2aea: Layer already exists 4c25b287e677: Layer already exists 2f2acb0c3b8b: Layer already exists 482f62afb81f: Layer already exists 174f56854903: Layer already exists nightly: digest: sha256:3ea493a9d8202abc1070d5fbd9a188f2c892caf9c4dbf8a5f9ecd3396c494f15 size: 2620 2025-04-14 01:41:04,460: INFO: Building contrail-controller-config-api finished successfully, duration: 252 seconds