Rundeck 2.5.1 - 本地执行的作业上没有匹配的节点

Rundeck 2.5.1 - 本地执行的作业上没有匹配的节点

我正在使用 Rundeck v2.5.1,并尝试配置一个在本地执行的作业。该作业运行一个内联脚本,该脚本运行另一个脚本。当我以管理员身份运行该作业时,似乎 Rundeck 不会运行任何内联脚本。以下是该作业的输出:

com.dtolabs.rundeck.core.NodesetEmptyException: No matched nodes: MultiNodeSelector{nodenames=[localhost]}
 at com.dtolabs.rundeck.core.execution.workflow.NodeFirstWorkflowStrategy.validateNodeSet(NodeFirstWorkflowStrategy.java:341)
 at com.dtolabs.rundeck.core.execution.workflow.NodeFirstWorkflowStrategy.executeWorkflowImpl(NodeFirstWorkflowStrategy.java:84)
 at com.dtolabs.rundeck.core.execution.workflow.BaseWorkflowStrategy.executeWorkflow(BaseWorkflowStrategy.java:182)
 at com.dtolabs.rundeck.core.execution.WorkflowExecutionServiceThread.run(WorkflowExecutionServiceThread.java:55)
Exception: class com.dtolabs.rundeck.core.NodesetEmptyException: No matched nodes: MultiNodeSelector{nodenames=[localhost]}
No matched nodes: MultiNodeSelector{nodenames=[localhost]}

另外,这是 admin.aclpolicy (/etc/rundeck/admin.aclpolicy)

description: Admin, all access.
context:
  project: '.*' # all projects
for:
  resource:
    - allow: '*' # allow read/create all kinds
  adhoc:
    - allow: '*' # allow read/running/killing adhoc jobs
  job:
    - allow: '*' # allow read/write/delete/run/kill of all jobs
  node:
    - allow: '*' # allow read/run for all nodes
by:
  group: admin


---


description: Admin, all access.
context:
  application: 'rundeck'
for:
  resource:
    - allow: '*' # allow create of projects
  project:
    - allow: '*' # allow view/admin of all projects
  storage:
    - allow: '*' # allow read/create/update/delete for all /keys/* storage content
by:
  group: admin

Rundeck 在 VPC 中的 EC2 实例上运行。该实例运行的是 ubuntu 14.04.2 lts。通过 ssh 连接到实例后,我可以成功 curl Rundeck。

$ curl -I -L localhost:4440
HTTP/1.1 302 Found
Set-Cookie: JSESSIONID=s1uqcqv0n9h0p4t49m8j2sxx;Path=/
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Location: http://localhost:4440/user/login;jsessionid=s1uqcqv0n9h0p4t49m8j2sxx
Content-Length: 0
Server: Jetty(7.6.0.v20120127)


HTTP/1.1 200 OK
Content-Language: en-US
Content-Type: text/html;charset=UTF-8
Content-Length: 5260
Server: Jetty(7.6.0.v20120127)

我一直在这里和其他团体/地方寻找,但我真的找不到任何与我的经历和 Rundeck 版本相匹配的东西。

有谁使用过 Rundeck 2.5.1 并遇到过此类错误/知道如何让这项工作运行吗?

<3 米奇

答案1

我刚刚遇到了同样的问题。我通过启用

包含服务器节点: 是

Resource Model Source在您的项目配置下的主要内容中。

答案2

我不得不Local补充Node Sources一点Project Settings

答案3

请监控/var/log/rundeck/rundeck.audit.log文件一段时间以找出正确原因。这会给你更多线索。你的问题很可能与下面描述的问题类似。

我在使用 API 创建作业时遇到过这个问题。rundeck 的问题在于它对 API 令牌有单独的 ACL 策略,这些策略实际上并不依赖于发布 API 令牌的用户组。这有点不合常理,也有点令人惊讶,但尽管如此,我还是让它工作了。如果问题设置相同(使用 API 创建作业),请尝试查看/etc/rundeck/apitoken.aclpolicy并确保它具有allow: [read,run]api_token_group 的节点。

答案4

我刚刚为本地任务创建了新项目。

相关内容