A test app for simulating the workload on the openshift cluster based on end-user use cases in order to monitor the downtime of component products in integreatly during an upgrade.
This application supports both Docker and Podman. The Makefile automatically detects which container engine is available:
- If Podman is available, it uses Podman
- If only Docker is available, it uses Docker
- You can override the detection by setting
CONTAINER_ENGINE=dockerorCONTAINER_ENGINE=podman
You can check which container engines are available and get setup guidance:
# Quick environment check with helpful tips
./check-container-engine.sh
# Or use the Makefile target for basic info
make container-engineTo deploy the app to a RHOAM cluster, you will need to:
- Login to the RHOAM cluster using
oc logincommand - Set this optional environment variable only if you want to view the metrics data using the Grafana dashboard:
export GRAFANA_DASHBOARD=true - Internal RHOAMI only. Export an additional envar to switch web-app into a Internal/edge compliant mode:
export RHOAMI=true - Then run this command to deploy the app:
make local/deploy
If you want to use a specific container engine, set the CONTAINER_ENGINE variable:
# Using Docker
CONTAINER_ENGINE=docker make local/deploy
# Using Podman
CONTAINER_ENGINE=podman make local/deployTo delete the app, run:
make local/undeploy
Note: It might take up to 15 minutes for 3scale to fully remove the service (Product) hence you need to wait this long after undeploy if you want to deploy the workload-web-app again. In case the service is not fully removed yet the deployment fails with System name has already been taken error.
-
Check if your container engine is working:
make validate-engine
-
Permission denied errors with Podman:
ADDITIONAL_CONTAINER_ENGINE_PARAMS="--privileged" make local/deploy -
SELinux issues with volume mounts: The Makefile automatically adds
:zlabels for SELinux compatibility. If you still have issues:ADDITIONAL_CONTAINER_ENGINE_PARAMS="--privileged --security-opt label=disable" make local/deploy -
Force a specific container engine:
# Force Docker even if Podman is available CONTAINER_ENGINE=docker make local/deploy # Force Podman even if Docker is available CONTAINER_ENGINE=podman make local/deploy
Note: It might take up to 15 minutes for 3scale to fully remove the service (Product) hence you need to wait this long after undeploy if you want to deploy the workload-web-app again. In case the service is not fully removed yet the deployment fails with System name has already been taken error.