Bug 1806120
Summary: | buildah COPY command is slow when .dockerignore file is not present [stream-container-tools-rhel8-rhel-8.2.0/buildah] | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 8 | Reporter: | Jindrich Novy <jnovy> |
Component: | buildah | Assignee: | Jindrich Novy <jnovy> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | atomic-bugs <atomic-bugs> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 8.2 | CC: | ajia, ddarrah, nalin, tsweeney |
Target Milestone: | rc | ||
Target Release: | 8.0 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | buildah-1.11.6-7.el8 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2020-03-25 17:37:47 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 1756986 |
Description
Jindrich Novy
2020-02-22 09:42:35 UTC
the building real time of buildah-1.11.6-7.module+el8.2.0+5856+b8046c6d.x86_64 is greater than podman-1.6.4-9.module+el8.2.0+5952+e75b58bb.x86_64, and the docker-1.13.1-161.git64e9980.el7_8.x86_64 only takes about 2.0423s, please also see https://bugzilla.redhat.com/show_bug.cgi?id=1756986#c26 [root@hp-dl360g9-03 disk]# ll -h total 101M -rw-r--r--. 1 root root 25 Mar 18 05:29 Dockerfile -rw-r--r--. 1 root root 10M Mar 18 05:29 test-1 -rw-r--r--. 1 root root 10M Mar 18 05:29 test-10 -rw-r--r--. 1 root root 10M Mar 18 05:29 test-2 -rw-r--r--. 1 root root 10M Mar 18 05:29 test-3 -rw-r--r--. 1 root root 10M Mar 18 05:29 test-4 -rw-r--r--. 1 root root 10M Mar 18 05:29 test-5 -rw-r--r--. 1 root root 10M Mar 18 05:29 test-6 -rw-r--r--. 1 root root 10M Mar 18 05:29 test-7 -rw-r--r--. 1 root root 10M Mar 18 05:29 test-8 -rw-r--r--. 1 root root 10M Mar 18 05:29 test-9 1. buildah-1.11.6-7.module+el8.2.0+5856+b8046c6d.x86_64 [root@hp-dl360g9-03 disk]# time buildah bud -f Dockerfile . STEP 1: FROM scratch STEP 2: COPY . /tmp STEP 3: COMMIT Getting image source signatures Copying blob ef4eebd2fe39 done Copying config 29be847f47 done Writing manifest to image destination Storing signatures 29be847f47235e83c0486c15aa2c91beff49a02a970300455a8406af397f2f78 29be847f47235e83c0486c15aa2c91beff49a02a970300455a8406af397f2f78 real 0m10.394s user 0m9.643s sys 0m1.966s [root@hp-dl360g9-03 disk]# buildah rmi 29be847f472 29be847f47235e83c0486c15aa2c91beff49a02a970300455a8406af397f2f78 [root@hp-dl360g9-03 disk]# time buildah bud -f Dockerfile . STEP 1: FROM scratch STEP 2: COPY . /tmp STEP 3: COMMIT Getting image source signatures Copying blob b4da5de612da done Copying config 2f71912c98 done Writing manifest to image destination Storing signatures 2f71912c98f4a1e52268c429842556b3ebe3c71e804355dece750a83f4354314 2f71912c98f4a1e52268c429842556b3ebe3c71e804355dece750a83f4354314 real 0m10.237s user 0m9.523s sys 0m2.031s [root@hp-dl360g9-03 disk]# buildah rmi 2f71912c 2f71912c98f4a1e52268c429842556b3ebe3c71e804355dece750a83f4354314 [root@hp-dl360g9-03 disk]# time buildah bud -f Dockerfile . STEP 1: FROM scratch STEP 2: COPY . /tmp STEP 3: COMMIT Getting image source signatures Copying blob d6a2cd4666fb done Copying config 945ffecade done Writing manifest to image destination Storing signatures 945ffecade2742ff91b0c77e3e2a7386a5315f8263ea6d9610303fabaa087742 945ffecade2742ff91b0c77e3e2a7386a5315f8263ea6d9610303fabaa087742 real 0m10.330s user 0m9.714s sys 0m2.012s [root@hp-dl360g9-03 disk]# buildah rmi 945ffecad 945ffecade2742ff91b0c77e3e2a7386a5315f8263ea6d9610303fabaa087742 2. podman-1.6.4-9.module+el8.2.0+5952+e75b58bb.x86_64 [root@hp-dl360g9-03 disk]# time podman build -f Dockerfile . STEP 1: FROM scratch STEP 2: COPY . /tmp STEP 3: COMMIT 4ff6b2a28ffb93d2d397a50fa6d38aa7314a5d44433b4014b6eea70d4bbea783 real 0m9.491s user 0m9.652s sys 0m1.897s [root@hp-dl360g9-03 disk]# podman rmi 4ff6b2a28ff Deleted: 4ff6b2a28ffb93d2d397a50fa6d38aa7314a5d44433b4014b6eea70d4bbea783 [root@hp-dl360g9-03 disk]# time podman build -f Dockerfile . STEP 1: FROM scratch STEP 2: COPY . /tmp STEP 3: COMMIT 0dc260de4be0f8d2a7f64ab45d062e1ae5848c03b4c767bc361205a505ac43d5 real 0m9.436s user 0m9.745s sys 0m1.870s [root@hp-dl360g9-03 disk]# podman rmi 0dc260de4b Deleted: 0dc260de4be0f8d2a7f64ab45d062e1ae5848c03b4c767bc361205a505ac43d5 [root@hp-dl360g9-03 disk]# time podman build -f Dockerfile . STEP 1: FROM scratch STEP 2: COPY . /tmp STEP 3: COMMIT 72a5ce6205e59f5f3f0e6c018c02a04c857f5c8e0551672ffdf487578e6ee7ec real 0m9.444s user 0m9.595s sys 0m2.012s [root@hp-dl360g9-03 disk]# podman rmi 72a5ce62 Deleted: 72a5ce6205e59f5f3f0e6c018c02a04c857f5c8e0551672ffdf487578e6ee7ec Nalin Buildah buildah-1.11.6-7.module+el8.2.0+5856+b8046c6d.x86_64 is still problematic speed wise, see https://bugzilla.redhat.com/show_bug.cgi?id=1806120#c5 (In reply to Tom Sweeney from comment #7) > Nalin Buildah buildah-1.11.6-7.module+el8.2.0+5856+b8046c6d.x86_64 is still > problematic speed wise, see > https://bugzilla.redhat.com/show_bug.cgi?id=1806120#c5 The changes we made recently were for cases where there was no .dockerignore file present, but we were still invoking code paths which incur quite a bit more overhead for processing the contents of one. The originating upstream report was seeing timing differences on the order of seconds compared to minutes, particularly as the number of files being copied grew. After discussions with Nalin Dahyabhai, Dan Walsh, and Ian McLeod, we are going to consider this bug fixed for this release as the initial report for the problem had the builds taking minutes and now it is down to seconds. There is work under way and plans in place to further decrease the build speed in follow on releases. |