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

Reply via email to