Eu corri para exatamente o mesmo problema. Eu consegui trabalhar habilitando
Include Server Node: Yes
no seu principal Resource Model Source
na configuração do seu projeto.
Estou trabalhando com o Rundeck v2.5.1 e estou tentando configurar um job que é executado localmente. O trabalho executa um script in-line que executa outro script. Quando eu executo o trabalho (como admin), parece que o Rundeck não executa nenhum script in-line. Aqui está a saída do trabalho:
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]}
também, aqui está o 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
O rundeck está sendo executado em uma instância do EC2 em um VPC. A instância está executando o Ubuntu 14.04.2 lts. Depois de conectar à instância via ssh, posso curvar Rundeck com sucesso.
$ 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)
Eu tenho procurado por aqui e outros grupos / lugares, mas realmente não consegui encontrar nada que corresponda ao que estou experimentando e à versão do Rundeck.
Alguém usando o Rundeck 2.5.1 viu esse tipo de erro antes / sabe como posso fazer esse trabalho funcionar?
<3> mikey
Eu corri para exatamente o mesmo problema. Eu consegui trabalhar habilitando
Include Server Node: Yes
no seu principal Resource Model Source
na configuração do seu projeto.
Por favor, monitore /var/log/rundeck/rundeck.audit.log
arquivo por um tempo para obter o motivo certo. Isso lhe daria mais pistas. Muito provavelmente, o seu problema é semelhante ao descrito abaixo.
Eu enfrentei esse problema com o trabalho criado a partir da API. A única coisa com o rundeck é que ele tem uma política de ACL separada para tokens de API, que não dependem realmente de grupos de usuários que emitem tokens de API. Isso foi fora do senso comum e um pouco surpreendente, mas, no entanto, eu tenho que trabalhar. Se a configuração do problema for a mesma (tarefa criada a partir da API), tente ver /etc/rundeck/apitoken.aclpolicy
e certifique-se de que ela tenha allow: [read,run]
para o nó por api_token_group.
Acabei de criar um novo projeto para tarefas locais.