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
