Giter VIP home page Giter VIP logo

launchpad-backend's People

Contributors

bartoszmajsak avatar chirino avatar cmoulliard avatar edewit avatar gastaldi avatar jstrachan avatar quintesse avatar secondsun avatar vpavlin avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

launchpad-backend's Issues

Cannot work on launchpad-frontend targeting prod-preview: CORS issue

when trying to work on launchpad-frontend on local UI targetting remote server:

  • set remote backend:
export LAUNCHPAD_BACKEND_URL=https://launch.prod-preview.openshift.io  
  • start local UI:
npm start

We get the error:

Failed to load https://launch.prod-preview.openshift.io/launchpad/commands/launchpad-new-project: Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header contains multiple values 'http://localhost:8088, http://localhost:8088', but only one is allowed. Origin 'http://localhost:8088' is therefore not allowed access.

@gastaldi @bartoszmajsak Root cause seems to be server side configuration: duplicate Access-Control-Allow-Origin. Is there any proxy server side that could add the duplicate info?

When doing this curl, server returns:

curl -X OPTIONS -v -k -H "Origin: http://localhost" https://launch.prod-preview.openshift.io/launchpad/commands/launchpad-new-project
*   Trying 54.210.186.127...
* TCP_NODELAY set
* Connected to launch.prod-preview.openshift.io (54.210.186.127) port 443 (#0)
* WARNING: disabling hostname validation also disables SNI.
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
* Server certificate: *.b6ff.rh-idev.openshiftapps.com
* Server certificate: DigiCert SHA2 High Assurance Server CA
* Server certificate: DigiCert High Assurance EV Root CA
> OPTIONS /launchpad/commands/launchpad-new-project HTTP/1.1
> Host: launch.prod-preview.openshift.io
> User-Agent: curl/7.54.0
> Accept: */*
> Origin: http://localhost
> 
< HTTP/1.1 200 OK
< Server: nginx/1.10.2
< Date: Tue, 07 Nov 2017 08:11:58 GMT
< Content-Length: 0
< Access-Control-Allow-Origin: http://localhost
< Access-Control-Allow-Credentials: true
< Access-Control-Allow-Origin: http://localhost
< Access-Control-Allow-Credentials: true
< Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
< Set-Cookie: 7328ad8b743e54c6d85aefb3b9f101f6=6eff141d18c4937904ec4eed48107795; path=/; HttpOnly; Secure
< Cache-control: private
< 
* Connection #0 to host launch.prod-preview.openshift.io left intact

Add a health check for having a connection to Catapult

We have a health check for seeing if the backend service is live but we don't know if it can actually connect to Catapult. It would be very useful to have that so we can at least check if the service was configured correctly.

Booster meta data belongs into catalog

Currently the booster meta data resides with each booster, but from my point of view it belongs into the catalog:

name: HTTP CRUD - Wildfly Swarm
description: A simple CRUD application using Wildfly Swarm
versions:
  - id: community
    name: 2017.9.5 (Community)
  - id: redhat
    name: 7.0.0.redhat-6 (RHOAR)

All of the above has to kept redundantly in the each booster branch (community/prod) while it's really an overarching concern. I suggest we move this data into the catalog, rather then keeping it with each booster.

Add an OpenShift Template with S2I build

  • Create an OpenShift Template with S2I build
  • Update the README to explain how to use it : oc start-build generator-backend
  • Automate the build process using Travis (if possible)

provide a REST API to render the first page quickly in multi-page wizards

When using a multi page forge wizard which does things (e.g. loaded the github token from keycloak/secretes, loaded the users github organisations, validate that the current project name doesn't exist already in github, load the openshift namespaces and so forth such as in fabric8-generator) it can take a little time on the very first request to validate all the possible pages that could be invoked if the user hits Finish immediately.

i.e. the very first request takes 1-10 seconds due to the cache being cold which isn't a good first experience of the wizard for new users.

However as soon as any key is pressed or selection is made (its rare for users to just it Finish immediately), all pages are validated etc.

So it might be nice for the UI to pass a flag to the REST API on the very first request aimed at loading page 0 first - and only page 0 - which would return false for being able to go to Next or Finish etc. Then the UI can make a second regular request after the data for the first page is loaded.

i.e. load the first page as quickly as possible; then once thats loaded, then load & validate all the possible pages in the wizard. Then the page loads quickly; the user then has time to look at the options, press some keys, then hit Finish. By the time they are ready to hit Finish then hopefully we'll have validated & warmed the caches ;)

So maybe we need a 'this step only' or loading first page form attribute the UI can pass in on the very first request on startup to avoid loading/defaulting/validating all the steps in a wizard so it can just load the first one quickly?

generator fails to startup

after building master and trying to run it I now get an error starting up. Any ideas?

$ mvn clean package -s configuration/settings.xml
...
$ java -jar target/generator-swarm.jar
2017-03-14 09:37:34,336 INFO  [org.wildfly.swarm] (main) WFSWARM0018: Installed fraction:          Bean Validation - STABLE          org.wildfly.swarm:bean-validation:2017.3.3
2017-03-14 09:37:34,343 INFO  [org.wildfly.swarm] (main) WFSWARM0018: Installed fraction:                  Logging - STABLE          org.wildfly.swarm:logging:2017.3.3
2017-03-14 09:37:34,344 INFO  [org.wildfly.swarm] (main) WFSWARM0018: Installed fraction:        CDI Configuration - STABLE          org.wildfly.swarm:cdi-config:2017.3.3
2017-03-14 09:37:34,344 INFO  [org.wildfly.swarm] (main) WFSWARM0018: Installed fraction:             Transactions - STABLE          org.wildfly.swarm:transactions:2017.3.3
2017-03-14 09:37:34,344 INFO  [org.wildfly.swarm] (main) WFSWARM0018: Installed fraction:                      CDI - STABLE          org.wildfly.swarm:cdi:2017.3.3
2017-03-14 09:37:34,344 INFO  [org.wildfly.swarm] (main) WFSWARM0018: Installed fraction:                 Undertow - STABLE          org.wildfly.swarm:undertow:2017.3.3
2017-03-14 09:37:34,345 INFO  [org.wildfly.swarm] (main) WFSWARM0018: Installed fraction:                   JAX-RS - STABLE          org.wildfly.swarm:jaxrs:2017.3.3
2017-03-14 09:37:38,054 INFO  [org.jboss.msc] (main) JBoss MSC version 1.2.6.Final
2017-03-14 09:37:38,114 INFO  [org.jboss.as] (MSC service thread 1-6) WFLYSRV0049: WildFly Swarm 2017.3.3 (WildFly Core 2.2.1.CR1) starting
2017-03-14 09:37:38,170 INFO  [org.wildfly.swarm] (MSC service thread 1-6) WFSWARM0029: Install MSC service for command line args: []
2017-03-14 09:37:40,497 WARN  [org.jboss.as.txn] (ServerService Thread Pool -- 18) WFLYTX0013: Node identifier property is set to the default value. Please make sure it is unique.
2017-03-14 09:37:40,507 INFO  [org.jboss.as.naming] (ServerService Thread Pool -- 19) WFLYNAM0001: Activating Naming Subsystem
2017-03-14 09:37:40,510 INFO  [org.jboss.as.security] (ServerService Thread Pool -- 22) WFLYSEC0002: Activating Security Subsystem
2017-03-14 09:37:40,515 INFO  [org.jboss.as.security] (MSC service thread 1-5) WFLYSEC0001: Current PicketBox version=4.9.6.Final
2017-03-14 09:37:40,529 INFO  [org.wildfly.extension.io] (ServerService Thread Pool -- 17) WFLYIO001: Worker 'default' has auto-configured to 16 core threads with 128 task threads based on your 8 available processors
2017-03-14 09:37:40,550 INFO  [org.jboss.as.naming] (MSC service thread 1-2) WFLYNAM0003: Starting Naming Service
2017-03-14 09:37:40,865 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-3) WFLYUT0003: Undertow 1.4.0.Final starting
2017-03-14 09:37:40,880 INFO  [org.xnio] (MSC service thread 1-7) XNIO version 3.4.0.Final
2017-03-14 09:37:40,890 INFO  [org.xnio.nio] (MSC service thread 1-7) XNIO NIO Implementation Version 3.4.0.Final
2017-03-14 09:37:40,921 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-2) WFLYUT0012: Started server default-server.
2017-03-14 09:37:40,972 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-2) WFLYUT0006: Undertow HTTP listener default listening on [0:0:0:0:0:0:0:0]:8080
2017-03-14 09:37:40,977 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: (("system-property" => "PS1")) - failure description: "WFLYCTL0211: Cannot resolve expression '\\u$__vcs_ref:\\[${_bold}\\]${__vcs_base_dir}\\[${_normal}\\]${__vcs_refix}\\[${_bold}\\]${__vcs_sub_dir}\\[${_normal}\\]\\$ '"

make it easier to extend to add other forge commands

right now commands are totally hard coded due to the regex + messages. Then the use of @Pattern only allows real constants it seems .

So here's a PR that validates commands are in the allowed commandMap and generates a dynamic error message based on the loaded commands (so that we can more easily configure/extend which commands are supported).

Cache requests

We believe that many people would accept the defaults when generating projects, so it would be nice to cache requests so that would avoid CPU/Memory/Disk usage and support a higher number of concurrent users

Add more sensible JVM arguments

Currently the CMD in the Dockerfile is set to java -jar launchpad-backend-swarm.jar. Since wildfly swarm default will bind to all interfaces (including ipv6) I would recommend that we add -Djava.net.preferIPv4Stack=true as an argument.

Additionally, it's preferable if we set Xms and Xms values because how default memory allocation works for the JVM inside a container (see https://developers.redhat.com/blog/2017/03/14/java-inside-docker/). I've tested and verified the following settings which I recommend:

CMD ["java", "-server", "-Xms64m", "-Xmx512m", "-Djava.net.preferIPv4Stack=true", "-jar", "launchpad-backend-swarm.jar"]

Error creating project by selecting runtime framework

Leads to

2017-04-20 07:57:40,992 ERROR [io.undertow.request] (default task-12) UT005023: Exception handling request to /launchpad/commands/launchpad-new-starter-project: org.jboss.resteasy.spi.UnhandledException: java.lang.NullPointerException
	at org.jboss.resteasy.core.ExceptionHandler.handleApplicationException(ExceptionHandler.java:77)
	at org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:220)
	at org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:175)
	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:418)
	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:209)
	at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:221)
	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
	at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
	at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
	at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at org.wildfly.swarm.generated.FaviconErrorHandler.handleRequest(FaviconErrorHandler.java:62)
	at io.undertow.server.handlers.PathHandler.handleRequest(PathHandler.java:94)
	at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
	at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
	at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
	at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
	at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
	at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
	at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292)
	at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)
	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)
	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)
	at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
	at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)
	at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
	at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)
	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:211)
	at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:809)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
	at org.jboss.forge.addon.ui.impl.controller.SingleCommandControllerImpl.initialize(SingleCommandControllerImpl.java:61)
	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:498)
	at org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback$2.call(ClassLoaderAdapterCallback.java:124)
	at org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
	at org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.invoke(ClassLoaderAdapterCallback.java:97)
	at org.jboss.forge.addon.ui.controller.CommandController_$$_javassist_9301e633-b5ff-437c-a298-f8a278c2a454.initialize(CommandController_$$_javassist_9301e633-b5ff-437c-a298-f8a278c2a454.java)
	at io.openshift.launchpad.backend.rest.LaunchpadResource.getCommand(LaunchpadResource.java:417)
	at io.openshift.launchpad.backend.rest.LaunchpadResource.getCommandInfo(LaunchpadResource.java:176)
	at io.openshift.launchpad.backend.rest.LaunchpadResource$Proxy$_$$_WeldClientProxy.getCommandInfo(Unknown Source)
	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:498)
	at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:139)
	at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)
	at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)
	at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:236)
	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:402)
	... 43 more

2017-04-20 07:58:04,771 WARNING [org.jboss.forge.addon.ui.impl.controller.CommandControllerFactoryImpl] (default task-18) org.jboss.forge.addon.ui.command.UICommandTransformer implementation org.jboss.forge.addon.ui.impl.command.PrerequisiteCommandTransformer_$$_javassist_9dcd33b9-e247-4e4a-9795-62493cd73eb9 should not have returned null. Ignoring.
2017-04-20 07:58:04,775 ERROR [io.undertow.request] (default task-18) UT005023: Exception handling request to /launchpad/commands/launchpad-new-starter-project: org.jboss.resteasy.spi.UnhandledException: java.lang.NullPointerException
	at org.jboss.resteasy.core.ExceptionHandler.handleApplicationException(ExceptionHandler.java:77)
	at org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:220)
	at org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:175)
	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:418)
	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:209)
	at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:221)
	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
	at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
	at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
	at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at org.wildfly.swarm.generated.FaviconErrorHandler.handleRequest(FaviconErrorHandler.java:62)
	at io.undertow.server.handlers.PathHandler.handleRequest(PathHandler.java:94)
	at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
	at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
	at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
	at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
	at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
	at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
	at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292)
	at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)
	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)
	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)
	at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
	at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)
	at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
	at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)
	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:211)
	at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:809)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
	at org.jboss.forge.addon.ui.impl.controller.SingleCommandControllerImpl.initialize(SingleCommandControllerImpl.java:61)
	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:498)
	at org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback$2.call(ClassLoaderAdapterCallback.java:124)
	at org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
	at org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.invoke(ClassLoaderAdapterCallback.java:97)
	at org.jboss.forge.addon.ui.controller.CommandController_$$_javassist_9301e633-b5ff-437c-a298-f8a278c2a454.initialize(CommandController_$$_javassist_9301e633-b5ff-437c-a298-f8a278c2a454.java)
	at io.openshift.launchpad.backend.rest.LaunchpadResource.getCommand(LaunchpadResource.java:417)
	at io.openshift.launchpad.backend.rest.LaunchpadResource.getCommandInfo(LaunchpadResource.java:176)
	at io.openshift.launchpad.backend.rest.LaunchpadResource$Proxy$_$$_WeldClientProxy.getCommandInfo(Unknown Source)
	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:498)
	at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:139)
	at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)
	at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)
	at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:236)
	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:402)
	... 43 more

health checks kill backend before indexing is done

launchpad addon in version 7-SNAPSHOT is not in latest docker image 89ed63, which results in deployment failures

Failed to get instance of [class io.openshift.launchpad.ui.booster.ProjectInfoStep]
 with proxy for ClassLoader [ModuleClassLoader for Module
 "io.openshift.launchpad.launchpad-addon:7-SNAPSHOT_077371c2-728d-4dbf-a41d-9585b632a879" 
from AddonModuleLoader]

Full error message:

2017-06-16 12:42:09,441 SEVERE [org.jboss.forge.addon.ui.impl.command.CommandFactoryImpl] (ServerService Thread Pool -- 10) Error while retrieving command instance: org.jboss.forge.furnace.exception.ContainerException: Failed to get instance of [class io.openshift.launchpad.ui.booster.ProjectInfoStep] with proxy for ClassLoader [ModuleClassLoader for Module "io.openshift.launchpad.launchpad-addon:7-SNAPSHOT_077371c2-728d-4dbf-a41d-9585b632a879" from AddonModuleLoader]
	at org.jboss.forge.furnace.container.cdi.services.ExportedInstanceImpl.get(ExportedInstanceImpl.java:77)
	at org.jboss.forge.furnace.impl.addons.ImportedImpl$ImportedIteratorImpl.next(ImportedImpl.java:182)
	at org.jboss.forge.addon.ui.impl.command.CommandFactoryImpl.getCommands(CommandFactoryImpl.java:189)
	at org.jboss.forge.addon.ui.impl.command.CommandFactoryImpl.getCommandsFromSource(CommandFactoryImpl.java:174)
	at org.jboss.forge.addon.ui.impl.command.CommandFactoryImpl.getNewCommandByName(CommandFactoryImpl.java:125)
	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:498)
	at org.jboss.forge.furnace.proxy.ClassLoaderInterceptor$1.call(ClassLoaderInterceptor.java:87)
	at org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
	at org.jboss.forge.furnace.proxy.ClassLoaderInterceptor.invoke(ClassLoaderInterceptor.java:103)
	at org.jboss.forge.addon.ui.impl.command.CommandFactoryImpl_$$_javassist_a56e944c-a27d-48eb-bc7c-65da2a46a767.getNewCommandByName(CommandFactoryImpl_$$_javassist_a56e944c-a27d-48eb-bc7c-65da2a46a767.java)
	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:498)
	at org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback$2.call(ClassLoaderAdapterCallback.java:124)
	at org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
	at org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.invoke(ClassLoaderAdapterCallback.java:97)
	at org.jboss.forge.addon.ui.command.CommandFactory_$$_javassist_c4515dbb-eafa-4ee6-b3a8-12ca25077e59.getNewCommandByName(CommandFactory_$$_javassist_c4515dbb-eafa-4ee6-b3a8-12ca25077e59.java)
	at io.openshift.launchpad.backend.rest.LaunchResource.getCommand(LaunchResource.java:440)
	at io.openshift.launchpad.backend.rest.LaunchResource.init(LaunchResource.java:129)
	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:498)
	at org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:88)
	at org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:78)
	at org.jboss.weld.injection.MethodInvocationStrategy$SimpleMethodInvocationStrategy.invoke(MethodInvocationStrategy.java:129)
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:313)
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:291)
	at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:269)
	at org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:302)
	at org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:291)
	at org.jboss.weld.event.EventImpl.fire(EventImpl.java:89)
	at io.openshift.launchpad.backend.ForgeInitializer.contextInitialized(ForgeInitializer.java:83)
	at io.undertow.servlet.core.ApplicationListeners.contextInitialized(ApplicationListeners.java:187)
	at io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:200)
	at io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:171)
	at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:42)
	at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
	at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
	at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:234)
	at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:100)
	at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:82)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
	at org.jboss.threads.JBossThread.run(JBossThread.java:320)
Caused by: org.jboss.weld.exceptions.IllegalArgumentException: WELD-001456: Argument resolvedBean must not be null
	at org.jboss.weld.util.Preconditions.checkArgumentNotNull(Preconditions.java:40)
	at org.jboss.weld.manager.BeanManagerImpl.getInjectableReference(BeanManagerImpl.java:810)
	at org.jboss.weld.injection.FieldInjectionPoint.inject(FieldInjectionPoint.java:92)
	at org.jboss.weld.util.Beans.injectBoundFields(Beans.java:358)
	at org.jboss.weld.util.Beans.injectFieldsAndInitializers(Beans.java:369)
	at org.jboss.weld.injection.producer.ResourceInjector$1.proceed(ResourceInjector.java:70)
	at org.jboss.weld.injection.InjectionContextImpl.run(InjectionContextImpl.java:48)
	at org.jboss.weld.injection.producer.ResourceInjector.inject(ResourceInjector.java:72)
	at org.jboss.weld.injection.producer.BasicInjectionTarget.inject(BasicInjectionTarget.java:117)
	at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:159)
	at org.jboss.weld.context.unbound.DependentContextImpl.get(DependentContextImpl.java:70)
	at org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.get(ContextualInstanceStrategy.java:100)
	at org.jboss.weld.bean.ContextualInstance.get(ContextualInstance.java:50)
	at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:758)
	at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:781)
	at org.jboss.weld.util.ForwardingBeanManager.getReference(ForwardingBeanManager.java:61)
	at org.jboss.weld.bean.builtin.BeanManagerProxy.getReference(BeanManagerProxy.java:85)
	at org.jboss.forge.furnace.container.cdi.services.ExportedInstanceImpl$1.call(ExportedInstanceImpl.java:64)
	at org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
	at org.jboss.forge.furnace.container.cdi.services.ExportedInstanceImpl.get(ExportedInstanceImpl.java:72)
... 54 more

EDIT:
It happens right after Finished content indexing

Build fails - Could not find artifact org.jboss.forge.addon:obsidian-generator:jar:forge-addon:1.0.0-SNAPSHOT

Build fails using this commit version "971680b"

[ERROR] Failed to execute goal org.jboss.forge.furnace:furnace-maven-plugin:2.24.2.Final:addon-install (deploy-addons) on project generator: Execution deploy-addons of goal org.jboss.forge.furnace:furnace-maven-plugin:2.24.2.Final:addon-install failed: 
org.eclipse.aether.resolution.DependencyResolutionException: Could not find artifact org.jboss.forge.addon:obsidian-generator:jar:forge-addon:1.0.0-SNAPSHOT in jboss-releases (http://repository.jboss.org/nexus/content/repositories/fs-releases/) -> [Help 1]

Enable Hot-deployment of SNAPSHOT addons

When mvn install is called in the Obsidian addon, it should automatically reload from the existing repository. Should be enabled if a system property (eg. devMode) is set

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.