container builds with buildah does not exit with an error when errors or build deps issues fail contianer builds

Bug #1836265 reported by wes hayutin
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
Critical
Kevin Carter

Bug Description

http://logs.rdoproject.org/95/21295/30/check/tripleo-build-containers-rhel-8-master/7900f8e/logs/build.log.txt.gz

rhel 8 train/master container build ^

The job completes successfully, however one can see an openstack-base container build issue

http://logs.rdoproject.org/95/21295/30/check/tripleo-build-containers-rhel-8-master/7900f8e/logs/buildah-builds/kolla-wqk_albq/docker/openstack-base/openstack-base-build.log.txt.gz

Package systemd-239-13.el8_0.5.x86_64 is already installed.
No match for argument: python3-pika
Error: Unable to find a match

This is preventing other containers from being built.
Buildah should error out and fail the job in these situations.

Tags: ci
summary: - buildah does not exit with an error when errors or build deps issues
- fail contianer builds
+ container builds with buildah does not exit with an error when errors or
+ build deps issues fail contianer builds
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to tripleo-common (master)

Related fix proposed to branch: master
Review: https://review.opendev.org/670408

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to tripleo-common (master)

Reviewed: https://review.opendev.org/670408
Committed: https://git.openstack.org/cgit/openstack/tripleo-common/commit/?id=0be1be779a27d7bb3ba8f5469e391e4c72eee685
Submitter: Zuul
Branch: master

commit 0be1be779a27d7bb3ba8f5469e391e4c72eee685
Author: Kevin Carter <email address hidden>
Date: Thu Jul 11 17:54:39 2019 -0500

    Ensure we're raising proper exceptions

    This change ensures our use of the `process.execute` method from
    "oslo_concurrency" always checks the return codes of a given command.
    While the library is assumed to do this already, this change
    enforces our expected behavior.

    We're also changing our use of futures to return when there's
    an exception. The build_all method was blocking until all
    jobs were completed. Blocking on pipeline completion results
    in us masking exceptions that may be raised duing the job
    execution. To ensure we're capturing errors in our build
    process the wait function now return on the first exception;
    More on the futures constants can be seen here:[0]. The
    return values will now be evaluated to ensure all jobs
    completed successfully.

    Unit tests have been added to ensure we're not breaking the
    build all method and that it raise appropriate exceptions
    when errors are encountered.

    [0] - https://docs.python.org/3/library/concurrent.futures.html#module-functions

    Related-Bug: #1836265
    Change-Id: Ia05140142fa59e5b252cd92801244e4fc02f4bbc
    Signed-off-by: Kevin Carter <email address hidden>

Changed in tripleo:
milestone: train-2 → train-3
Changed in tripleo:
milestone: train-3 → train-rc1
Luke Short (ekultails)
Changed in tripleo:
assignee: nobody → Kevin Carter (kevin-carter)
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.