rundeck-plugins / ansible-plugin

Ansible Integration for Rundeck
MIT License
331 stars 100 forks source link

rundeck command with ansible default node executor fails. #240

Open orbdep opened 5 years ago

orbdep commented 5 years ago

So. When we create a project with Ansible ad-hoc node executor as the default, with Generate inventory from rundeck nodes clicked. (thank you for this by the way!) ansible jobs and modules work perfectly within the context of the project. however if I try to issue an ad-hoc command in the commands tab, I get some serious errors. for example, Simple command, uptime, against a node, we get java.lang null pointer exception .

10:44:15 REDACTED.NET Failed dispatching to node LRSCDTESTCORP601: java.lang.NullPointerException
10:44:15   Execution failed: 234 in project ansible_test_project: [Workflow result: , step failures: {1=Dispatch failed on 1 nodes: [LRSCDTESTCORP601: Unknown: java.lang.NullPointerException]}, Node failures: {LRSCDTESTCORP601=[Unknown: java.lang.NullPointerException]}, status: failed]

if we destroy the entire project, or create a brand new one, occasionally we can do an ad-hoc command and the first time it will run perfectly, then fail every time after that. I'm at a complete loss here.

More info here. I attempted the same thing as a job, in debug to get more information.

Failed dispatching to node LRSCDTESTCORP601: com.dtolabs.rundeck.core.execution.workflow.steps.node.NodeStepException: java.lang.NullPointerException at com.dtolabs.rundeck.core.execution.ExecutionServiceImpl.executeNodeStep(ExecutionServiceImpl.java:220) at com.dtolabs.rundeck.core.execution.dispatch.SequentialNodeDispatcher.dispatch(SequentialNodeDispatcher.java:130) at com.dtolabs.rundeck.core.execution.dispatch.SequentialNodeDispatcher.dispatch(SequentialNodeDispatcher.java:61) at com.dtolabs.rundeck.core.execution.ExecutionServiceImpl.dispatchToNodesWith(ExecutionServiceImpl.java:262) at com.dtolabs.rundeck.core.execution.ExecutionServiceImpl.dispatchToNodes(ExecutionServiceImpl.java:233) at com.dtolabs.rundeck.core.execution.workflow.steps.NodeDispatchStepExecutor.executeWorkflowStep(NodeDispatchStepExecutor.java:66) at com.dtolabs.rundeck.core.execution.ExecutionServiceImpl.executeStep(ExecutionServiceImpl.java:111) at com.dtolabs.rundeck.core.execution.workflow.BaseWorkflowExecutor.executeWFItem(BaseWorkflowExecutor.java:287) at com.dtolabs.rundeck.core.execution.workflow.BaseWorkflowExecutor.executeWorkflowStep(BaseWorkflowExecutor.java:683) at com.dtolabs.rundeck.core.execution.workflow.engine.StepCallable.apply(StepCallable.java:71) at com.dtolabs.rundeck.core.execution.workflow.engine.StepOperation.apply(StepOperation.java:73) at com.dtolabs.rundeck.core.execution.workflow.engine.StepOperation.apply(StepOperation.java:31) at com.dtolabs.rundeck.core.rules.WorkflowEngineOperationsProcessor.lambda$processRunnableOperations$1(WorkflowEngineOperationsProcessor.java:222) at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125) at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:57) at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NullPointerException at com.batix.rundeck.plugins.AnsibleNodeExecutor.executeCommand(AnsibleNodeExecutor.java:94) at com.dtolabs.rundeck.core.execution.ExecutionServiceImpl.executeCommand(ExecutionServiceImpl.java:418) at com.dtolabs.rundeck.core.execution.ExecutionServiceImpl.executeCommand(ExecutionServiceImpl.java:387) at com.dtolabs.rundeck.core.execution.workflow.steps.node.impl.ExecNodeStepExecutor.executeNodeStep(ExecNodeStepExecutor.java:56) at com.dtolabs.rundeck.core.execution.ExecutionServiceImpl.executeNodeStep(ExecutionServiceImpl.java:206) ... 18 more