*Harsha Thirimanna*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
* <http://www.apache.org/>**
email: **hars...@wso2.com* <az...@wso2.com>* cell: +94 71 5186770**
twitter: **http://twitter.com/ <http://twitter.com/afkham_azeez>**
harshathirimann
linked-in: **http: <http://lk.linkedin.com/in/afkhamazeez>**//
www.linkedin.com/pub/harsha-thirimanna/10/ab8/122*
*
*
*Lean . Enterprise . Middleware*
*
*


On Mon, Jul 29, 2013 at 1:07 AM, Janaka Ranabahu <jan...@wso2.com> wrote:

> Hi Shamika,
>
>
> On Wed, Jul 24, 2013 at 5:20 PM, Ajanthan Balachandran 
> <ajant...@wso2.com>wrote:
>
>>
>>
>>
>> On Wed, Jul 24, 2013 at 4:34 PM, Shamika Ariyawansa <sham...@wso2.com>wrote:
>>
>>> HI,
>>>
>>> As we discussed so fa,r we tried/trying following approaches for the
>>> $subject.
>>>
>>> 1. Deploying Jenkins web app in AS per tenant. - Solution was not
>>> scalable due to the size of the Jenkins Web-app (61MB - without plugins)
>>> and its not practicable to deploy this as the tenant count gets increased.
>>>
>> If the content of the war duplicated for tenants you can put the common
>> libs into $CARBON_HOME/repository/components/lib(in parent classloader) and
>> make minimal war file that contains tenant specific stuffs.
>>
> How will this handle the load of a build job? Say that each of these
> Jenkins server instances can run a number of build jobs(more than 1 build
> per tenant). How can we handle the concurrent build load?
>

As ajanthan said , if we can deploy jenkins instance for every tenant  then
we can maintain multiple slave node to every master node to handle the
load. This point was mentioned that with previous email thread by ajanthan.

Subject : [Architecture] [Appfactory] Tenant Isolation for Jenkins.

>
>>> 2. Use one Jenkins server and make it possible to make it multi-tenant
>>> by introducing a role-based plugin (an extension to Role-Strategy Plugin).
>>>
>>> Here all the tenants related jobs are stored in one space
>>> (no operation between tenant) and the multi-tenancy is achieved by having a
>>> filtering mechanism based on the logged users tenant. Problem here is
>>> everything will be done in one workspace so it will be difficult to manage
>>> when the the tenant count gets increased with the job count.
>>>
>> Jenkins has lots of extension points. Can we have a concept of
> folders/collections in Jenkins jobs? If so we can group jobs by tenant.
> This could be done as a part of the Role-Strategy plugin.
>
>>
>>> 3. Patch the Jenkins to set the JENKINS_HOME directory on the fly so
>>> that separate HOME directory will be used for the different tenants.
>>>
>>> By looking at the Jenkins code we found that the Jenkins Home is set to
>>> a singleton class (jenkins.model.Jenkins) and the whole system uses that
>>> class to obtain JENKINS HOME. As a solution we can update this class to
>>> return JENKINS_HOME based on logged users tenant.
>>>
>>> Main risk for this is that in the  in above class has a public variable
>>> to store the JENKINS_HOME (variable - root). Also there is also an
>>> encapsulated method to get this too.( getRootDir() ). We are not sure the
>>> how the other plugins have referred this. I am trying to do an hard-coded
>>> test whether this works or not?
>>>
>> This will not work unless you reload all the configurations from disk
>> after returning the JENKINS_HOME.In jenkins on start up all the config
>> files are loaded from disk(job configs also).We change JENKINS_HOME at the
>> middle  but still in the memory there are configs(job configs) from
>> previous JENKINS_HOME.
>>
> We should be able to work with an existing Jenkins deployment without
> doing any modifications to the code. If this can be done through a plugin,
> then I guess it is fine. Otherwise I'm -1 for this.
>
> Thanks,
> Janaka
>
>>
>>> WDYT?
>>>
>>> --
>>> Shamika Ariyawansa
>>> Senior Software Engineer
>>>
>>> Mob:+ 94 772929486
>>>
>>
>>
>>
>> --
>> ajanthan
>> --
>> Ajanthan Balachandiran
>> Senior Software Engineer;
>> Solutions Technologies Team ;WSO2, Inc.;  http://wso2.com/
>>
>> email: ajanthan <http://goog_595075977>@wso2.com; cell: +94775581497
>> blog: http://bkayts.blogspot.com/
>>
>> Lean . Enterprise . Middleware
>>
>> _______________________________________________
>> Architecture mailing list
>> Architecture@wso2.org
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
>
> --
> *Janaka Ranabahu*
> Senior Software Engineer; WSO2 Inc.; http://wso2.com*
>
> E-mail: jan...@wso2.com
> **M: **+94 718370861*
> *
>
> *Lean . Enterprise . Middleware
>
>
> _______________________________________________
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>
_______________________________________________
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to