[ 
https://issues.apache.org/jira/browse/DTACLOUD-357?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13492188#comment-13492188
 ] 

Marios Andreou commented on DTACLOUD-357:
-----------------------------------------

Dies - thanks for reporting this. 

The "+json" bit was because in earlier version of the (then) work-in-progress 
CIMI spec, every entity had it's own content type. So Machine create was like 
"application/MachineCreate+json" for example (something like that anyway - 
forget exact syntax). Thankfully we managed to convince the group that this was 
unnecessary and so we now just have the much more sensible "application/json" 
and "application/xml". Patch 1 here removes these old references.

Patch 2 fixes the error in the json parsing and Patch 3 makes sure the server 
defaults to one of xml/json when a cimi request is being handled (deltacloud 
requests can also do html).

NOTE: the returned XML/JSON may not be perfect. We are going to be working on 
the CIMI impl. over the next 
few days/weeks. However I believe the patches here address the concerns raised 
in this ticket.

(patches also available @ http://tracker.deltacloud.org/set/116)

thanks! marios
                
> can't create machine using CIMI front-end with json POST
> --------------------------------------------------------
>
>                 Key: DTACLOUD-357
>                 URL: https://issues.apache.org/jira/browse/DTACLOUD-357
>             Project: DeltaCloud
>          Issue Type: Bug
>          Components: CIMI/Frontend
>            Reporter: Dies Koper
>            Assignee: Marios Andreou
>         Attachments: 
> 0001-CIMI-replace-json-and-xml-for-expected-content-types.patch, 
> 0002-CIMI-fix-json-parsing-for-create-Machine.patch, 
> 0003-CIMI-default-to-a-content-type-for-response-when-cim.patch
>
>
> curl --user "user:pwd" -X POST http://localhost:3001/cimi/machines -H 
> "Content-Type: application/json" -d POST.json
> with
> { "resourceURI": "http://schemas.dmtf.org/cimi/1/MachineCreate";, "name": 
> "myMachine1", "description": "My very first machine", "machineTemplate": { 
> "machineConfig": { "href": 
> "http://localhost:3001/cimi/machine_configurations/economy"; }, 
> "machineImage": { "href": 
> "http://localhost:3001/cimi/machine_images/IMG_3c9820_S24FWXU0Q9VH0JK"; } } } 
> gives:
>  500: [ArgumentError] File does not exist
>  from gems/xml-simple-1.1.1/lib/xmlsimple.rb:990:in `find_xml_file'
>  from deltacloud/server/lib/cimi/models/machine.rb:59:in `create_from_xml'
> I'm posting json data!
> DC code has if request.content_type.end_with?("+json")
> else xml
> which is suspicious.
> When I change my content type to +json, I get [NameError] undefined local 
> variable or method `xml' for CIMI::Model::Machine:Class
>  in
>      hardware_profile_id = 
> xml['machineTemplate']['machineConfig']["href"].split('/').last
> Looks like the json method has been copied & pasted from the xml one?

--
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