Проблема с загрузкой артефакта Nomad

#nomad

#nomad

Вопрос:

Операционная система Windows 10

Работа над nomad — 0.11.3 Nomad Java SDK — 0.11.3.0 Nomad выполняется в режиме разработки

Я пытаюсь загрузить репозиторий git с помощью задания nomad. Но после загрузки репозитория в папку распределения заданий появляется ошибка.

Ошибка :: произошло 2 ошибки: * не удалось проанализировать конфигурацию: * Корневое значение должно быть object: корневое значение в конфигурации на основе JSON должно быть либо объектом JSON, либо массивом объектов JSON.

Файл задания (при необходимости)

 {
  "id": "get_git_job",
  "name": "get_git_job",
  "datacenters": [
    "dc1"
  ],
  "taskGroups": [
    {
      "name": "get_git_group",
      "tasks": [
        {
          "name": "get_git_task",
          "driver": "raw_exec",
          "resources": {
            "cpu": 500,
            "memoryMb": 2000
          },
          "artifacts": [
            {
              "getterSource": "github.com/hashicorp/nomad",
              "relativeDest": "local/repo"
            }
          ],
          "leader": false,
          "shutdownDelay": 0
        }
      ]
    }
  ],
  "dispatched": false
}
 

Журналы клиента Nomad (при необходимости)

 [INFO]  client.alloc_runner.task_runner.task_hook.logmon.nomad.exe: opening fifo: alloc_id=10becf73-7abc-39c6-2114-38eea708103b task=get_git_task @module=logmon path=//./pipe/get_git_task-48748a1a.stdout timestamp=2020-12-02T16:32:33.755 0530

[DEBUG] client.alloc_runner.task_runner.task_hook.artifacts: downloading artifact: alloc_id=10becf73-7abc-39c6-2114-38eea708103b task=get_git_task artifact=github.com/hashicorp/nomad

[INFO]  client.alloc_runner.task_runner.task_hook.logmon.nomad.exe: opening fifo: alloc_id=10becf73-7abc-39c6-2114-38eea708103b task=get_git_task @module=logmon path=//./pipe/get_git_task-48748a1a.stderr timestamp=2020-12-02T16:32:33.761 0530

[DEBUG] client: updated allocations: index=518 total=25 pulled=22 filtered=3

[DEBUG] client: allocation updates: added=0 removed=0 updated=22 ignored=3

[DEBUG] client: allocation updates applied: added=0 removed=0 updated=22 ignored=3 errors=0

[DEBUG] nomad.deployments_watcher: deadline hit: deployment_id=64d58e2c-d695-27a8-3daa-134d90e10807 job="<ns: "default", id: "get_git_job">" rollback=false

[DEBUG] worker: dequeued evaluation: eval_id=0aa4f715-be9c-91de-e1ed-a1d9b41093bc

[DEBUG] worker.service_sched: reconciled current state with desired state: eval_id=0aa4f715-be9c-91de-e1ed-a1d9b41093bc job_id=get_git_job namespace=default results="Total changes: (place 0) (destructive 0) (inplace 0) (stop 0)
Desired Changes for "get_git_group": (place 0) (inplace 0) (destructive 0) (stop 0) (migrate 0) (ignore 1) (canary 0)"

[DEBUG] worker.service_sched: setting eval status: eval_id=0aa4f715-be9c-91de-e1ed-a1d9b41093bc job_id=get_git_job namespace=default status=complete

[DEBUG] worker: updated evaluation: eval="<Eval "0aa4f715-be9c-91de-e1ed-a1d9b41093bc" JobID: "get_git_job" Namespace: "default">"

[DEBUG] worker: ack evaluation: eval_id=0aa4f715-be9c-91de-e1ed-a1d9b41093bc

[WARN]  client.alloc_runner.task_runner: some environment variables not available for rendering: alloc_id=10becf73-7abc-39c6-2114-38eea708103b task=get_git_task keys=

[ERROR] client.alloc_runner.task_runner: running driver failed: alloc_id=10becf73-7abc-39c6-2114-38eea708103b task=get_git_task error="2 errors occurred:
* failed to parse config:
* Root value must be object: The root value in a JSON-based configuration must be either a JSON object or a JSON array of objects.

"
[INFO]  client.alloc_runner.task_runner: not restarting task: alloc_id=10becf73-7abc-39c6-2114-38eea708103b task=get_git_task reason="Error was unrecoverable"

[INFO]  client.gc: marking allocation for GC: alloc_id=10becf73-7abc-39c6-2114-38eea708103b

[DEBUG] nomad.client: adding evaluations for rescheduling failed allocations: num_evals=1

[DEBUG] worker: dequeued evaluation: eval_id=0490184c-d395-3e65-d38b-8dabd70b9b9d

[DEBUG] worker.service_sched: reconciled current state with desired state: eval_id=0490184c-d395-3e65-d38b-8dabd70b9b9d job_id=get_git_job namespace=default results="Total changes: (place 0) (destructive 0) (inplace 0) (stop 0)
 

любой может помочь с этим.

Комментарии:

1. Это ваша ошибка: «Корневое значение должно быть object: корневое значение в конфигурации на основе JSON должно быть либо объектом JSON, либо массивом объектов JSON». Однако ваша конфигурация представляет собой объект json, так что это сбивает с толку. Какую команду вы запускаете, чтобы запланировать задание?

2. я не запускаю ни одной команды, получая репозиторий git с помощью задания Nomad.

Ответ №1:

Вопрос решается с помощью команды Nomad. И решение заключается в том, что мне нужно добавить командную конфигурацию Bcz драйвера raw_exec.