Completely uninstall all metrics service components and optionally preserve or delete data to cleanly remove the service without orphaned resources or configuration conflicts.
About this task
Warning
Uninstallation is destructive and irreversible. Back up the metrics_service database before proceeding if you need to preserve historical metrics data.
Procedure
- Method 1: Use installer playbook (recommended)
cd /path/to/aap-containerized-installer
ansible-playbook -i inventory uninstall.yml
The uninstall.yml playbook automatically removes all metrics service components:
- Stops and disables systemd services
- Removes containers
- Deletes systemd unit files
- Removes Podman secrets
- Deletes volume directories
- Removes firewall rules
Note
Optional: To also drop the database, add database cleanup tasks to your inventory configuration.
- Method 2: Manual uninstall
Use this method if you need granular control over uninstall steps.
Step 1: Stop and disable systemd services
systemctl --user stop automation-metrics-web.service automation-metrics-tasks.service automation-metrics-scheduler.service
systemctl --user disable automation-metrics-web.service automation-metrics-tasks.service automation-metrics-scheduler.service
Step 2: Remove containers
podman rm -f automation-metrics-web
podman rm -f automation-metrics-tasks
podman rm -f automation-metrics-scheduler
podman rm -f automation-metrics-init
Step 3: Delete systemd unit files
rm -f ~/.config/systemd/user/automation-metrics-web.service
rm -f ~/.config/systemd/user/automation-metrics-tasks.service
rm -f ~/.config/systemd/user/automation-metrics-scheduler.service
systemctl --user daemon-reload
Step 4: Delete Podman secrets
podman secret rm automationmetrics_pg_password
podman secret rm automationmetrics_controller_read_pg_password
podman secret rm automationmetrics_secret_key
podman secret rm automationmetrics_resource_server
Step 5: Remove volumes and data directories
rm -rf {{ aap_volumes_dir }}/automationmetrics
Step 6: Drop database (optional)
psql -h localhost -U postgres
DROP DATABASE IF EXISTS metrics_service;
DROP USER IF EXISTS metrics_service;
DROP USER IF EXISTS ms_awx_readonly;
Step 7: Remove firewall rules
sudo firewall-cmd --remove-port=8087/tcp --permanent
sudo firewall-cmd --remove-port=8450/tcp --permanent
sudo firewall-cmd --reload
Results
Reinstallation with same database
Metrics service can be reinstalled using the same database:
- Django migrations are idempotent (safe to re-run)
- No code-level block on reinstall
init-system-tasks recreates Task rows
Limitations:
- Not officially tested or supported
- Unexpected behavior possible
Recommendation: Use a fresh database for reinstallation unless you have specific requirements to preserve existing data.