[Apiman-user] Would be possible to upgrade APIMan from 1.2.8 to 1.3.0?

Eric Wittmann eric.wittmann at redhat.com
Fri Jun 2 16:48:34 EDT 2017


You *almost* did the right thing.  :)  You were correct to create a new
instance of the whole system, just pointing it to your KC and database.
However you must *also* point it to your Gateway storage, which by default
is Elasticsearch (embedded in the quickstart).

Note that you really shouldn't use the embedded Elasticsearch instance for
production (there is more info in the Production guide on the apiman
site).  It's really intended as a quick Getting Started approach.

Anyway, the Gateway has its own separate persistence store which you'll
need to copy to your 1.3.0 setup.  You should be able to find the data
files in Wildfly somewhere (standalone/data/apiman iirc).

-Eric


On Fri, Jun 2, 2017 at 4:06 PM, Celso Agra <celso.agra at gmail.com> wrote:

> Here is both files!
>
> Actually, I believe I did something wrong. I just create a new instance of
> APIMan just pointing to my keycloak and database.
> So, it was a new instance of whole system, such as Wildfly, Apiman-es,
> Apiman, etc...
>
>
> 2017-06-02 16:53 GMT-03:00 Eric Wittmann <eric.wittmann at redhat.com>:
>
>> It sounds like your configuration is different between 1.2.8 and 1.3.0.
>> Can you post the apiman.properties files from each?
>>
>> On Fri, Jun 2, 2017 at 10:40 AM, Celso Agra <celso.agra at gmail.com> wrote:
>>
>>> Also, when I try to access some API with an APIKey, i got this error
>>>
>>> {"responseCode":500,"message":"No client found for API Key
>>> xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","trace":"io.apiman.gat
>>> eway.engine.beans.exceptions.InvalidContractException: No client found
>>> for API Key xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n\tat
>>> io.apiman.gateway.engine.es.CachingESRegistry.getContract(CachingESRegistry.java:78)\n\tat
>>> io.apiman.gateway.engine.impl.SecureRegistryWrapper.getContr
>>> act(SecureRegistryWrapper.java:154)\n\tat io.apiman.gateway.engine.impl.
>>> ApiRequestExecutorImpl.execute(ApiRequestExecutorImpl.java:361)\n\tat
>>> io.apiman.gateway.platforms.servlet.GatewayServlet.doAction(GatewayServlet.java:177)\n\tat
>>> io.apiman.gateway.platforms.servlet.GatewayServlet.service(GatewayServlet.java:78)\n\tat
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:790)\n\tat
>>> io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)\n\tat
>>> io.undertow.servlet.handlers.security.ServletSecurityRoleHan
>>> dler.handleRequest(ServletSecurityRoleHandler.java:62)\n\tat
>>> io.undertow.servlet.handlers.ServletDispatchingHandler.handl
>>> eRequest(ServletDispatchingHandler.java:36)\n\tat
>>> org.wildfly.extension.undertow.security.SecurityContextAssoc
>>> iationHandler.handleRequest(SecurityContextAssociationHandler.java:78)\n\tat
>>> io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)\n\tat
>>> io.undertow.servlet.handlers.security.SSLInformationAssociat
>>> ionHandler.handleRequest(SSLInformationAssociationHandler.ja
>>> va:131)\n\tat
>>>
>>> 2017-06-02 11:32 GMT-03:00 Celso Agra <celso.agra at gmail.com>:
>>>
>>>> Here is the error when I try to register some changes in my ClientApp
>>>>
>>>>
>>>> io.apiman.manager.api.rest.contract.exceptions.ActionException: Failed
>>>> to register client.
>>>> at io.apiman.manager.api.rest.impl.util.ExceptionFactory.action
>>>> Exception(ExceptionFactory.java:331)
>>>> at io.apiman.manager.api.rest.impl.ActionResourceImpl.registerC
>>>> lient(ActionResourceImpl.java:427)
>>>> at io.apiman.manager.api.rest.impl.ActionResourceImpl.performAc
>>>> tion(ActionResourceImpl.java:111)
>>>> at io.apiman.manager.api.rest.impl.ActionResourceImpl$Proxy$_$$
>>>> _WeldClientProxy.performAction(Unknown Source)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce
>>>> ssorImpl.java:62)
>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe
>>>> thodAccessorImpl.java:43)
>>>> at java.lang.reflect.Method.invoke(Method.java:498)
>>>> at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInje
>>>> ctorImpl.java:139)
>>>> at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget
>>>> (ResourceMethodInvoker.java:295)
>>>> at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(Resourc
>>>> eMethodInvoker.java:249)
>>>> at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(Resourc
>>>> eMethodInvoker.java:236)
>>>> at org.jboss.resteasy.core.SynchronousDispatcher.invoke(Synchro
>>>> nousDispatcher.java:402)
>>>> at org.jboss.resteasy.core.SynchronousDispatcher.invoke(Synchro
>>>> nousDispatcher.java:209)
>>>> at org.jboss.resteasy.plugins.server.servlet.ServletContainerDi
>>>> spatcher.service(ServletContainerDispatcher.java:221)
>>>> at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatc
>>>> her.service(HttpServletDispatcher.java:56)
>>>> at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatc
>>>> her.service(HttpServletDispatcher.java:51)
>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
>>>> ...
>>>> Caused by: io.apiman.gateway.engine.beans.exceptions.RegistrationException:
>>>> API api-servico-dev not found in Organization homolog.
>>>> at io.apiman.gateway.engine.es.ESRegistry.validateContract(ESRe
>>>> gistry.java:159)
>>>> at io.apiman.gateway.engine.es.ESRegistry.validateClient(ESRegi
>>>> stry.java:139)
>>>> at io.apiman.gateway.engine.es.ESRegistry.registerClient(ESRegi
>>>> stry.java:108)
>>>> at io.apiman.gateway.engine.es.PollCachingESRegistry.registerCl
>>>> ient(PollCachingESRegistry.java:114)
>>>> at io.apiman.gateway.engine.impl.SecureRegistryWrapper.register
>>>> Client(SecureRegistryWrapper.java:81)
>>>> at io.apiman.gateway.api.rest.impl.ClientResourceImpl.register(
>>>> ClientResourceImpl.java:54)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce
>>>> ssorImpl.java:62)
>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe
>>>> thodAccessorImpl.java:43)
>>>> at java.lang.reflect.Method.invoke(Method.java:498)
>>>> at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInje
>>>> ctorImpl.java:139)
>>>> at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget
>>>> (ResourceMethodInvoker.java:295)
>>>> at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(Resourc
>>>> eMethodInvoker.java:249)
>>>> at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(Resourc
>>>> eMethodInvoker.java:236)
>>>> at org.jboss.resteasy.core.SynchronousDispatcher.invoke(Synchro
>>>> nousDispatcher.java:402)
>>>> at org.jboss.resteasy.core.SynchronousDispatcher.invoke(Synchro
>>>> nousDispatcher.java:209)
>>>> at org.jboss.resteasy.plugins.server.servlet.ServletContainerDi
>>>> spatcher.service(ServletContainerDispatcher.java:221)
>>>> at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatc
>>>> her.service(HttpServletDispatcher.java:56)
>>>> at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatc
>>>> her.service(HttpServletDispatcher.java:51)
>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
>>>> ...
>>>>
>>>> 2017-06-02 11:30 GMT-03:00 Celso Agra <celso.agra at gmail.com>:
>>>>
>>>>> Thanks Marc and Eric!
>>>>>
>>>>> The application works fine, but for some reason, I can't delete any
>>>>> API. Looks like there is no reference for them.
>>>>>
>>>>> Is there some elasticsearch node in the Apiman?
>>>>>
>>>>> 2017-06-01 9:46 GMT-03:00 Marc Savy <marc.savy at redhat.com>:
>>>>>
>>>>>> +1. That's my expectation, also.
>>>>>>
>>>>>> On 1 June 2017 at 13:03, Eric Wittmann <eric.wittmann at redhat.com>
>>>>>> wrote:
>>>>>>
>>>>>>> I do not believe that there were any database changes between 1.2.8
>>>>>>> and 1.30.  So I *think* you should be OK if you just upgrade the
>>>>>>> application and skip the export/import process (just point the new version
>>>>>>> to your existing database).  However, I would advise you to clone your
>>>>>>> database and give it a try first (on a test system), before doing anything
>>>>>>> in production.
>>>>>>>
>>>>>>> -Eric
>>>>>>>
>>>>>>>
>>>>>>> On Wed, May 31, 2017 at 4:45 PM, Celso Agra <celso.agra at gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi all,
>>>>>>>>
>>>>>>>> Sorry about that, but I'm concern to upgrade my apiman to a newest.
>>>>>>>> I read about upgrating the application:
>>>>>>>> http://www.apiman.io/latest/installation-guide.html#_upgradi
>>>>>>>> ng_to_a_new_apiman_version
>>>>>>>> But I'd like to know if I upgrade from 1.2.8 to 1.3.0 is must
>>>>>>>> needed to export and reimport all data from different versions.
>>>>>>>>
>>>>>>>> Could I just change server and application without change anything
>>>>>>>> in my database? just put the new wildfly running the apiman instance. Would
>>>>>>>> be possible to do that?
>>>>>>>>
>>>>>>>> PS.: My APIMan is running with a remote database and remote
>>>>>>>> Keycloak.
>>>>>>>>
>>>>>>>> Best Regards,
>>>>>>>>
>>>>>>>> --
>>>>>>>> ---
>>>>>>>> *Celso Agra*
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Apiman-user mailing list
>>>>>>>> Apiman-user at lists.jboss.org
>>>>>>>> https://lists.jboss.org/mailman/listinfo/apiman-user
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Apiman-user mailing list
>>>>>>> Apiman-user at lists.jboss.org
>>>>>>> https://lists.jboss.org/mailman/listinfo/apiman-user
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> ---
>>>>> *Celso Agra*
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> ---
>>>> *Celso Agra*
>>>>
>>>
>>>
>>>
>>> --
>>> ---
>>> *Celso Agra*
>>>
>>
>>
>
>
> --
> ---
> *Celso Agra*
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/apiman-user/attachments/20170602/b0dfd8e5/attachment-0001.html 


More information about the Apiman-user mailing list