Method: Nomade::Http#update_job

Defined in:
lib/nomade/http.rb

#update_job(nomad_job) ⇒ Object



125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
# File 'lib/nomade/http.rb', line 125

def update_job(nomad_job)
  uri = URI("#{@nomad_endpoint}/v1/job/#{nomad_job.job_name}")

  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_PEER

  req = Net::HTTP::Post.new(uri)
  req.add_field "Content-Type", "application/json"
  req.body = nomad_job.configuration(:json)

  res = http.request(req)
  raise if res.code != "200"
  raise if res.content_type != "application/json"

  return JSON.parse(res.body)["EvalID"]
rescue StandardError => e
  Nomade.logger.fatal "HTTP Request failed (#{e.message})"
  raise
end