Hi Imesh,

That is totally fine since it was a blocker for the release. But I have
some news regarding the issue we had with GCE jclouds API. After few days
of debugging I was able to narrow down the root cause which turned out to
be incorrect import/export problem in OSGi bundles. All the bundles in
jclouds do not have proper OSGi imports for external 3rd party
dependencies. That will work as long as it does not have any conflicts in
OSGi run time environment. But unfortunately in our case there are some
conflicts with bundles coming from the kernel and other WSO2 features which
we depend on.

The exact reason is jclouds rely on Google Guice which is a dependency
injection framework. But guice is not an OSGi bundle in Maven central. We
are using guice_3.0.0.wso2v1.jar which is an orbit bundle in WSO2 Nexus.
This orbit bundle does not have proper OSGi export package versions. The
real issue is jclouds components have been hard wired with guice ver. 1.3
(in MANIFEST.MF file) although it actually needs guice ver. 3.0. And this
WSO2 orbit bundle is somehow wired to export guice ver. 1.3. I've no idea
why these bundles got wired that way and I couldn't find any guice version
of 1.3 in Maven central which is really weird. Now even though we include
guice ver. 3.0 in OSGi environment, it got wired with 1.3 version which is
provided by WSO2 orbit bundle and since that is not the bundle it actually
needs we ran into multiple run time issues with GCE. It seems this
incompatibility only exists for GCE IaaS provider, but it is likely that we
might run into issues with other IaaS types too.

As a fix for this problem, I had to wrap all the jclouds components that we
need in separate pom files and specify the correct OSGi imports/exports in
them. I had to specify the correct imports/exports in cloud controller
component as well. Note that I have *not* forked any jclouds code here.
Only that I had to wrap them with correct OSGi parameters.

I've tested the GCE IaaS type and I'm able to spawn instances. I'm
currently testing other IaaS types for regression issues. I had to do some
code refactoring in cloud controller to support GCE because there are some
additional limitations for group name when creating a node. I introduced a
method 'public String getGroupName(MemberContext memberContext, byte[]
payload)' in 'Iaas' class in CC component and provide a default
implementation there and overrode it in GCE Iaas.

Do you think we should include these changes + jclouds 1.9.1 to our next
release? I'll arrange a public code review to go through the changes.

Thanks.

On Thu, Aug 20, 2015 at 3:43 PM, Imesh Gunaratne <im...@apache.org> wrote:

> On Thu, Aug 20, 2015 at 3:29 PM, Lakmal Warusawithana <lak...@wso2.com>
>  wrote:
>>
>>
>> You mean 4.1.2 I guess.
>>
>
> Yes, my mistake, its 4.1.2 :-)
>
> On Thu, Aug 20, 2015 at 3:29 PM, Lakmal Warusawithana <lak...@wso2.com>
> wrote:
>
>>
>>
>> On Thu, Aug 20, 2015 at 3:28 PM, Imesh Gunaratne <im...@apache.org>
>> wrote:
>>
>>> Hi All,
>>>
>>> @Akila: I'm sorry we had to revert the changes of jclouds 1.9 upgrade to
>>> avoid the blocking issue with GCE provider. Will try to fix this locally
>>> and then include it in 4.1.3:
>>> https://github.com/apache/stratos/commits/master
>>>
>>> IMO we are now go to verify 4.1.3 and do the release build.
>>>
>>>
>> You mean 4.1.2 I guess.
>>
>>
>>> Thanks
>>>
>>> On Thu, Aug 20, 2015 at 2:57 PM, Imesh Gunaratne <im...@apache.org>
>>> wrote:
>>>
>>>> The problem with the GCE jclouds provider can be found here:
>>>> https://issues.apache.org/jira/browse/STRATOS-1516
>>>>
>>>> On Thu, Aug 20, 2015 at 1:53 PM, Imesh Gunaratne <im...@apache.org>
>>>> wrote:
>>>>
>>>>> Thanks for the feedback Lakmal!
>>>>>
>>>>> As we have encountered issues with Kernel patch upgrade and jclouds
>>>>> 1.9 upgrade shall we move those to the next minor release 4.1.3?
>>>>>
>>>>> I think we might need to revert jclouds 1.9 upgrade changes.
>>>>>
>>>>> On Thu, Aug 20, 2015 at 9:25 AM, Lakmal Warusawithana <lak...@wso2.com
>>>>> > wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> On Tue, Aug 18, 2015 at 3:54 PM, Imesh Gunaratne <im...@apache.org>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi Devs,
>>>>>>>
>>>>>>> Thanks for all your efforts on releasing 4.1.1 within a very short
>>>>>>> time period. IMO it was a great accomplishment! It took nearly an year 
>>>>>>> for
>>>>>>> us to release 4.1.0 after 4.0.0.
>>>>>>>
>>>>>>> Shall we now plan for 4.1.2 with the following items?
>>>>>>>
>>>>>>
>>>>>> +1
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> TaskOwnerStatusJIRA1Update Carbon Kernel patches (Critical for
>>>>>>> Private PaaS 4.1.0)AkilaIn-ProgressSTRATOS-14352Application signups
>>>>>>> not available in the UI (Critical for Private PaaS 4.1.0)
>>>>>>> DakshikaIn-ProgressSTRATOS-15014Integration test - termination
>>>>>>> behaviorRekaCompleted5Integration test - startup orderReka
>>>>>>> In-Progress6Integration test - Listing all artifactsRekaCompleted7Apache
>>>>>>> jclouds 1.9 upgrade
>>>>>>> AkilaCompletedSTRATOS-15138Port mappings and kubernetes services
>>>>>>> are created for each instanceLasinduCompletedSTRATOS-14959Payload
>>>>>>> parameters cannot accept values which includes = signLasindu
>>>>>>> CompletedSTRATOS-149610Exception in cartridge agent : ValueError:
>>>>>>> invalid literal for int()GayanCompletedSTRATOS-149711Payload
>>>>>>> parameters doesn't contain port_mappings for jcloud based IaaSs.
>>>>>>> AnuruddhaCompletedSTRATOS-151112Add a new property to Application
>>>>>>> Bean to check the availability of Application SignUpsImeshCompleted
>>>>>>> STRATOS-1515
>>>>>>>
>>>>>>>
>>>>>>> Thanks
>>>>>>>
>>>>>>> --
>>>>>>> Imesh Gunaratne
>>>>>>>
>>>>>>> Senior Technical Lead, WSO2
>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Lakmal Warusawithana
>>>>>> Vice President, Apache Stratos
>>>>>> Director - Cloud Architecture; WSO2 Inc.
>>>>>> Mobile : +94714289692
>>>>>> Blog : http://lakmalsview.blogspot.com/
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Imesh Gunaratne
>>>>>
>>>>> Senior Technical Lead, WSO2
>>>>> Committer & PMC Member, Apache Stratos
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Imesh Gunaratne
>>>>
>>>> Senior Technical Lead, WSO2
>>>> Committer & PMC Member, Apache Stratos
>>>>
>>>
>>>
>>>
>>> --
>>> Imesh Gunaratne
>>>
>>> Senior Technical Lead, WSO2
>>> Committer & PMC Member, Apache Stratos
>>>
>>
>>
>>
>> --
>> Lakmal Warusawithana
>> Vice President, Apache Stratos
>> Director - Cloud Architecture; WSO2 Inc.
>> Mobile : +94714289692
>> Blog : http://lakmalsview.blogspot.com/
>>
>>
>
>
> --
> Imesh Gunaratne
>
> Senior Technical Lead, WSO2
> Committer & PMC Member, Apache Stratos
>



-- 
Akila Ravihansa Perera
WSO2 Inc.;  http://wso2.com/

Blog: http://ravihansa3000.blogspot.com

Reply via email to