Проверка скрипта консула через API не работает - PullRequest
0 голосов
/ 11 ноября 2018

Я использую chef для запуска команды bash, которая регистрирует проверку работоспособности скрипта в консуле, и я получаю приведенную ниже ошибку с моим примером кода. Я попытался просмотреть документы, но мне это не помогло. Предложения о том, что может быть не так?

Я хочу ... 1003 *

Сообщение об ошибке

 ================================================================================
    Error executing action `run` on resource 'bash[register_init_checks]'
    ================================================================================

    Mixlib::ShellOut::ShellCommandFailed
    ------------------------------------
    Expected process to exit with [0], but received '1'
    ---- Begin output of "bash"  "/tmp/chef-script20181110-4847-1tg4kmv" ----
    STDOUT:
    STDERR: /tmp/chef-script20181110-4847-1tg4kmv: line 1: [/work-disk/consul/data/mem-check.sh],: No such file or directory
    ---- End output of "bash"  "/tmp/chef-script20181110-4847-1tg4kmv" ----
    Ran "bash"  "/tmp/chef-script20181110-4847-1tg4kmv" returned 1

    Resource Declaration:
    ---------------------
    # In /var/chef/cache/cookbooks/consul/recipes/default.rb

    190: bash 'register_init_checks' do
    191:   code <<-EOH
    192:   curl --request PUT --data #{mem_check} http://127.0.0.1:8500/v1/agent/check/register
    193:   EOH
    194:   action :run
    195: end

    Compiled Resource:
    ------------------
    # Declared in /var/chef/cache/cookbooks/consul/recipes/default.rb:190:in `from_file'

    bash("register_init_checks") do
      action [:run]
      default_guard_interpreter :default
      command nil
      backup 5
      interpreter "bash"
      declared_type :bash
      cookbook_name "consul"
      recipe_name "default"
      user nil
      code "  curl --request PUT --data {\"check\"=>{\"id\"=>\"mem-check\", \"name\"=>\"Memory utilization\", \"args\"=>[\"/work-disk/consul/data/mem-check.sh\"], \"interval\"=>\"10s\", \"timeout\"=>\"1s\"}} http://127.0.0.1:8500/v1/agent/check/register\n"
      domain nil
    end

    System Info:
    ------------
    chef_version=14.7.17
    platform=ubuntu
    platform_version=16.04
    ruby=ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-linux]
    program_name=/usr/bin/chef-client

Код шеф-повара, который я пытаюсь использовать

cookbook_file consul_data + '/mem-check.sh' do
  source 'mem-check.sh'
  owner consul_user
  group consul_user
  mode '0755'
  action :create
end


mem_check = {
  "check" => {
    "id" => "mem-check",
    "name" => "Memory utilization",
    "args" => [consul_data + "/mem-check.sh"],
    "interval" => "10s",
    "timeout" => "1s"
  }
}

bash 'register_init_checks' do
  code <<-EOH
  curl --request PUT --data #{mem_check} http://127.0.0.1:8500/v1/agent/check/register
  EOH
  action :run
end
...