kubevirt / containerized-data-importer

Data Import Service for kubernetes, designed with kubevirt in mind.
Apache License 2.0
420 stars 261 forks source link

dataStream_test CI failures #580

Closed igoihman closed 5 years ago

igoihman commented 5 years ago

/kind bug

CI is failing sporadically on the master builds

The failure occures on dataStream_test.go "Streaming Data Conversion".

Test output:

Streaming Data Conversion
/go/src/kubevirt.io/containerized-data-importer/pkg/importer/dataStream_test.go:437
  when data is in a supported file format
  /go/src/kubevirt.io/containerized-data-importer/vendor/github.com/onsi/ginkgo/extensions/table/table.go:92
    should convert and unpack .qcow2.xz
    /go/src/kubevirt.io/containerized-data-importer/vendor/github.com/onsi/ginkgo/extensions/table/table_entry.go:46
------------------------------
E1222 19:07:56.700948    2052 qemu.go:144] Invalid JSON:
STEP: [BeforeEach] Creating temporary dir /tmp/.tmp-twa76eq5bTit
STEP: Getting size of source file "/go/src/kubevirt.io/containerized-data-importer/tests/images/tinyCore.iso"
INFO: size = 18874368
STEP: Converting source file to format: [.qcow2 .tar]
INFO: converted source file name is "/tmp/.tmp-DFqCPYZtoXTA/tinyCore.qcow2.tar", in dir "/tmp/.tmp-DFqCPYZtoXTA"
STEP: Importing "http://127.0.0.1:46465" to "/tmp/.tmp-DFqCPYZtoXTA/disk.img"
STEP: [AfterEach] Cleaning up temporary dir /tmp/.tmp-DFqCPYZtoXTA
• Failure [0.099 seconds]
Streaming Data Conversion
/go/src/kubevirt.io/containerized-data-importer/pkg/importer/dataStream_test.go:437
  when data is in a supported file format
  /go/src/kubevirt.io/containerized-data-importer/vendor/github.com/onsi/ginkgo/extensions/table/table.go:92
    should convert and untar .qcow2.tar [It]
    /go/src/kubevirt.io/containerized-data-importer/vendor/github.com/onsi/ginkgo/extensions/table/table_entry.go:46
    Unexpected error:
        <*errors.withStack | 0xc42002e760>: {
            error: {
                cause: {
                    error: {
                        cause: {
                            msg: "unexpected end of JSON input",
                            Offset: 0,
                        },
                        msg: "Invalid json for image /tmp/.tmp-DFqCPYZtoXTA/disk68ff84e8f67f823b.img",
                    },
                    stack: [0xebdbc3, 0xebddba, 0xefd5b0, 0xefcf3e, 0xef9a53, 0xf0e3e2, 0x45a51b, 0x4b6ff9, 0x4b6574, 0xee18f7, 0xecf4fc, 0xecf13e, 0xece41f, 0xed5516, 0xed4f23, 0xedc1bd, 0xedbedc, 0xedb4ec, 0xedd81c, 0xedfb63, 0xedf899, 0xefeeaa, 0x4f2bf0, 0x45cc61],
                },
                msg: "Local image validation failed",
            },
            stack: [0xefd834, 0xefcf3e, 0xef9a53, 0xf0e3e2, 0x45a51b, 0x4b6ff9, 0x4b6574, 0xee18f7, 0xecf4fc, 0xecf13e, 0xece41f, 0xed5516, 0xed4f23, 0xedc1bd, 0xedbedc, 0xedb4ec, 0xedd81c, 0xedfb63, 0xedf899, 0xefeeaa, 0x4f2bf0, 0x45cc61],
        }
        Local image validation failed: Invalid json for image /tmp/.tmp-DFqCPYZtoXTA/disk68ff84e8f67f823b.img: unexpected end of JSON input
    occurred
    /go/src/kubevirt.io/containerized-data-importer/pkg/importer/dataStream_test.go:480
------------------------------
•
------------------------------
• [SLOW TEST:25.827 seconds]
Streaming Data Conversion
/go/src/kubevirt.io/containerized-data-importer/pkg/importer/dataStream_test.go:437
  when data is in a supported file format
  /go/src/kubevirt.io/containerized-data-importer/vendor/github.com/onsi/ginkgo/extensions/table/table.go:92
    should convert and untar and unpack .qcow2.tar.xz
    /go/src/kubevirt.io/containerized-data-importer/vendor/github.com/onsi/ginkgo/extensions/table/table_entry.go:46
Streaming Data Conversion
/go/src/kubevirt.io/containerized-data-importer/pkg/importer/dataStream_test.go:437
  when data is in a supported file format
  /go/src/kubevirt.io/containerized-data-importer/vendor/github.com/onsi/ginkgo/extensions/table/table.go:92
    should convert .qcow2 [It]
    /go/src/kubevirt.io/containerized-data-importer/vendor/github.com/onsi/ginkgo/extensions/table/table_entry.go:46
    Unexpected error:
        <*errors.withStack | 0xc42052c5c0>: {
            error: {
                cause: {
                    error: {
                        cause: {
                            error: {
                                cause: {
                                    ProcessState: {
                                        pid: 2343,
                                        status: 134,
                                        rusage: {
                                            Utime: {Sec: ..., Usec: ...},
                                            Stime: {Sec: ..., Usec: ...},
                                            Maxrss: 284848,
                                            Ixrss: 0,
                                            Idrss: 0,
                                            Isrss: 0,
                                            Minflt: 749,
                                            Majflt: 0,
                                            Nswap: 0,
                                            Inblock: 0,
                                            Oublock: 0,
                                            Msgsnd: 0,
                                            Msgrcv: 0,
                                            Nsignals: 0,
                                            Nvcsw: 4,
                                            Nivcsw: 11,
                                        },
                                    },
                                    Stderr: nil,
                                },
                                msg: "qemu-img execution failed",
                            },
                            stack: [0xebc067, 0xebd406, 0xefd0b2, 0xef9a53, 0xf0e3e2, 0x45a51b, 0x4b6ff9, 0x4b6574, 0xee18f7, 0xecf4fc, 0xecf13e, 0xece41f, 0xed5516, 0xed4f23, 0xedc1bd, 0xedbedc, 0xedb4ec, 0xedd81c, 0xedfb63, 0xedf899, 0xefeeaa, 0x4f2bf0, 0x45cc61],
                        },
                        msg: "could not stream/convert qcow2 image to raw",
                    },
                    stack: [0xebd46a, 0xefd0b2, 0xef9a53, 0xf0e3e2, 0x45a51b, 0x4b6ff9, 0x4b6574, 0xee18f7, 0xecf4fc, 0xecf13e, 0xece41f, 0xed5516, 0xed4f23, 0xedc1bd, 0xedbedc, 0xedb4ec, 0xedd81c, 0xedfb63, 0xedf899, 0xefeeaa, 0x4f2bf0, 0x45cc61],
                },
                msg: "Streaming qcow2 to raw conversion failed",
            },
            stack: [0xefd1d8, 0xef9a53, 0xf0e3e2, 0x45a51b, 0x4b6ff9, 0x4b6574, 0xee18f7, 0xecf4fc, 0xecf13e, 0xece41f, 0xed5516, 0xed4f23, 0xedc1bd, 0xedbedc, 0xedb4ec, 0xedd81c, 0xedfb63, 0xedf899, 0xefeeaa, 0x4f2bf0, 0x45cc61],
        }
        Streaming qcow2 to raw conversion failed: could not stream/convert qcow2 image to raw: qemu-img execution failed: signal: aborted (core dumped)
    occurred
    /go/src/kubevirt.io/containerized-data-importer/pkg/importer/dataStream_test.go:480
Streaming Data Conversion
/go/src/kubevirt.io/containerized-data-importer/pkg/importer/dataStream_test.go:437
  when data is in a supported file format
  /go/src/kubevirt.io/containerized-data-importer/vendor/github.com/onsi/ginkgo/extensions/table/table.go:92
    should convert and untar and unpack .qcow2.tar.xz [It]
    /go/src/kubevirt.io/containerized-data-importer/vendor/github.com/onsi/ginkgo/extensions/table/table_entry.go:46
    Unexpected error:
        <*errors.withStack | 0xc42000d200>: {
            error: {
                cause: {
                    error: {
                        cause: {
                            msg: "unexpected end of JSON input",
                            Offset: 0,
                        },
                        msg: "Invalid json for image /tmp/.tmp-0nORzYWyZ1s1/disk422946d9c023d857.img",
                    },
                    stack: [0xebdbc3, 0xefdb8b, 0xefd60d, 0xefcf3e, 0xef9a53, 0xf0e252, 0x45a51b, 0x4b6ff9, 0x4b6574, 0xee18f7, 0xecf4fc, 0xecf13e, 0xece41f, 0xed5516, 0xed4f23, 0xedc1bd, 0xedbedc, 0xedb4ec, 0xedd81c, 0xedfb63, 0xedf899, 0xefeeaa, 0x4f2bf0, 0x45cc61],
                },
                msg: "Local image validation failed to retrieve image info",
            },
            stack: [0xefde6b, 0xefd60d, 0xefcf3e, 0xef9a53, 0xf0e252, 0x45a51b, 0x4b6ff9, 0x4b6574, 0xee18f7, 0xecf4fc, 0xecf13e, 0xece41f, 0xed5516, 0xed4f23, 0xedc1bd, 0xedbedc, 0xedb4ec, 0xedd81c, 0xedfb63, 0xedf899, 0xefeeaa, 0x4f2bf0, 0x45cc61],
        }
        Local image validation failed to retrieve image info: Invalid json for image /tmp/.tmp-0nORzYWyZ1s1/disk422946d9c023d857.img: unexpected end of JSON input
    occurred
    /go/src/kubevirt.io/containerized-data-importer/pkg/importer/dataStream_test.go:480
awels commented 5 years ago

As @mhenriks mentioned somewhere, I believe the real problem is that in our unit tests we are testing qemu-img, and for some reason qemu-img sometimes doesn't like running in the travis environment. I think the proper solution is to stop testing qemu-img in our unit tests, and mock the results from the call instead.