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. 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
-- _______________________________________________ toaster mailing list [email protected] https://lists.yoctoproject.org/listinfo/toaster
