]
Jeff Cantrill commented on JBIDE-20094:
---------------------------------------
JBIDE-20027 should resolve this issue as the PR modifies the message dialog presented to
the user.
cannot open eap-simple from openshift templates
-----------------------------------------------
Key: JBIDE-20094
URL:
https://issues.jboss.org/browse/JBIDE-20094
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: openshift
Reporter: Max Rydahl Andersen
when using template from my local file system to open
https://github.com/jboss-openshift/application-templates/blob/master/eap/...
I says it cannot open.
dialog comes up with asking to look in error log.
error log contains:
{code}
com.openshift.restclient.ResourceFactoryException: There was an exception creating the
resource from: {
"kind": "Template",
"apiVersion": "v1",
"metadata": {
"annotations": {
"iconClass" : "icon-jboss",
"description": "Application template for EAP 6 applications
built using STI."
},
"name": "eap6-basic-sti"
},
"labels": {
"template": "eap6-basic-sti"
},
"parameters": [
{
"description": "EAP Release version, e.g. 6.4, etc.",
"name": "EAP_RELEASE",
"value": "6.4"
},
{
"description": "The name for the application.",
"name": "APPLICATION_NAME",
"value": "eap-app"
},
{
"description": "Hostname for service routes",
"name": "APPLICATION_HOSTNAME",
"value": "eap-app.local"
},
{
"description": "Git source URI for application",
"name": "GIT_URI"
},
{
"description": "Git branch/tag reference",
"name": "GIT_REF",
"value": "master"
},
{
"description": "Path within Git project to build; empty for
root project directory.",
"name": "GIT_CONTEXT_DIR",
"value": ""
},
{
"description": "Github trigger secret",
"name": "GITHUB_TRIGGER_SECRET",
"from": "[a-zA-Z0-9]{8}",
"generate": "expression"
},
{
"description": "Generic build trigger secret",
"name": "GENERIC_TRIGGER_SECRET",
"from": "[a-zA-Z0-9]{8}",
"generate": "expression"
},
{
"description": "The name of the secret containing the keystore
file",
"name": "EAP_HTTPS_SECRET",
"value": "eap-app-secret"
},
{
"description": "The name of the keystore file within the
secret",
"name": "EAP_HTTPS_KEYSTORE",
"value": "keystore.jks"
},
{
"description": "The name associated with the server
certificate",
"name": "EAP_HTTPS_NAME",
"value": ""
},
{
"description": "The password for the keystore and
certificate",
"name": "EAP_HTTPS_PASSWORD",
"value": ""
}
],
"objects": [
{
"kind": "Service",
"apiVersion": "v1",
"spec": {
"ports": [
{
"port": 8080,
"targetPort": 8080
}
],
"selector": {
"deploymentConfig": "${APPLICATION_NAME}"
}
},
"metadata": {
"name": "${APPLICATION_NAME}-http-service",
"labels": {
"application": "${APPLICATION_NAME}"
},
"annotations": {
"description": "The web server's http port."
}
}
},
{
"kind": "Service",
"apiVersion": "v1",
"spec": {
"ports": [
{
"port": 8443,
"targetPort": 8443
}
],
"selector": {
"deploymentConfig": "${APPLICATION_NAME}"
}
},
"metadata": {
"name": "${APPLICATION_NAME}-https-service",
"labels": {
"application": "${APPLICATION_NAME}"
},
"annotations": {
"description": "The web server's https
port."
}
}
},
{
"kind": "Service",
"apiVersion": "v1",
"spec": {
"ports": [
{
"port": 8888,
"targetPort": 8888
}
],
"portalIP": "None",
"selector": {
"deploymentConfig": "${APPLICATION_NAME}"
}
},
"metadata": {
"name": "${APPLICATION_NAME}-ping",
"labels": {
"application": "${APPLICATION_NAME}"
},
"annotations": {
"description": "Ping service for clustered
applications."
}
}
},
{
"kind": "Route",
"apiVersion": "v1",
"id": "${APPLICATION_NAME}-http-route",
"metadata": {
"name": "${APPLICATION_NAME}-http-route",
"labels": {
"application": "${APPLICATION_NAME}"
},
"annotations": {
"description": "Route for application's http
service."
}
},
"spec": {
"host": "${APPLICATION_HOSTNAME}",
"to": {
"name": "${APPLICATION_NAME}-http-service"
}
}
},
{
"kind": "Route",
"apiVersion": "v1",
"id": "${APPLICATION_NAME}-https-route",
"metadata": {
"name": "${APPLICATION_NAME}-https-route",
"labels": {
"application": "${APPLICATION_NAME}"
},
"annotations": {
"description": "Route for application's https
service."
}
},
"spec": {
"host": "${APPLICATION_HOSTNAME}",
"to": {
"name": "${APPLICATION_NAME}-https-service"
},
"tls": {
"termination" : "passthrough"
}
}
},
{
"kind": "ImageStream",
"apiVersion": "v1",
"metadata": {
"name": "${APPLICATION_NAME}",
"labels": {
"application": "${APPLICATION_NAME}"
}
}
},
{
"kind": "BuildConfig",
"apiVersion": "v1",
"metadata": {
"name": "${APPLICATION_NAME}",
"labels": {
"application": "${APPLICATION_NAME}"
}
},
"spec": {
"source": {
"type": "Git",
"git": {
"uri": "${GIT_URI}",
"ref": "${GIT_REF}"
},
"contextDir":"${GIT_CONTEXT_DIR}"
},
"strategy": {
"type": "Source",
"sourceStrategy": {
"from": {
"kind": "ImageStreamTag",
"name":
"jboss-eap6-openshift:${EAP_RELEASE}"
}
}
},
"output": {
"to": {
"name": "${APPLICATION_NAME}"
}
},
"triggers": [
{
"type": "github",
"github": {
"secret": "${GITHUB_TRIGGER_SECRET}"
}
},
{
"type": "generic",
"generic": {
"secret": "${GENERIC_TRIGGER_SECRET}"
}
},
{
"type": "imageChange",
"imageChange": {}
}
]
}
},
{
"kind": "DeploymentConfig",
"apiVersion": "v1",
"metadata": {
"name": "${APPLICATION_NAME}",
"labels": {
"application": "${APPLICATION_NAME}"
}
},
"spec": {
"strategy": {
"type": "Recreate"
},
"triggers": [
{
"type": "ImageChange",
"imageChangeParams": {
"automatic": true,
"containerNames": [
"${APPLICATION_NAME}"
],
"from": {
"kind": "ImageStream",
"name": "${APPLICATION_NAME}"
}
}
}
],
"replicas": 1,
"selector": {
"deploymentConfig": "${APPLICATION_NAME}"
},
"template": {
"metadata": {
"name": "${APPLICATION_NAME}",
"labels": {
"deploymentConfig":
"${APPLICATION_NAME}",
"application": "${APPLICATION_NAME}"
}
},
"spec": {
"serviceAccount": "eap-service-account",
"containers": [
{
"name": "${APPLICATION_NAME}",
"image": "${APPLICATION_NAME}",
"imagePullPolicy": "Always",
"volumeMounts": [
{
"name":
"eap-keystore-volume",
"mountPath":
"/etc/eap-secret-volume",
"readOnly": true
}
],
"readinessProbe": {
"initialDelaySeconds": 1,
"exec": {
"command": [
"/bin/bash",
"-c",
"/opt/eap/bin/jboss-cli.sh --connect
':read-attribute(name=server-state)' | grep -iq running"
]
}
},
"ports": [
{
"name":
"${APPLICATION_NAME}-tcp-8080",
"containerPort": 8080,
"protocol": "TCP"
},
{
"name":
"${APPLICATION_NAME}-tcp-8443",
"containerPort": 8443,
"protocol": "TCP"
},
{
"name":
"${APPLICATION_NAME}-ping-8888",
"containerPort": 8888,
"protocol": "TCP"
}
],
"env": [
{
"name":
"OPENSHIFT_DNS_PING_SERVICE_NAME",
"value":
"${APPLICATION_NAME}-ping"
},
{
"name":
"OPENSHIFT_DNS_PING_SERVICE_PORT",
"value": "8888"
},
{
"name":
"EAP_HTTPS_KEYSTORE_DIR",
"value":
"/etc/eap-secret-volume"
},
{
"name":
"EAP_HTTPS_KEYSTORE",
"value":
"${EAP_HTTPS_KEYSTORE}"
},
{
"name": "EAP_HTTPS_NAME",
"value": "${EAP_HTTPS_NAME}"
},
{
"name":
"EAP_HTTPS_PASSWORD",
"value":
"${EAP_HTTPS_PASSWORD}"
}
]
}
],
"volumes": [
{
"name": "eap-keystore-volume",
"secret": {
"secretName":
"${EAP_HTTPS_SECRET}"
}
}
]
}
}
}
}
]
}
at com.openshift.internal.restclient.ResourceFactory.create(ResourceFactory.java:149)
at com.openshift.internal.restclient.ResourceFactory.create(ResourceFactory.java:136)
at
org.jboss.tools.openshift.internal.ui.wizard.application.NewApplicationWizardModel.setTemplateFileName(NewApplicationWizardModel.java:211)
at
org.jboss.tools.openshift.internal.ui.wizard.application.TemplateListPage$1.widgetSelected(TemplateListPage.java:152)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4230)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1491)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1514)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1499)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1299)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4072)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3698)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:827)
at org.eclipse.jface.window.Window.open(Window.java:803)
at org.jboss.tools.common.ui.WizardUtils.openWizardDialog(WizardUtils.java:244)
at
org.jboss.tools.openshift.internal.ui.handler.NewApplicationHandler.execute(NewApplicationHandler.java:46)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:295)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:252)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:234)
at
org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
at
org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:493)
at
org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:486)
at
org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
at
org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:799)
at
org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.handleWidgetSelection(HandledContributionItem.java:675)
at
org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$7(HandledContributionItem.java:659)
at
org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$4.handleEvent(HandledContributionItem.java:592)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4230)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1491)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1514)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1499)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1299)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4072)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3698)
at
org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at
org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
at
org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
Caused by: com.openshift.restclient.ResourceFactoryException: Unable to create v1
resource kind Template from {
"kind" => "Template",
"apiVersion" => "v1",
"metadata" => {
"annotations" => {
"iconClass" => "icon-jboss",
"description" => "Application template for EAP 6
applications built using STI."
},
"name" => "eap6-basic-sti"
},
"labels" => {"template" => "eap6-basic-sti"},
"parameters" => [
{
"description" => "EAP Release version, e.g. 6.4,
etc.",
"name" => "EAP_RELEASE",
"value" => "6.4"
},
{
"description" => "The name for the application.",
"name" => "APPLICATION_NAME",
"value" => "eap-app"
},
{
"description" => "Hostname for service routes",
"name" => "APPLICATION_HOSTNAME",
"value" => "eap-app.local"
},
{
"description" => "Git source URI for application",
"name" => "GIT_URI"
},
{
"description" => "Git branch/tag reference",
"name" => "GIT_REF",
"value" => "master"
},
{
"description" => "Path within Git project to build; empty
for root project directory.",
"name" => "GIT_CONTEXT_DIR",
"value" => ""
},
{
"description" => "Github trigger secret",
"name" => "GITHUB_TRIGGER_SECRET",
"from" => "[a-zA-Z0-9]{8}",
"generate" => "expression"
},
{
"description" => "Generic build trigger secret",
"name" => "GENERIC_TRIGGER_SECRET",
"from" => "[a-zA-Z0-9]{8}",
"generate" => "expression"
},
{
"description" => "The name of the secret containing the
keystore file",
"name" => "EAP_HTTPS_SECRET",
"value" => "eap-app-secret"
},
{
"description" => "The name of the keystore file within the
secret",
"name" => "EAP_HTTPS_KEYSTORE",
"value" => "keystore.jks"
},
{
"description" => "The name associated with the server
certificate",
"name" => "EAP_HTTPS_NAME",
"value" => ""
},
{
"description" => "The password for the keystore and
certificate",
"name" => "EAP_HTTPS_PASSWORD",
"value" => ""
}
],
"objects" => [
{
"kind" => "Service",
"apiVersion" => "v1",
"spec" => {
"ports" => [{
"port" => 8080,
"targetPort" => 8080
}],
"selector" => {"deploymentConfig" =>
"${APPLICATION_NAME}"}
},
"metadata" => {
"name" => "${APPLICATION_NAME}-http-service",
"labels" => {"application" =>
"${APPLICATION_NAME}"},
"annotations" => {"description" => "The
web server's http port."}
}
},
{
"kind" => "Service",
"apiVersion" => "v1",
"spec" => {
"ports" => [{
"port" => 8443,
"targetPort" => 8443
}],
"selector" => {"deploymentConfig" =>
"${APPLICATION_NAME}"}
},
"metadata" => {
"name" => "${APPLICATION_NAME}-https-service",
"labels" => {"application" =>
"${APPLICATION_NAME}"},
"annotations" => {"description" => "The
web server's https port."}
}
},
{
"kind" => "Service",
"apiVersion" => "v1",
"spec" => {
"ports" => [{
"port" => 8888,
"targetPort" => 8888
}],
"portalIP" => "None",
"selector" => {"deploymentConfig" =>
"${APPLICATION_NAME}"}
},
"metadata" => {
"name" => "${APPLICATION_NAME}-ping",
"labels" => {"application" =>
"${APPLICATION_NAME}"},
"annotations" => {"description" => "Ping
service for clustered applications."}
}
},
{
"kind" => "Route",
"apiVersion" => "v1",
"id" => "${APPLICATION_NAME}-http-route",
"metadata" => {
"name" => "${APPLICATION_NAME}-http-route",
"labels" => {"application" =>
"${APPLICATION_NAME}"},
"annotations" => {"description" => "Route
for application's http service."}
},
"spec" => {
"host" => "${APPLICATION_HOSTNAME}",
"to" => {"name" =>
"${APPLICATION_NAME}-http-service"}
}
},
{
"kind" => "Route",
"apiVersion" => "v1",
"id" => "${APPLICATION_NAME}-https-route",
"metadata" => {
"name" => "${APPLICATION_NAME}-https-route",
"labels" => {"application" =>
"${APPLICATION_NAME}"},
"annotations" => {"description" => "Route
for application's https service."}
},
"spec" => {
"host" => "${APPLICATION_HOSTNAME}",
"to" => {"name" =>
"${APPLICATION_NAME}-https-service"},
"tls" => {"termination" =>
"passthrough"}
}
},
{
"kind" => "ImageStream",
"apiVersion" => "v1",
"metadata" => {
"name" => "${APPLICATION_NAME}",
"labels" => {"application" =>
"${APPLICATION_NAME}"}
}
},
{
"kind" => "BuildConfig",
"apiVersion" => "v1",
"metadata" => {
"name" => "${APPLICATION_NAME}",
"labels" => {"application" =>
"${APPLICATION_NAME}"}
},
"spec" => {
"source" => {
"type" => "Git",
"git" => {
"uri" => "${GIT_URI}",
"ref" => "${GIT_REF}"
},
"contextDir" => "${GIT_CONTEXT_DIR}"
},
"strategy" => {
"type" => "Source",
"sourceStrategy" => {"from" => {
"kind" => "ImageStreamTag",
"name" =>
"jboss-eap6-openshift:${EAP_RELEASE}"
}}
},
"output" => {"to" => {"name" =>
"${APPLICATION_NAME}"}},
"triggers" => [
{
"type" => "github",
"github" => {"secret" =>
"${GITHUB_TRIGGER_SECRET}"}
},
{
"type" => "generic",
"generic" => {"secret" =>
"${GENERIC_TRIGGER_SECRET}"}
},
{
"type" => "imageChange",
"imageChange" => {}
}
]
}
},
{
"kind" => "DeploymentConfig",
"apiVersion" => "v1",
"metadata" => {
"name" => "${APPLICATION_NAME}",
"labels" => {"application" =>
"${APPLICATION_NAME}"}
},
"spec" => {
"strategy" => {"type" =>
"Recreate"},
"triggers" => [{
"type" => "ImageChange",
"imageChangeParams" => {
"automatic" => true,
"containerNames" =>
["${APPLICATION_NAME}"],
"from" => {
"kind" => "ImageStream",
"name" => "${APPLICATION_NAME}"
}
}
}],
"replicas" => 1,
"selector" => {"deploymentConfig" =>
"${APPLICATION_NAME}"},
"template" => {
"metadata" => {
"name" => "${APPLICATION_NAME}",
"labels" => {
"deploymentConfig" =>
"${APPLICATION_NAME}",
"application" =>
"${APPLICATION_NAME}"
}
},
"spec" => {
"serviceAccount" =>
"eap-service-account",
"containers" => [{
"name" => "${APPLICATION_NAME}",
"image" => "${APPLICATION_NAME}",
"imagePullPolicy" => "Always",
"volumeMounts" => [{
"name" => "eap-keystore-volume",
"mountPath" =>
"/etc/eap-secret-volume",
"readOnly" => true
}],
"readinessProbe" => {
"initialDelaySeconds" => 1,
"exec" => {"command" => [
"/bin/bash",
"-c",
"/opt/eap/bin/jboss-cli.sh --connect
':read-attribute(name=server-state)' | grep -iq running"
]}
},
"ports" => [
{
"name" =>
"${APPLICATION_NAME}-tcp-8080",
"containerPort" => 8080,
"protocol" => "TCP"
},
{
"name" =>
"${APPLICATION_NAME}-tcp-8443",
"containerPort" => 8443,
"protocol" => "TCP"
},
{
"name" =>
"${APPLICATION_NAME}-ping-8888",
"containerPort" => 8888,
"protocol" => "TCP"
}
],
"env" => [
{
"name" =>
"OPENSHIFT_DNS_PING_SERVICE_NAME",
"value" =>
"${APPLICATION_NAME}-ping"
},
{
"name" =>
"OPENSHIFT_DNS_PING_SERVICE_PORT",
"value" => "8888"
},
{
"name" =>
"EAP_HTTPS_KEYSTORE_DIR",
"value" =>
"/etc/eap-secret-volume"
},
{
"name" =>
"EAP_HTTPS_KEYSTORE",
"value" =>
"${EAP_HTTPS_KEYSTORE}"
},
{
"name" => "EAP_HTTPS_NAME",
"value" =>
"${EAP_HTTPS_NAME}"
},
{
"name" =>
"EAP_HTTPS_PASSWORD",
"value" =>
"${EAP_HTTPS_PASSWORD}"
}
]
}],
"volumes" => [{
"name" => "eap-keystore-volume",
"secret" => {"secretName" =>
"${EAP_HTTPS_SECRET}"}
}]
}
}
}
}
]
}
at com.openshift.internal.restclient.ResourceFactory.create(ResourceFactory.java:166)
at com.openshift.internal.restclient.ResourceFactory.create(ResourceFactory.java:147)
... 63 more
Caused by: java.lang.RuntimeException: Version 'v1' not supported for kind
'Template'
at
com.openshift.internal.restclient.model.properties.ResourcePropertiesRegistry.get(ResourcePropertiesRegistry.java:101)
at com.openshift.internal.restclient.ResourceFactory.create(ResourceFactory.java:162)
... 64 more
{code}
Two issues here:
1) that it fails
2) why is the error dialog not the one with details that shows the actual istatus/error
3) why does the error actually not state what the exception is and why does it not just
state the file name it is loading from instea dof the full raw string ?