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
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
