On Tue, Jan 5, 2016 at 7:43 PM, sujith h <[email protected]> wrote: > > > On Tue, Jan 5, 2016 at 7:14 PM, Barros Pena, Belen < > [email protected]> wrote: > >> >> >> On 04/01/2016 13:16, "[email protected] on behalf of >> sujith >> h" <[email protected] on behalf of [email protected]> >> wrote: >> >> >Hi, >> > >> > >> >Finally I arrived at : >> > >> http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=sujith/toast >> >er-build-cancel9 >> >< >> http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=sujith/toas >> >ter-build-cancel9> >> >> I am not sure this is working for me. When I click the 'cancel' button, I >> get the loading spinner. The spinner never goes away and the build status >> never updates by itself. If you reload the page after a while though, the >> build shows as failed. >> > > One thing I missed out is that, I track toaster_ui.log file. So when the > build progresses there > I click the cancel button. Before that I haven't tried to cancel the > build. > >> >> I guess step one should be making sure that the build state updates >> without me having to reload the page. Once that's done, there will be some >> UI refinements needed. To see how the cancellation should behave on the UI >> side of things you can visit: >> >> http://www.yoctoproject.org/toaster/project-builds.html > > > Sure we can make the refinement to UI. > > >> >> Type 'core' in the build text field on the top right hand corner of the >> page, select one of the suggestions then click build. Once the build >> appears, click the 'cancel' button. >> >> > Belen, Immediately clicking 'cancel' button, I haven't tried that option. >
I have pushed my changes to http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=sujith/toaster-build-cancel10 With this change user would see the cancel button only after the actual tasks start executing. So then user can click cancel button. > > Cheers >> >> Belén >> >> > >> >This patch set would help user to cancel build from toaster. >> > >> > >> >How to test it: >> > >> >a) Start toaster >> > >> >b) Create Project >> > >> >c) Select the image to build ( I have tested with core-image-sato or >> >core-image-weston). >> > >> >d) Once the image/recipe is triggered to build, a cancel button can be >> >visible on the right side of the progress bar. >> > >> >e) If you wish to cancel the build once the build is triggered click the >> >cancel button. >> > >> >f) Once the cancel is done, the page gets reloaded and user can see in >> >the toaster build is stopped. >> > >> > >> >Thanks, >> > >> >Sujith H >> > >> >On Tue, Dec 22, 2015 at 4:19 PM, sujith h >> ><[email protected]> wrote: >> > >> >Hi, >> > >> > >> >Made small modification compared to my earlier branch >> >sujith/toaster-build-cancel2 in : >> > >> http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=sujith/toast >> >er-build-cancel3 >> > >> >I have tried to split my work into 3 patches >> > >> >a) One for UI ( html + js) >> > >> >b) One for API >> > >> >c) One for toastergui/views.py >> > >> > >> >The only reason why I couldn't remove the line : self.connection = >> >server.establishConnection([]) from toaster/bldcontrol/bbcontroller.py >> >file is due to the fact that self.connection is an instance of >> >bb.server.xmlrpc.BitBakeXMLRPCServerConnection >> > >> >and the server returned from >> >bb.server.xmlrpc._create_server(self.be.bbaddress, int(self.be.bbport)) , >> >is an instance of ServerProxy. >> > >> >So I am not sure if I completely remove self.connection = >> >server.establishConnection([]) and use >> >bb.server.xmlrpc._create_server(self.be.bbaddress, >> >int(self.be.bbport))[0], would cause breakage of code. >> > >> > >> > >> >Any pointers here would be helpful. >> > >> > >> >Thanks, >> > >> > >> >Sujith H >> > >> > >> >On Mon, Dec 21, 2015 at 6:42 PM, sujith h >> ><[email protected]> wrote: >> > >> >Hi, >> > >> > >> >I have updated patch : >> > >> http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=sujith/toast >> >er-build-cancel2 >> >< >> http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=sujith/toas >> >ter-build-cancel2> >> > >> > >> >Let me know if this looks ok or needs more enhancement(s)? >> > >> > >> >Thanks, >> > >> >Sujith H >> > >> > >> >On Mon, Dec 21, 2015 at 1:37 PM, sujith h >> ><[email protected]> wrote: >> > >> >Hi, >> > >> > >> > >> >On Sat, Dec 19, 2015 at 8:57 PM, sujith h <[email protected]> wrote: >> > >> >Hi, >> > >> >On Fri, Dec 18, 2015 at 7:16 PM, Ed Bartosh >> ><[email protected]> wrote: >> > >> >Hi Sujith, >> > >> >Can you split your changes please? >> >I'd suggest to at least separate backend changes from frontend ones. >> > >> >Having uihelper.py changes in a separate commit would be nice too. >> >It looks like you've spotted correctly that findServerDetails is not >> >used anywhere in bitbake code. You can remove it in a separate commit as >> >it looks unrelated to the rest of the patch. >> > >> >+1 for Michael's suggestion to use build controller. >> > >> > >> > >> > >> > The problem I see using build controller is: >> > >> > >> >I have tried with the build controller approach earlier and below are my >> >findings: >> > >> >Lets say if I try to use getBuildEnvironmentController function as: >> > >> > >> >localhostbctrl = localhostbecontroller.LocalhostBEController(be) # in >> >toastergui/views.py >> > >> >localhostbctrl.getBBController() >> > >> > >> >Then the failure starts when the control reaches function startBBServer >> >and the initial assert fails. >> > >> > >> >Even if I try to add a wrapper function known as cancelBuild in >> >bbcontroller.py: >> > >> > def conncetToServer(self): >> > server = bb.server.xmlrpc.BitBakeXMLRPCClient() >> > server.initServer() >> > server.saveConnectionDetails("%s:%s" % (self.be.bbaddress, >> >self.be.bbport)) >> > self.connection = server.establishConnection([]) >> > >> > self.be.bbtoken = self.connection.transport.connection_token >> > self.be.save() >> > >> > return BitbakeController(self.connection) >> > >> > >> >This would fail in server.establishConnection line. Because internally it >> >does call connect function in xmlrpc.py which does call >> >uievent.BBUIEventQueue. This call causes exception, because in >> >registerEventHandler function there is a line: >> > >> > if (self.cooker.state in [bb.cooker.state.parsing, >> >bb.cooker.state.running]): >> > >> > >> >I couldn't tackle this situation and that is the reason why I opted for >> >another approach from uihelper's function findServerDetails. >> > >> >Is there any other way using which I can tackle this situation from >> >bbcontroller.py? As per my investigation the problem bubbles around with >> >registerEventHandler function with this approach. >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> >Another approach which I followed was ( using bbcontroller.py ) by >> >writing a new function getBBServer: >> > >> > def getBBServer(self, host, port): >> > """ returns a connection from running server. This helps in >> >cancellation of bitbake from >> > toaster UI. >> > """ >> > server, transport = bb.server.xmlrpc._create_server(host, port) >> > return server >> > >> > >> >And then call this function from toastergui/views.py file: >> > >> > br = >> >BuildRequest.objects.select_for_update().get(project = prj, pk = i, >> >state__lte = BuildRequest.REQ_INPROGRESS) >> > bbctrl = >> >bbcontroller.BuildEnvironmentController(br.environment) >> > server = >> >bbctrl.getBBServer(br.environment.bbaddress, br.environment.bbport) >> > logger.warning(br.environment.LOCK_STATE) >> > server.runCommand(["stateForceShutdown"]) >> > while True: >> > if len(BuildRequest.objects.get(pk = i >> >).build.errors) > 0: >> > br.state = BuildRequest.REQ_DELETED >> > br.save() >> > build = BuildRequest.objects.get(pk = i >> >).build >> > build.outcome = 0 >> > build.save() >> > break >> > >> > >> > >> > >> >Nothing else is coming into my mind. Any pointers? >> > >> > >> > >> > >> >Thanks, >> > >> >Sujith H >> > >> > >> > >> > >> > >> >On Thu, Dec 17, 2015 at 10:26:11PM +0530, sujith h wrote: >> >> Hi, >> >> >> >> I have posted my changes in: >> >> >> > >> http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=sujith/toast >> >er-build-cancel >> >< >> http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=sujith/toas >> >ter-build-cancel> >> >> >> >> Kindly review my changes and let me know if I have to make changes. I >> >>would >> >> be happy to do so. >> >> >> >> Thanks for all helping hand from RP, Ed, Michael, Belen and Paul. >> >> >> >> Thanks, >> >> Sujith H >> > >> >-- >> >Regards, >> >Ed >> > >> > >> > >> > >> > >> > >> >-- >> >സുജിത് ഹരിദാസന് >> >Bangalore >> ><Project>Contributor to KDE project >> >http://fci.wikia.com/wiki/Anti-DRM-Campaign >> ><Blog> http://sujithh.info >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> >-- >> >സുജിത് ഹരിദാസന് >> >Bangalore >> ><Project>Contributor to KDE project >> >http://fci.wikia.com/wiki/Anti-DRM-Campaign >> ><Blog> http://sujithh.info >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> >-- >> >സുജിത് ഹരിദാസന് >> >Bangalore >> ><Project>Contributor to KDE project >> >http://fci.wikia.com/wiki/Anti-DRM-Campaign >> ><Blog> http://sujithh.info >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> >-- >> >സുജിത് ഹരിദാസന് >> >Bangalore >> ><Project>Contributor to KDE project >> >http://fci.wikia.com/wiki/Anti-DRM-Campaign >> ><Blog> http://sujithh.info >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> >-- >> >സുജിത് ഹരിദാസന് >> >Bangalore >> ><Project>Contributor to KDE project >> >http://fci.wikia.com/wiki/Anti-DRM-Campaign >> ><Blog> http://sujithh.info >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> >> > > > -- > സുജിത് ഹരിദാസന് > Bangalore > <Project>Contributor to KDE project > http://fci.wikia.com/wiki/Anti-DRM-Campaign > <Blog> http://sujithh.info > -- സുജിത് ഹരിദാസന് Bangalore <Project>Contributor to KDE project http://fci.wikia.com/wiki/Anti-DRM-Campaign <Blog> http://sujithh.info
-- _______________________________________________ toaster mailing list [email protected] https://lists.yoctoproject.org/listinfo/toaster
