#3 [internal] load .dockerignore #3 transferring context: 2B done #3 DONE 0.0s #4 [internal] load build context #4 transferring context: 21.85kB done #4 DONE 0.0s #5 [1/9] FROM docker.io/library/rockylinux:9@sha256:d7be1c094cc5845ee815d4632fe377514ee6ebcf8efaed6892889657e5ddaaa6 #5 resolve docker.io/library/rockylinux:9@sha256:d7be1c094cc5845ee815d4632fe377514ee6ebcf8efaed6892889657e5ddaaa6 0.0s done #5 sha256:d7be1c094cc5845ee815d4632fe377514ee6ebcf8efaed6892889657e5ddaaa6 4.72kB / 4.72kB done #5 sha256:d644d203142cd5b54ad2a83a203e1dee68af2229f8fe32f52a30c6e1d3c3a9e0 1.04kB / 1.04kB done #5 sha256:9cc24f05f309508aa852967ab1e3b582b302afc92605c24ce27715c683acd805 578B / 578B done #5 DONE 0.1s #6 [2/9] RUN mkdir /licenses #6 DONE 0.3s #7 [3/9] COPY licensing.txt /licenses #7 DONE 0.1s #8 [4/9] RUN mkdir -p /etc/yum.repos.d.bak/ ; cp -f /etc/yum.repos.d/* /etc/yum.repos.d.bak/ #8 0.108 /bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) #8 DONE 0.1s #9 [5/9] COPY *.repo /etc/yum.repos.d/ #9 DONE 0.1s #10 [6/9] COPY pip.conf /etc/ #10 DONE 0.1s #11 [7/9] COPY *.sh / #11 DONE 0.1s #12 [8/9] RUN set -ex ; if ! dnf info git-review ; then dnf -y install epel-release ; fi #12 0.104 /bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) #12 0.104 + dnf info git-review #12 0.322 Failed to set locale, defaulting to C.UTF-8 #12 0.724 added from: http://tf-mirrors.gz1.opensdn.io/re 70 MB/s | 14 MB 00:00 #12 2.543 added from: http://tf-mirrors.gz1.opensdn.io/re 40 MB/s | 1.9 MB 00:00 #12 2.959 added from: http://tf-mirrors.gz1.opensdn.io/re 14 MB/s | 402 kB 00:00 #12 3.275 added from: http://tf-mirrors.gz1.opensdn.io/re 86 MB/s | 16 MB 00:00 #12 6.739 added from: http://tf-mirrors.gz1.opensdn.io/re 80 MB/s | 11 MB 00:00 #12 9.166 added from: http://tf-mirrors.gz1.opensdn.io/re 31 MB/s | 1.1 MB 00:00 #12 9.568 added from: http://tf-mirrors.gz1.opensdn.io/re 61 MB/s | 4.8 MB 00:00 #12 10.75 added from: http://tf-mirrors.gz1.opensdn.io/re 20 MB/s | 697 kB 00:00 #12 11.05 added from: http://tf-mirrors.gz1.opensdn.io/re 19 MB/s | 474 kB 00:00 #12 11.30 added from: http://tf-mirrors.gz1.opensdn.io/re 964 kB/s | 18 kB 00:00 #12 11.48 added from: http://tf-mirrors.gz1.opensdn.io/re 14 kB/s | 257 B 00:00 #12 11.65 added from: http://tf-mirrors.gz1.opensdn.io/re 779 kB/s | 15 kB 00:00 #12 11.81 added from: http://tf-mirrors.gz1.opensdn.io/re 4.7 MB/s | 96 kB 00:00 #12 12.34 added from: http://tf-mirrors.gz1.opensdn.io/re 109 MB/s | 39 MB 00:00 #12 20.86 Third parties for OpenSDN 53 MB/s | 5.1 MB 00:00 #12 25.76 Available Packages #12 25.76 Name : git-review #12 25.76 Version : 2.3.1 #12 25.76 Release : 7.el9 #12 25.76 Architecture : noarch #12 25.76 Size : 86 k #12 25.76 Source : git-review-2.3.1-7.el9.src.rpm #12 25.76 Repository : tf-mirrors.ci_repos_epel9.repo #12 25.76 Summary : A Git helper for integration with Gerrit #12 25.76 URL : https://opendev.org/opendev/git-review #12 25.76 License : ASL 2.0 #12 25.76 Description : An extension for source control system Git that creates and manages #12 25.76 : review requests in the patch management system Gerrit. It replaces the #12 25.76 : rfc.sh script. #12 25.76 #12 DONE 26.0s #13 [9/9] RUN set -ex ; source /etc/os-release ; find /etc/yum.repos.d/ | grep -i centos | xargs -r rm ; ls -l /etc/yum.repos.d/ ; dnf -y update-minimal --security --sec-severity=Important --sec-severity=Critical ; dnf install -y hostname iproute less wget openssl glibc-langpack-en rsync procps-ng python3-pip ; dnf clean all -y ; rm -rf /var/cache/yum ; groupadd --gid 1999 --system contrail ; useradd -md /home/contrail --uid 1999 --shell /sbin/nologin --system --gid 1999 contrail #13 0.081 /bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) #13 0.081 + source /etc/os-release #13 0.081 ++ NAME='Rocky Linux' #13 0.081 ++ VERSION='9.3 (Blue Onyx)' #13 0.081 ++ ID=rocky #13 0.081 ++ ID_LIKE='rhel centos fedora' #13 0.081 ++ VERSION_ID=9.3 #13 0.081 ++ PLATFORM_ID=platform:el9 #13 0.081 ++ PRETTY_NAME='Rocky Linux 9.3 (Blue Onyx)' #13 0.081 ++ ANSI_COLOR='0;32' #13 0.081 ++ LOGO=fedora-logo-icon #13 0.081 ++ CPE_NAME=cpe:/o:rocky:rocky:9::baseos #13 0.081 ++ HOME_URL=https://rockylinux.org/ #13 0.081 ++ BUG_REPORT_URL=https://bugs.rockylinux.org/ #13 0.081 ++ SUPPORT_END=2032-05-31 #13 0.081 ++ ROCKY_SUPPORT_PRODUCT=Rocky-Linux-9 #13 0.081 ++ ROCKY_SUPPORT_PRODUCT_VERSION=9.3 #13 0.081 ++ REDHAT_SUPPORT_PRODUCT='Rocky Linux' #13 0.081 ++ REDHAT_SUPPORT_PRODUCT_VERSION=9.3 #13 0.081 + find /etc/yum.repos.d/ #13 0.081 + grep -i centos #13 0.081 + xargs -r rm #13 0.083 + ls -l /etc/yum.repos.d/ #13 0.086 total 32 #13 0.086 -rw-r--r--. 1 root root 2707 Jun 17 09:38 mirror-base-rocky9.repo #13 0.086 -rw-r--r--. 1 root root 217 Jun 17 09:38 mirror-docker9.repo #13 0.086 -rw-r--r--. 1 root root 204 Jun 17 09:38 mirror-epel9.repo #13 0.086 -rw-r--r--. 1 root root 1 Jun 17 09:38 rocky-addons.repo #13 0.086 -rw-r--r--. 1 root root 1 Jun 17 09:38 rocky-devel.repo #13 0.086 -rw-r--r--. 1 root root 1 Jun 17 09:38 rocky-extras.repo #13 0.086 -rw-r--r--. 1 root root 1 Jun 17 09:38 rocky.repo #13 0.086 -rw-r--r--. 1 root root 140 Jun 17 09:38 tpc.repo #13 0.086 + dnf -y update-minimal --security --sec-severity=Important --sec-severity=Critical #13 0.205 Failed to set locale, defaulting to C.UTF-8 #13 0.621 Last metadata expiration check: 0:00:06 ago on Wed Jun 17 09:39:02 2026. #13 0.784 No security updates needed, but 101 updates available #13 0.833 Dependencies resolved. #13 0.834 Nothing to do. #13 0.835 Complete! #13 0.862 + dnf install -y hostname iproute less wget openssl glibc-langpack-en rsync procps-ng python3-pip #13 0.944 Failed to set locale, defaulting to C.UTF-8 #13 1.305 Last metadata expiration check: 0:00:07 ago on Wed Jun 17 09:39:02 2026. #13 1.456 Package hostname-3.23-6.el9.x86_64 is already installed. #13 1.459 Package less-590-2.el9_2.x86_64 is already installed. #13 1.462 Package openssl-1:3.0.7-24.el9.x86_64 is already installed. #13 1.509 Dependencies resolved. #13 1.511 ============================================================================================= #13 1.511 Package Arch Version Repository Size #13 1.511 ============================================================================================= #13 1.511 Installing: #13 1.511 glibc-langpack-en x86_64 2.34-231.el9_7.2 tf-mirrors.ci_repos_yum9-baseos 555 k #13 1.511 iproute x86_64 6.14.0-2.el9 tf-mirrors.ci_repos_yum9-baseos 808 k #13 1.511 procps-ng x86_64 3.3.17-14.el9 tf-mirrors.ci_repos_yum9-baseos 332 k #13 1.511 python3-pip noarch 21.3.1-1.el9 tf-mirrors.ci_repos_yum9-appstream 1.7 M #13 1.511 rsync x86_64 3.2.5-3.el9 tf-mirrors.ci_repos_yum9-baseos 403 k #13 1.511 wget x86_64 1.21.1-8.el9_4 tf-mirrors.ci_repos_yum9-appstream 768 k #13 1.511 Upgrading: #13 1.511 glibc x86_64 2.34-231.el9_7.2 tf-mirrors.ci_repos_yum9-baseos 2.0 M #13 1.511 glibc-common x86_64 2.34-231.el9_7.2 tf-mirrors.ci_repos_yum9-baseos 298 k #13 1.511 glibc-minimal-langpack x86_64 2.34-231.el9_7.2 tf-mirrors.ci_repos_yum9-baseos 25 k #13 1.511 less x86_64 590-6.el9 tf-mirrors.ci_repos_yum9-baseos 160 k #13 1.511 openssl x86_64 1:3.5.1-7.el9_7 tf-mirrors.ci_repos_yum9-baseos 1.4 M #13 1.511 openssl-libs x86_64 1:3.5.1-7.el9_7 tf-mirrors.ci_repos_yum9-baseos 2.3 M #13 1.511 Installing dependencies: #13 1.511 libbpf x86_64 2:1.5.0-2.el9 tf-mirrors.ci_repos_yum9-baseos 185 k #13 1.511 libmnl x86_64 1.0.4-16.el9_4 tf-mirrors.ci_repos_yum9-baseos 27 k #13 1.511 libpsl x86_64 0.21.1-5.el9 tf-mirrors.ci_repos_yum9-baseos 63 k #13 1.511 openssl-fips-provider x86_64 1:3.5.1-7.el9_7 tf-mirrors.ci_repos_yum9-baseos 812 k #13 1.511 psmisc x86_64 23.4-3.el9 tf-mirrors.ci_repos_yum9-baseos 226 k #13 1.511 publicsuffix-list-dafsa noarch 20210518-3.el9 tf-mirrors.ci_repos_yum9-baseos 58 k #13 1.511 Installing weak dependencies: #13 1.511 libxcrypt-compat x86_64 4.4.18-3.el9 tf-mirrors.ci_repos_yum9-appstream 88 k #13 1.511 python3-setuptools noarch 53.0.0-15.el9 tf-mirrors.ci_repos_yum9-baseos 831 k #13 1.511 #13 1.511 Transaction Summary #13 1.511 ============================================================================================= #13 1.511 Install 14 Packages #13 1.511 Upgrade 6 Packages #13 1.511 #13 1.512 Total download size: 13 M #13 1.513 Downloading Packages: #13 1.545 (1/20): iproute-6.14.0-2.el9.x86_64.rpm 27 MB/s | 808 kB 00:00 #13 1.549 (2/20): libbpf-1.5.0-2.el9.x86_64.rpm 5.4 MB/s | 185 kB 00:00 #13 1.558 (3/20): glibc-langpack-en-2.34-231.el9_7.2.x86_ 13 MB/s | 555 kB 00:00 #13 1.560 (4/20): libmnl-1.0.4-16.el9_4.x86_64.rpm 1.8 MB/s | 27 kB 00:00 #13 1.563 (5/20): libpsl-0.21.1-5.el9.x86_64.rpm 4.6 MB/s | 63 kB 00:00 #13 1.578 (6/20): openssl-fips-provider-3.5.1-7.el9_7.x86 41 MB/s | 812 kB 00:00 #13 1.583 (7/20): procps-ng-3.3.17-14.el9.x86_64.rpm 14 MB/s | 332 kB 00:00 #13 1.589 (8/20): psmisc-23.4-3.el9.x86_64.rpm 8.8 MB/s | 226 kB 00:00 #13 1.592 (9/20): publicsuffix-list-dafsa-20210518-3.el9. 4.1 MB/s | 58 kB 00:00 #13 1.599 (10/20): libxcrypt-compat-4.4.18-3.el9.x86_64.r 13 MB/s | 88 kB 00:00 #13 1.606 (11/20): rsync-3.2.5-3.el9.x86_64.rpm 24 MB/s | 403 kB 00:00 #13 1.619 (12/20): python3-setuptools-53.0.0-15.el9.noarc 23 MB/s | 831 kB 00:00 #13 1.649 (13/20): python3-pip-21.3.1-1.el9.noarch.rpm 35 MB/s | 1.7 MB 00:00 #13 1.660 (14/20): wget-1.21.1-8.el9_4.x86_64.rpm 14 MB/s | 768 kB 00:00 #13 1.667 (15/20): glibc-common-2.34-231.el9_7.2.x86_64.r 17 MB/s | 298 kB 00:00 #13 1.669 (16/20): glibc-minimal-langpack-2.34-231.el9_7. 2.7 MB/s | 25 kB 00:00 #13 1.674 (17/20): less-590-6.el9.x86_64.rpm 21 MB/s | 160 kB 00:00 #13 1.700 (18/20): glibc-2.34-231.el9_7.2.x86_64.rpm 24 MB/s | 2.0 MB 00:00 #13 1.733 (19/20): openssl-libs-3.5.1-7.el9_7.x86_64.rpm 40 MB/s | 2.3 MB 00:00 #13 1.748 (20/20): openssl-3.5.1-7.el9_7.x86_64.rpm 18 MB/s | 1.4 MB 00:00 #13 1.748 -------------------------------------------------------------------------------- #13 1.748 Total 55 MB/s | 13 MB 00:00 #13 1.749 Running transaction check #13 2.140 Transaction check succeeded. #13 2.140 Running transaction test #13 2.343 Transaction test succeeded. #13 2.343 Running transaction #13 2.709 Preparing : 1/1 #13 2.785 Upgrading : glibc-common-2.34-231.el9_7.2.x86_64 1/26 #13 2.797 Upgrading : glibc-minimal-langpack-2.34-231.el9_7.2.x86_64 2/26 #13 2.800 Running scriptlet: glibc-2.34-231.el9_7.2.x86_64 3/26 #13 2.854 Upgrading : glibc-2.34-231.el9_7.2.x86_64 3/26 #13 2.866 Running scriptlet: glibc-2.34-231.el9_7.2.x86_64 3/26 #13 3.053 Installing : glibc-langpack-en-2.34-231.el9_7.2.x86_64 4/26 #13 3.068 Installing : libbpf-2:1.5.0-2.el9.x86_64 5/26 #13 3.073 Installing : libmnl-1.0.4-16.el9_4.x86_64 6/26 #13 3.092 Installing : openssl-fips-provider-1:3.5.1-7.el9_7.x86_64 7/26 #13 3.149 Upgrading : openssl-libs-1:3.5.1-7.el9_7.x86_64 8/26 #13 3.165 Installing : psmisc-23.4-3.el9.x86_64 9/26 #13 3.177 Installing : libxcrypt-compat-4.4.18-3.el9.x86_64 10/26 #13 3.261 Installing : python3-setuptools-53.0.0-15.el9.noarch 11/26 #13 3.274 Installing : publicsuffix-list-dafsa-20210518-3.el9.noarch 12/26 #13 3.279 Installing : libpsl-0.21.1-5.el9.x86_64 13/26 #13 3.293 Installing : wget-1.21.1-8.el9_4.x86_64 14/26 #13 3.467 Installing : python3-pip-21.3.1-1.el9.noarch 15/26 #13 3.517 Installing : iproute-6.14.0-2.el9.x86_64 16/26 #13 3.534 Installing : rsync-3.2.5-3.el9.x86_64 17/26 #13 3.585 Upgrading : openssl-1:3.5.1-7.el9_7.x86_64 18/26 #13 3.609 Installing : procps-ng-3.3.17-14.el9.x86_64 19/26 #13 3.623 Upgrading : less-590-6.el9.x86_64 20/26 #13 3.634 Cleanup : openssl-1:3.0.7-24.el9.x86_64 21/26 #13 3.643 Cleanup : openssl-libs-1:3.0.7-24.el9.x86_64 22/26 #13 3.650 Cleanup : less-590-2.el9_2.x86_64 23/26 #13 3.660 Cleanup : glibc-2.34-83.el9.7.x86_64 24/26 #13 3.671 Cleanup : glibc-minimal-langpack-2.34-83.el9.7.x86_64 25/26 #13 3.676 Cleanup : glibc-common-2.34-83.el9.7.x86_64 26/26 #13 3.682 Running scriptlet: iproute-6.14.0-2.el9.x86_64 26/26 #13 3.694 Running scriptlet: glibc-common-2.34-83.el9.7.x86_64 26/26 #13 4.096 Verifying : glibc-langpack-en-2.34-231.el9_7.2.x86_64 1/26 #13 4.097 Verifying : iproute-6.14.0-2.el9.x86_64 2/26 #13 4.097 Verifying : libbpf-2:1.5.0-2.el9.x86_64 3/26 #13 4.097 Verifying : libmnl-1.0.4-16.el9_4.x86_64 4/26 #13 4.097 Verifying : libpsl-0.21.1-5.el9.x86_64 5/26 #13 4.097 Verifying : openssl-fips-provider-1:3.5.1-7.el9_7.x86_64 6/26 #13 4.097 Verifying : procps-ng-3.3.17-14.el9.x86_64 7/26 #13 4.097 Verifying : psmisc-23.4-3.el9.x86_64 8/26 #13 4.097 Verifying : publicsuffix-list-dafsa-20210518-3.el9.noarch 9/26 #13 4.097 Verifying : python3-setuptools-53.0.0-15.el9.noarch 10/26 #13 4.097 Verifying : rsync-3.2.5-3.el9.x86_64 11/26 #13 4.097 Verifying : libxcrypt-compat-4.4.18-3.el9.x86_64 12/26 #13 4.097 Verifying : python3-pip-21.3.1-1.el9.noarch 13/26 #13 4.097 Verifying : wget-1.21.1-8.el9_4.x86_64 14/26 #13 4.097 Verifying : glibc-2.34-231.el9_7.2.x86_64 15/26 #13 4.097 Verifying : glibc-2.34-83.el9.7.x86_64 16/26 #13 4.097 Verifying : glibc-common-2.34-231.el9_7.2.x86_64 17/26 #13 4.098 Verifying : glibc-common-2.34-83.el9.7.x86_64 18/26 #13 4.098 Verifying : glibc-minimal-langpack-2.34-231.el9_7.2.x86_64 19/26 #13 4.098 Verifying : glibc-minimal-langpack-2.34-83.el9.7.x86_64 20/26 #13 4.098 Verifying : less-590-6.el9.x86_64 21/26 #13 4.098 Verifying : less-590-2.el9_2.x86_64 22/26 #13 4.098 Verifying : openssl-1:3.5.1-7.el9_7.x86_64 23/26 #13 4.098 Verifying : openssl-1:3.0.7-24.el9.x86_64 24/26 #13 4.098 Verifying : openssl-libs-1:3.5.1-7.el9_7.x86_64 25/26 #13 4.098 Verifying : openssl-libs-1:3.0.7-24.el9.x86_64 26/26 #13 4.165 #13 4.165 Upgraded: #13 4.165 glibc-2.34-231.el9_7.2.x86_64 #13 4.165 glibc-common-2.34-231.el9_7.2.x86_64 #13 4.165 glibc-minimal-langpack-2.34-231.el9_7.2.x86_64 #13 4.165 less-590-6.el9.x86_64 #13 4.165 openssl-1:3.5.1-7.el9_7.x86_64 #13 4.165 openssl-libs-1:3.5.1-7.el9_7.x86_64 #13 4.165 Installed: #13 4.165 glibc-langpack-en-2.34-231.el9_7.2.x86_64 #13 4.165 iproute-6.14.0-2.el9.x86_64 #13 4.165 libbpf-2:1.5.0-2.el9.x86_64 #13 4.165 libmnl-1.0.4-16.el9_4.x86_64 #13 4.165 libpsl-0.21.1-5.el9.x86_64 #13 4.165 libxcrypt-compat-4.4.18-3.el9.x86_64 #13 4.165 openssl-fips-provider-1:3.5.1-7.el9_7.x86_64 #13 4.165 procps-ng-3.3.17-14.el9.x86_64 #13 4.165 psmisc-23.4-3.el9.x86_64 #13 4.165 publicsuffix-list-dafsa-20210518-3.el9.noarch #13 4.165 python3-pip-21.3.1-1.el9.noarch #13 4.165 python3-setuptools-53.0.0-15.el9.noarch #13 4.165 rsync-3.2.5-3.el9.x86_64 #13 4.165 wget-1.21.1-8.el9_4.x86_64 #13 4.165 #13 4.165 Complete! #13 4.298 + dnf clean all -y #13 4.455 77 files removed #13 4.479 + rm -rf /var/cache/yum #13 4.481 + groupadd --gid 1999 --system contrail #13 4.511 + useradd -md /home/contrail --uid 1999 --shell /sbin/nologin --system --gid 1999 contrail #13 4.524 useradd warning: contrail's uid 1999 is greater than SYS_UID_MAX 999 #13 DONE 4.6s #14 exporting to image #14 exporting layers #14 exporting layers 1.0s done #14 writing image sha256:9e8adf20f79e61bd491a8df3870840e691b4e41a8005b68c6b3d944fa74d8b5c done #14 naming to nexus.gz1.opensdn.io:5101/opensdn-general-base:master-2_3_5_4-1_2 done #14 DONE 1.1s 2026-06-17 09:39:13,538: INFO: Docker build duration: 34 seconds The push refers to repository [nexus.gz1.opensdn.io:5101/opensdn-general-base] 6692a3a8dd87: Preparing 04a79b33996a: Preparing 4f93f8273f8a: Preparing 582381fb443e: Preparing 0e4a54f09c6c: Preparing 9858e4e1c0ae: Preparing 97ff38a43505: Preparing 6cded25f448b: Preparing 44343de3ea1d: Preparing 9858e4e1c0ae: Waiting 6cded25f448b: Waiting 44343de3ea1d: Waiting 97ff38a43505: Waiting 0e4a54f09c6c: Pushed 4f93f8273f8a: Pushed 582381fb443e: Pushed 6cded25f448b: Pushed 9858e4e1c0ae: Pushed 97ff38a43505: Pushed 44343de3ea1d: Layer already exists 6692a3a8dd87: Pushed 04a79b33996a: Pushed master-2_3_5_4-1_2: digest: sha256:5ab4aa8607e6779ff33acdfe6bbc26ad3fbe35ca9a1580087a3a53f8e5b261dd size: 2198 2026-06-17 09:39:24,681: INFO: Building opensdn-general-base finished successfully, duration: 45 seconds WARNING: This output is designed for human readability. For machine-readable output, please use --format. IMAGE ID DISK USAGE CONTENT SIZE EXTRA nexus.gz1.opensdn.io:5101/opensdn-ansible-deployer-src:master-2_3_5_4-1_2 cdd0cd7f5950 1.41MB 0B nexus.gz1.opensdn.io:5101/opensdn-build-manifest-src:master-2_3_5_4-1_2 86aa83c64124 4.17kB 0B nexus.gz1.opensdn.io:5101/opensdn-charms-src:master-2_3_5_4-1_2 a675f5d027e1 6.05MB 0B nexus.gz1.opensdn.io:5101/opensdn-container-builder-src:master-2_3_5_4-1_2 5e9be1190db1 2.39MB 0B nexus.gz1.opensdn.io:5101/opensdn-general-base:master-2_3_5_4-1_2 9e8adf20f79e 428MB 0B nexus.gz1.opensdn.io:5101/opensdn-kolla-ansible-src:master-2_3_5_4-1_2 b8b0819e50d6 32.7MB 0B nexus.gz1.opensdn.io:5101/tf-dev-sandbox:frozen dd881792a4bf 21GB 0B U tf-dev-sandbox:compile d5a18540bdd3 21.8GB 0B