Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • BIND BIND
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 567
    • Issues 567
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 95
    • Merge requests 95
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • ISC Open Source ProjectsISC Open Source Projects
  • BINDBIND
  • Merge requests
  • !5213

Draft: Use nosync for CI jobs

  • Review changes

  • Download
  • Email patches
  • Plain diff
Closed Michal Nowak requested to merge 2752-use-nosync-in-ci into main Jun 22, 2021
  • Overview 3
  • Commits 2
  • Pipelines 18
  • Changes 1

The nosync.so library is expected at and loaded from /usr/local/lib.

On Debian 10 (Buster) it does not work with GCC when ASan is used, therefore it's disabled as long as we don't update to a newer GCC.

Validation:

  • Docker images: https://gitlab.isc.org/isc-projects/bind9/-/pipelines/75320
  • QCOW2 images: https://gitlab.isc.org/isc-projects/bind9/-/pipelines/75294

Image code needs to be merged first: images!124 (closed)

nosync

I ran the following pipelines (75828, 75829, 75830, 75834, 75835, 75836) with nosync in place when no other CI consumer was present at the moment. The following tests failed (the gcc:asan and system:gcc:tarball jobs are not considered because of limitations in this MR):

  • inline in system:gcc:centos8:amd64
  • random in unit:gcc:softhsm2.6
  • rrl in system:clang:freebsd12:amd64
  • rpz in system:clang:freebsd13:amd64
  • kasp and inline in system:clang:openbsd:amd64
  • netmgr in unit:clang:tsan
  • inline in system:clang:openbsd:amd64
  • rrl in system:clang:freebsd12:amd64
  • fetchlimit in system:clang:openbsd:amd64
  • serve-fail in system:clang:openbsd:amd64

Overall 11 failed tests out of 246 unit and system test CI jobs.

main

I ran the following pipelines (75538, 75539, 75540, 75541, 75542, 75543) on main when no other CI consumer was present at the moment. The following tests failed (contrary to the run with nosync the gcc:asan and system:gcc:tarball jobs were run):

  • kasp in system:clang:openbsd:amd64
  • random in unit:gcc:asan
  • tcp and mkeys in system:clang:freebsd11:amd64
  • padding in system:clang:freebsd12:amd64
  • rpz in system:clang:openbsd:amd64
  • qmin in system:gcc:buster:amd64
  • rrl in system:clang:freebsd13:amd64
  • kasp in system:clang:openbsd:amd64
  • acl in system:clang:openbsd:amd64
  • rrl in system:clang:freebsd13:amd64
  • legacy in system:clang:freebsd11:amd64

Overall 12 tests failed out of 264 unit and system test CI jobs.

I think this shows that nosync does not make unit and system tests more stable in the CI and this enterprise should not be pursued further. It also shows that 2/3 of the failures are on FreeBSD and OpenBSD (a small portion of CI jobs with OpenBSD not having system tests in merge request-triggered pipelines, so particular problem is shielded away a bit).

Closes #2752 (closed)

Edited Jul 02, 2021 by Michal Nowak
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: 2752-use-nosync-in-ci