#2 DONE 1.6s #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.1s #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.1s #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.086 /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.093 /bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) #12 0.093 + dnf info git-review #12 0.288 Failed to set locale, defaulting to C.UTF-8 #12 0.625 added from: http://tf-mirrors.gz1.opensdn.io/re 83 MB/s | 14 MB 00:00 #12 2.195 added from: http://tf-mirrors.gz1.opensdn.io/re 39 MB/s | 1.9 MB 00:00 #12 2.555 added from: http://tf-mirrors.gz1.opensdn.io/re 17 MB/s | 402 kB 00:00 #12 2.835 added from: http://tf-mirrors.gz1.opensdn.io/re 94 MB/s | 16 MB 00:00 #12 5.776 added from: http://tf-mirrors.gz1.opensdn.io/re 87 MB/s | 11 MB 00:00 #12 7.801 added from: http://tf-mirrors.gz1.opensdn.io/re 31 MB/s | 1.1 MB 00:00 #12 8.121 added from: http://tf-mirrors.gz1.opensdn.io/re 61 MB/s | 4.8 MB 00:00 #12 9.074 added from: http://tf-mirrors.gz1.opensdn.io/re 23 MB/s | 697 kB 00:00 #12 9.314 added from: http://tf-mirrors.gz1.opensdn.io/re 18 MB/s | 474 kB 00:00 #12 9.502 added from: http://tf-mirrors.gz1.opensdn.io/re 1.1 MB/s | 18 kB 00:00 #12 9.642 added from: http://tf-mirrors.gz1.opensdn.io/re 16 kB/s | 257 B 00:00 #12 9.785 added from: http://tf-mirrors.gz1.opensdn.io/re 701 kB/s | 15 kB 00:00 #12 9.929 added from: http://tf-mirrors.gz1.opensdn.io/re 5.0 MB/s | 96 kB 00:00 #12 10.42 added from: http://tf-mirrors.gz1.opensdn.io/re 114 MB/s | 39 MB 00:00 #12 17.85 Third parties for OpenSDN 53 MB/s | 5.1 MB 00:00 #12 22.22 Available Packages #12 22.22 Name : git-review #12 22.22 Version : 2.3.1 #12 22.22 Release : 7.el9 #12 22.22 Architecture : noarch #12 22.22 Size : 86 k #12 22.22 Source : git-review-2.3.1-7.el9.src.rpm #12 22.22 Repository : tf-mirrors.ci_repos_epel9.repo #12 22.22 Summary : A Git helper for integration with Gerrit #12 22.22 URL : https://opendev.org/opendev/git-review #12 22.22 License : ASL 2.0 #12 22.22 Description : An extension for source control system Git that creates and manages #12 22.22 : review requests in the patch management system Gerrit. It replaces the #12 22.22 : rfc.sh script. #12 22.22 #12 DONE 22.4s #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.075 /bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) #13 0.076 + source /etc/os-release #13 0.076 ++ NAME='Rocky Linux' #13 0.076 ++ VERSION='9.3 (Blue Onyx)' #13 0.076 ++ ID=rocky #13 0.076 ++ ID_LIKE='rhel centos fedora' #13 0.076 ++ VERSION_ID=9.3 #13 0.076 ++ PLATFORM_ID=platform:el9 #13 0.076 ++ PRETTY_NAME='Rocky Linux 9.3 (Blue Onyx)' #13 0.076 ++ ANSI_COLOR='0;32' #13 0.076 ++ LOGO=fedora-logo-icon #13 0.076 ++ CPE_NAME=cpe:/o:rocky:rocky:9::baseos #13 0.076 ++ HOME_URL=https://rockylinux.org/ #13 0.076 ++ BUG_REPORT_URL=https://bugs.rockylinux.org/ #13 0.076 ++ SUPPORT_END=2032-05-31 #13 0.076 ++ ROCKY_SUPPORT_PRODUCT=Rocky-Linux-9 #13 0.076 ++ ROCKY_SUPPORT_PRODUCT_VERSION=9.3 #13 0.076 ++ REDHAT_SUPPORT_PRODUCT='Rocky Linux' #13 0.076 ++ REDHAT_SUPPORT_PRODUCT_VERSION=9.3 #13 0.076 + find /etc/yum.repos.d/ #13 0.076 + grep -i centos #13 0.076 + xargs -r rm #13 0.078 + ls -l /etc/yum.repos.d/ #13 0.081 total 32 #13 0.081 -rw-r--r--. 1 root root 2707 Jun 17 13:46 mirror-base-rocky9.repo #13 0.081 -rw-r--r--. 1 root root 217 Jun 17 13:46 mirror-docker9.repo #13 0.081 -rw-r--r--. 1 root root 204 Jun 17 13:46 mirror-epel9.repo #13 0.081 -rw-r--r--. 1 root root 1 Jun 17 13:46 rocky-addons.repo #13 0.081 -rw-r--r--. 1 root root 1 Jun 17 13:46 rocky-devel.repo #13 0.081 -rw-r--r--. 1 root root 1 Jun 17 13:46 rocky-extras.repo #13 0.081 -rw-r--r--. 1 root root 1 Jun 17 13:46 rocky.repo #13 0.081 -rw-r--r--. 1 root root 140 Jun 17 13:46 tpc.repo #13 0.081 + dnf -y update-minimal --security --sec-severity=Important --sec-severity=Critical #13 0.145 Failed to set locale, defaulting to C.UTF-8 #13 0.491 Last metadata expiration check: 0:00:05 ago on Wed Jun 17 13:46:39 2026. #13 0.639 No security updates needed, but 101 updates available #13 0.685 Dependencies resolved. #13 0.686 Nothing to do. #13 0.686 Complete! #13 0.713 + dnf install -y hostname iproute less wget openssl glibc-langpack-en rsync procps-ng python3-pip #13 0.775 Failed to set locale, defaulting to C.UTF-8 #13 1.104 Last metadata expiration check: 0:00:05 ago on Wed Jun 17 13:46:39 2026. #13 1.239 Package hostname-3.23-6.el9.x86_64 is already installed. #13 1.242 Package less-590-2.el9_2.x86_64 is already installed. #13 1.244 Package openssl-1:3.0.7-24.el9.x86_64 is already installed. #13 1.286 Dependencies resolved. #13 1.288 ============================================================================================= #13 1.288 Package Arch Version Repository Size #13 1.288 ============================================================================================= #13 1.288 Installing: #13 1.288 glibc-langpack-en x86_64 2.34-231.el9_7.2 tf-mirrors.ci_repos_yum9-baseos 555 k #13 1.288 iproute x86_64 6.14.0-2.el9 tf-mirrors.ci_repos_yum9-baseos 808 k #13 1.288 procps-ng x86_64 3.3.17-14.el9 tf-mirrors.ci_repos_yum9-baseos 332 k #13 1.288 python3-pip noarch 21.3.1-1.el9 tf-mirrors.ci_repos_yum9-appstream 1.7 M #13 1.288 rsync x86_64 3.2.5-3.el9 tf-mirrors.ci_repos_yum9-baseos 403 k #13 1.288 wget x86_64 1.21.1-8.el9_4 tf-mirrors.ci_repos_yum9-appstream 768 k #13 1.288 Upgrading: #13 1.288 glibc x86_64 2.34-231.el9_7.2 tf-mirrors.ci_repos_yum9-baseos 2.0 M #13 1.288 glibc-common x86_64 2.34-231.el9_7.2 tf-mirrors.ci_repos_yum9-baseos 298 k #13 1.288 glibc-minimal-langpack x86_64 2.34-231.el9_7.2 tf-mirrors.ci_repos_yum9-baseos 25 k #13 1.288 less x86_64 590-6.el9 tf-mirrors.ci_repos_yum9-baseos 160 k #13 1.288 openssl x86_64 1:3.5.1-7.el9_7 tf-mirrors.ci_repos_yum9-baseos 1.4 M #13 1.288 openssl-libs x86_64 1:3.5.1-7.el9_7 tf-mirrors.ci_repos_yum9-baseos 2.3 M #13 1.288 Installing dependencies: #13 1.288 libbpf x86_64 2:1.5.0-2.el9 tf-mirrors.ci_repos_yum9-baseos 185 k #13 1.288 libmnl x86_64 1.0.4-16.el9_4 tf-mirrors.ci_repos_yum9-baseos 27 k #13 1.288 libpsl x86_64 0.21.1-5.el9 tf-mirrors.ci_repos_yum9-baseos 63 k #13 1.288 openssl-fips-provider x86_64 1:3.5.1-7.el9_7 tf-mirrors.ci_repos_yum9-baseos 812 k #13 1.288 psmisc x86_64 23.4-3.el9 tf-mirrors.ci_repos_yum9-baseos 226 k #13 1.288 publicsuffix-list-dafsa noarch 20210518-3.el9 tf-mirrors.ci_repos_yum9-baseos 58 k #13 1.288 Installing weak dependencies: #13 1.288 libxcrypt-compat x86_64 4.4.18-3.el9 tf-mirrors.ci_repos_yum9-appstream 88 k #13 1.288 python3-setuptools noarch 53.0.0-15.el9 tf-mirrors.ci_repos_yum9-baseos 831 k #13 1.288 #13 1.288 Transaction Summary #13 1.288 ============================================================================================= #13 1.288 Install 14 Packages #13 1.288 Upgrade 6 Packages #13 1.288 #13 1.289 Total download size: 13 M #13 1.289 Downloading Packages: #13 1.308 (1/20): libbpf-1.5.0-2.el9.x86_64.rpm 11 MB/s | 185 kB 00:00 #13 1.315 (2/20): libmnl-1.0.4-16.el9_4.x86_64.rpm 4.7 MB/s | 27 kB 00:00 #13 1.326 (3/20): glibc-langpack-en-2.34-231.el9_7.2.x86_ 16 MB/s | 555 kB 00:00 #13 1.330 (4/20): libpsl-0.21.1-5.el9.x86_64.rpm 4.4 MB/s | 63 kB 00:00 #13 1.343 (5/20): iproute-6.14.0-2.el9.x86_64.rpm 16 MB/s | 808 kB 00:00 #13 1.350 (6/20): procps-ng-3.3.17-14.el9.x86_64.rpm 17 MB/s | 332 kB 00:00 #13 1.361 (7/20): openssl-fips-provider-3.5.1-7.el9_7.x86 23 MB/s | 812 kB 00:00 #13 1.367 (8/20): psmisc-23.4-3.el9.x86_64.rpm 9.6 MB/s | 226 kB 00:00 #13 1.370 (9/20): publicsuffix-list-dafsa-20210518-3.el9. 2.9 MB/s | 58 kB 00:00 #13 1.377 (10/20): libxcrypt-compat-4.4.18-3.el9.x86_64.r 15 MB/s | 88 kB 00:00 #13 1.384 (11/20): rsync-3.2.5-3.el9.x86_64.rpm 24 MB/s | 403 kB 00:00 #13 1.395 (12/20): python3-setuptools-53.0.0-15.el9.noarc 25 MB/s | 831 kB 00:00 #13 1.412 (13/20): wget-1.21.1-8.el9_4.x86_64.rpm 27 MB/s | 768 kB 00:00 #13 1.435 (14/20): python3-pip-21.3.1-1.el9.noarch.rpm 30 MB/s | 1.7 MB 00:00 #13 1.442 (15/20): glibc-common-2.34-231.el9_7.2.x86_64.r 10 MB/s | 298 kB 00:00 #13 1.445 (16/20): glibc-minimal-langpack-2.34-231.el9_7. 2.8 MB/s | 25 kB 00:00 #13 1.451 (17/20): less-590-6.el9.x86_64.rpm 21 MB/s | 160 kB 00:00 #13 1.469 (18/20): glibc-2.34-231.el9_7.2.x86_64.rpm 27 MB/s | 2.0 MB 00:00 #13 1.491 (19/20): openssl-3.5.1-7.el9_7.x86_64.rpm 31 MB/s | 1.4 MB 00:00 #13 1.514 (20/20): openssl-libs-3.5.1-7.el9_7.x86_64.rpm 36 MB/s | 2.3 MB 00:00 #13 1.514 -------------------------------------------------------------------------------- #13 1.515 Total 57 MB/s | 13 MB 00:00 #13 1.515 Running transaction check #13 1.845 Transaction check succeeded. #13 1.845 Running transaction test #13 2.017 Transaction test succeeded. #13 2.018 Running transaction #13 2.339 Preparing : 1/1 #13 2.408 Upgrading : glibc-common-2.34-231.el9_7.2.x86_64 1/26 #13 2.418 Upgrading : glibc-minimal-langpack-2.34-231.el9_7.2.x86_64 2/26 #13 2.421 Running scriptlet: glibc-2.34-231.el9_7.2.x86_64 3/26 #13 2.469 Upgrading : glibc-2.34-231.el9_7.2.x86_64 3/26 #13 2.479 Running scriptlet: glibc-2.34-231.el9_7.2.x86_64 3/26 #13 2.621 Installing : glibc-langpack-en-2.34-231.el9_7.2.x86_64 4/26 #13 2.635 Installing : libbpf-2:1.5.0-2.el9.x86_64 5/26 #13 2.640 Installing : libmnl-1.0.4-16.el9_4.x86_64 6/26 #13 2.657 Installing : openssl-fips-provider-1:3.5.1-7.el9_7.x86_64 7/26 #13 2.703 Upgrading : openssl-libs-1:3.5.1-7.el9_7.x86_64 8/26 #13 2.715 Installing : psmisc-23.4-3.el9.x86_64 9/26 #13 2.724 Installing : libxcrypt-compat-4.4.18-3.el9.x86_64 10/26 #13 2.786 Installing : python3-setuptools-53.0.0-15.el9.noarch 11/26 #13 2.799 Installing : publicsuffix-list-dafsa-20210518-3.el9.noarch 12/26 #13 2.803 Installing : libpsl-0.21.1-5.el9.x86_64 13/26 #13 2.816 Installing : wget-1.21.1-8.el9_4.x86_64 14/26 #13 2.970 Installing : python3-pip-21.3.1-1.el9.noarch 15/26 #13 3.011 Installing : iproute-6.14.0-2.el9.x86_64 16/26 #13 3.028 Installing : rsync-3.2.5-3.el9.x86_64 17/26 #13 3.077 Upgrading : openssl-1:3.5.1-7.el9_7.x86_64 18/26 #13 3.102 Installing : procps-ng-3.3.17-14.el9.x86_64 19/26 #13 3.114 Upgrading : less-590-6.el9.x86_64 20/26 #13 3.126 Cleanup : openssl-1:3.0.7-24.el9.x86_64 21/26 #13 3.135 Cleanup : openssl-libs-1:3.0.7-24.el9.x86_64 22/26 #13 3.141 Cleanup : less-590-2.el9_2.x86_64 23/26 #13 3.149 Cleanup : glibc-2.34-83.el9.7.x86_64 24/26 #13 3.158 Cleanup : glibc-minimal-langpack-2.34-83.el9.7.x86_64 25/26 #13 3.162 Cleanup : glibc-common-2.34-83.el9.7.x86_64 26/26 #13 3.167 Running scriptlet: iproute-6.14.0-2.el9.x86_64 26/26 #13 3.177 Running scriptlet: glibc-common-2.34-83.el9.7.x86_64 26/26 #13 3.590 Verifying : glibc-langpack-en-2.34-231.el9_7.2.x86_64 1/26 #13 3.590 Verifying : iproute-6.14.0-2.el9.x86_64 2/26 #13 3.590 Verifying : libbpf-2:1.5.0-2.el9.x86_64 3/26 #13 3.590 Verifying : libmnl-1.0.4-16.el9_4.x86_64 4/26 #13 3.590 Verifying : libpsl-0.21.1-5.el9.x86_64 5/26 #13 3.590 Verifying : openssl-fips-provider-1:3.5.1-7.el9_7.x86_64 6/26 #13 3.590 Verifying : procps-ng-3.3.17-14.el9.x86_64 7/26 #13 3.590 Verifying : psmisc-23.4-3.el9.x86_64 8/26 #13 3.590 Verifying : publicsuffix-list-dafsa-20210518-3.el9.noarch 9/26 #13 3.590 Verifying : python3-setuptools-53.0.0-15.el9.noarch 10/26 #13 3.590 Verifying : rsync-3.2.5-3.el9.x86_64 11/26 #13 3.590 Verifying : libxcrypt-compat-4.4.18-3.el9.x86_64 12/26 #13 3.590 Verifying : python3-pip-21.3.1-1.el9.noarch 13/26 #13 3.590 Verifying : wget-1.21.1-8.el9_4.x86_64 14/26 #13 3.590 Verifying : glibc-2.34-231.el9_7.2.x86_64 15/26 #13 3.590 Verifying : glibc-2.34-83.el9.7.x86_64 16/26 #13 3.590 Verifying : glibc-common-2.34-231.el9_7.2.x86_64 17/26 #13 3.590 Verifying : glibc-common-2.34-83.el9.7.x86_64 18/26 #13 3.591 Verifying : glibc-minimal-langpack-2.34-231.el9_7.2.x86_64 19/26 #13 3.591 Verifying : glibc-minimal-langpack-2.34-83.el9.7.x86_64 20/26 #13 3.591 Verifying : less-590-6.el9.x86_64 21/26 #13 3.591 Verifying : less-590-2.el9_2.x86_64 22/26 #13 3.591 Verifying : openssl-1:3.5.1-7.el9_7.x86_64 23/26 #13 3.591 Verifying : openssl-1:3.0.7-24.el9.x86_64 24/26 #13 3.591 Verifying : openssl-libs-1:3.5.1-7.el9_7.x86_64 25/26 #13 3.591 Verifying : openssl-libs-1:3.0.7-24.el9.x86_64 26/26 #13 3.650 #13 3.650 Upgraded: #13 3.650 glibc-2.34-231.el9_7.2.x86_64 #13 3.650 glibc-common-2.34-231.el9_7.2.x86_64 #13 3.650 glibc-minimal-langpack-2.34-231.el9_7.2.x86_64 #13 3.650 less-590-6.el9.x86_64 #13 3.650 openssl-1:3.5.1-7.el9_7.x86_64 #13 3.650 openssl-libs-1:3.5.1-7.el9_7.x86_64 #13 3.650 Installed: #13 3.650 glibc-langpack-en-2.34-231.el9_7.2.x86_64 #13 3.650 iproute-6.14.0-2.el9.x86_64 #13 3.650 libbpf-2:1.5.0-2.el9.x86_64 #13 3.650 libmnl-1.0.4-16.el9_4.x86_64 #13 3.650 libpsl-0.21.1-5.el9.x86_64 #13 3.650 libxcrypt-compat-4.4.18-3.el9.x86_64 #13 3.650 openssl-fips-provider-1:3.5.1-7.el9_7.x86_64 #13 3.650 procps-ng-3.3.17-14.el9.x86_64 #13 3.650 psmisc-23.4-3.el9.x86_64 #13 3.650 publicsuffix-list-dafsa-20210518-3.el9.noarch #13 3.650 python3-pip-21.3.1-1.el9.noarch #13 3.650 python3-setuptools-53.0.0-15.el9.noarch #13 3.650 rsync-3.2.5-3.el9.x86_64 #13 3.650 wget-1.21.1-8.el9_4.x86_64 #13 3.650 #13 3.650 Complete! #13 3.793 + dnf clean all -y #13 3.938 77 files removed #13 3.961 + rm -rf /var/cache/yum #13 3.963 + groupadd --gid 1999 --system contrail #13 3.986 + useradd -md /home/contrail --uid 1999 --shell /sbin/nologin --system --gid 1999 contrail #13 3.997 useradd warning: contrail's uid 1999 is greater than SYS_UID_MAX 999 #13 DONE 4.0s #14 exporting to image #14 exporting layers #14 exporting layers 0.9s done #14 writing image sha256:dd6d9c4bc02f72420e787c5fd85e8917ff97d40446229269ff1f0381433e88a8 done #14 naming to nexus.gz1.opensdn.io:5101/opensdn-general-base:master-2_3_5_4-1_2 done #14 DONE 0.9s 2026-06-17 13:46:48,802: INFO: Docker build duration: 30 seconds The push refers to repository [nexus.gz1.opensdn.io:5101/opensdn-general-base] b21f1f36522a: Preparing 9f0b8bd9b9d7: Preparing d2e7732897e6: Preparing 2695f090c1aa: Preparing 87fa20d26e40: Preparing ba27911bf5a0: Preparing 49671707bdd8: Preparing a4ed821d1202: Preparing 44343de3ea1d: Preparing ba27911bf5a0: Waiting 49671707bdd8: Waiting a4ed821d1202: Waiting 44343de3ea1d: Waiting d2e7732897e6: Pushed 87fa20d26e40: Pushed 2695f090c1aa: Pushed ba27911bf5a0: Pushed 44343de3ea1d: Layer already exists 49671707bdd8: Pushed a4ed821d1202: Pushed b21f1f36522a: Pushed 9f0b8bd9b9d7: Pushed master-2_3_5_4-1_2: digest: sha256:711821558b5810ff1a3507653e3c6d35a633a15948ae8459af127e8501f43bf4 size: 2198 2026-06-17 13:46:59,479: INFO: Building opensdn-general-base finished successfully, duration: 41 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 0bc85564edf5 1.41MB 0B nexus.gz1.opensdn.io:5101/opensdn-build-manifest-src:master-2_3_5_4-1_2 7a4d4da3d2b8 4.17kB 0B nexus.gz1.opensdn.io:5101/opensdn-charms-src:master-2_3_5_4-1_2 84c8cbeab5f1 6.05MB 0B nexus.gz1.opensdn.io:5101/opensdn-container-builder-src:master-2_3_5_4-1_2 65527d65ae9e 2.49MB 0B nexus.gz1.opensdn.io:5101/opensdn-general-base:master-2_3_5_4-1_2 dd6d9c4bc02f 428MB 0B nexus.gz1.opensdn.io:5101/opensdn-kolla-ansible-src:master-2_3_5_4-1_2 1cae519ac398 32.7MB 0B nexus.gz1.opensdn.io:5101/tf-dev-sandbox:stable 8369116e07ac 2.9GB 0B U tf-dev-sandbox:compile 90b08e2dc33e 22.2GB 0B