[
https://issues.jboss.org/browse/JBIDE-15429?page=com.atlassian.jira.plugi...
]
Andre Dietisheim commented on JBIDE-15429:
------------------------------------------
The first problem that arose is that OpenShift apparently wont handle parameter arrays and
maps correctly:
If I try to create a web-cartridge jbossas-7 with a downloadable cartridge foreman the app
is created but the embedded foreman cartridge is ignored:
{code}
curl -H "Accept: application/json; version=1.2" --user USER:PASSWORD
https://openshift.redhat.com/broker/rest/domains/foogoo/applications -X POST -d
name=scalable2 -dcartridges[][name]=jbossas-7
-dcartridges[][name]="http://cartreflect-claytondev.rhcloud.com/reflect?github=ncdc/openshift-foreman-cartridge
{code}
The resulting app has no foreman cartridge embedded (empty "embedded"):
{code}
{
"api_version":1.2,
"data":{
"aliases":[
],
"app_url":"http://scalable2-foogoo.rhcloud.com/",
"build_job_url":null,
"building_app":null,
"building_with":null,
"creation_time":"2013-09-23T14:47:53Z",
"domain_id":"foogoo",
"embedded":{
},
"framework":"jbossas-7",
{code}
If on the other hand, I try to create an app with a downloadable web-cartridge and a
normal add-on cartridge, the request errors and complains that there is no web-cartridge
being supplied:
{code}
curl -H "Accept: application/json; version=1.2" --user USER:PASSWORD
https://openshift.redhat.com/broker/rest/domains/foogoo/applications -X POST -d
name=scalable3
-dcartridges[][url]=claytondev.rhcloud.com/reflect?github=smarterclayton/openshift-go-cart
-dcartridges[][name]=mysql
{code}
The error that is reported by the REST service:
{code}
{
"api_version":1.2,
"data":null,
"messages":[
{
"exit_code":109,
"field":"cartridge",
"severity":"error",
"text":"Each application must contain one web cartridge. None of
the specified cartridges mysql is a web cartridge. Please include one of the following
cartridges: nodejs-0.6, nodejs-0.10, python-3.3, python-2.7, python-2.6, zend-5.6,
ruby-1.9, ruby-1.8, jenkins-1, jbossews-2.0, jbossews-1.0, perl-5.10, php-5.3, jbosseap-6,
diy-0.1, and jbossas-7 or supply a valid url to a custom web_framework cartridge."
}
],
"status":"unprocessable_entity",
"supported_api_versions":[
1.0,
1.1,
1.2,
1.3,
1.4,
1.5,
1.6
],
"type":null,
"version":"1.2"
}
{code}
I did some googling and found some references that show that older Rails version were
supporting these parameter arrays and maps:
https://github.com/RestKit/RestKit/pull/697
But for some unknown reason this support is not present any more as the above request
show.
In result I had to switch to json encoded parameters which works flawlessly.
Requesting the above in json looks as follows:
{code}
curl -H "Content-Type: application/json" -H "Accept: application/json;
version=1.2" --user USER:PASSWORD
https://openshift.redhat.com/broker/rest/domains/foobarz/applications -X POST -d '{
"name":"as71", "cartridges":[ {
"name":"jbossas-7" }, {
"url":"http://cartreflect-claytondev.rhcloud.com/reflect?github=ncdc/openshift-foreman-cartridge"
} ] }'
{code}
openshift-java-client: add support for downloadable cartridges
--------------------------------------------------------------
Key: JBIDE-15429
URL:
https://issues.jboss.org/browse/JBIDE-15429
Project: Tools (JBoss Tools)
Issue Type: Feature Request
Components: openshift
Affects Versions: 4.1.0.Final
Reporter: Andre Dietisheim
Assignee: Andre Dietisheim
Labels: openshift-java-client
Fix For: 4.2.0.Alpha1
OpenShift added support for downloadable cartridges lately. This allows you to provide
your very own cartridge by providing a git-url where it may be checked out.
Fusesource provided a PR on github that we should merge in:
https://github.com/openshift/openshift-java-client/pull/68
The PR seems perfectly functional but it has a few shortcomings though that we have to
fix though (see comments in the PR)
--
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