JVM Instrumentation for CloudStack Debugging

This guide provides a concise reference for using JVM diagnostic tools to monitor and debug the CloudStack Management Server, especially when installed via .deb packages. 1. Prerequisites CloudStack installed via .deb and running as a systemd service Java tools available (jps, jstack, jmap, jstat, jcmd) Access to sudo Find CloudStack PID: sudo jps -l # or ps aux | grep ServerDaemon 2. jps — List Java Processes sudo jps -l Shows running Java processes, including CloudStack’s:...

October 22, 2025 · 2 min · Daman Arora

Marvin `deployDataCenter.py` Troubleshooting Summary

1) Marvin deployDataCenter.py — Issues & Fixes 1.1 Running marvin from the root Fix: Run from repo root: cd ~/lab/cloudstack python3 tools/marvin/marvin/deployDataCenter.py -i setup/dev/advanced.cfg 1.2 DNS: sim Not Resolvable Symptom UnknownHostException: sim: Name or service not known Fix Options Add to /etc/hosts: echo "127.0.0.1 sim" | sudo tee -a /etc/hosts Or change host URLs in advanced.cfg to: http://127.0.0.1/c0/h0 1.3 Host Authentication Error (KVM path only) Symptom errorText: [Authentication error with host password] Fix...

October 22, 2025 · 2 min · Daman Arora

Using the `async_job` Table in Apache CloudStack

Apache CloudStack performs many operations asynchronously — such as VM deployments, volume operations, and network changes. The async_job table in the CloudStack database is the primary source of truth for tracking, debugging, and correlating logs related to background jobs. Why Async Jobs Matter Whenever a CloudStack user (via API or UI) triggers an operation that takes time to complete, the Management Server creates an entry in the async_job table. This allows the system to:...

October 22, 2025 · 3 min · Daman Arora

Why `sudo echo "..." > file` Doesn’t Work — and How to Fix It

Tried this command: echo "/export *(rw,async,no_root_squash,no_subtree_check)" > /etc/exports But the file didn’t get updated. Core Issue: Redirection (>) Happens Before sudo When executing sudo echo "line" > /etc/file Only the echo runs with sudo. So this fails silently (or leaves the file empty). Correct Approach: Use sudo tee echo "/export *(rw,async,no_root_squash,no_subtree_check)" | sudo tee /etc/exports > /dev/null This works because: echo runs normally Output is piped (|) to sudo tee tee runs with root privileges and writes the file IMPORTANT: Append Instead of Overwrite?...

October 22, 2025 · 1 min · Daman Arora