I'm looking at moving from mod_jk to mod_proxy and I need to migrate
my tooling for things like scripted worker-management. My existing
tool for mod_jk is on GitHub for those interested in what it can do.
Mostly, I'm interested in fetching and setting the status(es) of a
worker. With mod_jk, status is one of Active, Disabled, Stopped. The
difference between Disabled and Stopped is that requests for
sticky-sessions pointing to a Disabled will still be routed to the
Disabled worker while a Stopped worker will never receive a request.
By looking at a little of the mod_proxy_balancer code and poking at
the interface a little bit, I have drawn these conclusions. Can anyone
confirm that they are accurate?
1. Nonce is required for many operations (but not status-fetch?)
2. Nonce is only available once an initial GET has completed succesfully
... by sniffing the nonce from an href URL
3. You can get XML details for the balancers ... but only with a nonce
and an "xml" parameter
4. You can change any individual flag, eg. "draining", by making a
POST request which includes a w_status_[F]=0|1 parameter where [F] is
one of several flag characters (e.g. N for "draiNing") along with a
"b" (balancer) and "w" (worker) parameter. Unspecified flags and other
settings will be unaffected. The nonce is required for these operations.
5. The "draiN" status of mod_proxy_balancer workers is analagous to
the "disabled" status of mod_jk, and both "Disabled" and "Stopped" in
mod_proxy are roughly equivalent to "Disabled" state for mod_jk.
Does all that sound right?
Would it be possible to query the status with XML-output *without* a
nonce? And could the nonce be added to the XML output?