summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris White <chwhite@redhat.com>2024-01-23 19:53:36 +0000
committerJohn Kacur <jkacur@redhat.com>2024-01-23 15:34:03 -0500
commit0ff13431d2d132ba21ce82a6def38e7d0e18a045 (patch)
tree33fbf50e6d1e54a41195334541b7e7383028569d
parentddc9e44f4f7666a4caf26837d30e8d06021a6572 (diff)
downloadrt-tests-0ff13431d2d132ba21ce82a6def38e7d0e18a045.tar.gz
rt-tests: Add Dockerfile README
Add README detailing Docker setup for building and testing rt-tests in a containerized environment. Signed-off-by: Chris White <chwhite@redhat.com> Signed-off-by: John Kacur <jkacur@redhat.com>
-rw-r--r--README-Dockerfile49
1 files changed, 49 insertions, 0 deletions
diff --git a/README-Dockerfile b/README-Dockerfile
new file mode 100644
index 0000000..fc6ec85
--- /dev/null
+++ b/README-Dockerfile
@@ -0,0 +1,49 @@
+1
+# README-Dockerfile-rt-tests
+
+## Introduction
+This README provides detailed instructions for setting up an rt-tests container using Docker or Podman. This Dockerfile will pull a current copy of your code (plus all of your changes) and compile it into a container image for you to test with. This will give you an imbiguous way to test your changes, assuming you are running on a semi-modern host OS. The rt-tests container can be used to test any of the subpackages found under the rt-tests project, but is mainly intended for hwlatdetect and cyclictest.
+
+## Prerequisites
+- Docker or Podman installed on your system.
+
+## Installation
+### Prepare Your Environment
+- For EPEL systems (Fedora, CentOS, RHEL):
+ - Install Podman: `sudo dnf install podman -y`
+- For Debian-based systems (Ubuntu):
+ - Install Docker: `sudo apt-get update && sudo apt-get install docker.io -y`
+ - Alternatively, install Podman: `sudo apt-get update && sudo apt-get install podman -y`
+
+### Build the Container
+- Navigate to the root directory of the 'rteval'
+- Build the container image named 'rteval-upstream':
+ - For Podman: `sudo podman build -t rt-tests-upstream .`
+ - For Docker: `sudo docker build -t rt-tests-upstream .`
+
+## Usage
+### Run the Container
+- Start the container in privileged mode:
+ - For Podman: `sudo podman run -it --privileged rt-tests-upstream`
+ - For Docker: `sudo docker run -it --privileged rt-tests-upstream`
+- This will create a long lasting container. In order to use it again (say after a reboot), you need to start and exec into the container to get yourself back into the shell:
+ - For Podman:
+ - `sudo podman start rt-tests-upstream`
+ - `sudo podman exec -it rt-tests-upstream /bin/bash`
+ - For Docker:
+ - `sudo docker start rt-tests-upstream`
+ - `sudo docker exec -it rt-tests-upstream /bin/bash`
+- And to clean up and remove your container so you can test a new one:
+ - For Podman: `sudo podman rm -f rt-tests-upstream`
+ - For Docker: `sudo docker rm -f rt-tests-upstream`
+- Please note that the above command does not cleanup the container when you are done. It can be useful to run a single use container when trying to only test a quick change and remove the container afterwards. To run a a single use container that removes itself immediately after you exit the shell, run the following commands with the `--rm` option:
+ - For Podman: `sudo podman run -it --rm --privileged rt-tests-upstream`
+ - For Docker: `sudo docker run -it --rm --privileged rt-tests-upstream`
+
+### Test rteval Build
+- Inside the container, test one of the rt-tests packages you just built:
+ - Command: `cyclictest -D 1s`
+ - Command: `hwlatdetect --duration 1`
+
+## Conclusion
+Follow these detailed steps for a successful rt-tests container setup using Docker or Podman.