[JBoss JIRA] (WFLY-10087) EJB uses the same remote outbound connection all the time
by Jiri Ondrusek (JIRA)
[ https://issues.jboss.org/browse/WFLY-10087?page=com.atlassian.jira.plugin... ]
Jiri Ondrusek commented on WFLY-10087:
--------------------------------------
Problem is already solved in commit https://github.com/wildfly/jboss-ejb-client/pull/339/commits/f18cd4464fdb...
> EJB uses the same remote outbound connection all the time
> ---------------------------------------------------------
>
> Key: WFLY-10087
> URL: https://issues.jboss.org/browse/WFLY-10087
> Project: WildFly
> Issue Type: Bug
> Components: EJB, Remoting
> Affects Versions: 12.0.0.Final
> Reporter: Ivan Straka
> Assignee: Jiri Ondrusek
> Attachments: client-side.war, server-side-slave1.jar, server-side-slave2.jar
>
>
> Lets have three servers master, slave1, slave2. Master has two remote outbound connection defined that point to slave1 and slave2.
> When the EJB deployed to master needs to call two EJB (slave1 and slave2), the first call is successful, but the second one is not because the EJB uses remote outbound connection that points to slave1 (instead of slave2).
> This results to the followinf exception:
> {code:java}
> 14:28:18,914 ERROR [io.undertow.request] (default task-1) UT005023: Exception handling request to /client-side/: javax.ejb.EJBException: java.lang.RuntimeException: javax.ejb.NoSuchEJBException: No such EJB: /server-side-slave2/WhoAmIBean @ http-remoting://localhost:8180
> at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:186)
> at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:275)
> at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:330)
> at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:238)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:509)
> at org.jboss.weld.module.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:72)
> at org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:89)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:47)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:100)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.ejb3.deployment.processors.StartupAwaitInterceptor.processInvocation(StartupAwaitInterceptor.java:22)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:67)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:54)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:60)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:438)
> at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:619)
> at org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:57)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:53)
> at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:198)
> at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:185)
> at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:81)
> at example.BeanRemote$$$view1.callNext(Unknown Source)
> at example.ClientServlet.doGet(ClientServlet.java:36)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
> at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
> at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
> at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:67)
> 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 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 org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68)
> 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 org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
> at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1526)
> at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1526)
> at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1526)
> at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1526)
> 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:360)
> at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830)
> at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
> at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.RuntimeException: javax.ejb.NoSuchEJBException: No such EJB: /server-side-slave2/WhoAmIBean @ http-remoting://localhost:8180
> at example.Bean.callNext(Bean.java:23)
> 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.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:509)
> at org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:90)
> at org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:101)
> at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:40)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:53)
> at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:52)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:273)
> ... 78 more
> Caused by: javax.ejb.NoSuchEJBException: No such EJB: /server-side-slave2/WhoAmIBean @ http-remoting://localhost:8180
> at org.jboss.ejb.protocol.remote.EJBClientChannel$MethodInvocation.handleResponse(EJBClientChannel.java:1070)
> at org.jboss.ejb.protocol.remote.EJBClientChannel$MethodInvocation.handleResponse(EJBClientChannel.java:997)
> at org.jboss.remoting3.util.InvocationTracker.signalResponse(InvocationTracker.java:167)
> at org.jboss.ejb.protocol.remote.EJBClientChannel.processMessage(EJBClientChannel.java:186)
> at org.jboss.ejb.protocol.remote.EJBClientChannel.access$100(EJBClientChannel.java:112)
> at org.jboss.ejb.protocol.remote.EJBClientChannel$1$1.handleMessage(EJBClientChannel.java:675)
> at org.jboss.remoting3.remote.RemoteConnectionChannel.lambda$handleMessageData$3(RemoteConnectionChannel.java:430)
> at org.jboss.remoting3.EndpointImpl$TrackingExecutor.lambda$execute$0(EndpointImpl.java:926)
> ... 5 more
> Suppressed: javax.ejb.NoSuchEJBException: No such EJB: /server-side-slave2/WhoAmIBean @ http-remoting://localhost:8180
> ... 13 more
> Suppressed: javax.ejb.NoSuchEJBException: No such EJB: /server-side-slave2/WhoAmIBean @ http-remoting://localhost:8180
> ... 13 more
> Suppressed: javax.ejb.NoSuchEJBException: No such EJB: /server-side-slave2/WhoAmIBean @ http-remoting://localhost:8180
> ... 13 more
> Suppressed: javax.ejb.NoSuchEJBException: No such EJB: /server-side-slave2/WhoAmIBean @ http-remoting://localhost:8180
> ... 13 more
> Suppressed: javax.ejb.NoSuchEJBException: No such EJB: /server-side-slave2/WhoAmIBean @ http-remoting://localhost:8180
> ... 13 more
> Suppressed: javax.ejb.NoSuchEJBException: No such EJB: /server-side-slave2/WhoAmIBean @ http-remoting://localhost:8180
> at org.jboss.ejb.protocol.remote.EJBClientChannel$MethodInvocation.handleResponse(EJBClientChannel.java:1070)
> at org.jboss.ejb.protocol.remote.EJBClientChannel$MethodInvocation.handleResponse(EJBClientChannel.java:997)
> at org.jboss.remoting3.util.InvocationTracker.signalResponse(InvocationTracker.java:167)
> at org.jboss.ejb.protocol.remote.EJBClientChannel.processMessage(EJBClientChannel.java:186)
> at org.jboss.ejb.protocol.remote.EJBClientChannel.access$100(EJBClientChannel.java:112)
> at org.jboss.ejb.protocol.remote.EJBClientChannel$1$1.handleMessage(EJBClientChannel.java:675)
> at org.jboss.remoting3.remote.RemoteConnectionChannel.lambda$receiveMessage$2(RemoteConnectionChannel.java:361)
> ... 6 more
> Suppressed: javax.ejb.NoSuchEJBException: No such EJB: /server-side-slave2/WhoAmIBean @ http-remoting://localhost:8180
> ... 13 more
> Suppressed: javax.ejb.NoSuchEJBException: No such EJB: /server-side-slave2/WhoAmIBean @ http-remoting://localhost:8180
> ... 13 more
> {code}
> Server side EJB (slave1, slave2) are simple:
> {code:java}
> @Stateless
> public class WhoAmIBean implements WhoAmIBeanRemote {
> @Override
> public String whoAmI() {
> String s = "WhoAmIBean.whoAmI called on server with port-offset " + System.getProperty("jboss.socket.binding.port-offset");
> System.out.println(s);
> return s;
> }
> }
> {code}
> Client side war (master) is simple servlet and EJB that performs calls.
> {code:java}
> @WebServlet(urlPatterns = "/")
> public class ClientServlet extends HttpServlet {
> @EJB
> private BeanRemote bean;
> @Override
> protected void doGet(HttpServletRequest req, HttpServletResponse resp)
> throws ServletException, IOException {
> bean.callNext();
> }
> }
> {code}
> {code:java}
> @Stateless
> public class Bean implements BeanRemote {
> @EJB(lookup = "ejb:/server-side-slave1/WhoAmIBean!example.ejb.WhoAmIBeanRemote")
> private WhoAmIBeanRemote remoteBean1ByInjection;
> @EJB(lookup = "ejb:/server-side-slave2/WhoAmIBean!example.ejb.WhoAmIBeanRemote")
> private WhoAmIBeanRemote remoteBean2ByInjection;
> @Override
> public void callNext() throws RemoteException {
> try {
> StringBuilder sb = new StringBuilder();
> sb.append("WhoAmI from server-side-slave1 returned: ").append(remoteBean1ByInjection.whoAmI()).append("\n");
> sb.append("WhoAmI from server-side-slave2 returned: ").append(remoteBean2ByInjection.whoAmI()).append("\n");
> } catch (Exception e) {
> throw new RuntimeException(e);
> }
> }
> }
> {code}
> If the servlet performs calls (instead of local bean) both calls will be successful.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (WFLY-10087) EJB uses the same remote outbound connection all the time
by Jiri Ondrusek (JIRA)
[ https://issues.jboss.org/browse/WFLY-10087?page=com.atlassian.jira.plugin... ]
Jiri Ondrusek reassigned WFLY-10087:
------------------------------------
Assignee: Jiri Ondrusek
> EJB uses the same remote outbound connection all the time
> ---------------------------------------------------------
>
> Key: WFLY-10087
> URL: https://issues.jboss.org/browse/WFLY-10087
> Project: WildFly
> Issue Type: Bug
> Components: EJB, Remoting
> Affects Versions: 12.0.0.Final
> Reporter: Ivan Straka
> Assignee: Jiri Ondrusek
> Attachments: client-side.war, server-side-slave1.jar, server-side-slave2.jar
>
>
> Lets have three servers master, slave1, slave2. Master has two remote outbound connection defined that point to slave1 and slave2.
> When the EJB deployed to master needs to call two EJB (slave1 and slave2), the first call is successful, but the second one is not because the EJB uses remote outbound connection that points to slave1 (instead of slave2).
> This results to the followinf exception:
> {code:java}
> 14:28:18,914 ERROR [io.undertow.request] (default task-1) UT005023: Exception handling request to /client-side/: javax.ejb.EJBException: java.lang.RuntimeException: javax.ejb.NoSuchEJBException: No such EJB: /server-side-slave2/WhoAmIBean @ http-remoting://localhost:8180
> at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:186)
> at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:275)
> at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:330)
> at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:238)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:509)
> at org.jboss.weld.module.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:72)
> at org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:89)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:47)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:100)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.ejb3.deployment.processors.StartupAwaitInterceptor.processInvocation(StartupAwaitInterceptor.java:22)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:67)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:54)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:60)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:438)
> at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:619)
> at org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:57)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:53)
> at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:198)
> at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:185)
> at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:81)
> at example.BeanRemote$$$view1.callNext(Unknown Source)
> at example.ClientServlet.doGet(ClientServlet.java:36)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
> at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
> at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
> at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:67)
> 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 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 org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68)
> 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 org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
> at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1526)
> at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1526)
> at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1526)
> at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1526)
> 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:360)
> at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830)
> at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
> at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.RuntimeException: javax.ejb.NoSuchEJBException: No such EJB: /server-side-slave2/WhoAmIBean @ http-remoting://localhost:8180
> at example.Bean.callNext(Bean.java:23)
> 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.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:509)
> at org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:90)
> at org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:101)
> at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:40)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:53)
> at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:52)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:273)
> ... 78 more
> Caused by: javax.ejb.NoSuchEJBException: No such EJB: /server-side-slave2/WhoAmIBean @ http-remoting://localhost:8180
> at org.jboss.ejb.protocol.remote.EJBClientChannel$MethodInvocation.handleResponse(EJBClientChannel.java:1070)
> at org.jboss.ejb.protocol.remote.EJBClientChannel$MethodInvocation.handleResponse(EJBClientChannel.java:997)
> at org.jboss.remoting3.util.InvocationTracker.signalResponse(InvocationTracker.java:167)
> at org.jboss.ejb.protocol.remote.EJBClientChannel.processMessage(EJBClientChannel.java:186)
> at org.jboss.ejb.protocol.remote.EJBClientChannel.access$100(EJBClientChannel.java:112)
> at org.jboss.ejb.protocol.remote.EJBClientChannel$1$1.handleMessage(EJBClientChannel.java:675)
> at org.jboss.remoting3.remote.RemoteConnectionChannel.lambda$handleMessageData$3(RemoteConnectionChannel.java:430)
> at org.jboss.remoting3.EndpointImpl$TrackingExecutor.lambda$execute$0(EndpointImpl.java:926)
> ... 5 more
> Suppressed: javax.ejb.NoSuchEJBException: No such EJB: /server-side-slave2/WhoAmIBean @ http-remoting://localhost:8180
> ... 13 more
> Suppressed: javax.ejb.NoSuchEJBException: No such EJB: /server-side-slave2/WhoAmIBean @ http-remoting://localhost:8180
> ... 13 more
> Suppressed: javax.ejb.NoSuchEJBException: No such EJB: /server-side-slave2/WhoAmIBean @ http-remoting://localhost:8180
> ... 13 more
> Suppressed: javax.ejb.NoSuchEJBException: No such EJB: /server-side-slave2/WhoAmIBean @ http-remoting://localhost:8180
> ... 13 more
> Suppressed: javax.ejb.NoSuchEJBException: No such EJB: /server-side-slave2/WhoAmIBean @ http-remoting://localhost:8180
> ... 13 more
> Suppressed: javax.ejb.NoSuchEJBException: No such EJB: /server-side-slave2/WhoAmIBean @ http-remoting://localhost:8180
> at org.jboss.ejb.protocol.remote.EJBClientChannel$MethodInvocation.handleResponse(EJBClientChannel.java:1070)
> at org.jboss.ejb.protocol.remote.EJBClientChannel$MethodInvocation.handleResponse(EJBClientChannel.java:997)
> at org.jboss.remoting3.util.InvocationTracker.signalResponse(InvocationTracker.java:167)
> at org.jboss.ejb.protocol.remote.EJBClientChannel.processMessage(EJBClientChannel.java:186)
> at org.jboss.ejb.protocol.remote.EJBClientChannel.access$100(EJBClientChannel.java:112)
> at org.jboss.ejb.protocol.remote.EJBClientChannel$1$1.handleMessage(EJBClientChannel.java:675)
> at org.jboss.remoting3.remote.RemoteConnectionChannel.lambda$receiveMessage$2(RemoteConnectionChannel.java:361)
> ... 6 more
> Suppressed: javax.ejb.NoSuchEJBException: No such EJB: /server-side-slave2/WhoAmIBean @ http-remoting://localhost:8180
> ... 13 more
> Suppressed: javax.ejb.NoSuchEJBException: No such EJB: /server-side-slave2/WhoAmIBean @ http-remoting://localhost:8180
> ... 13 more
> {code}
> Server side EJB (slave1, slave2) are simple:
> {code:java}
> @Stateless
> public class WhoAmIBean implements WhoAmIBeanRemote {
> @Override
> public String whoAmI() {
> String s = "WhoAmIBean.whoAmI called on server with port-offset " + System.getProperty("jboss.socket.binding.port-offset");
> System.out.println(s);
> return s;
> }
> }
> {code}
> Client side war (master) is simple servlet and EJB that performs calls.
> {code:java}
> @WebServlet(urlPatterns = "/")
> public class ClientServlet extends HttpServlet {
> @EJB
> private BeanRemote bean;
> @Override
> protected void doGet(HttpServletRequest req, HttpServletResponse resp)
> throws ServletException, IOException {
> bean.callNext();
> }
> }
> {code}
> {code:java}
> @Stateless
> public class Bean implements BeanRemote {
> @EJB(lookup = "ejb:/server-side-slave1/WhoAmIBean!example.ejb.WhoAmIBeanRemote")
> private WhoAmIBeanRemote remoteBean1ByInjection;
> @EJB(lookup = "ejb:/server-side-slave2/WhoAmIBean!example.ejb.WhoAmIBeanRemote")
> private WhoAmIBeanRemote remoteBean2ByInjection;
> @Override
> public void callNext() throws RemoteException {
> try {
> StringBuilder sb = new StringBuilder();
> sb.append("WhoAmI from server-side-slave1 returned: ").append(remoteBean1ByInjection.whoAmI()).append("\n");
> sb.append("WhoAmI from server-side-slave2 returned: ").append(remoteBean2ByInjection.whoAmI()).append("\n");
> } catch (Exception e) {
> throw new RuntimeException(e);
> }
> }
> }
> {code}
> If the servlet performs calls (instead of local bean) both calls will be successful.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (SWSQE-167) Create Traffic Phase (Step 4) of Pipeline
by Guilherme Baufaker Rêgo (JIRA)
[ https://issues.jboss.org/browse/SWSQE-167?page=com.atlassian.jira.plugin.... ]
Guilherme Baufaker Rêgo updated SWSQE-167:
------------------------------------------
Description:
{panel:title=
Step 4 (SWSQE-167)}
- Refactor [Bookinfo Traffic Generator|http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Bookinfo-traffic-generator/] Jenkins Job
- Refactor to use bookinfo as a standard domain
- Make it optional on the pipeline
{panel}
> Create Traffic Phase (Step 4) of Pipeline
> -----------------------------------------
>
> Key: SWSQE-167
> URL: https://issues.jboss.org/browse/SWSQE-167
> Project: Kiali QE
> Issue Type: Sub-task
> Reporter: Guilherme Baufaker Rêgo
>
> {panel:title=
> Step 4 (SWSQE-167)}
> - Refactor [Bookinfo Traffic Generator|http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Bookinfo-traffic-generator/] Jenkins Job
> - Refactor to use bookinfo as a standard domain
> - Make it optional on the pipeline
> {panel}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (SWSQE-166) Create Test Meshes Phase (Step 3) of Pipeline
by Guilherme Baufaker Rêgo (JIRA)
[ https://issues.jboss.org/browse/SWSQE-166?page=com.atlassian.jira.plugin.... ]
Guilherme Baufaker Rêgo reassigned SWSQE-166:
---------------------------------------------
Assignee: Guilherme Baufaker Rêgo
> Create Test Meshes Phase (Step 3) of Pipeline
> ---------------------------------------------
>
> Key: SWSQE-166
> URL: https://issues.jboss.org/browse/SWSQE-166
> Project: Kiali QE
> Issue Type: Sub-task
> Reporter: Guilherme Baufaker Rêgo
> Assignee: Guilherme Baufaker Rêgo
>
> {panel:title=
> Step 3 (SWSQE-166)}
> - Refactor [Kiali-Test-Mesh|http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Kiali-Test-Mesh/] Jenkins Job
> - Refactor to deploy a subset of Test Meshes (It helps if you are using a small cluster and doesn't need all type of meshes)
> - Make it optional on the pipeline
> - kiali-test-breadth-sink should be kiali-test-breath-sink
>
> {panel}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (SWSQE-166) Create Test Meshes Phase (Step 3) of Pipeline
by Guilherme Baufaker Rêgo (JIRA)
[ https://issues.jboss.org/browse/SWSQE-166?page=com.atlassian.jira.plugin.... ]
Guilherme Baufaker Rêgo updated SWSQE-166:
------------------------------------------
Description:
{panel:title=
Step 3 (SWSQE-166)}
- Refactor [Kiali-Test-Mesh|http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Kiali-Test-Mesh/] Jenkins Job
- Refactor to deploy a subset of Test Meshes (It helps if you are using a small cluster and doesn't need all type of meshes)
- Make it optional on the pipeline
{panel}
> Create Test Meshes Phase (Step 3) of Pipeline
> ---------------------------------------------
>
> Key: SWSQE-166
> URL: https://issues.jboss.org/browse/SWSQE-166
> Project: Kiali QE
> Issue Type: Sub-task
> Reporter: Guilherme Baufaker Rêgo
>
> {panel:title=
> Step 3 (SWSQE-166)}
> - Refactor [Kiali-Test-Mesh|http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Kiali-Test-Mesh/] Jenkins Job
> - Refactor to deploy a subset of Test Meshes (It helps if you are using a small cluster and doesn't need all type of meshes)
> - Make it optional on the pipeline
>
> {panel}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (SWSQE-166) Create Test Meshes Phase (Step 3) of Pipeline
by Guilherme Baufaker Rêgo (JIRA)
[ https://issues.jboss.org/browse/SWSQE-166?page=com.atlassian.jira.plugin.... ]
Guilherme Baufaker Rêgo updated SWSQE-166:
------------------------------------------
Description:
{panel:title=
Step 3 (SWSQE-166)}
- Refactor [Kiali-Test-Mesh|http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Kiali-Test-Mesh/] Jenkins Job
- Refactor to deploy a subset of Test Meshes (It helps if you are using a small cluster and doesn't need all type of meshes)
- Make it optional on the pipeline
- kiali-test-breadth-sink should be kiali-test-breath-sink
{panel}
was:
{panel:title=
Step 3 (SWSQE-166)}
- Refactor [Kiali-Test-Mesh|http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Kiali-Test-Mesh/] Jenkins Job
- Refactor to deploy a subset of Test Meshes (It helps if you are using a small cluster and doesn't need all type of meshes)
- Make it optional on the pipeline
{panel}
> Create Test Meshes Phase (Step 3) of Pipeline
> ---------------------------------------------
>
> Key: SWSQE-166
> URL: https://issues.jboss.org/browse/SWSQE-166
> Project: Kiali QE
> Issue Type: Sub-task
> Reporter: Guilherme Baufaker Rêgo
>
> {panel:title=
> Step 3 (SWSQE-166)}
> - Refactor [Kiali-Test-Mesh|http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Kiali-Test-Mesh/] Jenkins Job
> - Refactor to deploy a subset of Test Meshes (It helps if you are using a small cluster and doesn't need all type of meshes)
> - Make it optional on the pipeline
> - kiali-test-breadth-sink should be kiali-test-breath-sink
>
> {panel}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (SWSQE-165) Create Kiali Phase (Step 2) of Pipeline
by Guilherme Baufaker Rêgo (JIRA)
[ https://issues.jboss.org/browse/SWSQE-165?page=com.atlassian.jira.plugin.... ]
Guilherme Baufaker Rêgo reassigned SWSQE-165:
---------------------------------------------
Assignee: Hayk Hovsepyan
> Create Kiali Phase (Step 2) of Pipeline
> ---------------------------------------
>
> Key: SWSQE-165
> URL: https://issues.jboss.org/browse/SWSQE-165
> Project: Kiali QE
> Issue Type: Sub-task
> Reporter: Guilherme Baufaker Rêgo
> Assignee: Hayk Hovsepyan
>
> {panel:title=
> Step 2 (SWSQE-165)}
> - Refactor [Istio and Kiali on Openshift |http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Istio-and-Kiali-on-Openshift/]Jenkins Job
> - Refactor prepare.env in just two steps
> * Create a Jenkins Job to build kiali (Make optional because I think sometimes we don't want to build Kiali - but Mandatory for PRs and Nightly Jobs) using the building part of prepare env script
> * Create a Jenkins Job to deploy Kiali based Mazz [Comment |https://github.com/kiali/kiali/pull/119#issuecomment-376519224]
> {code:shell}
> curl https://raw.githubusercontent.com/kiali/kiali/master/deploy/openshift/kia... \
> | oc create -n istio-system -f -
> curl https://raw.githubusercontent.com/kiali/kiali/master/deploy/openshift/kia... \
> | IMAGE_NAME=kiali/kiali IMAGE_VERSION=latest NAMESPACE=istio-system VERBOSE_MODE=4 envsubst \
> | oc create -n istio-system -f -
> {code}
> where IMAGE_NAME and IMAGE_VERSION could be changed to QE images (built on step 2.1.2) it can be deployed developers images by default
> I don't know if the best configuration is two scripts (one for build or another to deploy) or just two functions on the same script but with optional parameters, so I'm leaving this one as you may you prefer to move this forward
> {panel}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (SWSQE-165) Create Kiali Phase (Step 2) of Pipeline
by Guilherme Baufaker Rêgo (JIRA)
[ https://issues.jboss.org/browse/SWSQE-165?page=com.atlassian.jira.plugin.... ]
Guilherme Baufaker Rêgo updated SWSQE-165:
------------------------------------------
Description:
{panel:title=
Step 2 (SWSQE-165)}
- Refactor [Istio and Kiali on Openshift |http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Istio-and-Kiali-on-Openshift/]Jenkins Job
- Refactor prepare.env in just two steps
* Create a Jenkins Job to build kiali (Make optional because I think sometimes we don't want to build Kiali - but Mandatory for PRs and Nightly Jobs) using the building part of prepare env script
* Create a Jenkins Job to deploy Kiali based Mazz [Comment |https://github.com/kiali/kiali/pull/119#issuecomment-376519224]
{code:shell}
curl https://raw.githubusercontent.com/kiali/kiali/master/deploy/openshift/kia... \
| oc create -n istio-system -f -
curl https://raw.githubusercontent.com/kiali/kiali/master/deploy/openshift/kia... \
| IMAGE_NAME=kiali/kiali IMAGE_VERSION=latest NAMESPACE=istio-system VERBOSE_MODE=4 envsubst \
| oc create -n istio-system -f -
{code}
where IMAGE_NAME and IMAGE_VERSION could be changed to QE images (built on step 2.1.2) it can be deployed developers images by default
I don't know if the best configuration is two scripts (one for build or another to deploy) or just two functions on the same script but with optional parameters, so I'm leaving this one as you may you prefer to move this forward
{panel}
> Create Kiali Phase (Step 2) of Pipeline
> ---------------------------------------
>
> Key: SWSQE-165
> URL: https://issues.jboss.org/browse/SWSQE-165
> Project: Kiali QE
> Issue Type: Sub-task
> Reporter: Guilherme Baufaker Rêgo
>
> {panel:title=
> Step 2 (SWSQE-165)}
> - Refactor [Istio and Kiali on Openshift |http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Istio-and-Kiali-on-Openshift/]Jenkins Job
> - Refactor prepare.env in just two steps
> * Create a Jenkins Job to build kiali (Make optional because I think sometimes we don't want to build Kiali - but Mandatory for PRs and Nightly Jobs) using the building part of prepare env script
> * Create a Jenkins Job to deploy Kiali based Mazz [Comment |https://github.com/kiali/kiali/pull/119#issuecomment-376519224]
> {code:shell}
> curl https://raw.githubusercontent.com/kiali/kiali/master/deploy/openshift/kia... \
> | oc create -n istio-system -f -
> curl https://raw.githubusercontent.com/kiali/kiali/master/deploy/openshift/kia... \
> | IMAGE_NAME=kiali/kiali IMAGE_VERSION=latest NAMESPACE=istio-system VERBOSE_MODE=4 envsubst \
> | oc create -n istio-system -f -
> {code}
> where IMAGE_NAME and IMAGE_VERSION could be changed to QE images (built on step 2.1.2) it can be deployed developers images by default
> I don't know if the best configuration is two scripts (one for build or another to deploy) or just two functions on the same script but with optional parameters, so I'm leaving this one as you may you prefer to move this forward
> {panel}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years