Hi, Apparently having to find a way to make non multi-tenanted products to work in a multi-tenanted environment is a situation that has been come across before.
IBM has had to do this and there are multi-tenanting patterns<http://www.ibm.com/developerworks/cloud/library/cl-tenantconversion/>that can be followed. Some of these methods are having a shared user store and operational database thus achieving the shared database model; having tenant specific reports and logs etc.. What we are doing in appfactory for each of the ecosystems may already fall into one of these patterns. For those cases where we are still looking for a solution, viewing the problem from this aspect might shed some light. The different models of multi-tenancy and through that seeing which level can be shared within a given non MT'd tool is also a point to consider. Through this we may have a label to how we multi-tenanted products X, Y and Z. WDYT ? Thank you, Shiro On Tue, Jul 16, 2013 at 5:33 AM, Samisa Abeysinghe <[email protected]> wrote: > How about mapping to tiers the tenant has subscribed to? > > > On Fri, Jul 12, 2013 at 7:06 PM, Ramith Jayasinghe <[email protected]>wrote: > >> Hi, >> I have been looking at possible ways to achieve the $subject. >> >> And here's one possible way of achieving this. >> >> Basis of this approach is to deploy jenkins as a web application on our >> Application Server ( -- I tested this) [1]. >> >> There couple aspects we need to think about : >> 1. Tenant Creation >> 2. Authentication and authorization >> 3. Building Jobs. >> 4. Load balancing and HA >> * >> Tenant Creation* >> Now suppose user creates a organization/tenant xyz on Appfactory. >> Appfactory could either : >> 1. Deploy jenkins onto the xyz tenant >> Or >> 2. Deploy jenkins on super tenant. With this approach we have to rename >> jenkins.war (possibly to xyz.war) to make this jenkins instance different >> from others. >> >> With either way each jenkins instance needs to be provided with a its >> own JENKINS_HOME. >> This can be achieved via adding a context.xml file with content similar >> to following to jenkins.war distribution ( specifically into META-INF) >> >> <Context> >> <Environment name="JENKINS_HOME" value="${J_HOMES}/xyz" >> type="java.lang.String"/> >> </Context> >> >> $J_HOMES refers to a directory in file system and supplied as a system >> variable during the server start up etc. >> 'xyz' sub-directory has to be created and filled with configurations, >> plugins etc before deploying the webapp. >> >> Configuration that needs to go into this folder are typically related to >> maven,jdks, plugins etc. ( can puppet be of use to automate all this?) >> * >> **Note:* I already came across an issue where content in conext.xml is >> not visible to jenkins.war when deployed onto a tenant ( maybe a bug in AS >> ?) >> * >> Authentication & Authorization* >> >> We could use Jenkins LDAP (may be with some modifications) plugin based >> on the requirement or we might have to change current authentication plugin >> [2] we wrote for jenkins. >> Further, I think with above approach we still can use the role strategy >> plugin [3] that's currently in use. >> * >> Building Jobs* >> >> Master nodes ( - deployed on AS) should not run build jobs. >> Instead these should be delegated to a pool of jenkins slaves [4][5]. We >> need to figure out a scheme on how to do this. >> >> *Load balancing and HA * >> >> Deploying and testing jenkins on a AS cluster should be the starting >> point to figure out weather this whole approach would scale. >> >> >> [1] https://wiki.jenkins-ci.org/display/JENKINS/Tomcat >> [2] >> https://svn.wso2.org/repos/wso2/carbon/platform/branches/4.1.0/products/appfactory/1.0.0/modules/webapps/appfactory-authentication-plugin >> [3] >> https://svn.wso2.org/repos/wso2/carbon/platform/branches/4.1.0/dependencies/jenkins-ci/role-strategy-plugin/1.1.3-wso2v2 >> [4] https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds >> [5] >> https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds#Distributedbuilds-RunningMultipleSlavesontheSameMachine >> >> >> -- >> Ramith Jayasinghe >> Technical Lead >> WSO2 Inc., http://wso2.com >> lean.enterprise.middleware >> >> E: [email protected] >> >> >> >> _______________________________________________ >> Architecture mailing list >> [email protected] >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > > -- > > Thanks, > Samisa... > > Samisa Abeysinghe > VP Engineering > WSO2 Inc. > http://wso2.com > http://wso2.org > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > -- Shiroshica Kulatilake Architect, WSO2, Inc. http://wso2.com/ Phone: +94 776523867
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
