Hi Pirinthapan
According to the above diagram, even the app type is an uploadable app
type, we can demote to testing stage. If it is an uploadable app type, it
should only have production and retired life cycles.

Thanks,
Samith

On Thu, Oct 30, 2014 at 5:07 PM, Pirinthapan Mahendran <[email protected]
> wrote:

> Hi all,
>
> As all of you suggested I'm going with implementing a new life cycle for
> uploadable artifacts. The following diagram shows the entire life cycle of
> an application after we add the new life cycle.
>
>
>
> ​
> ​
>
>
>
> Mahendran Pirinthapan
> Software Engineer | WSO2 Inc.
> Mobile +94772378732.
>
> On Wed, Oct 29, 2014 at 9:46 PM, Dimuthu Leelarathne <[email protected]>
> wrote:
>
>> Hi all,
>>
>> In addition this decision will stabilise our Uploadable Artifact story.
>> Right now it is very shaky.
>>
>> thanks,
>> dimuthu
>>
>> On Wed, Oct 29, 2014 at 9:15 AM, Dimuthu Leelarathne <[email protected]>
>> wrote:
>>
>>> Hi all,
>>>
>>> We hava a Redmine item for app type specific life cycles. But until that
>>> becomes a reality we can have two life cycles as suggested by the team.
>>>
>>> +1 for having a different lifecycle for upload able app types. But when
>>> implementing lets keep in mind the future.
>>>
>>> thanks,
>>> dimuthu
>>>
>>> On Wed, Oct 29, 2014 at 7:58 AM, Janaka Ranabahu <[email protected]>
>>> wrote:
>>>
>>>> Hi Gayan, Dimuthu,
>>>>
>>>> On Wed, Oct 29, 2014 at 6:29 PM, Gayan Dhanushka <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi Pirinthapan,
>>>>>
>>>>> AFAIU you are going to have a "onDeploymentSuccess" method in
>>>>> "ApplicationEventsHandler" class and write a handler to call
>>>>> "updateApplicationDeploymentSuccessStatus" from within the implementation
>>>>> of that method. I can see this as a possible solution. Still I have some
>>>>> doubts. I believe you have to check whether the application is an
>>>>> uploadable application from within the
>>>>> "updateApplicationDeploymentSuccessStatus" method. Otherwise every time we
>>>>> deploy an application (Even non uploadable applications), the application
>>>>> will be promoted into production.
>>>>>
>>>>> Further more I believe you can call the promoting logic from within
>>>>> the "updateApplicationDeploymentSuccessStatus" method rather than calling
>>>>> the bpel service once again.
>>>>>
>>>>> @Dimuthu
>>>>>
>>>>> Shouldn't this be ideally handled by having a seperate application
>>>>> lifecycle for uploadable artifacts ?
>>>>>
>>>> IMO, this is the correct way to address this issue. Currently what we
>>>> are trying, is to use the same lifecycle for all the app types in
>>>> AppFactory. This is wrong because all the app types does not have the same
>>>> lifecycle. Certain apps we create such as Java Web applications and
>>>> Jax-rs/Jax-ws applications have a lifecycle which goes from development to
>>>> production whereas uploadable applications are deployed directly into
>>>> production. So clearly there are 2 lifecycles for these 2 application
>>>> categories.
>>>>
>>>> So I'm +1 for introducing a different lifecycle(which have only 2
>>>> stages, which are 'production' and 'retired') for uploadable applications.
>>>>
>>>> WDYT?
>>>>
>>>> Thanks,
>>>> Janaka
>>>>
>>>>>
>>>>> Regards
>>>>> GayanD
>>>>>
>>>>> On Tue, Oct 28, 2014 at 8:47 PM, Pirinthapan Mahendran <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Hi all,
>>>>>>
>>>>>> In the above solution there is a problem.
>>>>>>
>>>>>> *Problem in the above solution*
>>>>>>
>>>>>> According to the above solution we are going to have a new event
>>>>>> handler for promoting uploadable apps. When an application is created the
>>>>>> "oncreate" method of all the event handlers will be called. And these 
>>>>>> event
>>>>>> handlers will be executed according to the priority order. In that case 
>>>>>> our
>>>>>> new handler will be executed at last because of its low priority.
>>>>>> During this, when the "JenkinsApplicationEventsListener" is executed,
>>>>>> it will create and start a job in jenkins. Once the job is started
>>>>>> "JenkinsApplicationEventsListener" will continue its execution. It won't
>>>>>> wait until the job is finished.
>>>>>>
>>>>>> So after "JenkinsApplicationEventsListener" finished its execution,
>>>>>> all the remaining event handlers (including our new event handler) will 
>>>>>> be
>>>>>> executed according to the priority order. So again the building process 
>>>>>> and
>>>>>> the promoting process is going to be happen parallel.
>>>>>>
>>>>>> *Improved Solution*
>>>>>>
>>>>>> In the above solution instead of calling the promoting process from
>>>>>> "oncreate" method we can introduce a new method called
>>>>>> "onDeploymentSuccess" to the abstract class "ApplicationEventsHandler" 
>>>>>> and
>>>>>> implement that method in our new event listener class. Within this method
>>>>>> we will call the promoting process. And we will publish the deployment
>>>>>> success event to the listeners from the method
>>>>>> "updateApplicationDeploymentSuccessStatus" in
>>>>>> "ApplicationManagementService".
>>>>>>
>>>>>> So whenever a deployment is success for uploadable applications in
>>>>>> development stage, we can execute the promoting process. After the
>>>>>> promotion is finished we will call the deployment process to deploy the
>>>>>> application in production stage.
>>>>>>
>>>>>> Kindly expect your feedbacks on the above solution.
>>>>>>
>>>>>> Thanks.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Mahendran Pirinthapan
>>>>>> Software Engineer | WSO2 Inc.
>>>>>> Mobile +94772378732.
>>>>>>
>>>>>> On Tue, Oct 28, 2014 at 4:58 PM, Dimuthu Leelarathne <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Tue, Oct 28, 2014 at 1:17 AM, Pirinthapan Mahendran <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Hi Danushka and Gayan,
>>>>>>>>
>>>>>>>> As we discussed offline I'm going with the following solution.
>>>>>>>>
>>>>>>>> Remove the promoting code from jaggery layer and Create an Event
>>>>>>>> handler by extending the abstract class "ApplicationEventsHandler" for
>>>>>>>> promoting uploadable artifacts. And setting this event handler's 
>>>>>>>> priority
>>>>>>>> to low so that it will be executed at last. After the promotion 
>>>>>>>> process is
>>>>>>>> finished we will call the deployment process from this handler class to
>>>>>>>> deploy the application in production stage.
>>>>>>>>
>>>>>>>
>>>>>>> +1. Perfect solution guys! Good job in picking the correct solution.
>>>>>>>
>>>>>>> thanks,
>>>>>>> dimuthu
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> Thanks.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Mahendran Pirinthapan
>>>>>>>> Software Engineer | WSO2 Inc.
>>>>>>>> Mobile +94772378732.
>>>>>>>>
>>>>>>>> On Mon, Oct 27, 2014 at 10:21 PM, Danushka Fernando <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> Gayan
>>>>>>>>> AFAIK there is a limitation in governance lifecycle which prevent
>>>>>>>>> us doing that. So I think better thing would be to fix current flow 
>>>>>>>>> to be
>>>>>>>>> consistent.
>>>>>>>>>
>>>>>>>>> Thanks & Regards
>>>>>>>>> Danushka Fernando
>>>>>>>>> Software Engineer
>>>>>>>>> WSO2 inc. http://wso2.com/
>>>>>>>>> Mobile : +94716332729
>>>>>>>>>
>>>>>>>>> On Mon, Oct 27, 2014 at 9:48 PM, Gayan Dhanushka <[email protected]>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Pirinthapan,
>>>>>>>>>>
>>>>>>>>>> As discussed the other day if we are going to change the current
>>>>>>>>>> implementation where we first deploy the artifact to Development and 
>>>>>>>>>> then
>>>>>>>>>> promote it up to Production, this will be a very straight forward 
>>>>>>>>>> fix. We
>>>>>>>>>> can just deploy the application into Production in one go. Then it 
>>>>>>>>>> will be
>>>>>>>>>> just like deploying an application in the Production stage.
>>>>>>>>>>
>>>>>>>>>> Regards
>>>>>>>>>> GayanD
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Sun, Oct 26, 2014 at 3:26 PM, Danushka Fernando <
>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi
>>>>>>>>>>> @Pirinthapan : Great findings.
>>>>>>>>>>> IMO if we are sticking to the plan that we are going to promote
>>>>>>>>>>> uploadable applications to production, then we need to wait until
>>>>>>>>>>> application creation is over and then promote them to production. 
>>>>>>>>>>> We might
>>>>>>>>>>> be able to run Application Even Listener with ordered to run last 
>>>>>>>>>>> to do
>>>>>>>>>>> this task.
>>>>>>>>>>> @Dimuthu, Janaka : WDYT?
>>>>>>>>>>>
>>>>>>>>>>> Thanks & Regards
>>>>>>>>>>> Danushka Fernando
>>>>>>>>>>> Software Engineer
>>>>>>>>>>> WSO2 inc. http://wso2.com/
>>>>>>>>>>> Mobile : +94716332729
>>>>>>>>>>>
>>>>>>>>>>> On Sun, Oct 26, 2014 at 3:04 PM, Pirinthapan Mahendran <
>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>
>>>>>>>>>>>> In AppFactory when we upload an existing artifact, it should be
>>>>>>>>>>>> directly deployed to production stage.
>>>>>>>>>>>> But in the current implementation sometimes it is getting
>>>>>>>>>>>> deployed to development stage and sometimes it is getting deployed 
>>>>>>>>>>>> to
>>>>>>>>>>>> production stage.
>>>>>>>>>>>>
>>>>>>>>>>>> According to my understanding the reason for this is, we are
>>>>>>>>>>>> creating and promoting the application within the single method 
>>>>>>>>>>>> "uploadExistingApplication"
>>>>>>>>>>>> in [1]. In this method first we are creating the application
>>>>>>>>>>>> using the uploaded artifact. Once the application is created build 
>>>>>>>>>>>> is
>>>>>>>>>>>> triggered automatically in a background thread. At the same time 
>>>>>>>>>>>> we are
>>>>>>>>>>>> calling the bpel service to promote the application. So building 
>>>>>>>>>>>> and
>>>>>>>>>>>> promoting are happening at the same time. This will give some 
>>>>>>>>>>>> unpredictable
>>>>>>>>>>>> results.
>>>>>>>>>>>>
>>>>>>>>>>>> To overcome this issue we need to wait until all the
>>>>>>>>>>>> application creation, initial build and initial deployment 
>>>>>>>>>>>> processes are
>>>>>>>>>>>> finished. After that we need to promote the application. Once the 
>>>>>>>>>>>> promotion
>>>>>>>>>>>> process is finished we need to deploy the application in the 
>>>>>>>>>>>> production
>>>>>>>>>>>> stage.
>>>>>>>>>>>>
>>>>>>>>>>>> Kindly expect your ideas on this issue.
>>>>>>>>>>>>
>>>>>>>>>>>> 1. appmgt/src/site/blocks/application/add/ajax/add.jag
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Mahendran Pirinthapan
>>>>>>>>>>>> Software Engineer | WSO2 Inc.
>>>>>>>>>>>> Mobile +94772378732.
>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> Architecture mailing list
>>>>>>>>>>>> [email protected]
>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Architecture mailing list
>>>>>>>>>>> [email protected]
>>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Gayan Dhanuska
>>>>>>>>>> Software Engineer
>>>>>>>>>> http://wso2.com/
>>>>>>>>>> Lean Enterprise Middleware
>>>>>>>>>>
>>>>>>>>>> Mobile
>>>>>>>>>> 071 666 2327
>>>>>>>>>>
>>>>>>>>>> Office
>>>>>>>>>> Tel   : 94 11 214 5345
>>>>>>>>>> Fax  : 94 11 214 5300
>>>>>>>>>>
>>>>>>>>>> Twitter : https://twitter.com/gayanlggd
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Architecture mailing list
>>>>>>>>>> [email protected]
>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Architecture mailing list
>>>>>>>>> [email protected]
>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Architecture mailing list
>>>>>>>> [email protected]
>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Dimuthu Leelarathne
>>>>>>> Architect & Product Lead of App Factory
>>>>>>>
>>>>>>> WSO2, Inc. (http://wso2.com)
>>>>>>> email: [email protected]
>>>>>>> Mobile : 0773661935
>>>>>>>
>>>>>>> Lean . Enterprise . Middleware
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Architecture mailing list
>>>>>>> [email protected]
>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Architecture mailing list
>>>>>> [email protected]
>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Gayan Dhanuska
>>>>> Software Engineer
>>>>> http://wso2.com/
>>>>> Lean Enterprise Middleware
>>>>>
>>>>> Mobile
>>>>> 071 666 2327
>>>>>
>>>>> Office
>>>>> Tel   : 94 11 214 5345
>>>>> Fax  : 94 11 214 5300
>>>>>
>>>>> Twitter : https://twitter.com/gayanlggd
>>>>>
>>>>> _______________________________________________
>>>>> Architecture mailing list
>>>>> [email protected]
>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> *Janaka Ranabahu*
>>>> Senior Software Engineer; WSO2 Inc.; http://wso2.com
>>>>
>>>>
>>>> *E-mail: [email protected] <http://wso2.com>**M: **+94 718370861
>>>> <%2B94%20718370861>*
>>>>
>>>> Lean . Enterprise . Middleware
>>>>
>>>> _______________________________________________
>>>> Architecture mailing list
>>>> [email protected]
>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>
>>>>
>>>
>>>
>>> --
>>> Dimuthu Leelarathne
>>> Architect & Product Lead of App Factory
>>>
>>> WSO2, Inc. (http://wso2.com)
>>> email: [email protected]
>>> Mobile : 0773661935
>>>
>>> Lean . Enterprise . Middleware
>>>
>>
>>
>>
>> --
>> Dimuthu Leelarathne
>> Architect & Product Lead of App Factory
>>
>> WSO2, Inc. (http://wso2.com)
>> email: [email protected]
>> Mobile : 0773661935
>>
>> Lean . Enterprise . Middleware
>>
>> _______________________________________________
>> Architecture mailing list
>> [email protected]
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
> _______________________________________________
> Architecture mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
Best Regards

Samith Dassanayake
Software Engineer, WSO2 Inc.
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to