Hi,
Since upgrade in 5.17, one of my users has trouble with all their jobs.
In short they run manually, but not scheduled.
Here is a job which is impacted :
- defaultTab: nodes
description: purge des logs des jobs dans /var/log/outils
executionEnabled: true
id: a229ef45-ff46-4908-80c5-e4ce3f8a4ca1
loglevel: INFO
name: Purge logs rundeck
nodeFilterEditable: false
nodefilters:
dispatch:
excludePrecedence: true
keepgoing: true
rankOrder: ascending
successOnEmptyNodeFilter: false
threadcount: '1'
filter: 'hostname:
"
pr-ofi-bddsrep01.dsofint.in.phm.education.gouv.fr" hostname:
"
pr-ofi-bddsrem01.dsofint.in.phm.education.gouv.fr" hostname:
"
pr-ofi-bddsnom01.dsofint.in.phm.education.gouv.fr"'
nodesSelectedByDefault: true
notification:
onfailure:
email:
attachLog: true
attachLogInline: true
recipients:
l.ce...@vlist.education.gouv.fr
subject: '[SYGNE] [PP] RunDeck - Job ${
job.name} en ERREUR '
notifyAvgDurationThreshold: null
plugins:
ExecutionLifecycle: {}
schedule:
month: '*'
time:
hour: '10'
minute: '10'
seconds: '0'
weekday:
day: '3'
year: '*'
scheduleEnabled: true
sequence:
commands:
- script: |-
#!/bin/bash
#purge des logs de + de 30 jours dans /var/log/outils
set -uo pipefail
#creation fichier de log
LOGFILE=/var/log/outils/$(basename $0|cut -d. -f1).$(date
+%Y%m%d%H%M%S).log
touch $LOGFILE
date>$LOGFILE
CODERET=0
#Main
echo "suppression des logs de /var/log/outils de + de 30
jours"|& tee -a $LOGFILE
sudo find /var/log/outils/ -type f -name '*.log' -mtime +30
-exec rm -f {} \; |& tee -a $LOGFILE
CODERET=$?
exit $CODERET
keepgoing: false
strategy: node-first
user: mboucaud
uuid: a229ef45-ff46-4908-80c5-e4ce3f8a4ca1
When run manually, everything is OK (I verified it), but when run
scheduled, he gets this error :
com.dtolabs.rundeck.core.NodesetEmptyException: No matched nodes:
NodeSet{includes={hostname=
pr-ofi-bddsrep01.dsofint.in.phm.education.gouv.fr,
pr-ofi-bddsrem01.dsofint.in.phm.education.gouv.fr,
pr-ofi-bddsnom01.dsofint.in.phm.education.gouv.fr,
dominant=false, }}
at
com.dtolabs.rundeck.core.execution.workflow.BaseWorkflowExecutor.validateNodeSet(BaseWorkflowExecutor.java:880)
at
com.dtolabs.rundeck.core.execution.workflow.NodeFirstWorkflowExecutor.executeWorkflowImpl(NodeFirstWorkflowExecutor.java:92)
at
com.dtolabs.rundeck.core.execution.workflow.BaseWorkflowExecutor.executeWorkflow(BaseWorkflowExecutor.java:220)
at
com.dtolabs.rundeck.core.execution.WorkflowExecutionServiceThread.runWorkflow(WorkflowExecutionServiceThread.java:95)
at
com.dtolabs.rundeck.core.logging.LoggingManagerImpl$MyPluginLoggingManager.runWith(LoggingManagerImpl.java:146)
at
com.dtolabs.rundeck.core.execution.WorkflowExecutionServiceThread.run(WorkflowExecutionServiceThread.java:77)
Exception: class com.dtolabs.rundeck.core.NodesetEmptyException: No
matched nodes:
NodeSet{includes={hostname=
pr-ofi-bddsrep01.dsofint.in.phm.education.gouv.fr,
pr-ofi-bddsrem01.dsofint.in.phm.education.gouv.fr,
pr-ofi-bddsnom01.dsofint.in.phm.education.gouv.fr,
dominant=false, }}
No matched nodes:
NodeSet{includes={hostname=
pr-ofi-bddsrep01.dsofint.in.phm.education.gouv.fr,
pr-ofi-bddsrem01.dsofint.in.phm.education.gouv.fr,
pr-ofi-bddsnom01.dsofint.in.phm.education.gouv.fr,
dominant=false, }}
I doubled checked also that the nodes are correctly defines in
resources.json
I must also admit that I was unable to reproduce the problem : I
duplicated this job, the duplicate runs fine scheduled.
Regards,
Xavier
--
Xavier Humbert
CRT Supervision et Exploitation de Niveau 1
Direction Régionale Académique des Systèmes d’Information Grand Est
Rectorat de l'Académie de Nancy-Metz
Ministère de l'Éducation Nationale, de l'Enseigenement Supérieur et de la Recherche
03 83 86 27 39