1.3 Policy Debugger Use Cases

This section includes several use cases that show how the Policy Debugger works and how to use it. The following use cases are included:

1.3.1 Use Case 1: Determining Why a Job is in a Waiting State

The objective of this use case is to run a job that sits in the waiting state and to use the policy debugger to identify why it is in the state and to make the necessary changes to get the job to run. The quickie.job is used along with a simple policy that specifies that the Resources that are to be used must be in a Resource group called debugger.

Use the following steps to recreate the use case.

  1. In the Orchestrator Console, create a user named debugger.

  2. Deploy quickie.job from the /examples directory.

  3. In the Orchestrator Console, create a schedule named quickie, specifying the quickie job and the debugger user.

  4. In the console, create a policy and name it debuggerExample. The policy needs to specify that the resource used belongs to the group called debugger.

  5. In the console, associate the debuggerExample policy to the quickie job.

  6. In the Job Scheduler view of the console, select the quickie schedule, then click Run Now to run the quickie schedule.

  7. In the Job Monitor view of the console, select the Policy Debugger tab and verify that the job is in the waiting state.

  8. In the Constraints Table view, open the Constraint Type drop down list, then select Allocation.

  9. In the Match Context area of the Constraints Table view, open the Resource drop down list, then select any resource to refresh the Constraints Table and Facts Table views.

    The Policy Debugger displays a red icon near the constraints that fail to match. The larger, red octagonal icon shows the particular constraint that is “blocking” and preventing the job from running on the resource. This is the constraint that is causing the job to be in a “waiting” state. The Constraints Table also displays the policy name (debuggerExample) that is contributing the constraint that is causing problems.

There are a few ways to get the job to run:

  • Create a Resource group called debugger, then place a resource in that group to satisfy the constraint specified in the policy.

  • Disassociate the policy (debuggerExample) from the job (quickie).

  • In the Constraints Table, right-click on the blocking constraint and select Disable Constraint.