Does that mean a build cloud or a build server per tenant?

On Mon, Jul 29, 2013 at 10:53 AM, Harsha Thirimanna <hars...@wso2.com>wrote:

>
>
>
> *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
>
>


-- 

Thanks,
Samisa...

Samisa Abeysinghe
VP Engineering
WSO2 Inc.
http://wso2.com
http://wso2.org
_______________________________________________
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to