Вопрос: 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 работает на экземпляре EC2 в VPC. Экземпляр запущен ubuntu 14.04.2 lts. После подключения к экземпляру через ssh, я могу успешно скрутить 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 Mikey


5
2017-08-04 05:32


Источник




Ответы:


Я просто столкнулся с той же проблемой. Я начал работать, включив

Включить узел сервера: Да

в вашем главном Resource Model Source в соответствии с вашей конфигурацией проекта.


4
2017-08-06 06:05



Большое спасибо за ответ! Я проверил конфигурацию и достаточно уверен, что мог видеть resources.source.1.config.includeServerNode=false, Я изменил его на resources.source.1.config.includeServerNode=true но безрезультатно. Поведение не изменилось :( - mikey
Где этот набор? Этот ответ очень близок к тому, чтобы быть полезным. - Travis Bear
Апологи за долгую, долгую, долгую задержку в ответ. Хотя я не могу вспомнить, где именно это было установлено, я думаю, что это, вероятно, было в project.properties файл, который обычно находится в /etc/rundeck/project.properties <3 - mikey
Возможно, вам придется добавить файловую модель файла, если вам не хватает. Параметр «Включить серверный узел» находится внутри этой модели ресурсов. - dabest1


Пожалуйста, проверьте /var/log/rundeck/rundeck.audit.log файл на некоторое время, чтобы получить правильную причину. Это даст вам больше подсказок. Скорее всего, ваша проблема аналогична той, которая описана ниже.

Я столкнулся с этой проблемой с работой, созданной с помощью API. Дело с rundeck в том, что у него есть отдельная политика ACL для токенов API, которые на самом деле не полагаются на группы пользователей, выпускающих маркеры API. Это было из здравого смысла и немного удивительно, но, тем не менее, у меня это работает. Если настройка проблемы одинакова (работа, созданная с помощью API), попробуйте взглянуть на /etc/rundeck/apitoken.aclpolicy и убедитесь, что он allow: [read,run] для узла - api_token_group.


1
2018-06-10 13:28



К несчастью, эта работа не была создана из API. Кроме того, я больше не имею доступа к этой Rundeck, поскольку теперь я работаю где-то в другом месте. Надеюсь, они решили проблему. Спасибо за ваш ответ и большое предложение по мониторингу журналов, хотя - mikey


Я только что создал новый проект для локальных задач.


-2
2018-03-01 15:42



Отличная история. Спасибо за обмен, но я должен спросить ... что это связано с ... ну, в частности, вопросом или вообще чем-то вообще? - HopelessN00b
@ HopelessN00b Это похоже на ответ. Вероятно, это не идеальный способ сделать это, но ... - Michael Hampton♦
@MichaelHampton. Я отнесусь к вашим превосходным знаниям о Rundeck, но мое чтение вопроса состоит в том, что выполнение этого, поскольку локальная задача терпит неудачу, что является проблемой, делает этот ответ эквивалентным «он работает для меня!». Я могу ошибаться. - HopelessN00b
Мог бы согласиться с @MichaelHampton здесь. Кроме того, я больше не имею доступа к этой Rundeck, поскольку теперь я работаю где-то в другом месте. Надеюсь, они решили проблему. Спасибо за ваш ответ, хотя вам определенно не нужно создавать новый проект только для местных рабочих мест. Честно говоря, я думаю, что эта работа могла бы быть в его собственном проекте в любом случае (может быть). - mikey