juju debug-code¶
See also: ssh, debug-hooks
Summary¶
Launch a tmux session to debug hooks and/or actions.
Usage¶
juju debug-code [options] <unit name> [hook or action names]
Options¶
Flag |
Default |
Usage |
|---|---|---|
|
all |
Specify the value that the |
|
the container name of the target pod |
|
|
Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> |
|
|
false |
Skip host key checking (INSECURE) |
|
false |
Proxy through the API server |
|
<auto> |
Enable pseudo-tty allocation |
|
false |
Target on the workload or operator pod (k8s-only) |
Examples¶
Debug all hooks and actions of unit mysql/0:
juju debug-code mysql/0
Debug all hooks and actions of the mysql/leader unit:
juju debug-code mysql/leader
Debug the config-changed hook of unit ‘1’:
juju debug-code mysql/1 config-changed
Debug the pull-site action and update-status hook of the hello-kubecon charm:
juju debug-code hello-kubecon/0 pull-site update-status
Debug the leader-elected hook and set JUJU_DEBUG_AT variable to hook:
juju debug-code --at=hook mysql/0 leader-elected
Details¶
The command launches a tmux session that will intercept matching hooks and/or
actions.
Initially, the tmux session will take you to /var/lib/juju or /home/ubuntu.
As soon as a matching hook or action is fired, the hook or action is executed
and the JUJU_DEBUG_AT variable is set. Charms implementing support for this
should set debug breakpoints based on the environment variable. Charms written
with the Ops library automatically provide support for this.
Valid unit identifiers are:
a standard unit ID, such as
mysql/0or;leader syntax of the form
<application>/leader, such asmysql/leader.
If no hook or action is specified, all hooks and actions will be intercepted.
See juju help ssh for information about SSH related options
accepted by the debug-code command.