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

Ronelle Landy closed DTACLOUD-356.
----------------------------------

    Resolution: Fixed

Fixed in deltacloud 1.0.4+
Using no accept header or "*/*" returns json (but no longer a 406):

curl -X GET --user "un:pw" 
"cloud-qe-2.idm.lab.bos.redhat.com:3005/cimi/machine_configurations"

{"id":"http://cloud-qe-2.idm.lab.bos.redhat.com:3005/cimi/machine_configurations","count":6,"machineConfigurations":[{"id":"http://cloud-qe-2.idm.lab.bos.redhat.com:3005/cimi/machine_configurations/100","name":"standard.xsmall","description":"Machine
 Configuration with 1048576 KiB of memory and 1 
CPU","created":"2012-11-13T14:00:36-05:00","cpu":1,"memory":1048576,"disks":[{"capacity":31457280,"format":"unknown"}]},{"id":"http://cloud-qe-2.idm.lab.bos.redhat.com:3005/cimi/machine_configurations/101","name":"standard.small","description":"Machine
 Configuration with 2097152 KiB of memory and 2 
CPU","created":"2012-11-13T14:00:36-05:00","cpu":2,"memory":2097152,"disks":[{"capacity":62914560,"format":"unknown"}]},{"id":"http://cloud-qe-2.idm.lab.bos.redhat.com:3005/cimi/machine_configurations/105","name":"standard.2xlarge","description":"Machine
 Configuration with 33554432 KiB of memory and 8 
CPU","created":"2012-11-13T14:00:36-05:00","cpu":8,"memory":33554432,"disks":[{"capacity":1006632960,"format":"unknown"}]},{"id":"http://cloud-qe-2.idm.lab.bos.redhat.com:3005/cimi/machine_configurations/103","name":"standard.large","description":"Machine
 Configuration with 8388608 KiB of memory and 4 
CPU","created":"2012-11-13T14:00:36-05:00","cpu":4,"memory":8388608,"disks":[{"capacity":251658240,"format":"unknown"}]},{"id":"http://cloud-qe-2.idm.lab.bos.redhat.com:3005/cimi/machine_configurations/102","name":"standard.medium","description":"Machine
 Configuration with 4194304 KiB of memory and 2 
CPU","created":"2012-11-13T14:00:36-05:00","cpu":2,"memory":4194304,"disks":[{"capacity":125829120,"format":"unknown"}]},{"id":"http://cloud-qe-2.idm.lab.bos.redhat.com:3005/cimi/machine_configurations/104","name":"standard.xlarge","description":"Machine
 Configuration with 16777216 KiB of memory and 4 
CPU","created":"2012-11-13T14:00:36-05:00","cpu":4,"memory":16777216,"disks":[{"capacity":503316480,"format":"unknown"}]}],"resourceURI":"http://schemas.dmtf.org/cimi/1/MachineConfigurationCollection"}[rlandy@localhost
 /]$
                
> GET using "Accept: */*" returns 406 for the CIMI frontend and 200 (but with 
> HTML output) for the Deltacloud API
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: DTACLOUD-356
>                 URL: https://issues.apache.org/jira/browse/DTACLOUD-356
>             Project: DeltaCloud
>          Issue Type: Bug
>          Components: CIMI/Frontend
>         Environment: Deltacloud 1.0.4 
> mock driver
>            Reporter: Ronelle Landy
>
> According to the Test Plan for CIMI:
> A GET request is sent to the CEP to query the list of resources supported ... 
> the consumer does not ask for the CEP to returned in any particular format 
> (JSON vs XML). Meaning, the HTTP Accept header is either missing or includes 
> "*/*" - but it must not include "application/json" or "application/xml". 
> A number of success criteria are listed including: HTTP response code must be 
> "200 OK" .
> Checking the CIMI frontend for Deltacloud:
>  curl -v -X GET -H "Accept: */*" --user "un:pw" 
> "localhost:3001/cimi/cloudEntryPoint"
> * About to connect() to localhost port 3001 (#0)
> *   Trying 127.0.0.1... connected
> * Connected to localhost (127.0.0.1) port 3001 (#0)
> * Server auth using Basic with user 'mockuser'
> > GET /cimi/cloudEntryPoint HTTP/1.1
> > Authorization: Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
> > User-Agent: curl/7.21.7 (x86_64-redhat-linux-gnu) libcurl/7.21.7 
> > NSS/3.13.1.0 zlib/1.2.5 libidn/1.22 libssh2/1.2.7
> > Host: localhost:3001
> > Accept: */*
> > 
> < HTTP/1.1 406 Not Acceptable
> < CIMI-Specification-Version: 1.0.4
> < X-Frame-Options: sameorigin
> < X-XSS-Protection: 1; mode=block
> < Date: Thu, 01 Nov 2012 20:54:21 GMT
> < Content-Length: 0
> < Content-Type: text/html;charset=utf-8
> < Connection: keep-alive
> < Server: thin 1.5.0 codename Knife
> < 
> * Connection #0 to host localhost left intact
> * Closing connection #0
> --------------------------------------------------------------
> Checking the Deltacloud API (as per David's comments included below the 
> output - this should return XML):
> curl -v -X GET -H "Accept: */*" --user "un:pw" "localhost:3001/api"
> * About to connect() to localhost port 3001 (#0)
> *   Trying 127.0.0.1... connected
> * Connected to localhost (127.0.0.1) port 3001 (#0)
> * Server auth using Basic with user 'mockuser'
> > GET /api HTTP/1.1
> > Authorization: Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk
> > User-Agent: curl/7.21.7 (x86_64-redhat-linux-gnu) libcurl/7.21.7 
> > NSS/3.13.1.0 zlib/1.2.5 libidn/1.22 libssh2/1.2.7
> > Host: localhost:3001
> > Accept: */*
> > 
> < HTTP/1.1 200 OK
> < Server: Apache-Deltacloud/1.0.4
> < Cache-Control: max-age=0, private, must-revalidate
> < X-XSS-Protection: 1; mode=block
> < Date: Thu, 01 Nov 2012 21:28:33 GMT
> < Content-Length: 4951
> < X-Deltacloud-Driver: mock
> < Content-Type: text/html
> < X-Frame-Options: sameorigin
> < ETag: 4787210e65f6db5044568ee996c9f199
> < Connection: keep-alive
> < 
> <!DOCTYPE html>
> <html>
>   <head>
>     <title>Deltacloud API 1.0.4</title>
>     <link charset='utf-8' href='/stylesheets/jquery.mobile-1.0.1.min.css' 
> media='screen' rel='stylesheet' type='text/css' />
>     <link charset='utf-8' href='/stylesheets/new.css' media='screen' 
> rel='stylesheet' type='text/css' />
>     <script src='/javascripts/jquery.min.js' type='text/javascript'></script>
>     <script src='/javascripts/application.js' type='text/javascript'></script>
>     <script src='/javascripts/jquery.mobile-1.0.1.min.js' 
> type='text/javascript'></script>
>     <script type='text/javascript'>
>       //<![CDATA[
>         $(document).bind("mobileinit", function(){
>             $.mobile.hashListeningEnabled = false;
>         })
>       //]]>
>     </script>
>   </head>
>   <body>
>     <div data-role='page'>
>       <div data-add-back-btn='false' data-role='header' data-theme='b'>
>         <h1>
>           Deltacloud API 1.0.4
>         </h1>
>       </div>
>       <div data-role='header' data-theme='a'>
>         <p class='inner-right'>
>           mock@default
>         </p>
>       </div>
>       <div data-role='content' data-theme='c'>
>         <ul data-inset='true' data-role='listview'>
>           <li>
>             <a data-icon='arrow-r' 
> href='http://localhost:3001/api/storage_snapshots'>Storage Snapshots</a>
>           </li>
>           <li>
>             <a data-icon='arrow-r' 
> href='http://localhost:3001/api/images'>Images</a>
>           </li>
>           <li>
>             <a data-icon='arrow-r' 
> href='http://localhost:3001/api/instances'>Instances</a>
>           </li>
>           <li>
>             <a data-icon='arrow-r' 
> href='http://localhost:3001/api/storage_volumes'>Storage Volumes</a>
>           </li>
>           <li>
>             <a data-icon='arrow-r' 
> href='http://localhost:3001/api/metrics'>Metrics</a>
>           </li>
>           <li>
>             <a data-icon='arrow-r' 
> href='http://localhost:3001/api/instance_states'>Instance States</a>
>           </li>
>           <li>
>             <a data-icon='arrow-r' 
> href='http://localhost:3001/api/drivers'>Drivers</a>
>           </li>
>           <li>
>             <a data-icon='arrow-r' 
> href='http://localhost:3001/api/realms'>Realms</a>
>           </li>
>           <li>
>             <a data-icon='arrow-r' 
> href='http://localhost:3001/api/hardware_profiles'>Hardware Profiles</a>
>           </li>
>           <li>
>             <a data-icon='arrow-r' 
> href='http://localhost:3001/api/buckets'>Buckets</a>
>           </li>
>           <li>
>             <a data-icon='arrow-r' 
> href='http://localhost:3001/api/addresses'>Addresses</a>
>           </li>
>           <li>
>             <a data-icon='arrow-r' 
> href='http://localhost:3001/api/keys'>Keys</a>
>           </li>
>         </ul>
>       </div>
>       <div data-role='footer' data-theme='a'>
>         <form action='/api' data-ajax='false' method='post'>
>           <fieldset data-role='controlgroup' data-type='horizontal' 
> id='providers'>
>             <select data-inline='true' data-native-menu='false' name='driver'>
>               <option value='mock'>mock</option>
>               <option value='google'>google</option>
>               <option value='condor'>condor</option>
>               <option value='rimuhosting'>rimuhosting</option>
>               <option value='opennebula'>opennebula</option>
>               <option value='aruba'>aruba</option>
>               <option value='eucalyptus'>eucalyptus</option>
>               <option value='ec2'>ec2</option>
>               <option value='openstack'>openstack</option>
>               <option value='vsphere'>vsphere</option>
>               <option value='rackspace'>rackspace</option>
>               <option value='sbc'>sbc</option>
>               <option value='rhevm'>rhevm</option>
>               <option value='gogrid'>gogrid</option>
>               <option value='mock'>mock</option>
>               <option value='azure'>azure</option>
>               <option value='terremark'>terremark</option>
>               <option value='fgcp'>fgcp</option>
>             </select>
>             <button data-inline='true' type='submit'>Change Driver</button>
>           </fieldset>
>         </form>
>       </div>
>       <div data-role='footer' data-theme='a'>
>         <div data-role='navbar'>
>           <ul>
>             <li>
>               <a data-ajax='false' data-icon='home' 
> href='http://localhost:3001/api'>Home</a>
>             </li>
>             <li>
>               <a data-ajax='false' data-icon='grid' href='/api?format=xml'>
>                 XML
>               </a>
>             </li>
>             <li>
>               <a data-ajax='false' data-icon='grid' href='/api?format=json'>
>                 JSON
>               </a>
>             </li>
>           </ul>
>         </div>
>         <div data-role='header' data-theme='a'>
>           <div id='copyright'>
>             Copyright 2009-2011
>             <a href='http://incubator.apache.org/deltacloud/'>The Apache 
> Software Foundation</a>
>             and individual contributors.
>           </div>
>         </div>
>       </div>
>     </div>
>   </body>
> </html>
> * Connection #0 to host localhost left intact
> * Closing connection #0
> -------------------------------------------------------------------------
> Copying relevant chat comments below:
> <rlandy> lutter: ping re: http:/<dmtf doc>/cimiTest.html test case 1.1 
> <rlandy> lutter: we return "HTTP/1.1 406 Not Acceptable" ... is no xml/json 
> format something deltacloud's cimi implementation should support?
> <lutter> rlandy: yes, our behavior is a bug 
> <lutter> rlandy: btw, the DC API should behave in the same way (the behavior 
> is dictated by HTTP content negotiation)
> <rlandy> lutter: well , dc API returns a 200 but the rest looks like the html 
> required for the GUI, maybe
> <lutter> rlandy: that's a bug, too .. we should respond with XML if Accept is 
> */*

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to