Details
- 
        Type:
Monitor
 - 
        Status: Closed
 - 
            Priority:
 Major
                
             - 
            Resolution: Done
 - 
            Affects Version/s: None
 - 
            Fix Version/s: 2021
 - 
            Component/s: FIWARE-TECH-HELP
 - 
            Labels:
 
- 
                        HD-Enabler:Sagitta
 
Description
Created question in FIWARE Q/A platform on 01-06-2016 at 13:06
Please, ANSWER this question AT https://stackoverflow.com/questions/37566773/sdc-from-the-cli-cannot-install-a-product-on-vm
Question:
SDC from the CLI. Cannot install a product on VM
Description:
Following what says here, I got a connection refused using this curl:
curl -v -H "Content-Type: application/json" -H "Accept: application/xml" -H "X-Auth-Token: 756cfb31e062216544215f54447e2716" -H "Tenant-Id: your-tenant-id" -X POST "http://saggita.lab.fi-ware.org:8080/sdc/rest/vdc/
{your-tenant-id}/productInstance"I changed it to what seems the appropriate URL:
cat test-data | curl --insecure -v -H "Content-Type: application/json" -H "Accept: application/xml" -H "X-Auth-Token: 756cfb31e062216544215f54447e2716" -H "Tenant-Id: your-tenant-id" -X POST "https://saggita.lab.fi-ware.org:8443/sdc/rest/vdc/{your-tenant-id}
/productInstance" -data-binary @
Comment: I used the file test-data as payload, I show later what payload I am using.
With that petition (with the appropriate auth token and specific parameters for my environment) I got:
Unexpected character ('<' (code 60)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
Seems is expecting JSON instead of XML, so I rearranged like this:
cat test-data | curl --insecure -v -H "Content-Type: application/xml" -H "Accept: application/xml" -H "X-Auth-Token: 756cfb31e062216544215f54447e2716" -H "Tenant-Id: your-tenant-id" -X POST "https://saggita.lab.fi-ware.org:8443/sdc/rest/vdc/
{your-tenant-id}/productInstance" -data-binary @
And I got this message no matter how I change payload:
{"message":"The entity is not valid","code":42}I tried this two payloads (with the example of installing apache):
<productInstanceDto>
        <vm>
        <ip>MYIP</ip>
        <fqn>same as hostname, I don't have DNS resolution</fqn>
        <hostname>MYHOSTNAME</hostname>
        </vm>
        <product>
        <productDescription/>
        <name>apache2</name>
        </product>
        <attributes>
                <key>custom_att_02</key>
                <value>default_value_plain</value>
                <type>Plain</type>
        </attributes>
</productInstanceDto>
What I see as a very minimialist and clear payload
<productInstanceDto>
    <vm>
        <ip>MYIP</ip>
    </vm>
    <product>
        <name>apache2</name>
    </product>
</productInstanceDto>
By the way, I see so unfortunate fields like fqdn (could be missing, no dns resolution on that server), version (why I have to know the version of the product I want to install, this does not appear in the Product Catalogue), the missing of VM_ID parameter: available, easy and unique.
What I'm doing wrong?
Thanks
Activity
| Field | Original Value | New Value | 
|---|---|---|
| Component/s | FIWARE-TECH-HELP [ 10278 ] | 
| Status | Open [ 1 ] | In Progress [ 3 ] | 
| Status | In Progress [ 3 ] | Answered [ 10104 ] | 
| Assignee | Henar Muñoz [ henar ] | 
| Resolution | Done [ 10000 ] | |
| Status | Answered [ 10104 ] | Closed [ 6 ] | 
| HD-Enabler | Sagitta [ 10866 ] | |
| Description | 
                                                                 Created question in FIWARE Q/A platform on 01-06-2016 at 13:06 {color: red}Please, ANSWER this question AT{color} https://stackoverflow.com/questions/37566773/sdc-from-the-cli-cannot-install-a-product-on-vm +Question:+ SDC from the CLI. Cannot install a product on VM +Description:+ Following what says here, I got a connection refused using this curl: curl -v -H "Content-Type: application/json" -H "Accept: application/xml" -H "X-Auth-Token: 756cfb31e062216544215f54447e2716" -H "Tenant-Id: your-tenant-id" -X POST "http://saggita.lab.fi-ware.org:8080/sdc/rest/vdc/{your-tenant-id}/productInstance" I changed it to what seems the appropriate URL: cat test-data | curl --insecure -v -H "Content-Type: application/json" -H "Accept: application/xml" -H "X-Auth-Token: 756cfb31e062216544215f54447e2716" -H "Tenant-Id: your-tenant-id" -X POST "https://saggita.lab.fi-ware.org:8443/sdc/rest/vdc/{your-tenant-id}/productInstance" --data-binary @- Comment: I used the file test-data as payload, I show later what payload I am using. With that petition (with the appropriate auth token and specific parameters for my environment) I got: Unexpected character ('<' (code 60)): expected a valid value (number, String, array, object, 'true', 'false' or 'null') Seems is expecting JSON instead of XML, so I rearranged like this: cat test-data | curl --insecure -v -H "Content-Type: application/xml" -H "Accept: application/xml" -H "X-Auth-Token: 756cfb31e062216544215f54447e2716" -H "Tenant-Id: your-tenant-id" -X POST "https://saggita.lab.fi-ware.org:8443/sdc/rest/vdc/{your-tenant-id}/productInstance" --data-binary @- And I got this message no matter how I change payload: {"message":"The entity is not valid","code":42} I tried this two payloads (with the example of installing apache): <productInstanceDto> <vm> <ip>MYIP</ip> <fqn>same as hostname, I don't have DNS resolution</fqn> <hostname>MYHOSTNAME</hostname> </vm> <product> <productDescription/> <name>apache2</name> </product> <attributes> <key>custom_att_02</key> <value>default_value_plain</value> <type>Plain</type> </attributes> </productInstanceDto> What I see as a very minimialist and clear payload <productInstanceDto> <vm> <ip>MYIP</ip> </vm> <product> <name>apache2</name> </product> </productInstanceDto> By the way, I see so unfortunate fields like fqdn (could be missing, no dns resolution on that server), version (why I have to know the version of the product I want to install, this does not appear in the Product Catalogue), the missing of VM_ID parameter: available, easy and unique. What I'm doing wrong? Thanks  | 
                
                                                               Created question in FIWARE Q/A platform on 01-06-2016 at 13:06
 {color: red}Please, ANSWER this question AT{color} https://stackoverflow.com/questions/37566773/sdc-from-the-cli-cannot-install-a-product-on-vm +Question:+ SDC from the CLI. Cannot install a product on VM +Description:+ Following what says here, I got a connection refused using this curl: curl -v -H "Content-Type: application/json" -H "Accept: application/xml" -H "X-Auth-Token: 756cfb31e062216544215f54447e2716" -H "Tenant-Id: your-tenant-id" -X POST "http://saggita.lab.fi-ware.org:8080/sdc/rest/vdc/{your-tenant-id}/productInstance" I changed it to what seems the appropriate URL: cat test-data | curl --insecure -v -H "Content-Type: application/json" -H "Accept: application/xml" -H "X-Auth-Token: 756cfb31e062216544215f54447e2716" -H "Tenant-Id: your-tenant-id" -X POST "https://saggita.lab.fi-ware.org:8443/sdc/rest/vdc/{your-tenant-id}/productInstance" --data-binary @- Comment: I used the file test-data as payload, I show later what payload I am using. With that petition (with the appropriate auth token and specific parameters for my environment) I got: Unexpected character ('<' (code 60)): expected a valid value (number, String, array, object, 'true', 'false' or 'null') Seems is expecting JSON instead of XML, so I rearranged like this: cat test-data | curl --insecure -v -H "Content-Type: application/xml" -H "Accept: application/xml" -H "X-Auth-Token: 756cfb31e062216544215f54447e2716" -H "Tenant-Id: your-tenant-id" -X POST "https://saggita.lab.fi-ware.org:8443/sdc/rest/vdc/{your-tenant-id}/productInstance" --data-binary @- And I got this message no matter how I change payload: {"message":"The entity is not valid","code":42} I tried this two payloads (with the example of installing apache): <productInstanceDto> <vm> <ip>MYIP</ip> <fqn>same as hostname, I don't have DNS resolution</fqn> <hostname>MYHOSTNAME</hostname> </vm> <product> <productDescription/> <name>apache2</name> </product> <attributes> <key>custom_att_02</key> <value>default_value_plain</value> <type>Plain</type> </attributes> </productInstanceDto> What I see as a very minimialist and clear payload <productInstanceDto> <vm> <ip>MYIP</ip> </vm> <product> <name>apache2</name> </product> </productInstanceDto> By the way, I see so unfortunate fields like fqdn (could be missing, no dns resolution on that server), version (why I have to know the version of the product I want to install, this does not appear in the Product Catalogue), the missing of VM_ID parameter: available, easy and unique. What I'm doing wrong? Thanks  | 
                
| Fix Version/s | 2021 [ 12600 ] | 
| Transition | Time In Source Status | Execution Times | Last Executer | Last Execution Date | |||||
|---|---|---|---|---|---|---|---|---|---|
		    	
  | 
			2h 57m | 1 | Backlog Manager | 22/May/17 6:05 PM | |||||
		    	
  | 
			2h 59m | 1 | Backlog Manager | 22/May/17 9:05 PM | |||||
		    	
  | 
			6d 14h 54m | 1 | José Ignacio Carretero Guarde | 29/May/17 11:59 AM | 
2017-05-22 15:09|CREATED monitor | # answers= 1, accepted answer= False