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

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

     [ https://issues.apache.org/jira/browse/HDDS-1925?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Work on HDDS-1925 started by Doroszlai, Attila.
-----------------------------------------------
> 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
>            Assignee: Doroszlai, Attila
>            Priority: Critical
>
> 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-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org