You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ambari.apache.org by "Sean Roberts (JIRA)" <ji...@apache.org> on 2016/06/17 16:25:05 UTC
[jira] [Updated] (AMBARI-9016) API not taking or responding with
application/json
[ https://issues.apache.org/jira/browse/AMBARI-9016?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sean Roberts updated AMBARI-9016:
---------------------------------
Description:
The blueprints API, when taking & responding with json, is only accepting Content-Type:application/x-www-form-urlencode and responds with Content-Type:text/plain.
For example, the 1st block below sends the json as application/json but fails. While the 2nd block sends "application/x-www-form-urlencoded" and succeeds. Also note that the 2nd response comes back as "text/plain" even though the data is json.
{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}
{code}
$ curl -v -u admin -H x-requested-by:useless http://localhost:8080/api/v1/stacks/HDP/versions/2.4/recommendations -d @temp.json
$ cat temp.json | ambari_httpie -vvv POST $ambari_api/stacks/HDP/versions/2.2/recommendations
POST /api/v1/stacks/HDP/versions/2.2/recommendations HTTP/1.1
Accept: application/json
Accept-Encoding: gzip, deflate
Authorization: Basic YWRtaW46YWRtaW4=
Content-Length: 187
Content-Type: application/json; charset=utf-8
Cookie: AMBARISESSIONID=17qljv0e8tnn83fk6fyc7qkt2
Host: localhost:8080
User-Agent: HTTPie/0.8.0
X-Requested-By: ambari
{
"hosts": [
"sandbox.hortonworks.com"
],
"recommend": "configurations",
"services": [
"HDFS",
"MAPREDUCE2",
"TEZ",
"YARN"
]
}
HTTP/1.1 406 Not Acceptable
Content-Length: 50
Content-Type: text/plain;charset=ISO-8859-1
Server: Jetty(7.6.7.v20120910)
{
"status": 406,
"message": "Not Acceptable"
}
{code}
{code}
$ cat temp.json | ambari_httpie -vvv -f POST ${ambari_api}/stacks/HDP/versions/2.2/recommendations
POST /api/v1/stacks/HDP/versions/2.2/recommendations HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Authorization: Basic YWRtaW46YWRtaW4=
Content-Length: 187
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Cookie: AMBARISESSIONID=17qljv0e8tnn83fk6fyc7qkt2
Host: localhost:8080
User-Agent: HTTPie/0.8.0
X-Requested-By: ambari
{
"hosts": [
"sandbox.hortonworks.com"
],
"recommend": "configurations",
"services": [
"HDFS",
"MAPREDUCE2",
"TEZ",
"YARN"
]
}
HTTP/1.1 200 OK
Content-Length: 1768
Content-Type: text/plain
Server: Jetty(7.6.7.v20120910)
{
"resources" : "SNIPPED-REST-OF-RESPONSE"
}
{code}
was:
The blueprints API, when taking & responding with json, is only accepting Content-Type:application/x-www-form-urlencode and responds with Content-Type:text/plain.
For example, the 1st block below sends the json as application/json but fails. While the 2nd block sends "application/x-www-form-urlencoded" and succeeds. Also note that the 2nd response comes back as "text/plain" even though the data is json.
{code}
$ cat temp.json | ambari_httpie -vvv POST $ambari_api/stacks/HDP/versions/2.2/recommendations
POST /api/v1/stacks/HDP/versions/2.2/recommendations HTTP/1.1
Accept: application/json
Accept-Encoding: gzip, deflate
Authorization: Basic YWRtaW46YWRtaW4=
Content-Length: 187
Content-Type: application/json; charset=utf-8
Cookie: AMBARISESSIONID=17qljv0e8tnn83fk6fyc7qkt2
Host: localhost:8080
User-Agent: HTTPie/0.8.0
X-Requested-By: ambari
{
"hosts": [
"sandbox.hortonworks.com"
],
"recommend": "configurations",
"services": [
"HDFS",
"MAPREDUCE2",
"TEZ",
"YARN"
]
}
HTTP/1.1 406 Not Acceptable
Content-Length: 50
Content-Type: text/plain;charset=ISO-8859-1
Server: Jetty(7.6.7.v20120910)
{
"status": 406,
"message": "Not Acceptable"
}
{code}
{code}
$ cat temp.json | ambari_httpie -vvv -f POST ${ambari_api}/stacks/HDP/versions/2.2/recommendations
POST /api/v1/stacks/HDP/versions/2.2/recommendations HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Authorization: Basic YWRtaW46YWRtaW4=
Content-Length: 187
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Cookie: AMBARISESSIONID=17qljv0e8tnn83fk6fyc7qkt2
Host: localhost:8080
User-Agent: HTTPie/0.8.0
X-Requested-By: ambari
{
"hosts": [
"sandbox.hortonworks.com"
],
"recommend": "configurations",
"services": [
"HDFS",
"MAPREDUCE2",
"TEZ",
"YARN"
]
}
HTTP/1.1 200 OK
Content-Length: 1768
Content-Type: text/plain
Server: Jetty(7.6.7.v20120910)
{
"resources" : "SNIPPED-REST-OF-RESPONSE"
}
{code}
(This is my 1st bug report. Tell me how to be make it better).
--
Sean Roberts
@seano
> 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 blueprints API, when taking & responding with json, is only accepting Content-Type:application/x-www-form-urlencode and responds with Content-Type:text/plain.
> For example, the 1st block below sends the json as application/json but fails. While the 2nd block sends "application/x-www-form-urlencoded" and succeeds. Also note that the 2nd response comes back as "text/plain" even though the data is json.
> {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}
> {code}
> $ curl -v -u admin -H x-requested-by:useless http://localhost:8080/api/v1/stacks/HDP/versions/2.4/recommendations -d @temp.json
> $ cat temp.json | ambari_httpie -vvv POST $ambari_api/stacks/HDP/versions/2.2/recommendations
> POST /api/v1/stacks/HDP/versions/2.2/recommendations HTTP/1.1
> Accept: application/json
> Accept-Encoding: gzip, deflate
> Authorization: Basic YWRtaW46YWRtaW4=
> Content-Length: 187
> Content-Type: application/json; charset=utf-8
> Cookie: AMBARISESSIONID=17qljv0e8tnn83fk6fyc7qkt2
> Host: localhost:8080
> User-Agent: HTTPie/0.8.0
> X-Requested-By: ambari
> {
> "hosts": [
> "sandbox.hortonworks.com"
> ],
> "recommend": "configurations",
> "services": [
> "HDFS",
> "MAPREDUCE2",
> "TEZ",
> "YARN"
> ]
> }
> HTTP/1.1 406 Not Acceptable
> Content-Length: 50
> Content-Type: text/plain;charset=ISO-8859-1
> Server: Jetty(7.6.7.v20120910)
> {
> "status": 406,
> "message": "Not Acceptable"
> }
> {code}
> {code}
> $ cat temp.json | ambari_httpie -vvv -f POST ${ambari_api}/stacks/HDP/versions/2.2/recommendations
> POST /api/v1/stacks/HDP/versions/2.2/recommendations HTTP/1.1
> Accept: */*
> Accept-Encoding: gzip, deflate
> Authorization: Basic YWRtaW46YWRtaW4=
> Content-Length: 187
> Content-Type: application/x-www-form-urlencoded; charset=utf-8
> Cookie: AMBARISESSIONID=17qljv0e8tnn83fk6fyc7qkt2
> Host: localhost:8080
> User-Agent: HTTPie/0.8.0
> X-Requested-By: ambari
> {
> "hosts": [
> "sandbox.hortonworks.com"
> ],
> "recommend": "configurations",
> "services": [
> "HDFS",
> "MAPREDUCE2",
> "TEZ",
> "YARN"
> ]
> }
> HTTP/1.1 200 OK
> Content-Length: 1768
> Content-Type: text/plain
> Server: Jetty(7.6.7.v20120910)
> {
> "resources" : "SNIPPED-REST-OF-RESPONSE"
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)