Menu

WebHCat Check

module.exports = header: 'WebHCat Check', handler: ({options}) ->
  # TODO, maybe we could test hive:
  # curl --negotiate -u : -d execute="show+databases;" -d statusdir="test_webhcat" http://front1.hadoop:50111/templeton/v1/hive

Assert HTTP

  @connection.assert
    header: 'HTTP'
    servers: options.wait.http.filter (server) -> server.host is options.fqdn
    retry: 3
    sleep: 3000

Check status

  @system.execute
    header: 'Status'
    cmd: mkcmd.test options.test_krb5_user, """
    if hdfs dfs -test -f #{options.fqdn}-webhcat; then exit 2; fi
    curl -s --negotiate -u : http://#{options.fqdn}:#{options.webhcat_site['templeton.port']}/templeton/v1/status
    hdfs dfs -touchz #{options.fqdn}-webhcat
    """
    code_skipped: 2
  , (err, executed, stdout) ->
    return if err
    return unless executed
    throw Error "WebHCat not started" if JSON.parse(stdout).status isnt 'ok'

Dependencies

mkcmd = require '../../lib/mkcmd'