ambari-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sean Roberts (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (AMBARI-9016) API not taking or responding with application/json
Date Fri, 17 Jun 2016 16:52:05 GMT

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

Sean Roberts updated AMBARI-9016:
---------------------------------
    Description: 
The  stack advisor API does not accept application/json even though it expects JSON files.
And it responds with "text/plain" even though the content it is sending is JSON.

This breaks most any http library or application. Such as those made to work with RESTful
APIs.

The API does not accept JSON and when it responds with JSON it says it's "text/plain":
{code}
$ curl -v -u admin\
  -H "Content-Type: application/json" -H x-requested-by:useless \
  http://localhost:8080/api/v1/stacks/HDP/versions/2.4/recommendations -d @temp.json

< HTTP/1.1 500 Server Error
< Content-Type: text/plain; charset=ISO-8859-1
{
  "status": 500,
  "message": "Server Error"
}
{code}

Meanwhile it accepts JSON as text/plain and still responds with "text/plain" even though it
is sending JSON:

{code}
$ curl -v -u admin\
  -H "Content-Type: test/plain" -H x-requested-by:useless \
  http://localhost:8080/api/v1/stacks/HDP/versions/2.4/recommendations -d @temp.json

> POST /api/v1/stacks/HDP/versions/2.4/recommendations HTTP/1.1
> Content-Type: test/plain
< HTTP/1.1 200 OK
< Content-Type: text/plain
{
  "resources" : [
    {
      "href" : "http://localhost:8080/api/v1/stacks/HDP/versions/2.4/recommendations/8",
... snipped the rest of the JSON since it's not needed ...
{code}

This is the file that was sent:
{code}
$ cat temp.json
    {
      "recommend" : "configurations",
      "services" : [ "AMBARI_METRICS","HDFS","HIVE","MAPREDUCE2","PIG","TEZ","YARN","ZOOKEEPER"
],
      "hosts" : [ "ip-10-0-1-159.ec2.internal","ip-10-0-1-31.ec2.internal","ip-10-0-1-32.ec2.internal","ip-10-0-1-33.ec2.internal"
]
    }
{code}

  was:
The  stack advisor API does not accept application/json even though it expects JSON files.
And it responds with "text/plain" even though the content it is sending is JSON.

This breaks most any http library or application. Such as those made to work with RESTful
APIs.

The API does not accept JSON and when it responds with JSON it says it's "text/plain":
{code}
$ curl -v -u admin\
  -H "Content-Type: application/json" -H x-requested-by:useless \
  http://localhost:8080/api/v1/stacks/HDP/versions/2.4/recommendations -d @temp.json

< HTTP/1.1 500 Server Error
< Content-Type: text/plain; charset=ISO-8859-1
{
  "status": 500,
  "message": "Server Error"
}
{code}

Meanwhile it accepts JSON as text/plain and still responds with "text/plain" even though it
is sending JSON:

{code}
$ curl -v -u admin\
  -H "Content-Type: test/plain" -H x-requested-by:useless \
  http://localhost:8080/api/v1/stacks/HDP/versions/2.4/recommendations -d @temp.json

> POST /api/v1/stacks/HDP/versions/2.4/recommendations HTTP/1.1
> Content-Type: test/plain
< HTTP/1.1 200 OK
< Content-Type: text/plain
{
  "resources" : [
    {
      "href" : "http://localhost:8080/api/v1/stacks/HDP/versions/2.4/recommendations/8",
... snipped the rest of the JSON since it's not needed ...
{code}

{code}
$ cat temp.json
    {
      "recommend" : "configurations",
      "services" : [ "AMBARI_METRICS","HDFS","HIVE","MAPREDUCE2","PIG","TEZ","YARN","ZOOKEEPER"
],
      "hosts" : [ "ip-10-0-1-159.ec2.internal","ip-10-0-1-31.ec2.internal","ip-10-0-1-32.ec2.internal","ip-10-0-1-33.ec2.internal"
]
    }
{code}


> API not taking or responding with application/json
> --------------------------------------------------
>
>                 Key: AMBARI-9016
>                 URL: https://issues.apache.org/jira/browse/AMBARI-9016
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-server
>    Affects Versions: 1.7.0
>            Reporter: Sean Roberts
>            Priority: Minor
>              Labels: newbie
>
> The  stack advisor API does not accept application/json even though it expects JSON files.
> And it responds with "text/plain" even though the content it is sending is JSON.
> This breaks most any http library or application. Such as those made to work with RESTful
APIs.
> The API does not accept JSON and when it responds with JSON it says it's "text/plain":
> {code}
> $ curl -v -u admin\
>   -H "Content-Type: application/json" -H x-requested-by:useless \
>   http://localhost:8080/api/v1/stacks/HDP/versions/2.4/recommendations -d @temp.json
> < HTTP/1.1 500 Server Error
> < Content-Type: text/plain; charset=ISO-8859-1
> {
>   "status": 500,
>   "message": "Server Error"
> }
> {code}
> Meanwhile it accepts JSON as text/plain and still responds with "text/plain" even though
it is sending JSON:
> {code}
> $ curl -v -u admin\
>   -H "Content-Type: test/plain" -H x-requested-by:useless \
>   http://localhost:8080/api/v1/stacks/HDP/versions/2.4/recommendations -d @temp.json
> > POST /api/v1/stacks/HDP/versions/2.4/recommendations HTTP/1.1
> > Content-Type: test/plain
> < HTTP/1.1 200 OK
> < Content-Type: text/plain
> {
>   "resources" : [
>     {
>       "href" : "http://localhost:8080/api/v1/stacks/HDP/versions/2.4/recommendations/8",
> ... snipped the rest of the JSON since it's not needed ...
> {code}
> This is the file that was sent:
> {code}
> $ cat temp.json
>     {
>       "recommend" : "configurations",
>       "services" : [ "AMBARI_METRICS","HDFS","HIVE","MAPREDUCE2","PIG","TEZ","YARN","ZOOKEEPER"
],
>       "hosts" : [ "ip-10-0-1-159.ec2.internal","ip-10-0-1-31.ec2.internal","ip-10-0-1-32.ec2.internal","ip-10-0-1-33.ec2.internal"
]
>     }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message