Great! Thanks Akila! On Thursday, November 19, 2015, Akila Ravihansa Perera <raviha...@wso2.com> wrote:
> Hi Imesh, > > Yes, I tested scaling, min check, fault detection features in ec2, > openstack, gce and Kubernetes iaas's. We have integration tests for > metadata service and group scaling features. According to Jenkins all tests > passed successfully. > > Thanks. > > On Thursday, 19 November 2015, Imesh Gunaratne <im...@apache.org > <javascript:_e(%7B%7D,'cvml','im...@apache.org');>> wrote: > >> Great work Akila! >> We might need to verify all the features after doing this modification. >> Were you able to run any tests after doing this? >> >> Thanks >> >> On Tue, Nov 17, 2015 at 10:02 PM, Akila Ravihansa Perera < >> raviha...@wso2.com> wrote: >> >>> Hi, >>> >>> Currently Stratos components do not properly import/export packages >>> to/from OSGi bundles. This might lead to unexpected behaviors in an OSGi >>> runtime. Also dependency versions in pom files are currently hard-coded >>> which is less maintainable. I've done a refactoring of all pom files to fix >>> the above issues. Following is a summary of changes done; >>> >>> - Removed hard-coded maven dependency versions and moved everything to >>> parent pom >>> >>> - Parameterized dependency versions with maven properties >>> >>> - Added OSGi import ranges for external dependencies which are set from >>> parent pom as a maven property >>> >>> - Added OSGi import version for Stratos internal dependencies as >>> project.version. This will ensure only intended component will always >>> >>> - Upgraded commons-collections dependency to version 3.2.2 to mitigate >>> the security vulnerability as reported in [1] >>> >>> >>> While working on this I found several issues in the code base. I've >>> summarized the issues and fixes done below. >>> >>> - Incorrect import of Arrays class in [2] >>> Changed the import to java.util.Arrays >>> >>> - CloudController imports a private package of StratosCommon component >>> [3] >>> Changed the import to CC's service holder class >>> >>> - Incorrect dependency to org.wso2.carbon.identity.oauth.stub component >>> at [4,5] resulting unrunnable code at [6, 7] >>> This is because actual identity.oauth.stub bundle version packed into >>> the distribution is 4.2.3 and the dependency version defined in the Stratos >>> component is 4.2.0. Changed the dependency version to 4.2.3 and updated >>> code to be compatible with newer version. >>> >>> - Metadata service webapp imports a private package of StratosCommon >>> component [8] >>> >>> - Stratos rest endpoint webapp imports a private package of >>> StratosManager component [9] >>> Removed the private package import and used >>> PrivilegedCarbonContext->getOSGiService method in the Carbon kernel to >>> retrieve the ComponentStartUpSynchronizer OSGi service. >>> >>> - Unnecessary Activator class in Autoscaler component [10]. >>> Removed the class and reference in maven-bundle-plugin Bundle-Activator >>> directive. >>> >>> - Embedded dependencies are not added as maven dependencies in the pom >>> for fabric8/kubernetes-api [11] >>> Added all relevant maven dependencies to the parent pom (with versions) >>> and sub-module (without versions). >>> >>> Created a JIRA [12] to track these changes. >>> >>> Following is a list of jars that were changed/upgraded as part of this >>> effort; >>> >>> Old version -> New version >>> >>> commons-collections-3.2.1.jar -> commons-collections-3.2.2.wso2v1.jar >>> commons-lang-2.6.jar -> commons-lang-2.6.0.wso2v1.jar >>> cxf-bundle-2.7.6.jar -> cxf-bundle-2.7.7.jar >>> httpasyncclient-4.0-beta3.jar -> httpasyncclient-4.0.jar >>> httpclient-4.2.5.jar -> httpclient-4.5.1.jar >>> httpcore-4.2.4.jar -> httpcore-4.4.4.jar >>> javax.ws.rs-api-2.0-m10.jar -> javax.ws.rs-api-2.0.1.jar >>> neethi-3.0.2.jar -> neethi-2.0.4.wso2v4.jar >>> wsdl4j-1.6.3.jar -> wsdl4j-1.6.2.wso2v4.jar >>> xmlschema-core-2.0.3.jar -> xmlschema-core-2.2.1.jar >>> slf4j.api_1.6.4.jar -> slf4j.api_1.7.6.jar >>> slf4j.log4j12_1.6.4.jar -> slf4j.log4j12_1.7.5.jar >>> >>> Following jars were added >>> >>> commons-collections_3.2.2.wso2v1.jar >>> org.apache.commons.configuration_1.9.0.jar >>> org.apache.httpcomponents.httpclient_4.5.1.jar >>> org.apache.httpcomponents.httpcore_4.4.4.jar >>> org.mvel2_2.1.3.Final.jar >>> >>> [1] https://issues.apache.org/jira/browse/COLLECTIONS-580 >>> >>> [2] >>> https://github.com/apache/stratos/blob/4.1.4/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithms/networkpartition/AllAtOnceAlgorithm.java#L21 >>> >>> [3] >>> https://github.com/apache/stratos/blob/4.1.4/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/RegistryManager.java#L26 >>> >>> [4] >>> https://github.com/apache/stratos/blob/4.1.4/components/org.apache.stratos.metadata.service/pom.xml#L99 >>> >>> [5] >>> https://github.com/apache/stratos/blob/4.1.4/components/org.apache.stratos.rest.endpoint/pom.xml#L101 >>> >>> [6] >>> https://github.com/apache/stratos/blob/4.1.4/components/org.apache.stratos.metadata.service/src/main/java/org/apache/stratos/metadata/service/oauth2/ValidationServiceClient.java#L54 >>> >>> [7] >>> https://github.com/apache/stratos/blob/4.1.4/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/oauth2/ValidationServiceClient.java#L53 >>> >>> [8] >>> https://github.com/apache/stratos/blob/4.1.4/components/org.apache.stratos.metadata.service/src/main/java/org/apache/stratos/metadata/service/registry/MetadataApiRegistry.java#L253 >>> >>> [9] >>> https://github.com/apache/stratos/blob/4.1.4/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/ComponentSynchronizerHandler.java#L28 >>> >>> [10] >>> https://github.com/apache/stratos/blob/4.1.4/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/ASBundleActivater.java >>> >>> [11] >>> https://github.com/apache/stratos/blob/4.1.4/dependencies/fabric8/kubernetes-api/pom.xml#L153 >>> >>> [12] https://issues.apache.org/jira/browse/STRATOS-1623 >>> >>> Thanks. >>> >>> -- >>> Akila Ravihansa Perera >>> WSO2 Inc.; http://wso2.com/ >>> >>> Blog: http://ravihansa3000.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 > > -- Imesh Gunaratne Senior Technical Lead, WSO2 Committer & PMC Member, Apache Stratos