Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: add a /var/tmp volume to the QA tests to fix tests failing (#107) #108

Conversation

isaac-io
Copy link
Contributor

@isaac-io isaac-io commented Aug 3, 2022

The tests that break are env_test and db_test.

env_test fails due to trying to use FS_IOC_GETVERSION on an overlayfs,
which doesn't support it. We need to use a host filesystem for this because
only certain filesytsems support this ioctl. For this we add a host bind
volume to /var/tmp which is what the code tries to use.

db_test fails for an unknown reason and only in buffered I/O mode, which
might indicate a bug in overlayfs. This is caused by a setting of the TMPD
environment variable to the overlayfs mount. Add a mount to the host's /tmp
directory and set TMPD to it instead (we can't use the default of /dev/shm
because there's not enough memory available on the runner machines).

While at it, clean up the workflow definition a bit.

@isaac-io isaac-io requested a review from maxb-io August 3, 2022 15:16
@isaac-io isaac-io self-assigned this Aug 3, 2022
@isaac-io isaac-io force-pushed the 107-ci-unit-tests-fail-due-to-missing-fs_ios_getversion-and-possibly-overlay2-bug branch 2 times, most recently from a01480b to 672562f Compare August 3, 2022 15:26
@isaac-io isaac-io force-pushed the 107-ci-unit-tests-fail-due-to-missing-fs_ios_getversion-and-possibly-overlay2-bug branch 6 times, most recently from b30d5f9 to 173b098 Compare August 4, 2022 05:08
The tests that break are `env_test` and `db_test`.

`env_test` fails due to trying to use `FS_IOC_GETVERSION` on an overlayfs,
which doesn't support it. We need to use a host filesystem for this because
only certain filesytsems support this ioctl. For this we add a host bind
volume to /var/tmp which is what the code tries to use.

`db_test` fails for an unknown reason and only in buffered I/O mode, which
might indicate a bug in overlayfs. This is caused by a setting of the `TMPD`
environment variable to the overlayfs mount. Add a mount to the host's /tmp
directory and set `TMPD` to it instead (we can't use the default of /dev/shm
because there's not enough memory available on the runner machines).

While at it, clean up the workflow definition a bit.
@isaac-io isaac-io force-pushed the 107-ci-unit-tests-fail-due-to-missing-fs_ios_getversion-and-possibly-overlay2-bug branch from 173b098 to f760381 Compare August 4, 2022 06:16
@isaac-io isaac-io merged commit 299d7e6 into main Aug 4, 2022
@isaac-io isaac-io deleted the 107-ci-unit-tests-fail-due-to-missing-fs_ios_getversion-and-possibly-overlay2-bug branch August 4, 2022 06:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CI: unit tests fail due to missing FS_IOS_GETVERSION and possibly overlay2 bug
2 participants