Comments (9)
On newer distros, docker
may no longer work out of the box, so testing if this is a podman
thing or an exec-plugin thing needs some setup.
Temporary (until reboot) fix:
sudo mkdir /sys/fs/cgroup/systemd
sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd
"Permanent" (undoable) fix:
$ sudo dnf install -y grubby
$ sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0"
$ sudo reboot
After a fix is applied, mvn -DimageBuilder=$(which docker) clean verify; docker image prune -f
can be run repeatedly to run the tests using Docker and observe the hang rate.
from cryostat.
Actually, an even better invocation for repeatedly running the tests but without running a full rebuild:
mvn -DimageBuilder=$(which docker) exec:exec@start-container failsafe:integration-test exec:exec@stop-container
from cryostat.
After applying the kernel cgroup change and rebooting to test this, I'm no longer seeing hangs with podman. Docker also works perfectly with the cgroup change.
@ebaron would you mind trying this out too?
from cryostat.
I still saw this with podman. Tried the following:
$ sudo mkdir /sys/fs/cgroup/systemd
$ sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd
$ mvn exec:exec@start-container failsafe:integration-test exec:exec@stop-container
[INFO] Scanning for projects...
[INFO]
[INFO] ------------< com.redhat.rhjmc.containerjfr:container-jfr >-------------
[INFO] Building container-jfr 0.16.0
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- exec-maven-plugin:1.6.0:exec (start-container) @ container-jfr ---
d2787c3464700eebe5d33d157ea3d32587889760e90ecd11750c4a28f68ac3fd
[INFO]
[INFO] --- maven-failsafe-plugin:3.0.0-M4:integration-test (default-cli) @ container-jfr ---
[INFO]
[INFO] -------------------------------------------------------
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running itest.SanityIT
[INFO] Running itest.SanityIT$GetClientUrl
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.521 s - in itest.SanityIT$GetClientUrl
[INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.536 s - in itest.SanityIT
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO]
[INFO] --- exec-maven-plugin:1.6.0:exec (stop-container) @ container-jfr ---
d2787c3464700eebe5d33d157ea3d32587889760e90ecd11750c4a28f68ac3fd
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.249 s
[INFO] Finished at: 2020-03-10T13:20:18-04:00
[INFO] ------------------------------------------------------------------------
$ mvn exec:exec@start-container failsafe:integration-test exec:exec@stop-container
[INFO] Scanning for projects...
[INFO]
[INFO] ------------< com.redhat.rhjmc.containerjfr:container-jfr >-------------
[INFO] Building container-jfr 0.16.0
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- exec-maven-plugin:1.6.0:exec (start-container) @ container-jfr ---
(hang)
from cryostat.
I was also able to reproduce the hang after booting the kernel with systemd.unified_cgroup_hierarchy=0
.
from cryostat.
Hmm. Did you use Docker or still with Podman? I don't know what effect, if any, those fixes have on Podman, but they allow Docker to run on F31. Otherwise I got some "cgroup mount" error when trying to run anything with Docker.
Are you getting it to hang every time with Podman or is it also intermittent for you?
from cryostat.
It's intermittent with Podman, I'll try with Docker.
from cryostat.
Okay, did 50 runs with Docker and no hang.
from cryostat.
Thanks for testing that. I'll close this then since this really seems to be an issue with podman, maybe the same or related to containers/podman#4621
from cryostat.
Related Issues (20)
- [Bug] Missing log output since #1720 HOT 3
- [Bug] CI startup failure HOT 8
- [Story] Integration with Red Hat Insights for Red Hat customers
- [Bug] Typo in CI workflow
- [Bug] CI `/build_test` does not reflect code quality checks status, only tests
- [Request] Env map forwarded to Agent instances should be configurable
- [Bug] Hang on opening JMX connection HOT 3
- [Meta] CI workflows must request write permissions HOT 1
- [Bug] CI does not have permissions to download `cryostat-core` dependency HOT 5
- [Request] Provide a param that can set the web context root path of cryostat-web HOT 6
- [Task] Add `--tags` flag to `git describe` in `pom.xml` version generation
- [Meta] Drop release drafter action, add GitHub release notes config
- [Bug] javax.naming.ConfigurationException: Environment variable CRYOSTAT_JMX_CREDENTIALS_DB_PASSWORD must be set and non-blank HOT 8
- [Bug] Websocket not working with Cryostat exposed on a specific Path HOT 2
- [Bug] Cryostat should not always assume Kubernetes ports numbered 9091 are JMX
- [Bug] `BUILTIN_DISCOVERY_DISABLED` is ignored if `PLATFORM` is set
- [Bug] Cannot delete custom targets that no longer point to a JVM
- [Bug] Unable to interact with short form custom target HOT 7
- [Bug] Unable to archive recordings for short form custom target HOT 2
- [Bug] GET recording error
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cryostat.