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

Reply via email to