Ce contenu n'est pas disponible dans la langue sélectionnée.
Chapter 6. Jobs
Resolve common job issues including module resolution errors, timeout errors, pending jobs, and permission errors.
6.1. Issue - Jobs are failing with “ERROR! couldn’t resolve module/action” error message Copier lienLien copié sur presse-papiers!
Jobs are failing with the error message “ERROR! couldn’t resolve module/action 'module name'. This often indicates a misspelling, missing collection, or incorrect module path”.
This error can happen when the collection associated with the module is missing from the execution environment.
The recommended resolution is to create a custom execution environment and add the required collections inside of that execution environment. For more information about creating an execution environment, see Using Ansible Builder in Creating and using execution environments.
Alternatively, you can complete these steps:
Procedure
-
Create a
collectionsfolder inside of the project repository. Add a
requirements.ymlfile inside of thecollectionsfolder and add the collection:collections: - <collection_name>
6.2. Issue - Jobs failing with timeout waiting for privilege escalation prompt Copier lienLien copié sur presse-papiers!
This error can happen when the timeout value is too small, causing the job to stop before completion. The default timeout value for connection plugins is 10.
To resolve the issue, increase the timeout value by completing one of the following methods.
The following changes will affect all of the jobs in automation controller. To use a timeout value for a specific project, add an ansible.cfg file in the root of the project directory and add the timeout parameter value to that ansible.cfg file.
Procedure
Increase the timeout value by using one of the following methods:
Add ANSIBLE_TIMEOUT as an environment variable in the automation controller UI:
- Go to automation controller.
-
From the navigation panel, select
. Under Extra Environment Variables add the following:
{ "ANSIBLE_TIMEOUT": 60 }
Add a timeout value in the [defaults] section of the ansible.cfg file:
Edit the
/etc/ansible/ansible.cfgfile and add the following:[defaults] timeout = 60
Run ad hoc commands with a timeout:
To run an ad hoc playbook in the command line, add the
--timeoutflag to theansible-playbookcommand, for example:# ansible-playbook --timeout=60 <your_playbook.yml>
6.3. Issue - Jobs in automation controller are stuck in a pending state Copier lienLien copié sur presse-papiers!
After launching jobs in automation controller, the jobs stay in a pending state and do not start.
There are a few reasons jobs can become stuck in a pending state. For more information about troubleshooting this issue, see Playbook stays in pending in Configuring automation execution
Procedure
Run the following commands to list all of the pending jobs:
# awx-manage shell_plus>>> UnifiedJob.objects.filter(status='pending')Cancel the pending jobs by using one of the following methods:
To cancel all pending jobs, run the following command:
>>> UnifiedJob.objects.filter(status='pending').update(status='canceled')To cancel a single job, run the following command, replacing
<job_id>with the job ID to cancel:>>> UnifiedJob.objects.filter(id=<job_id>).update(status='canceled')
6.4. Issue - Jobs failing with insufficient permissions error in private automation hub Copier lienLien copié sur presse-papiers!
Jobs are failing with the error message "denied: requested access to the resource is denied, unauthorized: Insufficient permissions". This happens when using an execution environment in private automation hub.
This issue occurs when you protect private automation hub with a password or token but do not assign the registry credential to the execution environment.
Procedure
- Go to automation controller.
-
From the navigation panel, select
. - Click the execution environment assigned to the job template that is failing.
- Click .
- Assign the appropriate Registry credential from your private automation hub to the execution environment.