You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Doroszlai, Attila (JIRA)" <ji...@apache.org> on 2019/08/07 10:17:00 UTC

[jira] [Created] (HDDS-1925) ozonesecure acceptance test broken by HTTP auth requirement

Doroszlai, Attila created HDDS-1925:
---------------------------------------

             Summary: ozonesecure acceptance test broken by HTTP auth requirement
                 Key: HDDS-1925
                 URL: https://issues.apache.org/jira/browse/HDDS-1925
             Project: Hadoop Distributed Data Store
          Issue Type: Bug
          Components: docker, test
    Affects Versions: 0.4.1
            Reporter: Doroszlai, Attila


Acceptance test is failing at {{ozonesecure}} with the following error from {{jq}}:

{noformat:title=https://github.com/elek/ozone-ci/blob/325779d34623061e27b80ade3b749210648086d1/byscane/byscane-nightly-ds7lx/acceptance/output.log#L2779}
parse error: Invalid numeric literal at line 2, column 0
{noformat}

Example compose environments wait for datanodes to be up:

{code:title=https://github.com/apache/hadoop/blob/9cd211ac86bb1124bdee572fddb6f86655b19b73/hadoop-ozone/dist/src/main/compose/testlib.sh#L71-L72}
  docker-compose -f "$COMPOSE_FILE" up -d --scale datanode="${datanode_count}"
  wait_for_datanodes "$COMPOSE_FILE" "${datanode_count}"
{code}

The number of datanodes up is determined via HTTP query of JMX endpoint:

{code:title=https://github.com/apache/hadoop/blob/9cd211ac86bb1124bdee572fddb6f86655b19b73/hadoop-ozone/dist/src/main/compose/testlib.sh#L44-L46}
     #This line checks the number of HEALTHY datanodes registered in scm over the
     # jmx HTTP servlet
     datanodes=$(docker-compose -f "${compose_file}" exec -T scm curl -s 'http://localhost:9876/jmx?qry=Hadoop:service=SCMNodeManager,name=SCMNodeManagerInfo' | jq -r '.beans[0].NodeCount[] | select(.key=="HEALTHY") | .value')
{code}

The problem is that no authentication is performed before or during the request, which is no longer allowed since HDDS-1901:

{code}
$ docker-compose exec -T scm curl -s 'http://localhost:9876/jmx?qry=Hadoop:service=SCMNodeManager,name=SCMNodeManagerInfo'
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>Error 401 Authentication required</title>
</head>
<body><h2>HTTP ERROR 401</h2>
<p>Problem accessing /jmx. Reason:
<pre>    Authentication required</pre></p>
</body>
</html>
{code}

{code}
$ docker-compose exec -T scm curl -s 'http://localhost:9876/jmx?qry=Hadoop:service=SCMNodeManager,name=SCMNodeManagerInfo' | jq -r '.beans[0].NodeCount[] | select(.key=="HEALTHY") | .value'
parse error: Invalid numeric literal at line 2, column 0
{code}



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-dev-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-dev-help@hadoop.apache.org