Bug 1001914

Summary: Generating rest api docs via generate-rest-docs outputs serveral errors.
Product: OpenShift Online Reporter: Liang Xia <lxia>
Component: MasterAssignee: mfisher
Status: CLOSED WONTFIX QA Contact: libra bugs <libra-bugs>
Severity: low Docs Contact:
Priority: medium    
Version: 2.xCC: dmcphers
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-06-11 21:25:36 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Liang Xia 2013-08-28 06:24:33 UTC
Description of problem:
Run generate-rest-docs in instance to generate rest api docs, serveral errors in the output like below:
Encountered an error trying to GET https://localhost/broker/rest/applications/521d6a2d166d890c9d000001/dns_resolvable
[{"exit_code"=>170, "field"=>nil, "severity"=>"error", "text"=>"Could not resolve DNS myapplication-mydomain.dev.rhcloud.com: Send failed to 208.78.71.23:53 from 0.0.0.0:64636, use_tcp=false, exception : Operation not permitted - send(2)"}]
Encountered an error trying to POST https://localhost/broker/rest/domains/mydomain/members
[{"exit_code"=>nil, "field"=>nil, "severity"=>"error", "text"=>"You are not permitted to perform this action (change_members on domain)"}]
Cannot parse response for resource MEMBER
Message: can't convert nil into String
Response: 
WARNING: Discovered resources not documented: ["ENVIRONMENT", "GEAR_GROUPS"]

Version-Release number of selected component (if applicable):
devenv_3716

How reproducible:
always

Steps to Reproduce:
1.ssh into instance
2.run ./generate-rest-docs
3.check the output of above command

Actual results:
# ./generate-rest-docs 
User already has max_tracked_addtl_storage_per_gear set to 20
User already has allow private_ssl_certificates set to true
User first.last:
                  consumed gears: 0
                       max gears: 3
    max tracked storage per gear: 20
  max untracked storage per gear: 0
            plan upgrade enabled: true
                      gear sizes: small
            sub accounts allowed: false
private SSL certificates allowed: true
Adding............KEY..........
Updating............KEY..........
Deleting............KEY..........
Adding............DOMAIN..........
Adding............APPLICATION..........
Adding............CARTRIDGE..........
Updating............CARTRIDGE..........
Deleting............CARTRIDGE..........
Encountered an error trying to GET https://localhost/broker/rest/applications/521d6a2d166d890c9d000001/dns_resolvable
[{"exit_code"=>170, "field"=>nil, "severity"=>"error", "text"=>"Could not resolve DNS myapplication-mydomain.dev.rhcloud.com: Send failed to 208.78.71.23:53 from 0.0.0.0:64636, use_tcp=false, exception : Operation not permitted - send(2)"}]
Adding............ALIAS..........
Updating............ALIAS..........
Deleting............ALIAS..........
Adding............ENVIRONMENT_VARIABLE..........
Updating............ENVIRONMENT_VARIABLE..........
Deleting............ENVIRONMENT_VARIABLE..........
Deleting............APPLICATION..........
Adding............MEMBER..........
Encountered an error trying to POST https://localhost/broker/rest/domains/mydomain/members
[{"exit_code"=>nil, "field"=>nil, "severity"=>"error", "text"=>"You are not permitted to perform this action (change_members on domain)"}]
Cannot parse response for resource MEMBER
Message: can't convert nil into String
Response: 
Updating............DOMAIN..........
Deleting............DOMAIN..........
Adding............AUTHORIZATION..........
Updating............AUTHORIZATION..........
Deleting............AUTHORIZATION..........
WARNING: Discovered resources not documented: ["ENVIRONMENT", "GEAR_GROUPS"]

Expected results:
Docs generated without errors.

Additional info:
This can be reproduced even changing username to lxia which is a silver account.

Comment 2 Liang Xia 2013-12-11 06:38:08 UTC
Checked on devenv_4120.
# ./generate-rest-docs --version 1.6 -d
...
DELETE ............ENVIRONMENT_VARIABLE..........
payload {}
SET_UNSET_ENVIRONMENT_VARIABLES ............APPLICATION..........
payload {"environment_variables"=>[{"name"=>"FOO", "value"=>"123"}, {"name"=>"BAR", "value"=>"abc"}]}
404 Resource Not Found ["/opt/rh/ruby193/root/usr/share/gems/gems/rest-client-1.6.1/lib/restclient/abstract_response.rb:48:in `return!'", "/opt/rh/ruby193/root/usr/share/gems/gems/rest-client-1.6.1/lib/restclient/request.rb:220:in `process_result'", "/opt/rh/ruby193/root/usr/share/gems/gems/rest-client-1.6.1/lib/restclient/request.rb:169:in `block in transmit'", "/opt/rh/ruby193/root/usr/share/ruby/net/http.rb:746:in `start'", "/opt/rh/ruby193/root/usr/share/gems/gems/rest-client-1.6.1/lib/restclient/request.rb:166:in `transmit'", "/opt/rh/ruby193/root/usr/share/gems/gems/rest-client-1.6.1/lib/restclient/request.rb:60:in `execute'", "./generate-rest-docs:81:in `send_request'", "./generate-rest-docs:136:in `block in process_response'", "./generate-rest-docs:106:in `each'", "./generate-rest-docs:106:in `process_response'", "./generate-rest-docs:225:in `process_resource'", "./generate-rest-docs:113:in `block in process_response'", "./generate-rest-docs:106:in `each'", "./generate-rest-docs:106:in `process_response'", "./generate-rest-docs:225:in `process_resource'", "./generate-rest-docs:113:in `block in process_response'", "./generate-rest-docs:106:in `each'", "./generate-rest-docs:106:in `process_response'", "./generate-rest-docs:241:in `<main>'"]
Encountered an error trying to PATCH https://localhost/broker/rest/application/52a80640351e49cff10000ea/environment-variables
757: unexpected token at '<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <title>Action Controller: Exception caught</title>
  <style>
    body { background-color: #fff; color: #333; }

    body, p, ol, ul, td {
      font-family: helvetica, verdana, arial, sans-serif;
      font-size:   13px;
      line-height: 18px;
    }

    pre {
      background-color: #eee;
      padding: 10px;
      font-size: 11px;
      white-space: pre-wrap;
    }

    a { color: #000; }
    a:visited { color: #666; }
    a:hover { color: #fff; background-color:#000; }
  </style>
</head>
<body>

<h1>Routing Error</h1>
<p><pre>No route matches [PATCH] &quot;/broker/rest/application/52a80640351e49cff10000ea/environment-variables&quot;</pre></p>
<p>
  Try running <code>rake routes</code> for more information on available routes.
</p>

</body>
</html>
' ["/opt/rh/ruby193/root/usr/share/ruby/json/common.rb:155:in `parse'", "/opt/rh/ruby193/root/usr/share/ruby/json/common.rb:155:in `parse'", "./generate-rest-docs:171:in `process_error_response'", "./generate-rest-docs:84:in `rescue in send_request'", "./generate-rest-docs:80:in `send_request'", "./generate-rest-docs:136:in `block in process_response'", "./generate-rest-docs:106:in `each'", "./generate-rest-docs:106:in `process_response'", "./generate-rest-docs:225:in `process_resource'", "./generate-rest-docs:113:in `block in process_response'", "./generate-rest-docs:106:in `each'", "./generate-rest-docs:106:in `process_response'", "./generate-rest-docs:225:in `process_resource'", "./generate-rest-docs:113:in `block in process_response'", "./generate-rest-docs:106:in `each'", "./generate-rest-docs:106:in `process_response'", "./generate-rest-docs:241:in `<main>'"]